mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-25 22:26:12 +00:00
Decompiles z_bg_dodoago.c (#334)
* Starts decompiling z_bg_dodoago.c * Removes data * * BgDodoago_SetupAction * * BgDodoago_Destroy * * func_80872288 * * BgDodoago_Draw * * func_80871A08 * * BgDodoago_Init * WIP * * func_80871CF4 * * func_80871CF4 * WIP * * BgDodoago_Update * Finishes z_bg_dodoago * Addresses PR comments * Addresses PR comments #2 * Removes Setup forward declared function * Addresses PR comments #3 Co-authored-by: i82orbom <i82orbom i82orbom@github>
This commit is contained in:
parent
b78a777216
commit
9054feeefd
19 changed files with 250 additions and 891 deletions
|
@ -1,32 +0,0 @@
|
|||
glabel BgDodoago_Destroy
|
||||
/* 00288 80871C88 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0028C 80871C8C AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00290 80871C90 8FAE0020 */ lw $t6, 0x0020($sp)
|
||||
/* 00294 80871C94 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00298 80871C98 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 0029C 80871C9C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 002A0 80871CA0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 002A4 80871CA4 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 002A8 80871CA8 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 002AC 80871CAC 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 002B0 80871CB0 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 002B4 80871CB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002B8 80871CB8 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 002BC 80871CBC 24A50168 */ addiu $a1, $a1, 0x0168 ## $a1 = 00000168
|
||||
/* 002C0 80871CC0 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 002C4 80871CC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002C8 80871CC8 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 002CC 80871CCC 24A501B4 */ addiu $a1, $a1, 0x01B4 ## $a1 = 000001B4
|
||||
/* 002D0 80871CD0 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 002D4 80871CD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002D8 80871CD8 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 002DC 80871CDC 24A50200 */ addiu $a1, $a1, 0x0200 ## $a1 = 00000200
|
||||
/* 002E0 80871CE0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 002E4 80871CE4 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 002E8 80871CE8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 002EC 80871CEC 03E00008 */ jr $ra
|
||||
/* 002F0 80871CF0 00000000 */ nop
|
|
@ -1,73 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80872650
|
||||
.asciz "../z_bg_dodoago.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80872664
|
||||
.asciz "../z_bg_dodoago.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80872678
|
||||
.asciz "../z_bg_dodoago.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel BgDodoago_Draw
|
||||
/* 00A40 80872440 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00A44 80872444 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00A48 80872448 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00A4C 8087244C AFA40040 */ sw $a0, 0x0040($sp)
|
||||
/* 00A50 80872450 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00A54 80872454 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00A58 80872458 3C068087 */ lui $a2, %hi(D_80872650) ## $a2 = 80870000
|
||||
/* 00A5C 8087245C 24C62650 */ addiu $a2, $a2, %lo(D_80872650) ## $a2 = 80872650
|
||||
/* 00A60 80872460 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC
|
||||
/* 00A64 80872464 240702A0 */ addiu $a3, $zero, 0x02A0 ## $a3 = 000002A0
|
||||
/* 00A68 80872468 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00A6C 8087246C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00A70 80872470 0C00D6D3 */ jal Flags_GetEventChkInf
|
||||
|
||||
/* 00A74 80872474 240400B0 */ addiu $a0, $zero, 0x00B0 ## $a0 = 000000B0
|
||||
/* 00A78 80872478 1040001A */ beq $v0, $zero, .L808724E4
|
||||
/* 00A7C 8087247C 8FAF0044 */ lw $t7, 0x0044($sp)
|
||||
/* 00A80 80872480 0C024F46 */ jal func_80093D18
|
||||
/* 00A84 80872484 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 00A88 80872488 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00A8C 8087248C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 00A90 80872490 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 00A94 80872494 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00A98 80872498 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 00A9C 8087249C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00AA0 808724A0 8FA80044 */ lw $t0, 0x0044($sp)
|
||||
/* 00AA4 808724A4 3C058087 */ lui $a1, %hi(D_80872664) ## $a1 = 80870000
|
||||
/* 00AA8 808724A8 24A52664 */ addiu $a1, $a1, %lo(D_80872664) ## $a1 = 80872664
|
||||
/* 00AAC 808724AC 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
|
||||
/* 00AB0 808724B0 240602A5 */ addiu $a2, $zero, 0x02A5 ## $a2 = 000002A5
|
||||
/* 00AB4 808724B4 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00AB8 808724B8 AFA20028 */ sw $v0, 0x0028($sp)
|
||||
/* 00ABC 808724BC 8FA30028 */ lw $v1, 0x0028($sp)
|
||||
/* 00AC0 808724C0 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000
|
||||
/* 00AC4 808724C4 256B1350 */ addiu $t3, $t3, 0x1350 ## $t3 = 06001350
|
||||
/* 00AC8 808724C8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00ACC 808724CC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00AD0 808724D0 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 00AD4 808724D4 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 00AD8 808724D8 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
|
||||
/* 00ADC 808724DC AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
|
||||
/* 00AE0 808724E0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
.L808724E4:
|
||||
/* 00AE4 808724E4 8FAC0044 */ lw $t4, 0x0044($sp)
|
||||
/* 00AE8 808724E8 3C068087 */ lui $a2, %hi(D_80872678) ## $a2 = 80870000
|
||||
/* 00AEC 808724EC 24C62678 */ addiu $a2, $a2, %lo(D_80872678) ## $a2 = 80872678
|
||||
/* 00AF0 808724F0 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC
|
||||
/* 00AF4 808724F4 240702A9 */ addiu $a3, $zero, 0x02A9 ## $a3 = 000002A9
|
||||
/* 00AF8 808724F8 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00AFC 808724FC 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
|
||||
/* 00B00 80872500 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00B04 80872504 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00B08 80872508 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00B0C 8087250C 03E00008 */ jr $ra
|
||||
/* 00B10 80872510 00000000 */ nop
|
||||
/* 00B14 80872514 00000000 */ nop
|
||||
/* 00B18 80872518 00000000 */ nop
|
||||
/* 00B1C 8087251C 00000000 */ nop
|
|
@ -1,103 +0,0 @@
|
|||
glabel BgDodoago_Init
|
||||
/* 00128 80871B28 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 0012C 80871B2C AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00130 80871B30 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00134 80871B34 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00138 80871B38 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 0013C 80871B3C 3C058087 */ lui $a1, %hi(D_808725BC) ## $a1 = 80870000
|
||||
/* 00140 80871B40 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00144 80871B44 AFA0002C */ sw $zero, 0x002C($sp)
|
||||
/* 00148 80871B48 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 0014C 80871B4C 24A525BC */ addiu $a1, $a1, %lo(D_808725BC) ## $a1 = 808725BC
|
||||
/* 00150 80871B50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00154 80871B54 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 00158 80871B58 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0015C 80871B5C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00160 80871B60 24841DDC */ addiu $a0, $a0, 0x1DDC ## $a0 = 06001DDC
|
||||
/* 00164 80871B64 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 00168 80871B68 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4
|
||||
/* 0016C 80871B6C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00170 80871B70 26250810 */ addiu $a1, $s1, 0x0810 ## $a1 = 00000810
|
||||
/* 00174 80871B74 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00178 80871B78 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 0017C 80871B7C 8FA7002C */ lw $a3, 0x002C($sp)
|
||||
/* 00180 80871B80 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00184 80871B84 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 00188 80871B88 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 0018C 80871B8C 44050000 */ mfc1 $a1, $f0
|
||||
/* 00190 80871B90 44070000 */ mfc1 $a3, $f0
|
||||
/* 00194 80871B94 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00198 80871B98 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 0019C 80871B9C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 001A0 80871BA0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 001A4 80871BA4 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 001A8 80871BA8 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 001AC 80871BAC 1040000E */ beq $v0, $zero, .L80871BE8
|
||||
/* 001B0 80871BB0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 001B4 80871BB4 3C058087 */ lui $a1, %hi(func_8087227C) ## $a1 = 80870000
|
||||
/* 001B8 80871BB8 24A5227C */ addiu $a1, $a1, %lo(func_8087227C) ## $a1 = 8087227C
|
||||
/* 001BC 80871BBC 0C21C680 */ jal BgDodoago_SetupAction
|
||||
/* 001C0 80871BC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001C4 80871BC4 240E1333 */ addiu $t6, $zero, 0x1333 ## $t6 = 00001333
|
||||
/* 001C8 80871BC8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 001CC 80871BCC A60E00B4 */ sh $t6, 0x00B4($s0) ## 000000B4
|
||||
/* 001D0 80871BD0 02211021 */ addu $v0, $s1, $at
|
||||
/* 001D4 80871BD4 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
|
||||
/* 001D8 80871BD8 A44F1D32 */ sh $t7, 0x1D32($v0) ## 00001D32
|
||||
/* 001DC 80871BDC 84581D32 */ lh $t8, 0x1D32($v0) ## 00001D32
|
||||
/* 001E0 80871BE0 10000024 */ beq $zero, $zero, .L80871C74
|
||||
/* 001E4 80871BE4 A4581D30 */ sh $t8, 0x1D30($v0) ## 00001D30
|
||||
.L80871BE8:
|
||||
/* 001E8 80871BE8 26050168 */ addiu $a1, $s0, 0x0168 ## $a1 = 00000168
|
||||
/* 001EC 80871BEC 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 001F0 80871BF0 AFA50020 */ sw $a1, 0x0020($sp)
|
||||
/* 001F4 80871BF4 260501B4 */ addiu $a1, $s0, 0x01B4 ## $a1 = 000001B4
|
||||
/* 001F8 80871BF8 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 001FC 80871BFC 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00200 80871C00 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00204 80871C04 26050200 */ addiu $a1, $s0, 0x0200 ## $a1 = 00000200
|
||||
/* 00208 80871C08 AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 0020C 80871C0C 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00210 80871C10 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00214 80871C14 3C078087 */ lui $a3, %hi(D_80872540) ## $a3 = 80870000
|
||||
/* 00218 80871C18 24E72540 */ addiu $a3, $a3, %lo(D_80872540) ## $a3 = 80872540
|
||||
/* 0021C 80871C1C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00220 80871C20 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00224 80871C24 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00228 80871C28 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0022C 80871C2C 3C078087 */ lui $a3, %hi(D_8087256C) ## $a3 = 80870000
|
||||
/* 00230 80871C30 24E7256C */ addiu $a3, $a3, %lo(D_8087256C) ## $a3 = 8087256C
|
||||
/* 00234 80871C34 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00238 80871C38 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 0023C 80871C3C 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00240 80871C40 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00244 80871C44 3C078087 */ lui $a3, %hi(D_8087256C) ## $a3 = 80870000
|
||||
/* 00248 80871C48 24E7256C */ addiu $a3, $a3, %lo(D_8087256C) ## $a3 = 8087256C
|
||||
/* 0024C 80871C4C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00250 80871C50 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00254 80871C54 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00258 80871C58 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0025C 80871C5C 3C058087 */ lui $a1, %hi(func_80871CF4) ## $a1 = 80870000
|
||||
/* 00260 80871C60 24A51CF4 */ addiu $a1, $a1, %lo(func_80871CF4) ## $a1 = 80871CF4
|
||||
/* 00264 80871C64 0C21C680 */ jal BgDodoago_SetupAction
|
||||
/* 00268 80871C68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0026C 80871C6C 3C018087 */ lui $at, %hi(D_808727C0) ## $at = 80870000
|
||||
/* 00270 80871C70 A02027C0 */ sb $zero, %lo(D_808727C0)($at)
|
||||
.L80871C74:
|
||||
/* 00274 80871C74 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00278 80871C78 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 0027C 80871C7C 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00280 80871C80 03E00008 */ jr $ra
|
||||
/* 00284 80871C84 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
|
@ -1,3 +0,0 @@
|
|||
glabel BgDodoago_SetupAction
|
||||
/* 00000 80871A00 03E00008 */ jr $ra
|
||||
/* 00004 80871A04 AC85024C */ sw $a1, 0x024C($a0) ## 0000024C
|
|
@ -1,95 +0,0 @@
|
|||
glabel BgDodoago_Update
|
||||
/* 008EC 808722EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 008F0 808722F0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 008F4 808722F4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 008F8 808722F8 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118
|
||||
/* 008FC 808722FC 3C028087 */ lui $v0, %hi(D_80872824) ## $v0 = 80870000
|
||||
/* 00900 80872300 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00904 80872304 15C00024 */ bne $t6, $zero, .L80872398
|
||||
/* 00908 80872308 24422824 */ addiu $v0, $v0, %lo(D_80872824) ## $v0 = 80872824
|
||||
/* 0090C 8087230C 908301C6 */ lbu $v1, 0x01C6($a0) ## 000001C6
|
||||
/* 00910 80872310 30620002 */ andi $v0, $v1, 0x0002 ## $v0 = 00000000
|
||||
/* 00914 80872314 14400005 */ bne $v0, $zero, .L8087232C
|
||||
/* 00918 80872318 3079FFFD */ andi $t9, $v1, 0xFFFD ## $t9 = 00000000
|
||||
/* 0091C 8087231C 908F0212 */ lbu $t7, 0x0212($a0) ## 00000212
|
||||
/* 00920 80872320 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
|
||||
/* 00924 80872324 5300003E */ beql $t8, $zero, .L80872420
|
||||
/* 00928 80872328 8CD9024C */ lw $t9, 0x024C($a2) ## 0000024C
|
||||
.L8087232C:
|
||||
/* 0092C 8087232C 10400003 */ beq $v0, $zero, .L8087233C
|
||||
/* 00930 80872330 90C40212 */ lbu $a0, 0x0212($a2) ## 00000212
|
||||
/* 00934 80872334 10000002 */ beq $zero, $zero, .L80872340
|
||||
/* 00938 80872338 8CC201C0 */ lw $v0, 0x01C0($a2) ## 000001C0
|
||||
.L8087233C:
|
||||
/* 0093C 8087233C 8CC2020C */ lw $v0, 0x020C($a2) ## 0000020C
|
||||
.L80872340:
|
||||
/* 00940 80872340 3088FFFD */ andi $t0, $a0, 0xFFFD ## $t0 = 00000000
|
||||
/* 00944 80872344 A0D901C6 */ sb $t9, 0x01C6($a2) ## 000001C6
|
||||
/* 00948 80872348 A0C80212 */ sb $t0, 0x0212($a2) ## 00000212
|
||||
/* 0094C 8087234C 90490002 */ lbu $t1, 0x0002($v0) ## 00000002
|
||||
/* 00950 80872350 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00954 80872354 55210032 */ bnel $t1, $at, .L80872420
|
||||
/* 00958 80872358 8CD9024C */ lw $t9, 0x024C($a2) ## 0000024C
|
||||
/* 0095C 8087235C 844A0000 */ lh $t2, 0x0000($v0) ## 00000000
|
||||
/* 00960 80872360 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
|
||||
/* 00964 80872364 5541002E */ bnel $t2, $at, .L80872420
|
||||
/* 00968 80872368 8CD9024C */ lw $t9, 0x024C($a2) ## 0000024C
|
||||
/* 0096C 8087236C 844B001C */ lh $t3, 0x001C($v0) ## 0000001C
|
||||
/* 00970 80872370 240C0032 */ addiu $t4, $zero, 0x0032 ## $t4 = 00000032
|
||||
/* 00974 80872374 3C018087 */ lui $at, %hi(D_80872824) ## $at = 80870000
|
||||
/* 00978 80872378 55600029 */ bnel $t3, $zero, .L80872420
|
||||
/* 0097C 8087237C 8CD9024C */ lw $t9, 0x024C($a2) ## 0000024C
|
||||
/* 00980 80872380 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00984 80872384 ACC20118 */ sw $v0, 0x0118($a2) ## 00000118
|
||||
/* 00988 80872388 A44C01F8 */ sh $t4, 0x01F8($v0) ## 000001F8
|
||||
/* 0098C 8087238C E4440068 */ swc1 $f4, 0x0068($v0) ## 00000068
|
||||
/* 00990 80872390 10000022 */ beq $zero, $zero, .L8087241C
|
||||
/* 00994 80872394 AC202824 */ sw $zero, %lo(D_80872824)($at)
|
||||
.L80872398:
|
||||
/* 00998 80872398 8C4D0000 */ lw $t5, 0x0000($v0) ## 00000000
|
||||
/* 0099C 8087239C 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 009A0 808723A0 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
|
||||
/* 009A4 808723A4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 009A8 808723A8 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 009AC 808723AC AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 009B0 808723B0 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 009B4 808723B4 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 009B8 808723B8 3C038087 */ lui $v1, %hi(D_808727C0) ## $v1 = 80870000
|
||||
/* 009BC 808723BC 246327C0 */ addiu $v1, $v1, %lo(D_808727C0) ## $v1 = 808727C0
|
||||
/* 009C0 808723C0 906F0000 */ lbu $t7, 0x0000($v1) ## 808727C0
|
||||
/* 009C4 808723C4 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 009C8 808723C8 3C188087 */ lui $t8, %hi(D_80872824) ## $t8 = 80870000
|
||||
/* 009CC 808723CC 55E00014 */ bnel $t7, $zero, .L80872420
|
||||
/* 009D0 808723D0 8CD9024C */ lw $t9, 0x024C($a2) ## 0000024C
|
||||
/* 009D4 808723D4 8F182824 */ lw $t8, %lo(D_80872824)($t8)
|
||||
/* 009D8 808723D8 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 009DC 808723DC 2B01008D */ slti $at, $t8, 0x008D
|
||||
/* 009E0 808723E0 5420000F */ bnel $at, $zero, .L80872420
|
||||
/* 009E4 808723E4 8CD9024C */ lw $t9, 0x024C($a2) ## 0000024C
|
||||
/* 009E8 808723E8 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 009EC 808723EC AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 009F0 808723F0 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 009F4 808723F4 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 009F8 808723F8 3C038087 */ lui $v1, %hi(D_808727C0) ## $v1 = 80870000
|
||||
/* 009FC 808723FC 246327C0 */ addiu $v1, $v1, %lo(D_808727C0) ## $v1 = 808727C0
|
||||
/* 00A00 80872400 10400005 */ beq $v0, $zero, .L80872418
|
||||
/* 00A04 80872404 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00A08 80872408 90790000 */ lbu $t9, 0x0000($v1) ## 808727C0
|
||||
/* 00A0C 8087240C 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
|
||||
/* 00A10 80872410 10000002 */ beq $zero, $zero, .L8087241C
|
||||
/* 00A14 80872414 A0680000 */ sb $t0, 0x0000($v1) ## 808727C0
|
||||
.L80872418:
|
||||
/* 00A18 80872418 ACC00118 */ sw $zero, 0x0118($a2) ## 00000118
|
||||
.L8087241C:
|
||||
/* 00A1C 8087241C 8CD9024C */ lw $t9, 0x024C($a2) ## 0000024C
|
||||
.L80872420:
|
||||
/* 00A20 80872420 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00A24 80872424 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00A28 80872428 0320F809 */ jalr $ra, $t9
|
||||
/* 00A2C 8087242C 00000000 */ nop
|
||||
/* 00A30 80872430 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00A34 80872434 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00A38 80872438 03E00008 */ jr $ra
|
||||
/* 00A3C 8087243C 00000000 */ nop
|
|
@ -1,77 +0,0 @@
|
|||
glabel func_80871A08
|
||||
/* 00008 80871A08 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
||||
/* 0000C 80871A0C 3C0E8087 */ lui $t6, %hi(D_8087259C) ## $t6 = 80870000
|
||||
/* 00010 80871A10 AFBF004C */ sw $ra, 0x004C($sp)
|
||||
/* 00014 80871A14 AFB70048 */ sw $s7, 0x0048($sp)
|
||||
/* 00018 80871A18 AFB60044 */ sw $s6, 0x0044($sp)
|
||||
/* 0001C 80871A1C AFB50040 */ sw $s5, 0x0040($sp)
|
||||
/* 00020 80871A20 AFB4003C */ sw $s4, 0x003C($sp)
|
||||
/* 00024 80871A24 AFB30038 */ sw $s3, 0x0038($sp)
|
||||
/* 00028 80871A28 AFB20034 */ sw $s2, 0x0034($sp)
|
||||
/* 0002C 80871A2C AFB10030 */ sw $s1, 0x0030($sp)
|
||||
/* 00030 80871A30 AFB0002C */ sw $s0, 0x002C($sp)
|
||||
/* 00034 80871A34 F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 00038 80871A38 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 0003C 80871A3C 25CE259C */ addiu $t6, $t6, %lo(D_8087259C) ## $t6 = 8087259C
|
||||
/* 00040 80871A40 8DD80000 */ lw $t8, 0x0000($t6) ## 8087259C
|
||||
/* 00044 80871A44 27B60058 */ addiu $s6, $sp, 0x0058 ## $s6 = FFFFFFF0
|
||||
/* 00048 80871A48 3C198087 */ lui $t9, %hi(D_808725A0) ## $t9 = 80870000
|
||||
/* 0004C 80871A4C 273925A0 */ addiu $t9, $t9, %lo(D_808725A0) ## $t9 = 808725A0
|
||||
/* 00050 80871A50 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00054 80871A54 AED80000 */ sw $t8, 0x0000($s6) ## FFFFFFF0
|
||||
/* 00058 80871A58 8F290000 */ lw $t1, 0x0000($t9) ## 808725A0
|
||||
/* 0005C 80871A5C 4481B000 */ mtc1 $at, $f22 ## $f22 = 10.00
|
||||
/* 00060 80871A60 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00064 80871A64 27B70054 */ addiu $s7, $sp, 0x0054 ## $s7 = FFFFFFEC
|
||||
/* 00068 80871A68 3C138087 */ lui $s3, %hi(D_808725A4) ## $s3 = 80870000
|
||||
/* 0006C 80871A6C 3C148087 */ lui $s4, %hi(D_808725B0) ## $s4 = 80870000
|
||||
/* 00070 80871A70 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
|
||||
/* 00074 80871A74 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 00078 80871A78 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
|
||||
/* 0007C 80871A7C 269425B0 */ addiu $s4, $s4, %lo(D_808725B0) ## $s4 = 808725B0
|
||||
/* 00080 80871A80 267325A4 */ addiu $s3, $s3, %lo(D_808725A4) ## $s3 = 808725A4
|
||||
/* 00084 80871A84 24100004 */ addiu $s0, $zero, 0x0004 ## $s0 = 00000004
|
||||
/* 00088 80871A88 27B2005C */ addiu $s2, $sp, 0x005C ## $s2 = FFFFFFF4
|
||||
/* 0008C 80871A8C AEE90000 */ sw $t1, 0x0000($s7) ## FFFFFFEC
|
||||
.L80871A90:
|
||||
/* 00090 80871A90 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 00094 80871A94 4600A306 */ mov.s $f12, $f20
|
||||
/* 00098 80871A98 C6240000 */ lwc1 $f4, 0x0000($s1) ## 00000000
|
||||
/* 0009C 80871A9C 4600B306 */ mov.s $f12, $f22
|
||||
/* 000A0 80871AA0 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 000A4 80871AA4 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 000A8 80871AA8 E7A6005C */ swc1 $f6, 0x005C($sp)
|
||||
/* 000AC 80871AAC C6280004 */ lwc1 $f8, 0x0004($s1) ## 00000004
|
||||
/* 000B0 80871AB0 4600A306 */ mov.s $f12, $f20
|
||||
/* 000B4 80871AB4 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 000B8 80871AB8 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 000BC 80871ABC E7AA0060 */ swc1 $f10, 0x0060($sp)
|
||||
/* 000C0 80871AC0 C6300008 */ lwc1 $f16, 0x0008($s1) ## 00000008
|
||||
/* 000C4 80871AC4 AFB70014 */ sw $s7, 0x0014($sp)
|
||||
/* 000C8 80871AC8 AFB60010 */ sw $s6, 0x0010($sp)
|
||||
/* 000CC 80871ACC 46100480 */ add.s $f18, $f0, $f16
|
||||
/* 000D0 80871AD0 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
|
||||
/* 000D4 80871AD4 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF4
|
||||
/* 000D8 80871AD8 02603025 */ or $a2, $s3, $zero ## $a2 = 808725A4
|
||||
/* 000DC 80871ADC E7B20064 */ swc1 $f18, 0x0064($sp)
|
||||
/* 000E0 80871AE0 0C00A2DD */ jal func_80028B74
|
||||
/* 000E4 80871AE4 02803825 */ or $a3, $s4, $zero ## $a3 = 808725B0
|
||||
/* 000E8 80871AE8 2610FFFF */ addiu $s0, $s0, 0xFFFF ## $s0 = 00000003
|
||||
/* 000EC 80871AEC 1600FFE8 */ bne $s0, $zero, .L80871A90
|
||||
/* 000F0 80871AF0 00000000 */ nop
|
||||
/* 000F4 80871AF4 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
/* 000F8 80871AF8 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 000FC 80871AFC D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 00100 80871B00 8FB0002C */ lw $s0, 0x002C($sp)
|
||||
/* 00104 80871B04 8FB10030 */ lw $s1, 0x0030($sp)
|
||||
/* 00108 80871B08 8FB20034 */ lw $s2, 0x0034($sp)
|
||||
/* 0010C 80871B0C 8FB30038 */ lw $s3, 0x0038($sp)
|
||||
/* 00110 80871B10 8FB4003C */ lw $s4, 0x003C($sp)
|
||||
/* 00114 80871B14 8FB50040 */ lw $s5, 0x0040($sp)
|
||||
/* 00118 80871B18 8FB60044 */ lw $s6, 0x0044($sp)
|
||||
/* 0011C 80871B1C 8FB70048 */ lw $s7, 0x0048($sp)
|
||||
/* 00120 80871B20 03E00008 */ jr $ra
|
||||
/* 00124 80871B24 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
|
|
@ -1,200 +0,0 @@
|
|||
glabel func_80871CF4
|
||||
/* 002F4 80871CF4 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 002F8 80871CF8 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 002FC 80871CFC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00300 80871D00 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 00304 80871D04 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00308 80871D08 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0030C 80871D0C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00310 80871D10 26050168 */ addiu $a1, $s0, 0x0168 ## $a1 = 00000168
|
||||
/* 00314 80871D14 0C00CD90 */ jal func_80033640
|
||||
/* 00318 80871D18 AFA50038 */ sw $a1, 0x0038($sp)
|
||||
/* 0031C 80871D1C 10400074 */ beq $v0, $zero, .L80871EF0
|
||||
/* 00320 80871D20 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00324 80871D24 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024
|
||||
/* 00328 80871D28 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 0032C 80871D2C AFA2003C */ sw $v0, 0x003C($sp)
|
||||
/* 00330 80871D30 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
|
||||
/* 00334 80871D34 3C050001 */ lui $a1, 0x0001 ## $a1 = 00010000
|
||||
/* 00338 80871D38 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 0033C 80871D3C 004E082A */ slt $at, $v0, $t6
|
||||
/* 00340 80871D40 14200003 */ bne $at, $zero, .L80871D50
|
||||
/* 00344 80871D44 02251021 */ addu $v0, $s1, $a1
|
||||
/* 00348 80871D48 10000002 */ beq $zero, $zero, .L80871D54
|
||||
/* 0034C 80871D4C A60F0164 */ sh $t7, 0x0164($s0) ## 00000164
|
||||
.L80871D50:
|
||||
/* 00350 80871D50 A6000164 */ sh $zero, 0x0164($s0) ## 00000164
|
||||
.L80871D54:
|
||||
/* 00354 80871D54 84581D30 */ lh $t8, 0x1D30($v0) ## 00001D30
|
||||
/* 00358 80871D58 240400FF */ addiu $a0, $zero, 0x00FF ## $a0 = 000000FF
|
||||
/* 0035C 80871D5C 54980006 */ bnel $a0, $t8, .L80871D78
|
||||
/* 00360 80871D60 84481D32 */ lh $t0, 0x1D32($v0) ## 00001D32
|
||||
/* 00364 80871D64 86190164 */ lh $t9, 0x0164($s0) ## 00000164
|
||||
/* 00368 80871D68 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 0036C 80871D6C 53210008 */ beql $t9, $at, .L80871D90
|
||||
/* 00370 80871D70 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00374 80871D74 84481D32 */ lh $t0, 0x1D32($v0) ## 00001D32
|
||||
.L80871D78:
|
||||
/* 00378 80871D78 86030164 */ lh $v1, 0x0164($s0) ## 00000164
|
||||
/* 0037C 80871D7C 1488002A */ bne $a0, $t0, .L80871E28
|
||||
/* 00380 80871D80 00037040 */ sll $t6, $v1, 1
|
||||
/* 00384 80871D84 54600029 */ bnel $v1, $zero, .L80871E2C
|
||||
/* 00388 80871D88 022E7821 */ addu $t7, $s1, $t6
|
||||
/* 0038C 80871D8C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
.L80871D90:
|
||||
/* 00390 80871D90 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00394 80871D94 0C00B2DD */ jal Flags_SetSwitch
|
||||
|
||||
/* 00398 80871D98 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 0039C 80871D9C 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 003A0 80871DA0 3C098013 */ lui $t1, %hi(D_801333E8)
|
||||
/* 003A4 80871DA4 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 003A8 80871DA8 A6000164 */ sh $zero, 0x0164($s0) ## 00000164
|
||||
/* 003AC 80871DAC 252933E8 */ addiu $t1, %lo(D_801333E8)
|
||||
/* 003B0 80871DB0 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 003B4 80871DB4 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 003B8 80871DB8 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 003BC 80871DBC AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 003C0 80871DC0 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 003C4 80871DC4 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 003C8 80871DC8 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 003CC 80871DCC 3C058087 */ lui $a1, %hi(func_80871FB8) ## $a1 = 80870000
|
||||
/* 003D0 80871DD0 24A51FB8 */ addiu $a1, $a1, %lo(func_80871FB8) ## $a1 = 80871FB8
|
||||
/* 003D4 80871DD4 0C21C680 */ jal BgDodoago_SetupAction
|
||||
/* 003D8 80871DD8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003DC 80871DDC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 003E0 80871DE0 24050D34 */ addiu $a1, $zero, 0x0D34 ## $a1 = 00000D34
|
||||
/* 003E4 80871DE4 240600A0 */ addiu $a2, $zero, 0x00A0 ## $a2 = 000000A0
|
||||
/* 003E8 80871DE8 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 003EC 80871DEC 0C02003E */ jal func_800800F8
|
||||
/* 003F0 80871DF0 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
.L80871DF4:
|
||||
/* 003F4 80871DF4 3C028087 */ lui $v0, %hi(D_80872598) ## $v0 = 80870000
|
||||
/* 003F8 80871DF8 24422598 */ addiu $v0, $v0, %lo(D_80872598) ## $v0 = 80872598
|
||||
/* 003FC 80871DFC 844A0000 */ lh $t2, 0x0000($v0) ## 80872598
|
||||
/* 00400 80871E00 3C038087 */ lui $v1, %hi(D_80872824) ## $v1 = 80870000
|
||||
/* 00404 80871E04 24632824 */ addiu $v1, $v1, %lo(D_80872824) ## $v1 = 80872824
|
||||
/* 00408 80871E08 15400066 */ bne $t2, $zero, .L80871FA4
|
||||
/* 0040C 80871E0C 8FAB003C */ lw $t3, 0x003C($sp)
|
||||
/* 00410 80871E10 AE0B0118 */ sw $t3, 0x0118($s0) ## 00000118
|
||||
/* 00414 80871E14 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
|
||||
/* 00418 80871E18 240D0032 */ addiu $t5, $zero, 0x0032 ## $t5 = 00000032
|
||||
/* 0041C 80871E1C A44C0000 */ sh $t4, 0x0000($v0) ## 80872598
|
||||
/* 00420 80871E20 10000060 */ beq $zero, $zero, .L80871FA4
|
||||
/* 00424 80871E24 AC6D0000 */ sw $t5, 0x0000($v1) ## 80872824
|
||||
.L80871E28:
|
||||
/* 00428 80871E28 022E7821 */ addu $t7, $s1, $t6
|
||||
.L80871E2C:
|
||||
/* 0042C 80871E2C 01E5C021 */ addu $t8, $t7, $a1
|
||||
/* 00430 80871E30 87191D30 */ lh $t9, 0x1D30($t8) ## 00001D30
|
||||
/* 00434 80871E34 24050BF9 */ addiu $a1, $zero, 0x0BF9 ## $a1 = 00000BF9
|
||||
/* 00438 80871E38 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0043C 80871E3C 17200018 */ bne $t9, $zero, .L80871EA0
|
||||
/* 00440 80871E40 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 00444 80871E44 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00448 80871E48 24050BF9 */ addiu $a1, $zero, 0x0BF9 ## $a1 = 00000BF9
|
||||
/* 0044C 80871E4C 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
|
||||
/* 00450 80871E50 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 00454 80871E54 0C02003E */ jal func_800800F8
|
||||
/* 00458 80871E58 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0045C 80871E5C 3C058087 */ lui $a1, %hi(func_80872288) ## $a1 = 80870000
|
||||
/* 00460 80871E60 24A52288 */ addiu $a1, $a1, %lo(func_80872288) ## $a1 = 80872288
|
||||
/* 00464 80871E64 0C21C680 */ jal BgDodoago_SetupAction
|
||||
/* 00468 80871E68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0046C 80871E6C 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 00470 80871E70 3C088013 */ lui $t0, %hi(D_801333E8)
|
||||
/* 00474 80871E74 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 00478 80871E78 250833E8 */ addiu $t0, %lo(D_801333E8)
|
||||
/* 0047C 80871E7C 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 00480 80871E80 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 00484 80871E84 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 00488 80871E88 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 0048C 80871E8C 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 00490 80871E90 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 00494 80871E94 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 00498 80871E98 1000FFD6 */ beq $zero, $zero, .L80871DF4
|
||||
/* 0049C 80871E9C 00000000 */ nop
|
||||
.L80871EA0:
|
||||
/* 004A0 80871EA0 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 004A4 80871EA4 0C02003E */ jal func_800800F8
|
||||
/* 004A8 80871EA8 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 004AC 80871EAC 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 004B0 80871EB0 3C098013 */ lui $t1, %hi(D_801333E8)
|
||||
/* 004B4 80871EB4 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 004B8 80871EB8 252933E8 */ addiu $t1, %lo(D_801333E8)
|
||||
/* 004BC 80871EBC 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 004C0 80871EC0 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 004C4 80871EC4 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 004C8 80871EC8 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 004CC 80871ECC 24044806 */ addiu $a0, $zero, 0x4806 ## $a0 = 00004806
|
||||
/* 004D0 80871ED0 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 004D4 80871ED4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 004D8 80871ED8 3C038087 */ lui $v1, %hi(D_80872824) ## $v1 = 80870000
|
||||
/* 004DC 80871EDC 24632824 */ addiu $v1, $v1, %lo(D_80872824) ## $v1 = 80872824
|
||||
/* 004E0 80871EE0 8C6A0000 */ lw $t2, 0x0000($v1) ## 80872824
|
||||
/* 004E4 80871EE4 254B001E */ addiu $t3, $t2, 0x001E ## $t3 = 0000001E
|
||||
/* 004E8 80871EE8 1000002E */ beq $zero, $zero, .L80871FA4
|
||||
/* 004EC 80871EEC AC6B0000 */ sw $t3, 0x0000($v1) ## 80872824
|
||||
.L80871EF0:
|
||||
/* 004F0 80871EF0 0C00D6D3 */ jal Flags_GetEventChkInf
|
||||
|
||||
/* 004F4 80871EF4 240400B0 */ addiu $a0, $zero, 0x00B0 ## $a0 = 000000B0
|
||||
/* 004F8 80871EF8 1040002A */ beq $v0, $zero, .L80871FA4
|
||||
/* 004FC 80871EFC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00500 80871F00 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 00504 80871F04 8FA50038 */ lw $a1, 0x0038($sp)
|
||||
/* 00508 80871F08 260501B4 */ addiu $a1, $s0, 0x01B4 ## $a1 = 000001B4
|
||||
/* 0050C 80871F0C AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00510 80871F10 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 00514 80871F14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00518 80871F18 26050200 */ addiu $a1, $s0, 0x0200 ## $a1 = 00000200
|
||||
/* 0051C 80871F1C AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 00520 80871F20 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 00524 80871F24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00528 80871F28 860C01B2 */ lh $t4, 0x01B2($s0) ## 000001B2
|
||||
/* 0052C 80871F2C 860E01FE */ lh $t6, 0x01FE($s0) ## 000001FE
|
||||
/* 00530 80871F30 861801FA */ lh $t8, 0x01FA($s0) ## 000001FA
|
||||
/* 00534 80871F34 8608024A */ lh $t0, 0x024A($s0) ## 0000024A
|
||||
/* 00538 80871F38 860A0246 */ lh $t2, 0x0246($s0) ## 00000246
|
||||
/* 0053C 80871F3C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00540 80871F40 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00544 80871F44 258D00C8 */ addiu $t5, $t4, 0x00C8 ## $t5 = 000000C8
|
||||
/* 00548 80871F48 25CF00D7 */ addiu $t7, $t6, 0x00D7 ## $t7 = 000000D7
|
||||
/* 0054C 80871F4C 2719005A */ addiu $t9, $t8, 0x005A ## $t9 = 0000005A
|
||||
/* 00550 80871F50 250900D7 */ addiu $t1, $t0, 0x00D7 ## $t1 = 000000D7
|
||||
/* 00554 80871F54 254BFFA6 */ addiu $t3, $t2, 0xFFA6 ## $t3 = FFFFFFA6
|
||||
/* 00558 80871F58 A60D01B2 */ sh $t5, 0x01B2($s0) ## 000001B2
|
||||
/* 0055C 80871F5C A60F01FE */ sh $t7, 0x01FE($s0) ## 000001FE
|
||||
/* 00560 80871F60 A61901FA */ sh $t9, 0x01FA($s0) ## 000001FA
|
||||
/* 00564 80871F64 A609024A */ sh $t1, 0x024A($s0) ## 0000024A
|
||||
/* 00568 80871F68 A60B0246 */ sh $t3, 0x0246($s0) ## 00000246
|
||||
/* 0056C 80871F6C 02212821 */ addu $a1, $s1, $at
|
||||
/* 00570 80871F70 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00574 80871F74 8FA60038 */ lw $a2, 0x0038($sp)
|
||||
/* 00578 80871F78 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 0057C 80871F7C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00580 80871F80 8FB0002C */ lw $s0, 0x002C($sp)
|
||||
/* 00584 80871F84 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00588 80871F88 8FA60034 */ lw $a2, 0x0034($sp)
|
||||
/* 0058C 80871F8C 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 00590 80871F90 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00594 80871F94 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00598 80871F98 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 0059C 80871F9C 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 005A0 80871FA0 8FA60030 */ lw $a2, 0x0030($sp)
|
||||
.L80871FA4:
|
||||
/* 005A4 80871FA4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 005A8 80871FA8 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 005AC 80871FAC 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 005B0 80871FB0 03E00008 */ jr $ra
|
||||
/* 005B4 80871FB4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
|
@ -1,192 +0,0 @@
|
|||
glabel func_80871FB8
|
||||
/* 005B8 80871FB8 27BDFF18 */ addiu $sp, $sp, 0xFF18 ## $sp = FFFFFF18
|
||||
/* 005BC 80871FBC 3C0F8087 */ lui $t7, %hi(D_808725CC) ## $t7 = 80870000
|
||||
/* 005C0 80871FC0 AFB40040 */ sw $s4, 0x0040($sp)
|
||||
/* 005C4 80871FC4 AFB10034 */ sw $s1, 0x0034($sp)
|
||||
/* 005C8 80871FC8 25EF25CC */ addiu $t7, $t7, %lo(D_808725CC) ## $t7 = 808725CC
|
||||
/* 005CC 80871FCC 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 005D0 80871FD0 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
|
||||
/* 005D4 80871FD4 AFBF0044 */ sw $ra, 0x0044($sp)
|
||||
/* 005D8 80871FD8 AFB3003C */ sw $s3, 0x003C($sp)
|
||||
/* 005DC 80871FDC AFB20038 */ sw $s2, 0x0038($sp)
|
||||
/* 005E0 80871FE0 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 005E4 80871FE4 F7B40028 */ sdc1 $f20, 0x0028($sp)
|
||||
/* 005E8 80871FE8 25E80084 */ addiu $t0, $t7, 0x0084 ## $t0 = 80872650
|
||||
/* 005EC 80871FEC 27AE0058 */ addiu $t6, $sp, 0x0058 ## $t6 = FFFFFF70
|
||||
.L80871FF0:
|
||||
/* 005F0 80871FF0 8DF90000 */ lw $t9, 0x0000($t7) ## 808725CC
|
||||
/* 005F4 80871FF4 25EF000C */ addiu $t7, $t7, 0x000C ## $t7 = 808725D8
|
||||
/* 005F8 80871FF8 25CE000C */ addiu $t6, $t6, 0x000C ## $t6 = FFFFFF7C
|
||||
/* 005FC 80871FFC ADD9FFF4 */ sw $t9, -0x000C($t6) ## FFFFFF70
|
||||
/* 00600 80872000 8DF8FFF8 */ lw $t8, -0x0008($t7) ## 808725D0
|
||||
/* 00604 80872004 ADD8FFF8 */ sw $t8, -0x0008($t6) ## FFFFFF74
|
||||
/* 00608 80872008 8DF9FFFC */ lw $t9, -0x0004($t7) ## 808725D4
|
||||
/* 0060C 8087200C 15E8FFF8 */ bne $t7, $t0, .L80871FF0
|
||||
/* 00610 80872010 ADD9FFFC */ sw $t9, -0x0004($t6) ## FFFFFF78
|
||||
/* 00614 80872014 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00618 80872018 02811021 */ addu $v0, $s4, $at
|
||||
/* 0061C 8087201C 84431D30 */ lh $v1, 0x1D30($v0) ## 00001D30
|
||||
/* 00620 80872020 286100FF */ slti $at, $v1, 0x00FF
|
||||
/* 00624 80872024 10200002 */ beq $at, $zero, .L80872030
|
||||
/* 00628 80872028 24690005 */ addiu $t1, $v1, 0x0005 ## $t1 = 00000005
|
||||
/* 0062C 8087202C A4491D30 */ sh $t1, 0x1D30($v0) ## 00001D30
|
||||
.L80872030:
|
||||
/* 00630 80872030 84431D32 */ lh $v1, 0x1D32($v0) ## 00001D32
|
||||
/* 00634 80872034 286100FF */ slti $at, $v1, 0x00FF
|
||||
/* 00638 80872038 10200002 */ beq $at, $zero, .L80872044
|
||||
/* 0063C 8087203C 246A0005 */ addiu $t2, $v1, 0x0005 ## $t2 = 00000005
|
||||
/* 00640 80872040 A44A1D32 */ sh $t2, 0x1D32($v0) ## 00001D32
|
||||
.L80872044:
|
||||
/* 00644 80872044 844B1D30 */ lh $t3, 0x1D30($v0) ## 00001D30
|
||||
/* 00648 80872048 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
|
||||
/* 0064C 8087204C 146B0006 */ bne $v1, $t3, .L80872068
|
||||
/* 00650 80872050 00000000 */ nop
|
||||
/* 00654 80872054 844C1D32 */ lh $t4, 0x1D32($v0) ## 00001D32
|
||||
/* 00658 80872058 3C028087 */ lui $v0, %hi(D_80872824) ## $v0 = 80870000
|
||||
/* 0065C 8087205C 24422824 */ addiu $v0, $v0, %lo(D_80872824) ## $v0 = 80872824
|
||||
/* 00660 80872060 506C0008 */ beql $v1, $t4, .L80872084
|
||||
/* 00664 80872064 8C4F0000 */ lw $t7, 0x0000($v0) ## 80872824
|
||||
.L80872068:
|
||||
/* 00668 80872068 3C028087 */ lui $v0, %hi(D_80872824) ## $v0 = 80870000
|
||||
/* 0066C 8087206C 24422824 */ addiu $v0, $v0, %lo(D_80872824) ## $v0 = 80872824
|
||||
/* 00670 80872070 8C4D0000 */ lw $t5, 0x0000($v0) ## 80872824
|
||||
/* 00674 80872074 25A8FFFF */ addiu $t0, $t5, 0xFFFF ## $t0 = FFFFFFFF
|
||||
/* 00678 80872078 10000077 */ beq $zero, $zero, .L80872258
|
||||
/* 0067C 8087207C AC480000 */ sw $t0, 0x0000($v0) ## 80872824
|
||||
/* 00680 80872080 8C4F0000 */ lw $t7, 0x0000($v0) ## 80872824
|
||||
.L80872084:
|
||||
/* 00684 80872084 2401006C */ addiu $at, $zero, 0x006C ## $at = 0000006C
|
||||
/* 00688 80872088 27B000D0 */ addiu $s0, $sp, 0x00D0 ## $s0 = FFFFFFE8
|
||||
/* 0068C 8087208C 15E1001F */ bne $t7, $at, .L8087210C
|
||||
/* 00690 80872090 27B30058 */ addiu $s3, $sp, 0x0058 ## $s3 = FFFFFF70
|
||||
/* 00694 80872094 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 00698 80872098 4481A000 */ mtc1 $at, $f20 ## $f20 = 2.00
|
||||
/* 0069C 8087209C 27B200DC */ addiu $s2, $sp, 0x00DC ## $s2 = FFFFFFF4
|
||||
/* 006A0 808720A0 C6040000 */ lwc1 $f4, 0x0000($s0) ## FFFFFFE8
|
||||
.L808720A4:
|
||||
/* 006A4 808720A4 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
|
||||
/* 006A8 808720A8 4406A000 */ mfc1 $a2, $f20
|
||||
/* 006AC 808720AC 240E00C8 */ addiu $t6, $zero, 0x00C8 ## $t6 = 000000C8
|
||||
/* 006B0 808720B0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 006B4 808720B4 2418004B */ addiu $t8, $zero, 0x004B ## $t8 = 0000004B
|
||||
/* 006B8 808720B8 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 006BC 808720BC 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 006C0 808720C0 E7A800DC */ swc1 $f8, 0x00DC($sp)
|
||||
/* 006C4 808720C4 C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028
|
||||
/* 006C8 808720C8 C60A0004 */ lwc1 $f10, 0x0004($s0) ## FFFFFFEC
|
||||
/* 006CC 808720CC 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF4
|
||||
/* 006D0 808720D0 24070003 */ addiu $a3, $zero, 0x0003 ## $a3 = 00000003
|
||||
/* 006D4 808720D4 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 006D8 808720D8 E7B200E0 */ swc1 $f18, 0x00E0($sp)
|
||||
/* 006DC 808720DC C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C
|
||||
/* 006E0 808720E0 C6040008 */ lwc1 $f4, 0x0008($s0) ## FFFFFFF0
|
||||
/* 006E4 808720E4 AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 006E8 808720E8 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 006EC 808720EC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 006F0 808720F0 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 006F4 808720F4 0C00CD20 */ jal func_80033480
|
||||
/* 006F8 808720F8 E7A800E4 */ swc1 $f8, 0x00E4($sp)
|
||||
/* 006FC 808720FC 2610FFF4 */ addiu $s0, $s0, 0xFFF4 ## $s0 = FFFFFFDC
|
||||
/* 00700 80872100 0213082B */ sltu $at, $s0, $s3
|
||||
/* 00704 80872104 5020FFE7 */ beql $at, $zero, .L808720A4
|
||||
/* 00708 80872108 C6040000 */ lwc1 $f4, 0x0000($s0) ## FFFFFFDC
|
||||
.L8087210C:
|
||||
/* 0070C 8087210C 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00710 80872110 4481A000 */ mtc1 $at, $f20 ## $f20 = 200.00
|
||||
/* 00714 80872114 C62A0024 */ lwc1 $f10, 0x0024($s1) ## 00000024
|
||||
/* 00718 80872118 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 0071C 8087211C 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
|
||||
/* 00720 80872120 46145400 */ add.s $f16, $f10, $f20
|
||||
/* 00724 80872124 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00728 80872128 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
|
||||
/* 0072C 8087212C 27B200DC */ addiu $s2, $sp, 0x00DC ## $s2 = FFFFFFF4
|
||||
/* 00730 80872130 E7B000DC */ swc1 $f16, 0x00DC($sp)
|
||||
/* 00734 80872134 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
|
||||
/* 00738 80872138 02402025 */ or $a0, $s2, $zero ## $a0 = FFFFFFF4
|
||||
/* 0073C 8087213C 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
|
||||
/* 00740 80872140 46049181 */ sub.s $f6, $f18, $f4
|
||||
/* 00744 80872144 E7A600E0 */ swc1 $f6, 0x00E0($sp)
|
||||
/* 00748 80872148 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C
|
||||
/* 0074C 8087214C 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 00750 80872150 0C21C682 */ jal func_80871A08
|
||||
/* 00754 80872154 E7B000E4 */ swc1 $f16, 0x00E4($sp)
|
||||
/* 00758 80872158 C6320024 */ lwc1 $f18, 0x0024($s1) ## 00000024
|
||||
/* 0075C 8087215C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00760 80872160 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
|
||||
/* 00764 80872164 46149101 */ sub.s $f4, $f18, $f20
|
||||
/* 00768 80872168 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 0076C 8087216C 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00
|
||||
/* 00770 80872170 02402025 */ or $a0, $s2, $zero ## $a0 = FFFFFFF4
|
||||
/* 00774 80872174 E7A400DC */ swc1 $f4, 0x00DC($sp)
|
||||
/* 00778 80872178 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028
|
||||
/* 0077C 8087217C 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
|
||||
/* 00780 80872180 46083281 */ sub.s $f10, $f6, $f8
|
||||
/* 00784 80872184 E7AA00E0 */ swc1 $f10, 0x00E0($sp)
|
||||
/* 00788 80872188 C630002C */ lwc1 $f16, 0x002C($s1) ## 0000002C
|
||||
/* 0078C 8087218C 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00790 80872190 0C21C682 */ jal func_80871A08
|
||||
/* 00794 80872194 E7A400E4 */ swc1 $f4, 0x00E4($sp)
|
||||
/* 00798 80872198 26240164 */ addiu $a0, $s1, 0x0164 ## $a0 = 00000164
|
||||
/* 0079C 8087219C 24050064 */ addiu $a1, $zero, 0x0064 ## $a1 = 00000064
|
||||
/* 007A0 808721A0 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 007A4 808721A4 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003
|
||||
/* 007A8 808721A8 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
|
||||
/* 007AC 808721AC 44816000 */ mtc1 $at, $f12 ## $f12 = 500.00
|
||||
/* 007B0 808721B0 24050078 */ addiu $a1, $zero, 0x0078 ## $a1 = 00000078
|
||||
/* 007B4 808721B4 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 007B8 808721B8 0C02A800 */ jal func_800AA000
|
||||
/* 007BC 808721BC 2407000A */ addiu $a3, $zero, 0x000A ## $a3 = 0000000A
|
||||
/* 007C0 808721C0 86290164 */ lh $t1, 0x0164($s1) ## 00000164
|
||||
/* 007C4 808721C4 240A006E */ addiu $t2, $zero, 0x006E ## $t2 = 0000006E
|
||||
/* 007C8 808721C8 240B0032 */ addiu $t3, $zero, 0x0032 ## $t3 = 00000032
|
||||
/* 007CC 808721CC 01493023 */ subu $a2, $t2, $t1
|
||||
/* 007D0 808721D0 00063400 */ sll $a2, $a2, 16
|
||||
/* 007D4 808721D4 00063403 */ sra $a2, $a2, 16
|
||||
/* 007D8 808721D8 AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 007DC 808721DC 262400B4 */ addiu $a0, $s1, 0x00B4 ## $a0 = 000000B4
|
||||
/* 007E0 808721E0 24051333 */ addiu $a1, $zero, 0x1333 ## $a1 = 00001333
|
||||
/* 007E4 808721E4 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 007E8 808721E8 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
|
||||
/* 007EC 808721EC 14400011 */ bne $v0, $zero, .L80872234
|
||||
/* 007F0 808721F0 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 007F4 808721F4 3C058087 */ lui $a1, %hi(func_8087227C) ## $a1 = 80870000
|
||||
/* 007F8 808721F8 24A5227C */ addiu $a1, $a1, %lo(func_8087227C) ## $a1 = 8087227C
|
||||
/* 007FC 808721FC 0C21C680 */ jal BgDodoago_SetupAction
|
||||
/* 00800 80872200 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00804 80872204 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 00808 80872208 3C0C8013 */ lui $t4, %hi(D_801333E8)
|
||||
/* 0080C 8087220C 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 00810 80872210 258C33E8 */ addiu $t4, %lo(D_801333E8)
|
||||
/* 00814 80872214 AFAC0014 */ sw $t4, 0x0014($sp)
|
||||
/* 00818 80872218 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 0081C 8087221C 2404281D */ addiu $a0, $zero, 0x281D ## $a0 = 0000281D
|
||||
/* 00820 80872220 262500E4 */ addiu $a1, $s1, 0x00E4 ## $a1 = 000000E4
|
||||
/* 00824 80872224 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 00828 80872228 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 0082C 8087222C 1000000B */ beq $zero, $zero, .L8087225C
|
||||
/* 00830 80872230 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
.L80872234:
|
||||
/* 00834 80872234 3C0D8013 */ lui $t5, %hi(D_801333E8)
|
||||
/* 00838 80872238 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 0083C 8087223C 25AD33E8 */ addiu $t5, %lo(D_801333E8)
|
||||
/* 00840 80872240 AFAD0014 */ sw $t5, 0x0014($sp)
|
||||
/* 00844 80872244 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 00848 80872248 2404201E */ addiu $a0, $zero, 0x201E ## $a0 = 0000201E
|
||||
/* 0084C 8087224C 262500E4 */ addiu $a1, $s1, 0x00E4 ## $a1 = 000000E4
|
||||
/* 00850 80872250 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 00854 80872254 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
.L80872258:
|
||||
/* 00858 80872258 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
.L8087225C:
|
||||
/* 0085C 8087225C D7B40028 */ ldc1 $f20, 0x0028($sp)
|
||||
/* 00860 80872260 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 00864 80872264 8FB10034 */ lw $s1, 0x0034($sp)
|
||||
/* 00868 80872268 8FB20038 */ lw $s2, 0x0038($sp)
|
||||
/* 0086C 8087226C 8FB3003C */ lw $s3, 0x003C($sp)
|
||||
/* 00870 80872270 8FB40040 */ lw $s4, 0x0040($sp)
|
||||
/* 00874 80872274 03E00008 */ jr $ra
|
||||
/* 00878 80872278 27BD00E8 */ addiu $sp, $sp, 0x00E8 ## $sp = 00000000
|
|
@ -1,4 +0,0 @@
|
|||
glabel func_8087227C
|
||||
/* 0087C 8087227C AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00880 80872280 03E00008 */ jr $ra
|
||||
/* 00884 80872284 AFA50004 */ sw $a1, 0x0004($sp)
|
|
@ -1,27 +0,0 @@
|
|||
glabel func_80872288
|
||||
/* 00888 80872288 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0088C 8087228C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00890 80872290 848E0164 */ lh $t6, 0x0164($a0) ## 00000164
|
||||
/* 00894 80872294 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
|
||||
/* 00898 80872298 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
|
||||
/* 0089C 8087229C 000E7840 */ sll $t7, $t6, 1
|
||||
/* 008A0 808722A0 00AFC021 */ addu $t8, $a1, $t7
|
||||
/* 008A4 808722A4 03031021 */ addu $v0, $t8, $v1
|
||||
/* 008A8 808722A8 84591D30 */ lh $t9, 0x1D30($v0) ## 00001D30
|
||||
/* 008AC 808722AC 27280005 */ addiu $t0, $t9, 0x0005 ## $t0 = 00000005
|
||||
/* 008B0 808722B0 A4481D30 */ sh $t0, 0x1D30($v0) ## 00001D30
|
||||
/* 008B4 808722B4 84890164 */ lh $t1, 0x0164($a0) ## 00000164
|
||||
/* 008B8 808722B8 00095040 */ sll $t2, $t1, 1
|
||||
/* 008BC 808722BC 00AA5821 */ addu $t3, $a1, $t2
|
||||
/* 008C0 808722C0 01636021 */ addu $t4, $t3, $v1
|
||||
/* 008C4 808722C4 858D1D30 */ lh $t5, 0x1D30($t4) ## 00001D30
|
||||
/* 008C8 808722C8 3C058087 */ lui $a1, %hi(func_80871CF4) ## $a1 = 80870000
|
||||
/* 008CC 808722CC 55A10004 */ bnel $t5, $at, .L808722E0
|
||||
/* 008D0 808722D0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 008D4 808722D4 0C21C680 */ jal BgDodoago_SetupAction
|
||||
/* 008D8 808722D8 24A51CF4 */ addiu $a1, $a1, %lo(func_80871CF4) ## $a1 = 80871CF4
|
||||
/* 008DC 808722DC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L808722E0:
|
||||
/* 008E0 808722E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 008E4 808722E4 03E00008 */ jr $ra
|
||||
/* 008E8 808722E8 00000000 */ nop
|
|
@ -1,16 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .bss
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_808727C0
|
||||
.space 0x64
|
||||
glabel D_80872824
|
||||
.space 0x0C
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .data
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel Bg_Dodoago_InitVars
|
||||
.word 0x003F0100, 0x00000000, 0x002B0000, 0x00000250
|
||||
.word BgDodoago_Init
|
||||
.word BgDodoago_Destroy
|
||||
.word BgDodoago_Update
|
||||
.word BgDodoago_Draw
|
||||
glabel D_80872540
|
||||
.word 0x0A003900, 0x00010000, 0x02000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010000, 0x0050001E, 0x00500000, 0x00000000
|
||||
glabel D_8087256C
|
||||
.word 0x0A00003D, 0x20010000, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0032003C, 0x01180000, 0x00000000
|
||||
glabel D_80872598
|
||||
.word 0x00000000
|
||||
glabel D_8087259C
|
||||
.word 0x64646400
|
||||
glabel D_808725A0
|
||||
.word 0x28282800
|
||||
glabel D_808725A4
|
||||
.word 0x00000000, 0xBFC00000, 0x00000000
|
||||
glabel D_808725B0
|
||||
.word 0x00000000, 0xBE4CCCCD, 0x00000000
|
||||
glabel D_808725BC
|
||||
.word 0xC8500064, 0xB0F41388, 0xB0F803E8, 0x30FC0320
|
||||
glabel D_808725CC
|
||||
.word 0x00000000, 0xC3480000, 0x43D70000, 0x41A00000, 0xC3480000, 0x43D20000, 0xC1A00000, 0xC3480000, 0x43D20000, 0x42200000, 0xC3480000, 0x43BE0000, 0xC2200000, 0xC3480000, 0x43BE0000, 0x42480000, 0xC3480000, 0x43AF0000, 0xC2480000, 0xC3480000, 0x43AF0000, 0x42700000, 0xC3480000, 0x43A00000, 0xC2700000, 0xC3480000, 0x43A00000, 0x428C0000, 0xC3480000, 0x43910000, 0xC28C0000, 0xC3480000, 0x43910000
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_80872690
|
||||
.incbin "baserom/ovl_Bg_Dodoago", 0xC90, 0x00000130
|
|
@ -239,7 +239,7 @@ typedef struct Player {
|
|||
/* 0x01AC */ char unk_1AC[0x004];
|
||||
/* 0x01B0 */ void* getItemModel; // Pointer to the space where the get item model is allocated
|
||||
/* 0x01B4 */ SkelAnime skelAnime;
|
||||
/* 0x01F8 */ char unk_1F8[0x1B4];
|
||||
/* 0x01F8 */ char unk_1F8[0x1B4];
|
||||
/* 0x03AC */ Actor* heldActor;
|
||||
/* 0x03B0 */ Vec3f unk_3B0; // related to links hands
|
||||
/* 0x03BC */ char unk_3BC[0x00C];
|
||||
|
|
4
spec
4
spec
|
@ -683,9 +683,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Dodoago"
|
||||
include "build/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.o"
|
||||
include "build/data/overlays/actors/z_bg_dodoago.data.o"
|
||||
include "build/data/overlays/actors/z_bg_dodoago.bss.o"
|
||||
include "build/data/overlays/actors/z_bg_dodoago.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Dodoago/ovl_Bg_Dodoago_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_bg_dodoago.h"
|
||||
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
|
@ -15,13 +16,11 @@ void BgDodoago_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void BgDodoago_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgDodoago_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
// void func_80871A08(Vec3f* vec, GlobalContext* globalCtx); // Not 100% sure
|
||||
void func_80871CF4(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void func_80871FB8(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void func_8087227C(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void func_80872288(BgDodoago* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Dodoago_InitVars = {
|
||||
ACTOR_BG_DODOAGO,
|
||||
ACTORTYPE_BG,
|
||||
|
@ -33,23 +32,255 @@ const ActorInit Bg_Dodoago_InitVars = {
|
|||
(ActorFunc)BgDodoago_Update,
|
||||
(ActorFunc)BgDodoago_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/BgDodoago_SetupAction.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/func_80871A08.s")
|
||||
static ColliderCylinderInit sColCylinderInit0 = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x39, 0x00, 0x00, COLSHAPE_CYLINDER },
|
||||
{ 0x02, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
|
||||
{ 80, 30, 80, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/BgDodoago_Init.s")
|
||||
static ColliderCylinderInit sColCylinderInit1 = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x00, 0x3D, 0x20, COLSHAPE_CYLINDER },
|
||||
{ 0x02, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
|
||||
{ 50, 60, 280, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/BgDodoago_Destroy.s")
|
||||
s16 slsAttached = false;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/func_80871CF4.s")
|
||||
Color_RGBA8_n D_8087259C = { 100, 100, 100, 0 };
|
||||
Color_RGBA8_n D_808725A0 = { 40, 40, 40, 0 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/func_80871FB8.s")
|
||||
static Vec3f sVelocity = { 0.0f, -1.5f, 0.0f };
|
||||
static Vec3f sAcceleration = { 0.0f, -0.2f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/func_8087227C.s")
|
||||
static InitChainEntry D_808725BC[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 5000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 1000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 800, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/func_80872288.s")
|
||||
extern Gfx D_60013500[];
|
||||
extern UNK_TYPE D_06001DDC;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/BgDodoago_Update.s")
|
||||
u8 D_808727C0[100];
|
||||
s32 D_80872824;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/BgDodoago_Draw.s")
|
||||
void BgDodoago_SetupAction(BgDodoago* this, BgDodoagoActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
void func_80871A08(Vec3f* vec, GlobalContext* globalCtx) {
|
||||
Vec3f pos;
|
||||
Color_RGBA8_n primColor = D_8087259C;
|
||||
Color_RGBA8_n envColor = D_808725A0;
|
||||
s32 i;
|
||||
|
||||
for (i = 4; i > 0; i--) {
|
||||
pos.x = Math_Rand_CenteredFloat(20.0f) + vec->x;
|
||||
pos.y = Math_Rand_CenteredFloat(10.0f) + vec->y;
|
||||
pos.z = Math_Rand_CenteredFloat(20.0f) + vec->z;
|
||||
func_80028B74(globalCtx, &pos, &sVelocity, &sAcceleration, &primColor, &envColor);
|
||||
}
|
||||
}
|
||||
|
||||
void BgDodoago_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgDodoago* this = THIS;
|
||||
s32 pad;
|
||||
s32 localC = 0;
|
||||
|
||||
Actor_ProcessInitChain(&this->dyna.actor, D_808725BC);
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, 0);
|
||||
DynaPolyInfo_Alloc(&D_06001DDC, &localC);
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, localC);
|
||||
ActorShape_Init(&this->dyna.actor.shape, 0.0f, NULL, 0.0f);
|
||||
|
||||
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params & 0x3F))) {
|
||||
BgDodoago_SetupAction(this, func_8087227C);
|
||||
this->dyna.actor.shape.rot.x = 0x1333;
|
||||
globalCtx->unk_11D30[0] = globalCtx->unk_11D30[1] = 0xFF;
|
||||
return;
|
||||
}
|
||||
|
||||
Collider_InitCylinder(globalCtx, &this->colliders[0]);
|
||||
Collider_InitCylinder(globalCtx, &this->colliders[1]);
|
||||
Collider_InitCylinder(globalCtx, &this->colliders[2]);
|
||||
Collider_SetCylinder(globalCtx, &this->colliders[0], &this->dyna.actor, &sColCylinderInit0);
|
||||
Collider_SetCylinder(globalCtx, &this->colliders[1], &this->dyna.actor, &sColCylinderInit1);
|
||||
Collider_SetCylinder(globalCtx, &this->colliders[2], &this->dyna.actor, &sColCylinderInit1);
|
||||
BgDodoago_SetupAction(this, func_80871CF4);
|
||||
D_808727C0[0] = 0;
|
||||
}
|
||||
|
||||
void BgDodoago_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgDodoago* this = THIS;
|
||||
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
Collider_DestroyCylinder(globalCtx, &this->colliders[0]);
|
||||
Collider_DestroyCylinder(globalCtx, &this->colliders[1]);
|
||||
Collider_DestroyCylinder(globalCtx, &this->colliders[2]);
|
||||
}
|
||||
|
||||
void func_80871CF4(BgDodoago* this, GlobalContext* globalCtx) {
|
||||
Actor* attachedActor = func_80033640(globalCtx, &this->colliders[0].base);
|
||||
|
||||
if (attachedActor != NULL) {
|
||||
this->unk_164 =
|
||||
(Math_Vec3f_Yaw(&this->dyna.actor.posRot.pos, &attachedActor->posRot.pos) >= this->dyna.actor.shape.rot.y)
|
||||
? 1
|
||||
: 0;
|
||||
|
||||
if (((globalCtx->unk_11D30[0] == 0xFF) && (this->unk_164 == 1)) ||
|
||||
((globalCtx->unk_11D30[1] == 0xFF) && (this->unk_164 == 0))) {
|
||||
Flags_SetSwitch(globalCtx, (this->dyna.actor.params & 0x3F));
|
||||
this->unk_164 = 0;
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
BgDodoago_SetupAction(this, func_80871FB8);
|
||||
func_800800F8(globalCtx, 0xD34, 0xA0, &this->dyna.actor, 0);
|
||||
} else if (globalCtx->unk_11D30[this->unk_164] == 0) {
|
||||
func_800800F8(globalCtx, 0xBF9, 0x28, &this->dyna.actor, 0);
|
||||
BgDodoago_SetupAction(this, func_80872288);
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
} else {
|
||||
func_800800F8(globalCtx, 0xBF9, 0x14, &this->dyna.actor, 0);
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_ERROR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
D_80872824 += 0x1E;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!slsAttached) {
|
||||
this->dyna.actor.attachedA = attachedActor;
|
||||
slsAttached = true;
|
||||
D_80872824 = 0x32;
|
||||
}
|
||||
} else {
|
||||
|
||||
if (Flags_GetEventChkInf(0xB0)) {
|
||||
Collider_CylinderUpdate(&this->dyna.actor, &this->colliders[0]);
|
||||
Collider_CylinderUpdate(&this->dyna.actor, &this->colliders[1]);
|
||||
Collider_CylinderUpdate(&this->dyna.actor, &this->colliders[2]);
|
||||
this->colliders[0].dim.pos.z += 0xC8;
|
||||
this->colliders[1].dim.pos.z += 0xD7;
|
||||
this->colliders[1].dim.pos.x += 0x5A;
|
||||
this->colliders[2].dim.pos.z += 0xD7;
|
||||
this->colliders[2].dim.pos.x -= 0x5A;
|
||||
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliders[0].base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliders[1].base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliders[2].base);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80871FB8(BgDodoago* this, GlobalContext* globalCtx) {
|
||||
Vec3f currentPos;
|
||||
Vec3f D_808725CC[] = {
|
||||
{ 0.0f, -200.0f, 430.0f }, { 20.0f, -200.0f, 420.0f }, { -20.0f, -200.0f, 420.0f },
|
||||
{ 40.0, -200.0f, 380.0f }, { -40.0, -200.0f, 380.0f }, { 50.0, -200.0f, 350.0f },
|
||||
{ -50.0f, -200.0f, 350.0f }, { 60.0f, -200.0f, 320.0f }, { -60.0f, -200.0f, 320.0f },
|
||||
{ 70.0f, -200.0f, 290.0f }, { -70.0, -200.0f, 290.0f },
|
||||
};
|
||||
s32 i;
|
||||
|
||||
if (globalCtx->unk_11D30[0] < 0xFF) {
|
||||
globalCtx->unk_11D30[0] += 5;
|
||||
}
|
||||
if (globalCtx->unk_11D30[1] < 0xFF) {
|
||||
globalCtx->unk_11D30[1] += 5;
|
||||
}
|
||||
|
||||
if (globalCtx->unk_11D30[0] != 0xFF || globalCtx->unk_11D30[1] != 0xFF) {
|
||||
D_80872824--;
|
||||
return;
|
||||
}
|
||||
|
||||
if (D_80872824 == 0x6C) {
|
||||
for (i = 10; i >= 0; i--) {
|
||||
currentPos.x = D_808725CC[i].x + this->dyna.actor.posRot.pos.x;
|
||||
currentPos.y = D_808725CC[i].y + this->dyna.actor.posRot.pos.y;
|
||||
currentPos.z = D_808725CC[i].z + this->dyna.actor.posRot.pos.z;
|
||||
func_80033480(globalCtx, ¤tPos, 2.0f, 3, 0xC8, 0x4B, 1);
|
||||
}
|
||||
}
|
||||
|
||||
currentPos.x = this->dyna.actor.posRot.pos.x + 200.0f;
|
||||
currentPos.y = this->dyna.actor.posRot.pos.y - 20.0f;
|
||||
currentPos.z = this->dyna.actor.posRot.pos.z + 100.0f;
|
||||
|
||||
func_80871A08(¤tPos, globalCtx);
|
||||
|
||||
currentPos.x = this->dyna.actor.posRot.pos.x - 200.0f;
|
||||
currentPos.y = this->dyna.actor.posRot.pos.y - 20.0f;
|
||||
currentPos.z = this->dyna.actor.posRot.pos.z + 100.0f;
|
||||
|
||||
func_80871A08(¤tPos, globalCtx);
|
||||
Math_ApproxS(&this->unk_164, 0x64, 3);
|
||||
func_800AA000(500.0f, 0x78, 0x14, 0xA);
|
||||
|
||||
if (Math_SmoothScaleMaxMinS(&this->dyna.actor.shape.rot.x, 0x1333, 0x6E - this->unk_164, 0x3E8, 0x32) == 0) {
|
||||
BgDodoago_SetupAction(this, func_8087227C);
|
||||
Audio_PlaySoundGeneral(NA_SE_EV_STONE_BOUND, &this->dyna.actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
} else {
|
||||
Audio_PlaySoundGeneral(NA_SE_EV_STONE_STATUE_OPEN - SFX_FLAG, &this->dyna.actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8087227C(BgDodoago* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80872288(BgDodoago* this, GlobalContext* globalCtx) {
|
||||
globalCtx->unk_11D30[this->unk_164] += 5;
|
||||
|
||||
if (globalCtx->unk_11D30[this->unk_164] == 0xFF) {
|
||||
BgDodoago_SetupAction(this, func_80871CF4);
|
||||
}
|
||||
}
|
||||
|
||||
void BgDodoago_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgDodoago* this = THIS;
|
||||
EnBom* bomb;
|
||||
|
||||
if (this->dyna.actor.attachedA == NULL) {
|
||||
if ((s32)(this->colliders[1].base.maskA & 2) || (this->colliders[2].base.maskA & 2)) {
|
||||
|
||||
if ((s32)(this->colliders[1].base.maskA & 2)) {
|
||||
bomb = (EnBom*)this->colliders[1].base.oc;
|
||||
} else {
|
||||
bomb = (EnBom*)this->colliders[2].base.oc;
|
||||
}
|
||||
this->colliders[1].base.maskA &= ~2;
|
||||
this->colliders[2].base.maskA &= ~2;
|
||||
if (bomb->actor.type == ACTORTYPE_EXPLOSIVES && bomb->actor.id == ACTOR_EN_BOM && bomb->actor.params == 0) {
|
||||
this->dyna.actor.attachedA = &bomb->actor;
|
||||
bomb->timer = 50;
|
||||
bomb->actor.speedXZ = 0.0f;
|
||||
D_80872824 = 0;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
D_80872824++;
|
||||
Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F);
|
||||
if (D_808727C0[0] == 0 && D_80872824 >= 0x8D) {
|
||||
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
|
||||
D_808727C0[0]++;
|
||||
} else {
|
||||
this->dyna.actor.attachedA = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
void BgDodoago_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 672);
|
||||
if (Flags_GetEventChkInf(0xB0)) {
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 677),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, D_60013500);
|
||||
}
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 681);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,8 @@ typedef void (*BgDodoagoActionFunc)(struct BgDodoago*, GlobalContext*);
|
|||
|
||||
typedef struct BgDodoago {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ char unk_164[0xE8];
|
||||
/* 0x0164 */ s16 unk_164;
|
||||
/* 0x0168 */ ColliderCylinder colliders[3];
|
||||
/* 0x024C */ BgDodoagoActionFunc actionFunc;
|
||||
} BgDodoago; // size = 0x0250
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ typedef struct EnBom {
|
|||
|
||||
typedef enum {
|
||||
/* 0x00 */ BOMB_BODY,
|
||||
/* 0x01 */ BOMB_EXPLOSION,
|
||||
/* 0x01 */ BOMB_EXPLOSION
|
||||
} EnBomType;
|
||||
|
||||
extern const ActorInit En_Bom_InitVars;
|
||||
|
|
|
@ -525,7 +525,7 @@ D_060037B8 = 0x060037B8;
|
|||
|
||||
// z_bg_dodoago
|
||||
D_06001DDC = 0x06001DDC;
|
||||
D_06001350 = 0x06001350;
|
||||
D_60013500 = 0x06001350;
|
||||
|
||||
// z_bg_dy_yoseizo
|
||||
D_02000160 = 0x02000160;
|
||||
|
|
Loading…
Reference in a new issue