1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-29 16:26:18 +00:00

Decompiled ovl_Bg_Gate_Shutter

This commit is contained in:
Ethan Roseman 2020-03-22 17:56:08 -04:00
parent b372169893
commit 80bced5204
15 changed files with 134 additions and 394 deletions

View file

@ -1,16 +0,0 @@
glabel BgGateShutter_Destroy
/* 000FC 8087825C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00100 80878260 AFA40018 */ sw $a0, 0x0018($sp)
/* 00104 80878264 8FAE0018 */ lw $t6, 0x0018($sp)
/* 00108 80878268 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0010C 8087826C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00110 80878270 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 00114 80878274 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 00118 80878278 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 0011C 8087827C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00120 80878280 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00124 80878284 03E00008 */ jr $ra
/* 00128 80878288 00000000 */ nop

View file

@ -1,54 +0,0 @@
glabel BgGateShutter_Draw
/* 00360 808784C0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00364 808784C4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00368 808784C8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0036C 808784CC AFA40040 */ sw $a0, 0x0040($sp)
/* 00370 808784D0 AFA50044 */ sw $a1, 0x0044($sp)
/* 00374 808784D4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00378 808784D8 3C068088 */ lui $a2, %hi(D_808785E0) ## $a2 = 80880000
/* 0037C 808784DC 24C685E0 */ addiu $a2, $a2, %lo(D_808785E0) ## $a2 = 808785E0
/* 00380 808784E0 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC
/* 00384 808784E4 24070143 */ addiu $a3, $zero, 0x0143 ## $a3 = 00000143
/* 00388 808784E8 0C031AB1 */ jal func_800C6AC4
/* 0038C 808784EC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00390 808784F0 8FAF0044 */ lw $t7, 0x0044($sp)
/* 00394 808784F4 0C024F46 */ jal func_80093D18
/* 00398 808784F8 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 0039C 808784FC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 003A0 80878500 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 003A4 80878504 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 003A8 80878508 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 003AC 8087850C AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 003B0 80878510 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 003B4 80878514 8FA80044 */ lw $t0, 0x0044($sp)
/* 003B8 80878518 3C058088 */ lui $a1, %hi(D_808785F8) ## $a1 = 80880000
/* 003BC 8087851C 24A585F8 */ addiu $a1, $a1, %lo(D_808785F8) ## $a1 = 808785F8
/* 003C0 80878520 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 003C4 80878524 24060148 */ addiu $a2, $zero, 0x0148 ## $a2 = 00000148
/* 003C8 80878528 0C0346A2 */ jal Matrix_NewMtx
/* 003CC 8087852C AFA20028 */ sw $v0, 0x0028($sp)
/* 003D0 80878530 8FA30028 */ lw $v1, 0x0028($sp)
/* 003D4 80878534 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000
/* 003D8 80878538 256B1CD0 */ addiu $t3, $t3, 0x1CD0 ## $t3 = 06001CD0
/* 003DC 8087853C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 003E0 80878540 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 003E4 80878544 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
/* 003E8 80878548 3C068088 */ lui $a2, %hi(D_80878610) ## $a2 = 80880000
/* 003EC 8087854C 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 003F0 80878550 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
/* 003F4 80878554 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
/* 003F8 80878558 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 003FC 8087855C 8FAC0044 */ lw $t4, 0x0044($sp)
/* 00400 80878560 24C68610 */ addiu $a2, $a2, %lo(D_80878610) ## $a2 = 80878610
/* 00404 80878564 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC
/* 00408 80878568 2407014D */ addiu $a3, $zero, 0x014D ## $a3 = 0000014D
/* 0040C 8087856C 0C031AD5 */ jal func_800C6B54
/* 00410 80878570 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
/* 00414 80878574 8FBF001C */ lw $ra, 0x001C($sp)
/* 00418 80878578 8FB00018 */ lw $s0, 0x0018($sp)
/* 0041C 8087857C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 00420 80878580 03E00008 */ jr $ra
/* 00424 80878584 00000000 */ nop
/* 00428 80878588 00000000 */ nop
/* 0042C 8087858C 00000000 */ nop

View file

