mirror of
https://github.com/zeldaret/oot.git
synced 2025-04-06 14:46:21 +00:00
Decompiles z_bg_spot17_bakudankabe.c (#347)
* Decompiles z_bg_spot17_bakudankabe.c * More progress, BgSpot17Bakudankabe_Draw * * func_808B6BC0 start * Some progress *func_808B6BC0 * func_808B6BC0 almost there * Cleanup and finished z_bg_spot17_bakudankabe.c * Addresses PR comments * Adds description to z_bg_spot17_bakudankabe * Renames some variables Co-authored-by: i82orbom <i82orbom i82orbom@github>
This commit is contained in:
parent
740a54ac99
commit
428554e717
11 changed files with 152 additions and 550 deletions
|
@ -1,14 +0,0 @@
|
|||
glabel BgSpot17Bakudankabe_Destroy
|
||||
/* 003C0 808B6F80 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 003C4 808B6F84 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 003C8 808B6F88 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 003CC 808B6F8C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 003D0 808B6F90 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 003D4 808B6F94 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 003D8 808B6F98 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 003DC 808B6F9C 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 003E0 808B6FA0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003E4 808B6FA4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003E8 808B6FA8 03E00008 */ jr $ra
|
||||
/* 003EC 808B6FAC 00000000 */ nop
|
|
@ -1,172 +0,0 @@
|
|||
.rdata
|
||||
glabel D_808B72B0
|
||||
.asciz "../z_bg_spot17_bakudankabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B72D0
|
||||
.asciz "../z_bg_spot17_bakudankabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B72F0
|
||||
.asciz "../z_bg_spot17_bakudankabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B7310
|
||||
.asciz "../z_bg_spot17_bakudankabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B7330
|
||||
.asciz "../z_bg_spot17_bakudankabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B7350
|
||||
.asciz "../z_bg_spot17_bakudankabe.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel BgSpot17Bakudankabe_Draw
|
||||
/* 00484 808B7044 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
||||
/* 00488 808B7048 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0048C 808B704C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00490 808B7050 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00494 808B7054 AFA40068 */ sw $a0, 0x0068($sp)
|
||||
/* 00498 808B7058 00A11821 */ addu $v1, $a1, $at
|
||||
/* 0049C 808B705C 8C641DE4 */ lw $a0, 0x1DE4($v1) ## 00001DE4
|
||||
/* 004A0 808B7060 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 004A4 808B7064 AFA30020 */ sw $v1, 0x0020($sp)
|
||||
/* 004A8 808B7068 00800821 */ addu $at, $a0, $zero
|
||||
/* 004AC 808B706C 00042080 */ sll $a0, $a0, 2
|
||||
/* 004B0 808B7070 00812023 */ subu $a0, $a0, $at
|
||||
/* 004B4 808B7074 00042100 */ sll $a0, $a0, 4
|
||||
/* 004B8 808B7078 00812023 */ subu $a0, $a0, $at
|
||||
/* 004BC 808B707C 000420C0 */ sll $a0, $a0, 3
|
||||
/* 004C0 808B7080 00812023 */ subu $a0, $a0, $at
|
||||
/* 004C4 808B7084 00042080 */ sll $a0, $a0, 2
|
||||
/* 004C8 808B7088 0C0411E0 */ jal coss
|
||||
|
||||
/* 004CC 808B708C 3084FFFF */ andi $a0, $a0, 0xFFFF ## $a0 = 00000000
|
||||
/* 004D0 808B7090 8FA30020 */ lw $v1, 0x0020($sp)
|
||||
/* 004D4 808B7094 00027203 */ sra $t6, $v0, 8
|
||||
/* 004D8 808B7098 A3AE0063 */ sb $t6, 0x0063($sp)
|
||||
/* 004DC 808B709C 8C641DE4 */ lw $a0, 0x1DE4($v1) ## 00001DE4
|
||||
/* 004E0 808B70A0 00800821 */ addu $at, $a0, $zero
|
||||
/* 004E4 808B70A4 00042080 */ sll $a0, $a0, 2
|
||||
/* 004E8 808B70A8 00812023 */ subu $a0, $a0, $at
|
||||
/* 004EC 808B70AC 00042100 */ sll $a0, $a0, 4
|
||||
/* 004F0 808B70B0 00812023 */ subu $a0, $a0, $at
|
||||
/* 004F4 808B70B4 000420C0 */ sll $a0, $a0, 3
|
||||
/* 004F8 808B70B8 00812023 */ subu $a0, $a0, $at
|
||||
/* 004FC 808B70BC 00042080 */ sll $a0, $a0, 2
|
||||
/* 00500 808B70C0 0C0411E0 */ jal coss
|
||||
|
||||
/* 00504 808B70C4 3084FFFF */ andi $a0, $a0, 0xFFFF ## $a0 = 00000000
|
||||
/* 00508 808B70C8 00027A03 */ sra $t7, $v0, 8
|
||||
/* 0050C 808B70CC A3AF0062 */ sb $t7, 0x0062($sp)
|
||||
/* 00510 808B70D0 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
|
||||
/* 00514 808B70D4 3C06808B */ lui $a2, %hi(D_808B72B0) ## $a2 = 808B0000
|
||||
/* 00518 808B70D8 24C672B0 */ addiu $a2, $a2, %lo(D_808B72B0) ## $a2 = 808B72B0
|
||||
/* 0051C 808B70DC 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4
|
||||
/* 00520 808B70E0 2407010D */ addiu $a3, $zero, 0x010D ## $a3 = 0000010D
|
||||
/* 00524 808B70E4 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00528 808B70E8 AFA5005C */ sw $a1, 0x005C($sp)
|
||||
/* 0052C 808B70EC 0C024F46 */ jal func_80093D18
|
||||
/* 00530 808B70F0 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
|
||||
/* 00534 808B70F4 8FA8005C */ lw $t0, 0x005C($sp)
|
||||
/* 00538 808B70F8 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 0053C 808B70FC 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 00540 808B7100 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
|
||||
/* 00544 808B7104 3C05808B */ lui $a1, %hi(D_808B72D0) ## $a1 = 808B0000
|
||||
/* 00548 808B7108 24A572D0 */ addiu $a1, $a1, %lo(D_808B72D0) ## $a1 = 808B72D0
|
||||
/* 0054C 808B710C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00550 808B7110 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
|
||||
/* 00554 808B7114 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00558 808B7118 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
|
||||
/* 0055C 808B711C 24060111 */ addiu $a2, $zero, 0x0111 ## $a2 = 00000111
|
||||
/* 00560 808B7120 AFA8005C */ sw $t0, 0x005C($sp)
|
||||
/* 00564 808B7124 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00568 808B7128 AFA20048 */ sw $v0, 0x0048($sp)
|
||||
/* 0056C 808B712C 8FA30048 */ lw $v1, 0x0048($sp)
|
||||
/* 00570 808B7130 8FA8005C */ lw $t0, 0x005C($sp)
|
||||
/* 00574 808B7134 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000
|
||||
/* 00578 808B7138 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 0057C 808B713C 83A50062 */ lb $a1, 0x0062($sp)
|
||||
/* 00580 808B7140 83A40063 */ lb $a0, 0x0063($sp)
|
||||
/* 00584 808B7144 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
|
||||
/* 00588 808B7148 00052843 */ sra $a1, $a1, 1
|
||||
/* 0058C 808B714C 24A500C0 */ addiu $a1, $a1, 0x00C0 ## $a1 = 000000C0
|
||||
/* 00590 808B7150 00042043 */ sra $a0, $a0, 1
|
||||
/* 00594 808B7154 248400C0 */ addiu $a0, $a0, 0x00C0 ## $a0 = 000000C0
|
||||
/* 00598 808B7158 00052E00 */ sll $a1, $a1, 24
|
||||
/* 0059C 808B715C 00042600 */ sll $a0, $a0, 24
|
||||
/* 005A0 808B7160 00052E03 */ sra $a1, $a1, 24
|
||||
/* 005A4 808B7164 00045E03 */ sra $t3, $a0, 24
|
||||
/* 005A8 808B7168 30AD00FF */ andi $t5, $a1, 0x00FF ## $t5 = 000000C0
|
||||
/* 005AC 808B716C 000D7400 */ sll $t6, $t5, 16
|
||||
/* 005B0 808B7170 000B6600 */ sll $t4, $t3, 24
|
||||
/* 005B4 808B7174 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 005B8 808B7178 018EC025 */ or $t8, $t4, $t6 ## $t8 = 00000000
|
||||
/* 005BC 808B717C AD0902C0 */ sw $t1, 0x02C0($t0) ## 000002C0
|
||||
/* 005C0 808B7180 3719FF80 */ ori $t9, $t8, 0xFF80 ## $t9 = 0000FF80
|
||||
/* 005C4 808B7184 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
|
||||
/* 005C8 808B7188 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 005CC 808B718C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
|
||||
/* 005D0 808B7190 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000
|
||||
/* 005D4 808B7194 256B08A0 */ addiu $t3, $t3, 0x08A0 ## $t3 = 060008A0
|
||||
/* 005D8 808B7198 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 005DC 808B719C AD0902C0 */ sw $t1, 0x02C0($t0) ## 000002C0
|
||||
/* 005E0 808B71A0 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 005E4 808B71A4 3C06808B */ lui $a2, %hi(D_808B72F0) ## $a2 = 808B0000
|
||||
/* 005E8 808B71A8 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 005EC 808B71AC AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
|
||||
/* 005F0 808B71B0 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
|
||||
/* 005F4 808B71B4 24C672F0 */ addiu $a2, $a2, %lo(D_808B72F0) ## $a2 = 808B72F0
|
||||
/* 005F8 808B71B8 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4
|
||||
/* 005FC 808B71BC 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00600 808B71C0 2407011B */ addiu $a3, $zero, 0x011B ## $a3 = 0000011B
|
||||
/* 00604 808B71C4 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
|
||||
/* 00608 808B71C8 3C06808B */ lui $a2, %hi(D_808B7310) ## $a2 = 808B0000
|
||||
/* 0060C 808B71CC 24C67310 */ addiu $a2, $a2, %lo(D_808B7310) ## $a2 = 808B7310
|
||||
/* 00610 808B71D0 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFC4
|
||||
/* 00614 808B71D4 2407011E */ addiu $a3, $zero, 0x011E ## $a3 = 0000011E
|
||||
/* 00618 808B71D8 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 0061C 808B71DC AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00620 808B71E0 0C024F61 */ jal func_80093D84
|
||||
/* 00624 808B71E4 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
|
||||
/* 00628 808B71E8 8FA7003C */ lw $a3, 0x003C($sp)
|
||||
/* 0062C 808B71EC 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
|
||||
/* 00630 808B71F0 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
|
||||
/* 00634 808B71F4 8CE202D0 */ lw $v0, 0x02D0($a3) ## 000002D0
|
||||
/* 00638 808B71F8 3C05808B */ lui $a1, %hi(D_808B7330) ## $a1 = 808B0000
|
||||
/* 0063C 808B71FC 24A57330 */ addiu $a1, $a1, %lo(D_808B7330) ## $a1 = 808B7330
|
||||
/* 00640 808B7200 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 00644 808B7204 ACED02D0 */ sw $t5, 0x02D0($a3) ## 000002D0
|
||||
/* 00648 808B7208 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 0064C 808B720C 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
|
||||
/* 00650 808B7210 24060122 */ addiu $a2, $zero, 0x0122 ## $a2 = 00000122
|
||||
/* 00654 808B7214 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00658 808B7218 AFA20028 */ sw $v0, 0x0028($sp)
|
||||
/* 0065C 808B721C 8FA30028 */ lw $v1, 0x0028($sp)
|
||||
/* 00660 808B7220 3C190600 */ lui $t9, 0x0600 ## $t9 = 06000000
|
||||
/* 00664 808B7224 27390960 */ addiu $t9, $t9, 0x0960 ## $t9 = 06000960
|
||||
/* 00668 808B7228 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 0066C 808B722C 8FAE003C */ lw $t6, 0x003C($sp)
|
||||
/* 00670 808B7230 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
|
||||
/* 00674 808B7234 3C06808B */ lui $a2, %hi(D_808B7350) ## $a2 = 808B0000
|
||||
/* 00678 808B7238 8DC202D0 */ lw $v0, 0x02D0($t6) ## 000002D0
|
||||
/* 0067C 808B723C 24C67350 */ addiu $a2, $a2, %lo(D_808B7350) ## $a2 = 808B7350
|
||||
/* 00680 808B7240 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFC4
|
||||
/* 00684 808B7244 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 00688 808B7248 ADCF02D0 */ sw $t7, 0x02D0($t6) ## 000002D0
|
||||
/* 0068C 808B724C AC590004 */ sw $t9, 0x0004($v0) ## 00000004
|
||||
/* 00690 808B7250 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
||||
/* 00694 808B7254 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
|
||||
/* 00698 808B7258 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 0069C 808B725C 24070127 */ addiu $a3, $zero, 0x0127 ## $a3 = 00000127
|
||||
/* 006A0 808B7260 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 006A4 808B7264 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 006A8 808B7268 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
|
||||
/* 006AC 808B726C 03E00008 */ jr $ra
|
||||
/* 006B0 808B7270 00000000 */ nop
|
||||
/* 006B4 808B7274 00000000 */ nop
|
||||
/* 006B8 808B7278 00000000 */ nop
|
||||
/* 006BC 808B727C 00000000 */ nop
|
|
@ -1,45 +0,0 @@
|
|||
glabel BgSpot17Bakudankabe_Init
|
||||
/* 00330 808B6EF0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00334 808B6EF4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00338 808B6EF8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0033C 808B6EFC AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00340 808B6F00 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00344 808B6F04 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00348 808B6F08 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 0034C 808B6F0C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00350 808B6F10 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00354 808B6F14 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00358 808B6F18 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 0035C 808B6F1C 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00360 808B6F20 10400005 */ beq $v0, $zero, .L808B6F38
|
||||
/* 00364 808B6F24 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00368 808B6F28 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 0036C 808B6F2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00370 808B6F30 1000000F */ beq $zero, $zero, .L808B6F70
|
||||
/* 00374 808B6F34 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808B6F38:
|
||||
/* 00378 808B6F38 24840A38 */ addiu $a0, $a0, 0x0A38 ## $a0 = 00000A38
|
||||
/* 0037C 808B6F3C 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 00380 808B6F40 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
|
||||
/* 00384 808B6F44 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00388 808B6F48 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0038C 808B6F4C 8FA70024 */ lw $a3, 0x0024($sp)
|
||||
/* 00390 808B6F50 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00394 808B6F54 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00398 808B6F58 3C05808B */ lui $a1, %hi(D_808B72A0) ## $a1 = 808B0000
|
||||
/* 0039C 808B6F5C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 003A0 808B6F60 24A572A0 */ addiu $a1, $a1, %lo(D_808B72A0) ## $a1 = 808B72A0
|
||||
/* 003A4 808B6F64 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 003A8 808B6F68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003AC 808B6F6C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808B6F70:
|
||||
/* 003B0 808B6F70 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 003B4 808B6F74 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 003B8 808B6F78 03E00008 */ jr $ra
|
||||
/* 003BC 808B6F7C 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808B7378
|
||||
.word 0x44228000, 0x00000000
|
||||
|
||||
.text
|
||||
glabel BgSpot17Bakudankabe_Update
|
||||
/* 003F0 808B6FB0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 003F4 808B6FB4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 003F8 808B6FB8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 003FC 808B6FBC AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00400 808B6FC0 3C01808B */ lui $at, %hi(D_808B7378) ## $at = 808B0000
|
||||
/* 00404 808B6FC4 C4267378 */ lwc1 $f6, %lo(D_808B7378)($at)
|
||||
/* 00408 808B6FC8 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 0040C 808B6FCC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00410 808B6FD0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00414 808B6FD4 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00418 808B6FD8 00000000 */ nop
|
||||
/* 0041C 808B6FDC 45020015 */ bc1fl .L808B7034
|
||||
/* 00420 808B6FE0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00424 808B6FE4 0C00CDA1 */ jal func_80033684
|
||||
/* 00428 808B6FE8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 0042C 808B6FEC 10400010 */ beq $v0, $zero, .L808B7030
|
||||
/* 00430 808B6FF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00434 808B6FF4 0C22DAF0 */ jal func_808B6BC0
|
||||
/* 00438 808B6FF8 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 0043C 808B6FFC 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00440 808B7000 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00444 808B7004 0C00B2DD */ jal Flags_SetSwitch
|
||||
|
||||
/* 00448 808B7008 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 0044C 808B700C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00450 808B7010 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00454 808B7014 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
|
||||
/* 00458 808B7018 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 0045C 808B701C 24072810 */ addiu $a3, $zero, 0x2810 ## $a3 = 00002810
|
||||
/* 00460 808B7020 0C01E221 */ jal func_80078884
|
||||
/* 00464 808B7024 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 00468 808B7028 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 0046C 808B702C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L808B7030:
|
||||
/* 00470 808B7030 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808B7034:
|
||||
/* 00474 808B7034 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00478 808B7038 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 0047C 808B703C 03E00008 */ jr $ra
|
||||
/* 00480 808B7040 00000000 */ nop
|
|
@ -1,227 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808B7370
|
||||
.float 0.2
|
||||
|
||||
glabel D_808B7374
|
||||
.float 0.4
|
||||
|
||||
.text
|
||||
glabel func_808B6BC0
|
||||
/* 00000 808B6BC0 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20
|
||||
/* 00004 808B6BC4 AFB20080 */ sw $s2, 0x0080($sp)
|
||||
/* 00008 808B6BC8 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
|
||||
/* 0000C 808B6BCC AFBF009C */ sw $ra, 0x009C($sp)
|
||||
/* 00010 808B6BD0 AFBE0098 */ sw $s8, 0x0098($sp)
|
||||
/* 00014 808B6BD4 AFB70094 */ sw $s7, 0x0094($sp)
|
||||
/* 00018 808B6BD8 AFB60090 */ sw $s6, 0x0090($sp)
|
||||
/* 0001C 808B6BDC AFB5008C */ sw $s5, 0x008C($sp)
|
||||
/* 00020 808B6BE0 AFB40088 */ sw $s4, 0x0088($sp)
|
||||
/* 00024 808B6BE4 AFB30084 */ sw $s3, 0x0084($sp)
|
||||
/* 00028 808B6BE8 AFB1007C */ sw $s1, 0x007C($sp)
|
||||
/* 0002C 808B6BEC AFB00078 */ sw $s0, 0x0078($sp)
|
||||
/* 00030 808B6BF0 F7BE0070 */ sdc1 $f30, 0x0070($sp)
|
||||
/* 00034 808B6BF4 F7BC0068 */ sdc1 $f28, 0x0068($sp)
|
||||
/* 00038 808B6BF8 F7BA0060 */ sdc1 $f26, 0x0060($sp)
|
||||
/* 0003C 808B6BFC F7B80058 */ sdc1 $f24, 0x0058($sp)
|
||||
/* 00040 808B6C00 F7B60050 */ sdc1 $f22, 0x0050($sp)
|
||||
/* 00044 808B6C04 F7B40048 */ sdc1 $f20, 0x0048($sp)
|
||||
/* 00048 808B6C08 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000
|
||||
/* 0004C 808B6C0C 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00050 808B6C10 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
|
||||
/* 00054 808B6C14 46000586 */ mov.s $f22, $f0
|
||||
/* 00058 808B6C18 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 0005C 808B6C1C 864400B6 */ lh $a0, 0x00B6($s2) ## 000000B6
|
||||
/* 00060 808B6C20 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00064 808B6C24 4481F000 */ mtc1 $at, $f30 ## $f30 = 20.00
|
||||
/* 00068 808B6C28 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 0006C 808B6C2C 3C01430C */ lui $at, 0x430C ## $at = 430C0000
|
||||
/* 00070 808B6C30 4481E000 */ mtc1 $at, $f28 ## $f28 = 140.00
|
||||
/* 00074 808B6C34 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00078 808B6C38 3C160501 */ lui $s6, 0x0501 ## $s6 = 05010000
|
||||
/* 0007C 808B6C3C 4481D000 */ mtc1 $at, $f26 ## $f26 = 0.50
|
||||
/* 00080 808B6C40 46000606 */ mov.s $f24, $f0
|
||||
/* 00084 808B6C44 26D6A880 */ addiu $s6, $s6, 0xA880 ## $s6 = 0500A880
|
||||
/* 00088 808B6C48 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
|
||||
/* 0008C 808B6C4C 24170014 */ addiu $s7, $zero, 0x0014 ## $s7 = 00000014
|
||||
/* 00090 808B6C50 27B500BC */ addiu $s5, $sp, 0x00BC ## $s5 = FFFFFFDC
|
||||
/* 00094 808B6C54 27B400C8 */ addiu $s4, $sp, 0x00C8 ## $s4 = FFFFFFE8
|
||||
/* 00098 808B6C58 E7A200C4 */ swc1 $f2, 0x00C4($sp)
|
||||
/* 0009C 808B6C5C E7A200BC */ swc1 $f2, 0x00BC($sp)
|
||||
.L808B6C60:
|
||||
/* 000A0 808B6C60 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 000A4 808B6C64 00000000 */ nop
|
||||
/* 000A8 808B6C68 461A0101 */ sub.s $f4, $f0, $f26
|
||||
/* 000AC 808B6C6C 461C2502 */ mul.s $f20, $f4, $f28
|
||||
/* 000B0 808B6C70 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 000B4 808B6C74 00000000 */ nop
|
||||
/* 000B8 808B6C78 461A0181 */ sub.s $f6, $f0, $f26
|
||||
/* 000BC 808B6C7C C6480024 */ lwc1 $f8, 0x0024($s2) ## 00000024
|
||||
/* 000C0 808B6C80 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 000C4 808B6C84 461E3082 */ mul.s $f2, $f6, $f30
|
||||
/* 000C8 808B6C88 00000000 */ nop
|
||||
/* 000CC 808B6C8C 46161282 */ mul.s $f10, $f2, $f22
|
||||
/* 000D0 808B6C90 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 000D4 808B6C94 4618A482 */ mul.s $f18, $f20, $f24
|
||||
/* 000D8 808B6C98 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
|
||||
/* 000DC 808B6C9C 3C0140D0 */ lui $at, 0x40D0 ## $at = 40D00000
|
||||
/* 000E0 808B6CA0 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 000E4 808B6CA4 44918000 */ mtc1 $s1, $f16 ## $f16 = 0.00
|
||||
/* 000E8 808B6CA8 00000000 */ nop
|
||||
/* 000EC 808B6CAC 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 000F0 808B6CB0 E7A400C8 */ swc1 $f4, 0x00C8($sp)
|
||||
/* 000F4 808B6CB4 C6460028 */ lwc1 $f6, 0x0028($s2) ## 00000028
|
||||
/* 000F8 808B6CB8 44812000 */ mtc1 $at, $f4 ## $f4 = 6.50
|
||||
/* 000FC 808B6CBC 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00100 808B6CC0 46049182 */ mul.s $f6, $f18, $f4
|
||||
/* 00104 808B6CC4 46065200 */ add.s $f8, $f10, $f6
|
||||
/* 00108 808B6CC8 46181482 */ mul.s $f18, $f2, $f24
|
||||
/* 0010C 808B6CCC E7A800CC */ swc1 $f8, 0x00CC($sp)
|
||||
/* 00110 808B6CD0 4616A282 */ mul.s $f10, $f20, $f22
|
||||
/* 00114 808B6CD4 C650002C */ lwc1 $f16, 0x002C($s2) ## 0000002C
|
||||
/* 00118 808B6CD8 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0011C 808B6CDC 460A2181 */ sub.s $f6, $f4, $f10
|
||||
/* 00120 808B6CE0 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00124 808B6CE4 E7A600D0 */ swc1 $f6, 0x00D0($sp)
|
||||
/* 00128 808B6CE8 3C01808B */ lui $at, %hi(D_808B7370) ## $at = 808B0000
|
||||
/* 0012C 808B6CEC C4287370 */ lwc1 $f8, %lo(D_808B7370)($at)
|
||||
/* 00130 808B6CF0 3C014140 */ lui $at, 0x4140 ## $at = 41400000
|
||||
/* 00134 808B6CF4 44819000 */ mtc1 $at, $f18 ## $f18 = 12.00
|
||||
/* 00138 808B6CF8 46080401 */ sub.s $f16, $f0, $f8
|
||||
/* 0013C 808B6CFC 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 00140 808B6D00 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00144 808B6D04 E7A400C0 */ swc1 $f4, 0x00C0($sp)
|
||||
/* 00148 808B6D08 3C01425C */ lui $at, 0x425C ## $at = 425C0000
|
||||
/* 0014C 808B6D0C 44815000 */ mtc1 $at, $f10 ## $f10 = 55.00
|
||||
/* 00150 808B6D10 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 00154 808B6D14 44814000 */ mtc1 $at, $f8 ## $f8 = 8.00
|
||||
/* 00158 808B6D18 460A0182 */ mul.s $f6, $f0, $f10
|
||||
/* 0015C 808B6D1C 46083400 */ add.s $f16, $f6, $f8
|
||||
/* 00160 808B6D20 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00164 808B6D24 44029000 */ mfc1 $v0, $f18
|
||||
/* 00168 808B6D28 00000000 */ nop
|
||||
/* 0016C 808B6D2C 00021C00 */ sll $v1, $v0, 16
|
||||
/* 00170 808B6D30 00031C03 */ sra $v1, $v1, 16
|
||||
/* 00174 808B6D34 28610014 */ slti $at, $v1, 0x0014
|
||||
/* 00178 808B6D38 00029C00 */ sll $s3, $v0, 16
|
||||
/* 0017C 808B6D3C 10200003 */ beq $at, $zero, .L808B6D4C
|
||||
/* 00180 808B6D40 00139C03 */ sra $s3, $s3, 16
|
||||
/* 00184 808B6D44 10000006 */ beq $zero, $zero, .L808B6D60
|
||||
/* 00188 808B6D48 2410FED4 */ addiu $s0, $zero, 0xFED4 ## $s0 = FFFFFED4
|
||||
.L808B6D4C:
|
||||
/* 0018C 808B6D4C 28610023 */ slti $at, $v1, 0x0023
|
||||
/* 00190 808B6D50 10200003 */ beq $at, $zero, .L808B6D60
|
||||
/* 00194 808B6D54 2410FE5C */ addiu $s0, $zero, 0xFE5C ## $s0 = FFFFFE5C
|
||||
/* 00198 808B6D58 10000001 */ beq $zero, $zero, .L808B6D60
|
||||
/* 0019C 808B6D5C 2410FE98 */ addiu $s0, $zero, 0xFE98 ## $s0 = FFFFFE98
|
||||
.L808B6D60:
|
||||
/* 001A0 808B6D60 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 001A4 808B6D64 00000000 */ nop
|
||||
/* 001A8 808B6D68 3C01808B */ lui $at, %hi(D_808B7374) ## $at = 808B0000
|
||||
/* 001AC 808B6D6C C4247374 */ lwc1 $f4, %lo(D_808B7374)($at)
|
||||
/* 001B0 808B6D70 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
|
||||
/* 001B4 808B6D74 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE8
|
||||
/* 001B8 808B6D78 4604003C */ c.lt.s $f0, $f4
|
||||
/* 001BC 808B6D7C 02A03025 */ or $a2, $s5, $zero ## $a2 = FFFFFFDC
|
||||
/* 001C0 808B6D80 02803825 */ or $a3, $s4, $zero ## $a3 = FFFFFFE8
|
||||
/* 001C4 808B6D84 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
|
||||
/* 001C8 808B6D88 45000003 */ bc1f .L808B6D98
|
||||
/* 001CC 808B6D8C 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
|
||||
/* 001D0 808B6D90 10000002 */ beq $zero, $zero, .L808B6D9C
|
||||
/* 001D4 808B6D94 24020041 */ addiu $v0, $zero, 0x0041 ## $v0 = 00000041
|
||||
.L808B6D98:
|
||||
/* 001D8 808B6D98 24020021 */ addiu $v0, $zero, 0x0021 ## $v0 = 00000021
|
||||
.L808B6D9C:
|
||||
/* 001DC 808B6D9C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 001E0 808B6DA0 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
|
||||
/* 001E4 808B6DA4 24090050 */ addiu $t1, $zero, 0x0050 ## $t1 = 00000050
|
||||
/* 001E8 808B6DA8 240AFFFF */ addiu $t2, $zero, 0xFFFF ## $t2 = FFFFFFFF
|
||||
/* 001EC 808B6DAC 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
|
||||
/* 001F0 808B6DB0 AFAB0038 */ sw $t3, 0x0038($sp)
|
||||
/* 001F4 808B6DB4 AFAA0034 */ sw $t2, 0x0034($sp)
|
||||
/* 001F8 808B6DB8 AFA90030 */ sw $t1, 0x0030($sp)
|
||||
/* 001FC 808B6DBC AFA8002C */ sw $t0, 0x002C($sp)
|
||||
/* 00200 808B6DC0 AFB90028 */ sw $t9, 0x0028($sp)
|
||||
/* 00204 808B6DC4 AFB00010 */ sw $s0, 0x0010($sp)
|
||||
/* 00208 808B6DC8 AFA20014 */ sw $v0, 0x0014($sp)
|
||||
/* 0020C 808B6DCC AFAF0018 */ sw $t7, 0x0018($sp)
|
||||
/* 00210 808B6DD0 AFB8001C */ sw $t8, 0x001C($sp)
|
||||
/* 00214 808B6DD4 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00218 808B6DD8 AFB30024 */ sw $s3, 0x0024($sp)
|
||||
/* 0021C 808B6DDC 0C00A7A3 */ jal func_80029E8C
|
||||
|
||||
/* 00220 808B6DE0 AFB6003C */ sw $s6, 0x003C($sp)
|
||||
/* 00224 808B6DE4 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
|
||||
/* 00228 808B6DE8 1637FF9D */ bne $s1, $s7, .L808B6C60
|
||||
/* 0022C 808B6DEC 00000000 */ nop
|
||||
/* 00230 808B6DF0 02802025 */ or $a0, $s4, $zero ## $a0 = FFFFFFE8
|
||||
/* 00234 808B6DF4 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00238 808B6DF8 26450024 */ addiu $a1, $s2, 0x0024 ## $a1 = 00000024
|
||||
/* 0023C 808B6DFC 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00240 808B6E00 4481A000 */ mtc1 $at, $f20 ## $f20 = 60.00
|
||||
/* 00244 808B6E04 240C006E */ addiu $t4, $zero, 0x006E ## $t4 = 0000006E
|
||||
/* 00248 808B6E08 240D00A0 */ addiu $t5, $zero, 0x00A0 ## $t5 = 000000A0
|
||||
/* 0024C 808B6E0C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00250 808B6E10 4406A000 */ mfc1 $a2, $f20
|
||||
/* 00254 808B6E14 AFAE0018 */ sw $t6, 0x0018($sp)
|
||||
/* 00258 808B6E18 AFAD0014 */ sw $t5, 0x0014($sp)
|
||||
/* 0025C 808B6E1C AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 00260 808B6E20 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
|
||||
/* 00264 808B6E24 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE8
|
||||
/* 00268 808B6E28 0C00CD20 */ jal func_80033480
|
||||
/* 0026C 808B6E2C 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
|
||||
/* 00270 808B6E30 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 00274 808B6E34 4481B000 */ mtc1 $at, $f22 ## $f22 = 40.00
|
||||
/* 00278 808B6E38 C7AA00CC */ lwc1 $f10, 0x00CC($sp)
|
||||
/* 0027C 808B6E3C 4406A000 */ mfc1 $a2, $f20
|
||||
/* 00280 808B6E40 240F0078 */ addiu $t7, $zero, 0x0078 ## $t7 = 00000078
|
||||
/* 00284 808B6E44 46165180 */ add.s $f6, $f10, $f22
|
||||
/* 00288 808B6E48 241800A0 */ addiu $t8, $zero, 0x00A0 ## $t8 = 000000A0
|
||||
/* 0028C 808B6E4C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 00290 808B6E50 AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 00294 808B6E54 E7A600CC */ swc1 $f6, 0x00CC($sp)
|
||||
/* 00298 808B6E58 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 0029C 808B6E5C AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 002A0 808B6E60 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
|
||||
/* 002A4 808B6E64 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE8
|
||||
/* 002A8 808B6E68 0C00CD20 */ jal func_80033480
|
||||
/* 002AC 808B6E6C 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
|
||||
/* 002B0 808B6E70 C7A800CC */ lwc1 $f8, 0x00CC($sp)
|
||||
/* 002B4 808B6E74 4406A000 */ mfc1 $a2, $f20
|
||||
/* 002B8 808B6E78 2408006E */ addiu $t0, $zero, 0x006E ## $t0 = 0000006E
|
||||
/* 002BC 808B6E7C 46164400 */ add.s $f16, $f8, $f22
|
||||
/* 002C0 808B6E80 240900A0 */ addiu $t1, $zero, 0x00A0 ## $t1 = 000000A0
|
||||
/* 002C4 808B6E84 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 002C8 808B6E88 AFAA0018 */ sw $t2, 0x0018($sp)
|
||||
/* 002CC 808B6E8C E7B000CC */ swc1 $f16, 0x00CC($sp)
|
||||
/* 002D0 808B6E90 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 002D4 808B6E94 AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 002D8 808B6E98 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
|
||||
/* 002DC 808B6E9C 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE8
|
||||
/* 002E0 808B6EA0 0C00CD20 */ jal func_80033480
|
||||
/* 002E4 808B6EA4 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
|
||||
/* 002E8 808B6EA8 8FBF009C */ lw $ra, 0x009C($sp)
|
||||
/* 002EC 808B6EAC D7B40048 */ ldc1 $f20, 0x0048($sp)
|
||||
/* 002F0 808B6EB0 D7B60050 */ ldc1 $f22, 0x0050($sp)
|
||||
/* 002F4 808B6EB4 D7B80058 */ ldc1 $f24, 0x0058($sp)
|
||||
/* 002F8 808B6EB8 D7BA0060 */ ldc1 $f26, 0x0060($sp)
|
||||
/* 002FC 808B6EBC D7BC0068 */ ldc1 $f28, 0x0068($sp)
|
||||
/* 00300 808B6EC0 D7BE0070 */ ldc1 $f30, 0x0070($sp)
|
||||
/* 00304 808B6EC4 8FB00078 */ lw $s0, 0x0078($sp)
|
||||
/* 00308 808B6EC8 8FB1007C */ lw $s1, 0x007C($sp)
|
||||
/* 0030C 808B6ECC 8FB20080 */ lw $s2, 0x0080($sp)
|
||||
/* 00310 808B6ED0 8FB30084 */ lw $s3, 0x0084($sp)
|
||||
/* 00314 808B6ED4 8FB40088 */ lw $s4, 0x0088($sp)
|
||||
/* 00318 808B6ED8 8FB5008C */ lw $s5, 0x008C($sp)
|
||||
/* 0031C 808B6EDC 8FB60090 */ lw $s6, 0x0090($sp)
|
||||
/* 00320 808B6EE0 8FB70094 */ lw $s7, 0x0094($sp)
|
||||
/* 00324 808B6EE4 8FBE0098 */ lw $s8, 0x0098($sp)
|
||||
/* 00328 808B6EE8 03E00008 */ jr $ra
|
||||
/* 0032C 808B6EEC 27BD00E0 */ addiu $sp, $sp, 0x00E0 ## $sp = 00000000
|
|
@ -1,20 +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_Spot17_Bakudankabe_InitVars
|
||||
.word 0x01A90100, 0x00000000, 0x00B10000, 0x00000164
|
||||
.word BgSpot17Bakudankabe_Init
|
||||
.word BgSpot17Bakudankabe_Destroy
|
||||
.word BgSpot17Bakudankabe_Update
|
||||
.word BgSpot17Bakudankabe_Draw
|
||||
glabel D_808B72A0
|
||||
.word 0xC8500064, 0xB0F40BB8, 0xB0F801F4, 0x30FC03E8
|
||||
|
|
@ -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_808B7380
|
||||
.incbin "baserom/ovl_Bg_Spot17_Bakudankabe", 0x7C0, 0x00000080
|
3
spec
3
spec
|
@ -1343,8 +1343,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Spot17_Bakudankabe"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/z_bg_spot17_bakudankabe.o"
|
||||
include "build/data/overlays/actors/z_bg_spot17_bakudankabe.data.o"
|
||||
include "build/data/overlays/actors/z_bg_spot17_bakudankabe.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/ovl_Bg_Spot17_Bakudankabe_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* File: z_bg_spot17_bakudankabe.c
|
||||
* Overlay: ovl_Bg_Spot17_Bakudankabe
|
||||
* Description: Death Mountain Crater Bombable Wall
|
||||
*/
|
||||
|
||||
#include "z_bg_spot17_bakudankabe.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
@ -9,7 +15,6 @@ void BgSpot17Bakudankabe_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void BgSpot17Bakudankabe_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgSpot17Bakudankabe_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Spot17_Bakudankabe_InitVars = {
|
||||
ACTOR_BG_SPOT17_BAKUDANKABE,
|
||||
ACTORTYPE_BG,
|
||||
|
@ -21,13 +26,145 @@ const ActorInit Bg_Spot17_Bakudankabe_InitVars = {
|
|||
(ActorFunc)BgSpot17Bakudankabe_Update,
|
||||
(ActorFunc)BgSpot17Bakudankabe_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Bakudankabe/func_808B6BC0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Bakudankabe/BgSpot17Bakudankabe_Init.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 3000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 500, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Bakudankabe/BgSpot17Bakudankabe_Destroy.s")
|
||||
extern UNK_TYPE D_06000A38;
|
||||
extern Gfx D_060008A0[];
|
||||
extern Gfx D_06000960[];
|
||||
extern Gfx D_0500A880[];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Bakudankabe/BgSpot17Bakudankabe_Update.s")
|
||||
void func_808B6BC0(BgSpot17Bakudankabe* this, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
s32 i;
|
||||
Vec3f burstDepthY;
|
||||
Vec3f burstDepthX;
|
||||
f32 sinY;
|
||||
f32 cosY;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Bakudankabe/BgSpot17Bakudankabe_Draw.s")
|
||||
sinY = Math_Sins(this->dyna.actor.shape.rot.y);
|
||||
cosY = Math_Coss(this->dyna.actor.shape.rot.y);
|
||||
|
||||
burstDepthX.z = 0.0f;
|
||||
burstDepthX.x = 0.0f;
|
||||
|
||||
for (i = 0; i < 20; i++) {
|
||||
s16 gravityInfluence;
|
||||
s16 scale;
|
||||
f32 temp1;
|
||||
f32 temp2;
|
||||
s32 rotationSpeed;
|
||||
|
||||
temp1 = (Math_Rand_ZeroOne() - 0.5f) * 140.0f;
|
||||
temp2 = (Math_Rand_ZeroOne() - 0.5f) * 20.0f;
|
||||
|
||||
burstDepthY.x = this->dyna.actor.posRot.pos.x + temp2 * sinY + (temp1 * cosY);
|
||||
burstDepthY.y = this->dyna.actor.posRot.pos.y + 30.0f + (i * 6.5f);
|
||||
burstDepthY.z = this->dyna.actor.posRot.pos.z + temp2 * cosY - (temp1 * sinY);
|
||||
|
||||
burstDepthX.y = (Math_Rand_ZeroOne() - 0.2f) * 12.0f;
|
||||
scale = Math_Rand_ZeroOne() * 55.0f + 8.0f;
|
||||
|
||||
if (scale < 20) {
|
||||
gravityInfluence = -300;
|
||||
} else if (scale < 35) {
|
||||
gravityInfluence = -360;
|
||||
} else {
|
||||
gravityInfluence = -420;
|
||||
}
|
||||
|
||||
if (Math_Rand_ZeroOne() < 0.4f) {
|
||||
rotationSpeed = 65;
|
||||
} else {
|
||||
rotationSpeed = 33;
|
||||
}
|
||||
func_80029E8C(globalCtx, &burstDepthY, &burstDepthX, &burstDepthY, gravityInfluence, rotationSpeed, 0x1E, 4, 0,
|
||||
scale, 1, 3, 80, -1, OBJECT_GAMEPLAY_FIELD_KEEP, D_0500A880);
|
||||
}
|
||||
Math_Vec3f_Copy(&burstDepthY, &this->dyna.actor.posRot.pos);
|
||||
func_80033480(globalCtx, &burstDepthY, 60.0f, 4, 110, 160, 1);
|
||||
burstDepthY.y += 40.0f;
|
||||
func_80033480(globalCtx, &burstDepthY, 60.0f, 4, 120, 160, 1);
|
||||
burstDepthY.y += 40.0f;
|
||||
func_80033480(globalCtx, &burstDepthY, 60.0f, 4, 110, 160, 1);
|
||||
}
|
||||
|
||||
void BgSpot17Bakudankabe_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot17Bakudankabe* this = THIS;
|
||||
s32 pad;
|
||||
s32 sp24 = 0;
|
||||
|
||||
DynaPolyInfo_SetActorMove(&this->dyna.actor, 0);
|
||||
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params & 0x3F))) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
DynaPolyInfo_Alloc(&D_06000A38, &sp24);
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, sp24);
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
}
|
||||
|
||||
void BgSpot17Bakudankabe_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot17Bakudankabe* this = THIS;
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
void BgSpot17Bakudankabe_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot17Bakudankabe* this = THIS;
|
||||
if (this->dyna.actor.xzDistFromLink < 650.0f && func_80033684(globalCtx, &this->dyna.actor) != NULL) {
|
||||
func_808B6BC0(this, globalCtx);
|
||||
Flags_SetSwitch(globalCtx, (this->dyna.actor.params & 0x3F));
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.posRot.pos, 40, NA_SE_EV_WALL_BROKEN);
|
||||
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
}
|
||||
|
||||
void BgSpot17Bakudankabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s8 r;
|
||||
s8 g;
|
||||
{
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
r = coss(globalCtx->gameplayFrames * 1500) >> 8;
|
||||
g = coss(globalCtx->gameplayFrames * 1500) >> 8;
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 269);
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 273),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
r = (r >> 1) + 0xC0;
|
||||
g = (g >> 1) + 0xC0;
|
||||
|
||||
gDPSetEnvColor(gfxCtx->polyOpa.p++, r, g, 255, 128);
|
||||
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, D_060008A0);
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 283);
|
||||
}
|
||||
|
||||
{
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 286);
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 290),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000960);
|
||||
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 295);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,8 +7,7 @@
|
|||
struct BgSpot17Bakudankabe;
|
||||
|
||||
typedef struct BgSpot17Bakudankabe {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x18];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
} BgSpot17Bakudankabe; // size = 0x0164
|
||||
|
||||
extern const ActorInit Bg_Spot17_Bakudankabe_InitVars;
|
||||
|
|
|
@ -302,6 +302,12 @@ D_060143A8 = 0x060143A8;
|
|||
// z_bg_spot17_funen
|
||||
D_06000B40 = 0x06000B40;
|
||||
|
||||
// z_bg_spot17_bakudankabe
|
||||
D_06000A38 = 0x06000A38;
|
||||
D_060008A0 = 0x060008A0;
|
||||
D_06000960 = 0x06000960;
|
||||
D_0500A880 = 0x0500A880;
|
||||
|
||||
// z_bg_spot00_break
|
||||
D_06000908 = 0x06000908;
|
||||
D_06000AF0 = 0x06000AF0;
|
||||
|
|
Loading…
Add table
Reference in a new issue