@ -1,74 +0,0 @@
glabel BgGateShutter_Init
/* 00000 80878160 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00004 80878164 AFBF001C */ sw $ra, 0x001C($sp)
/* 00008 80878168 AFB00018 */ sw $s0, 0x0018($sp)
/* 0000C 8087816C AFA50034 */ sw $a1, 0x0034($sp)
/* 00010 80878170 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00014 80878174 AFA00020 */ sw $zero, 0x0020($sp)
/* 00018 80878178 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 0001C 8087817C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00020 80878180 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00024 80878184 24841DA8 */ addiu $a0, $a0, 0x1DA8 ## $a0 = 06001DA8
/* 00028 80878188 0C010620 */ jal DynaPolyInfo_Alloc
/* 0002C 8087818C 27A50020 */ addiu $a1, $sp, 0x0020 ## $a1 = FFFFFFF0
/* 00030 80878190 8FA40034 */ lw $a0, 0x0034($sp)
/* 00034 80878194 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00038 80878198 8FA70020 */ lw $a3, 0x0020($sp)
/* 0003C 8087819C 0C00FA9D */ jal DynaPolyInfo_RegisterActor
## DynaPolyInfo_setActor
/* 00040 808781A0 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00044 808781A4 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 00048 808781A8 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 0004C 808781AC C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00050 808781B0 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00054 808781B4 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 00058 808781B8 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 0005C 808781BC E604016C */ swc1 $f4, 0x016C($s0) ## 0000016C
/* 00060 808781C0 E6060170 */ swc1 $f6, 0x0170($s0) ## 00000170
/* 00064 808781C4 E6080174 */ swc1 $f8, 0x0174($s0) ## 00000174
/* 00068 808781C8 946E0F06 */ lhu $t6, 0x0F06($v1) ## 8015F566
/* 0006C 808781CC 8FA80034 */ lw $t0, 0x0034($sp)
/* 00070 808781D0 31CF0040 */ andi $t7, $t6, 0x0040 ## $t7 = 00000000
/* 00074 808781D4 55E00006 */ bnel $t7, $zero, .L808781F0
/* 00078 808781D8 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
/* 0007C 808781DC 94780EDC */ lhu $t8, 0x0EDC($v1) ## 8015F53C
/* 00080 808781E0 33190020 */ andi $t9, $t8, 0x0020 ## $t9 = 00000000
/* 00084 808781E4 5320000B */ beql $t9, $zero, .L80878214
/* 00088 808781E8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0008C 808781EC 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
.L808781F0:
/* 00090 808781F0 24010052 */ addiu $at, $zero, 0x0052 ## $at = 00000052
/* 00094 808781F4 15210006 */ bne $t1, $at, .L80878210
/* 00098 808781F8 3C01C2B2 */ lui $at, 0xC2B2 ## $at = C2B20000
/* 0009C 808781FC 44815000 */ mtc1 $at, $f10 ## $f10 = -89.00
/* 000A0 80878200 3C018088 */ lui $at, %hi(D_80878628) ## $at = 80880000
/* 000A4 80878204 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
/* 000A8 80878208 C4308628 */ lwc1 $f16, %lo(D_80878628)($at)
/* 000AC 8087820C E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
.L80878210:
/* 000B0 80878210 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L80878214:
/* 000B4 80878214 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 000B8 80878218 3C048088 */ lui $a0, %hi(D_808785B0) ## $a0 = 80880000
/* 000BC 8087821C 248485B0 */ addiu $a0, $a0, %lo(D_808785B0) ## $a0 = 808785B0
/* 000C0 80878220 E6000050 */ swc1 $f0, 0x0050($s0) ## 00000050
/* 000C4 80878224 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
/* 000C8 80878228 0C00084C */ jal osSyncPrintf
/* 000CC 8087822C E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
/* 000D0 80878230 3C048088 */ lui $a0, %hi(D_808785B4) ## $a0 = 80880000
/* 000D4 80878234 0C00084C */ jal osSyncPrintf
/* 000D8 80878238 248485B4 */ addiu $a0, $a0, %lo(D_808785B4) ## $a0 = 808785B4
/* 000DC 8087823C 3C0A8088 */ lui $t2, %hi(func_8087828C) ## $t2 = 80880000
/* 000E0 80878240 254A828C */ addiu $t2, $t2, %lo(func_8087828C) ## $t2 = 8087828C
/* 000E4 80878244 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
/* 000E8 80878248 8FBF001C */ lw $ra, 0x001C($sp)
/* 000EC 8087824C 8FB00018 */ lw $s0, 0x0018($sp)
/* 000F0 80878250 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 000F4 80878254 03E00008 */ jr $ra
/* 000F8 80878258 00000000 */ nop

View file

@ -1,17 +0,0 @@
glabel BgGateShutter_Update
/* 0032C 8087848C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00330 80878490 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00334 80878494 84820178 */ lh $v0, 0x0178($a0) ## 00000178
/* 00338 80878498 10400002 */ beq $v0, $zero, .L808784A4
/* 0033C 8087849C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00340 808784A0 A48E0178 */ sh $t6, 0x0178($a0) ## 00000178
.L808784A4:
/* 00344 808784A4 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 00348 808784A8 0320F809 */ jalr $ra, $t9
/* 0034C 808784AC 00000000 */ nop
/* 00350 808784B0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00354 808784B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00358 808784B8 03E00008 */ jr $ra
/* 0035C 808784BC 00000000 */ nop

View file

@ -1,35 +0,0 @@
glabel func_8087828C
/* 0012C 8087828C AFA50004 */ sw $a1, 0x0004($sp)
/* 00130 80878290 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 00134 80878294 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00138 80878298 3C0E8016 */ lui $t6, 0x8016 ## $t6 = 80160000
/* 0013C 8087829C 1441000B */ bne $v0, $at, .L808782CC
/* 00140 808782A0 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
/* 00144 808782A4 95CEF566 */ lhu $t6, -0x0A9A($t6) ## 8015F566
/* 00148 808782A8 3C188088 */ lui $t8, %hi(func_80878300) ## $t8 = 80880000
/* 0014C 808782AC 27188300 */ addiu $t8, $t8, %lo(func_80878300) ## $t8 = 80878300
/* 00150 808782B0 31CF0040 */ andi $t7, $t6, 0x0040 ## $t7 = 00000000
/* 00154 808782B4 15E00005 */ bne $t7, $zero, .L808782CC
/* 00158 808782B8 00000000 */ nop
/* 0015C 808782BC 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
/* 00160 808782C0 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
/* 00164 808782C4 03E00008 */ jr $ra
/* 00168 808782C8 AC980164 */ sw $t8, 0x0164($a0) ## 00000164
.L808782CC:
/* 0016C 808782CC 14620005 */ bne $v1, $v0, .L808782E4
/* 00170 808782D0 3C198088 */ lui $t9, %hi(func_80878300) ## $t9 = 80880000
/* 00174 808782D4 27398300 */ addiu $t9, $t9, %lo(func_80878300) ## $t9 = 80878300
/* 00178 808782D8 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
/* 0017C 808782DC 03E00008 */ jr $ra
/* 00180 808782E0 AC990164 */ sw $t9, 0x0164($a0) ## 00000164
.L808782E4:
/* 00184 808782E4 04410004 */ bgez $v0, .L808782F8
/* 00188 808782E8 3C088088 */ lui $t0, %hi(func_808783D4) ## $t0 = 80880000
/* 0018C 808782EC 250883D4 */ addiu $t0, $t0, %lo(func_808783D4) ## $t0 = 808783D4
/* 00190 808782F0 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
/* 00194 808782F4 AC880164 */ sw $t0, 0x0164($a0) ## 00000164
.L808782F8:
/* 00198 808782F8 03E00008 */ jr $ra
/* 0019C 808782FC 00000000 */ nop

View file

@ -1,50 +0,0 @@
glabel func_80878300
/* 001A0 80878300 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 001A4 80878304 AFBF001C */ sw $ra, 0x001C($sp)
/* 001A8 80878308 AFB00018 */ sw $s0, 0x0018($sp)
/* 001AC 8087830C AFA50024 */ sw $a1, 0x0024($sp)
/* 001B0 80878310 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
/* 001B4 80878314 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 001B8 80878318 55C00020 */ bnel $t6, $zero, .L8087839C
/* 001BC 8087831C 8FBF001C */ lw $ra, 0x001C($sp)
/* 001C0 80878320 0C00BE0A */ jal Audio_PlayActorSound2
/* 001C4 80878324 24052067 */ addiu $a1, $zero, 0x2067 ## $a1 = 00002067
/* 001C8 80878328 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 001CC 8087832C 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
/* 001D0 80878330 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 001D4 80878334 3C05C4AB */ lui $a1, 0xC4AB ## $a1 = C4AB0000
/* 001D8 80878338 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 001DC 8087833C 46062201 */ sub.s $f8, $f4, $f6
/* 001E0 80878340 3C073E99 */ lui $a3, 0x3E99 ## $a3 = 3E990000
/* 001E4 80878344 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E99999A
/* 001E8 80878348 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 001EC 8087834C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
/* 001F0 80878350 34A5E000 */ ori $a1, $a1, 0xE000 ## $a1 = C4ABE000
/* 001F4 80878354 0C01E107 */ jal Math_SmoothScaleMaxF
/* 001F8 80878358 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 001FC 8087835C 3C01C2B2 */ lui $at, 0xC2B2 ## $at = C2B20000
/* 00200 80878360 44818000 */ mtc1 $at, $f16 ## $f16 = -89.00
/* 00204 80878364 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 00208 80878368 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0020C 8087836C 4610503C */ c.lt.s $f10, $f16
/* 00210 80878370 00000000 */ nop
/* 00214 80878374 45020009 */ bc1fl .L8087839C
/* 00218 80878378 8FBF001C */ lw $ra, 0x001C($sp)
/* 0021C 8087837C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00220 80878380 2405280E */ addiu $a1, $zero, 0x280E ## $a1 = 0000280E
/* 00224 80878384 3C188088 */ lui $t8, %hi(func_808783AC) ## $t8 = 80880000
/* 00228 80878388 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
/* 0022C 8087838C 271883AC */ addiu $t8, $t8, %lo(func_808783AC) ## $t8 = 808783AC
/* 00230 80878390 A60F0178 */ sh $t7, 0x0178($s0) ## 00000178
/* 00234 80878394 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
/* 00238 80878398 8FBF001C */ lw $ra, 0x001C($sp)
.L8087839C:
/* 0023C 8087839C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00240 808783A0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00244 808783A4 03E00008 */ jr $ra
/* 00248 808783A8 00000000 */ nop

View file

@ -1,14 +0,0 @@
glabel func_808783AC
/* 0024C 808783AC AFA50004 */ sw $a1, 0x0004($sp)
/* 00250 808783B0 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
/* 00254 808783B4 3C0F8088 */ lui $t7, %hi(func_8087828C) ## $t7 = 80880000
/* 00258 808783B8 25EF828C */ addiu $t7, $t7, %lo(func_8087828C) ## $t7 = 8087828C
/* 0025C 808783BC 15C00003 */ bne $t6, $zero, .L808783CC
/* 00260 808783C0 00000000 */ nop
/* 00264 808783C4 A4800168 */ sh $zero, 0x0168($a0) ## 00000168
/* 00268 808783C8 AC8F0164 */ sw $t7, 0x0164($a0) ## 00000164
.L808783CC:
/* 0026C 808783CC 03E00008 */ jr $ra
/* 00270 808783D0 00000000 */ nop

View file

@ -1,53 +0,0 @@
glabel func_808783D4
/* 00274 808783D4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00278 808783D8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0027C 808783DC AFB00018 */ sw $s0, 0x0018($sp)
/* 00280 808783E0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00284 808783E4 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
/* 00288 808783E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0028C 808783EC 55C00023 */ bnel $t6, $zero, .L8087847C
/* 00290 808783F0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00294 808783F4 0C00BE0A */ jal Audio_PlayActorSound2
/* 00298 808783F8 24052067 */ addiu $a1, $zero, 0x2067 ## $a1 = 00002067
/* 0029C 808783FC 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 002A0 80878400 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
/* 002A4 80878404 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 002A8 80878408 3C05C4A8 */ lui $a1, 0xC4A8 ## $a1 = C4A80000
/* 002AC 8087840C 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 002B0 80878410 46062200 */ add.s $f8, $f4, $f6
/* 002B4 80878414 3C073E99 */ lui $a3, 0x3E99 ## $a3 = 3E990000
/* 002B8 80878418 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E99999A
/* 002BC 8087841C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 002C0 80878420 E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
/* 002C4 80878424 34A5C000 */ ori $a1, $a1, 0xC000 ## $a1 = C4A8C000
/* 002C8 80878428 0C01E107 */ jal Math_SmoothScaleMaxF
/* 002CC 8087842C 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 002D0 80878430 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
/* 002D4 80878434 44815000 */ mtc1 $at, $f10 ## $f10 = 90.00
/* 002D8 80878438 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 002DC 8087843C 3C0142B6 */ lui $at, 0x42B6 ## $at = 42B60000
/* 002E0 80878440 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002E4 80878444 4610503C */ c.lt.s $f10, $f16
/* 002E8 80878448 00000000 */ nop
/* 002EC 8087844C 4502000B */ bc1fl .L8087847C
/* 002F0 80878450 8FBF001C */ lw $ra, 0x001C($sp)
/* 002F4 80878454 44819000 */ mtc1 $at, $f18 ## $f18 = 91.00
/* 002F8 80878458 2405280E */ addiu $a1, $zero, 0x280E ## $a1 = 0000280E
/* 002FC 8087845C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00300 80878460 E6120024 */ swc1 $f18, 0x0024($s0) ## 00000024
/* 00304 80878464 3C188088 */ lui $t8, %hi(func_808783AC) ## $t8 = 80880000
/* 00308 80878468 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
/* 0030C 8087846C 271883AC */ addiu $t8, $t8, %lo(func_808783AC) ## $t8 = 808783AC
/* 00310 80878470 A60F0178 */ sh $t7, 0x0178($s0) ## 00000178
/* 00314 80878474 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
/* 00318 80878478 8FBF001C */ lw $ra, 0x001C($sp)
.L8087847C:
/* 0031C 8087847C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00320 80878480 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00324 80878484 03E00008 */ jr $ra
/* 00328 80878488 00000000 */ nop

View file

@ -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 purposee registers
.section .data
glabel Bg_Gate_Shutter_InitVars
.word 0x01000700, 0x00000000, 0x01810000, 0x0000017C
.word BgGateShutter_Init
.word BgGateShutter_Destroy
.word BgGateShutter_Update
.word BgGateShutter_Draw

View file

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

View file

@ -1,35 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_808785B0
.word 0x0A0A0000
glabel D_808785B4
.asciz " \n"
.balign 4
glabel D_808785E0
.asciz "../z_bg_gate_shutter.c"
.balign 4
glabel D_808785F8
.asciz "../z_bg_gate_shutter.c"
.balign 4
glabel D_80878610
.asciz "../z_bg_gate_shutter.c"
.balign 4
glabel D_80878628
.word 0xC4ABE000, 0x00000000

4
spec
View file

@ -788,9 +788,7 @@ endseg
beginseg
name "ovl_Bg_Gate_Shutter"
include "build/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.o"
include "build/data/overlays/actors/z_bg_gate_shutter.data.o"
include "build/data/overlays/actors/z_bg_gate_shutter.rodata.o"
include "build/data/overlays/actors/z_bg_gate_shutter.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter_reloc.o"
endseg
beginseg

View file

@ -1,14 +1,26 @@
/*
* File: z_bg_gate_shutter.c
* Overlay: Bg_Gate_Shutter
* Description:
*/
#include "z_bg_gate_shutter.h"
#include <vt.h>
#define ROOM 0x00
#define FLAGS 0x00000000
void BgGateShutter_Init(BgGateShutter* this, GlobalContext* globalCtx);
void BgGateShutter_Destroy(BgGateShutter* this, GlobalContext* globalCtx);
void BgGateShutter_Update(BgGateShutter* this, GlobalContext* globalCtx);
void BgGateShutter_Draw(BgGateShutter* this, GlobalContext* globalCtx);
static void BgGateShutter_Init(BgGateShutter* this, GlobalContext* globalCtx);
static void BgGateShutter_Destroy(BgGateShutter* this, GlobalContext* globalCtx);
static void BgGateShutter_Update(BgGateShutter* this, GlobalContext* globalCtx);
static void BgGateShutter_Draw(BgGateShutter* this, GlobalContext* globalCtx);
static void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx);
static void func_80878300(BgGateShutter* this, GlobalContext* globalCtx);
static void func_808783AC(BgGateShutter* this, GlobalContext* globalCtx);
static void func_808783D4(BgGateShutter* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Gate_Shutter_InitVars =
{
ACTOR_BG_GATE_SHUTTER,
@ -22,19 +34,113 @@ const ActorInit Bg_Gate_Shutter_InitVars =
(ActorFunc)BgGateShutter_Update,
(ActorFunc)BgGateShutter_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gate_Shutter/BgGateShutter_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gate_Shutter/BgGateShutter_Destroy.s")
extern UNK_PTR D_06001CD0;
extern UNK_PTR D_06001DA8;
static void BgGateShutter_Init(BgGateShutter* this, GlobalContext* globalCtx) {
s32 pad[2];
Actor* thisx = &this->dyna.actor;
s32 local_c = 0;
DynaPolyInfo_SetActorMove(thisx, 0);
DynaPolyInfo_Alloc(&D_06001DA8, &local_c);
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, local_c);
this->somePosX = thisx->posRot.pos.x;
this->somePosY = thisx->posRot.pos.y;
this->somePosZ = thisx->posRot.pos.z;
if ((gSaveContext.inf_table[7] & 0x40) || (gSaveContext.event_chk_inf[4] & 0x20)) {
if (globalCtx->sceneNum == SCENE_SPOT01) {
thisx->posRot.pos.x = -89.0f;
thisx->posRot.pos.z = -1375.0f;
}
}
thisx->scale.x = 1.0f;
thisx->scale.y = 1.0f;
thisx->scale.z = 1.0f;
osSyncPrintf("\n\n");
osSyncPrintf(VT_FGCOL(GREEN) " ☆☆☆☆☆ 柵でたなぁ ☆☆☆☆☆ \n" VT_RST);
this->actionFunc = (ActorFunc)func_8087828C;
}
static void BgGateShutter_Destroy(BgGateShutter* this, GlobalContext* globalCtx) {
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
}
static void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx) {
if (this->unk_168 == 1) {
if (!(gSaveContext.inf_table[7] & 0x40)) {
this->unk_178 = 2;
this->actionFunc = (ActorFunc)func_80878300;
return;
}
}
if (this->unk_168 == 2) {
this->unk_178 = 2;
this->actionFunc = (ActorFunc)func_80878300;
return;
}
if (this->unk_168 < 0) {
this->unk_178 = 2;
this->actionFunc = (ActorFunc)func_808783D4;
}
}
static void func_80878300(BgGateShutter* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
if (this->unk_178 == 0) {
Audio_PlayActorSound2(thisx, 0x2067);
thisx->posRot.pos.x -= 2.0f;
Math_SmoothScaleMaxF(&thisx->posRot.pos.z, -1375.0f, 0.8f, 0.3f);
if (thisx->posRot.pos.x < -89.0f) {
Audio_PlayActorSound2(thisx, NA_SE_EV_BRIDGE_OPEN_STOP);
this->unk_178 = 0x1E;
this->actionFunc = (ActorFunc)func_808783AC;
}
}
}
static void func_808783AC(BgGateShutter* this, GlobalContext* globalCtx) {
if (this->unk_178 == 0) {
this->unk_168 = 0;
this->actionFunc = (ActorFunc)func_8087828C;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gate_Shutter/func_8087828C.s")
static void func_808783D4(BgGateShutter* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gate_Shutter/func_80878300.s")
if (this->unk_178 == 0) {
Audio_PlayActorSound2(thisx, 0x2067);
thisx->posRot.pos.x += 2.0f;
Math_SmoothScaleMaxF(&thisx->posRot.pos.z, -1350.0f, 0.8f, 0.3f);
if (thisx->posRot.pos.x > 90.0f) {
thisx->posRot.pos.x = 91.0f;
Audio_PlayActorSound2(thisx, NA_SE_EV_BRIDGE_OPEN_STOP);
this->unk_178 = 30;
this->actionFunc = (ActorFunc)func_808783AC;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gate_Shutter/func_808783AC.s")
static void BgGateShutter_Update(BgGateShutter* this, GlobalContext* globalCtx) {
if (this->unk_178 != 0) {
this->unk_178 -= 1;
}
this->actionFunc(this, globalCtx);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gate_Shutter/func_808783D4.s")
static void BgGateShutter_Draw(BgGateShutter* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* gfxArr[4];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gate_Shutter/BgGateShutter_Update.s")
func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 323);
func_80093D18(globalCtx->state.gfxCtx);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gate_Shutter/BgGateShutter_Draw.s")
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 328),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06001CD0);
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 333);
}

View file

@ -6,8 +6,15 @@
typedef struct
{
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x30];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ ActorFunc actionFunc;
/* 0x0168 */ s16 unk_168;
/* 0x016A */ char unk_16A[0x2];
/* 0x016C */ f32 somePosX;
/* 0x0170 */ f32 somePosY;
/* 0x0174 */ f32 somePosZ;
/* 0x0178 */ s16 unk_178;
/* 0x017A */ char unk_17A[0x2];
} BgGateShutter; // size = 0x017C
extern const ActorInit Bg_Gate_Shutter_InitVars;

View file

@ -239,6 +239,10 @@ D_06000B70 = 0x06000B70;
// z_effect_ss_extra
D_06000DC0 = 0x06000DC0;
// z_bg_gate_shutter
D_06001CD0 = 0x06001CD0;
D_06001DA8 = 0x06001DA8;
// z_bg_gjyo_bridge
D_06000600 = 0x06000600;
D_06000DB8 = 0x06000DB8;