1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-25 09:45:02 +00:00

Bg_Gjyo_Bridge OK

This commit is contained in:
zelda2773 2020-03-26 01:22:08 -04:00
parent ada905a754
commit c52cb091ab
12 changed files with 100 additions and 380 deletions

View file

@ -1,16 +0,0 @@
glabel BgGjyoBridge_Destroy
/* 000B4 80878774 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 000B8 80878778 AFA40018 */ sw $a0, 0x0018($sp)
/* 000BC 8087877C 8FAE0018 */ lw $t6, 0x0018($sp)
/* 000C0 80878780 AFBF0014 */ sw $ra, 0x0014($sp)
/* 000C4 80878784 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 000C8 80878788 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 000CC 8087878C 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 000D0 80878790 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 000D4 80878794 8FBF0014 */ lw $ra, 0x0014($sp)
/* 000D8 80878798 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 000DC 8087879C 03E00008 */ jr $ra
/* 000E0 808787A0 00000000 */ nop

View file

@ -1,103 +0,0 @@
glabel BgGjyoBridge_Draw
/* 002DC 8087899C 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
/* 002E0 808789A0 AFB10038 */ sw $s1, 0x0038($sp)
/* 002E4 808789A4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 002E8 808789A8 AFBF003C */ sw $ra, 0x003C($sp)
/* 002EC 808789AC AFB00034 */ sw $s0, 0x0034($sp)
/* 002F0 808789B0 AFA40070 */ sw $a0, 0x0070($sp)
/* 002F4 808789B4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 002F8 808789B8 3C068088 */ lui $a2, %hi(D_80878B60) ## $a2 = 80880000
/* 002FC 808789BC 24C68B60 */ addiu $a2, $a2, %lo(D_80878B60) ## $a2 = 80878B60
/* 00300 808789C0 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8
/* 00304 808789C4 24070104 */ addiu $a3, $zero, 0x0104 ## $a3 = 00000104
/* 00308 808789C8 0C031AB1 */ jal func_800C6AC4
/* 0030C 808789CC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00310 808789D0 0C024F61 */ jal func_80093D84
/* 00314 808789D4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 00318 808789D8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0031C 808789DC 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 00320 808789E0 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
/* 00324 808789E4 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 00328 808789E8 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
/* 0032C 808789EC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00330 808789F0 02214821 */ addu $t1, $s1, $at
/* 00334 808789F4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 00338 808789F8 8D231DE4 */ lw $v1, 0x1DE4($t1) ## 00001DE4
/* 0033C 808789FC 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 00340 80878A00 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
/* 00344 80878A04 00030823 */ subu $at, $zero, $v1
/* 00348 80878A08 00013080 */ sll $a2, $at, 2
/* 0034C 80878A0C 00C13023 */ subu $a2, $a2, $at
/* 00350 80878A10 30C6007F */ andi $a2, $a2, 0x007F ## $a2 = 00000000
/* 00354 80878A14 AFB80010 */ sw $t8, 0x0010($sp)
/* 00358 80878A18 AFA90044 */ sw $t1, 0x0044($sp)
/* 0035C 80878A1C 24070020 */ addiu $a3, $zero, 0x0020 ## $a3 = 00000020
/* 00360 80878A20 AFA20054 */ sw $v0, 0x0054($sp)
/* 00364 80878A24 0C0253A7 */ jal Draw_TexScroll
/* 00368 80878A28 3065007F */ andi $a1, $v1, 0x007F ## $a1 = 00000000
/* 0036C 80878A2C 8FA80054 */ lw $t0, 0x0054($sp)
/* 00370 80878A30 8FA90044 */ lw $t1, 0x0044($sp)
/* 00374 80878A34 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
/* 00378 80878A38 AD020004 */ sw $v0, 0x0004($t0) ## 00000004
/* 0037C 80878A3C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00380 80878A40 354A0024 */ ori $t2, $t2, 0x0024 ## $t2 = DB060024
/* 00384 80878A44 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
/* 00388 80878A48 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 0038C 80878A4C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 00390 80878A50 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 00394 80878A54 8D231DE4 */ lw $v1, 0x1DE4($t1) ## 00001DE4
/* 00398 80878A58 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 0039C 80878A5C 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020
/* 003A0 80878A60 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 003A4 80878A64 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020
/* 003A8 80878A68 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
/* 003AC 80878A6C 00033823 */ subu $a3, $zero, $v1
/* 003B0 80878A70 306E007F */ andi $t6, $v1, 0x007F ## $t6 = 00000000
/* 003B4 80878A74 AFAE0020 */ sw $t6, 0x0020($sp)
/* 003B8 80878A78 30E7007F */ andi $a3, $a3, 0x007F ## $a3 = 00000000
/* 003BC 80878A7C AFB80028 */ sw $t8, 0x0028($sp)
/* 003C0 80878A80 AFAF0024 */ sw $t7, 0x0024($sp)
/* 003C4 80878A84 AFAD0018 */ sw $t5, 0x0018($sp)
/* 003C8 80878A88 AFAC0014 */ sw $t4, 0x0014($sp)
/* 003CC 80878A8C AFA0001C */ sw $zero, 0x001C($sp)
/* 003D0 80878A90 AFAB0010 */ sw $t3, 0x0010($sp)
/* 003D4 80878A94 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 003D8 80878A98 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 003DC 80878A9C 0C0253D0 */ jal Draw_TwoTexScroll
/* 003E0 80878AA0 AFA20050 */ sw $v0, 0x0050($sp)
/* 003E4 80878AA4 8FA80050 */ lw $t0, 0x0050($sp)
/* 003E8 80878AA8 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 003EC 80878AAC 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 003F0 80878AB0 AD020004 */ sw $v0, 0x0004($t0) ## 00000004
/* 003F4 80878AB4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 003F8 80878AB8 3C058088 */ lui $a1, %hi(D_80878B78) ## $a1 = 80880000
/* 003FC 80878ABC 24A58B78 */ addiu $a1, $a1, %lo(D_80878B78) ## $a1 = 80878B78
/* 00400 80878AC0 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00404 80878AC4 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 00408 80878AC8 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 0040C 80878ACC 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 00410 80878AD0 24060119 */ addiu $a2, $zero, 0x0119 ## $a2 = 00000119
/* 00414 80878AD4 0C0346A2 */ jal Matrix_NewMtx
/* 00418 80878AD8 AFA2004C */ sw $v0, 0x004C($sp)
/* 0041C 80878ADC 8FA3004C */ lw $v1, 0x004C($sp)
/* 00420 80878AE0 3C0D0600 */ lui $t5, 0x0600 ## $t5 = 06000000
/* 00424 80878AE4 25AD0600 */ addiu $t5, $t5, 0x0600 ## $t5 = 06000600
/* 00428 80878AE8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 0042C 80878AEC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00430 80878AF0 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
/* 00434 80878AF4 3C068088 */ lui $a2, %hi(D_80878B90) ## $a2 = 80880000
/* 00438 80878AF8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 0043C 80878AFC AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 00440 80878B00 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 00444 80878B04 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 00448 80878B08 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 0044C 80878B0C 24C68B90 */ addiu $a2, $a2, %lo(D_80878B90) ## $a2 = 80878B90
/* 00450 80878B10 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8
/* 00454 80878B14 0C031AD5 */ jal func_800C6B54
/* 00458 80878B18 2407011D */ addiu $a3, $zero, 0x011D ## $a3 = 0000011D
/* 0045C 80878B1C 8FBF003C */ lw $ra, 0x003C($sp)
/* 00460 80878B20 8FB00034 */ lw $s0, 0x0034($sp)
/* 00464 80878B24 8FB10038 */ lw $s1, 0x0038($sp)
/* 00468 80878B28 03E00008 */ jr $ra
/* 0046C 80878B2C 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000

View file

@ -1,54 +0,0 @@
glabel BgGjyoBridge_Init
/* 00000 808786C0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00004 808786C4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00008 808786C8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0000C 808786CC AFB00018 */ sw $s0, 0x0018($sp)
/* 00010 808786D0 3C058088 */ lui $a1, %hi(D_80878B50) ## $a1 = 80880000
/* 00014 808786D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00018 808786D8 AFA00024 */ sw $zero, 0x0024($sp)
/* 0001C 808786DC 0C01E037 */ jal Actor_ProcessInitChain
/* 00020 808786E0 24A58B50 */ addiu $a1, $a1, %lo(D_80878B50) ## $a1 = 80878B50
/* 00024 808786E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00028 808786E8 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 0002C 808786EC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00030 808786F0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00034 808786F4 24840DB8 */ addiu $a0, $a0, 0x0DB8 ## $a0 = 06000DB8
/* 00038 808786F8 0C010620 */ jal DynaPolyInfo_Alloc
/* 0003C 808786FC 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
/* 00040 80878700 8FA40034 */ lw $a0, 0x0034($sp)
/* 00044 80878704 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00048 80878708 8FA70024 */ lw $a3, 0x0024($sp)
/* 0004C 8087870C 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00050 80878710 0C00FA9D */ jal DynaPolyInfo_RegisterActor
## DynaPolyInfo_setActor
/* 00054 80878714 AFA50020 */ sw $a1, 0x0020($sp)
/* 00058 80878718 8FA50020 */ lw $a1, 0x0020($sp)
/* 0005C 8087871C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 00060 80878720 3C0E8016 */ lui $t6, 0x8016 ## $t6 = 80160000
/* 00064 80878724 95CEF53C */ lhu $t6, -0x0AC4($t6) ## 8015F53C
/* 00068 80878728 3C188088 */ lui $t8, %hi(func_808787A4) ## $t8 = 80880000
/* 0006C 8087872C 271887A4 */ addiu $t8, $t8, %lo(func_808787A4) ## $t8 = 808787A4
/* 00070 80878730 31CF2000 */ andi $t7, $t6, 0x2000 ## $t7 = 00000000
/* 00074 80878734 51E00004 */ beql $t7, $zero, .L80878748
/* 00078 80878738 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
/* 0007C 8087873C 10000008 */ beq $zero, $zero, .L80878760
/* 00080 80878740 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
/* 00084 80878744 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
.L80878748:
/* 00088 80878748 8FA40034 */ lw $a0, 0x0034($sp)
/* 0008C 8087874C 0C00FAFE */ jal func_8003EBF8
/* 00090 80878750 8E06014C */ lw $a2, 0x014C($s0) ## 0000014C
/* 00094 80878754 3C198088 */ lui $t9, %hi(func_808787B0) ## $t9 = 80880000
/* 00098 80878758 273987B0 */ addiu $t9, $t9, %lo(func_808787B0) ## $t9 = 808787B0
/* 0009C 8087875C AE190164 */ sw $t9, 0x0164($s0) ## 00000164
.L80878760:
/* 000A0 80878760 8FBF001C */ lw $ra, 0x001C($sp)
/* 000A4 80878764 8FB00018 */ lw $s0, 0x0018($sp)
/* 000A8 80878768 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 000AC 8087876C 03E00008 */ jr $ra
/* 000B0 80878770 00000000 */ nop

View file

@ -1,12 +0,0 @@
glabel BgGjyoBridge_Update
/* 002B8 80878978 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 002BC 8087897C AFBF0014 */ sw $ra, 0x0014($sp)
/* 002C0 80878980 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 002C4 80878984 0320F809 */ jalr $ra, $t9
/* 002C8 80878988 00000000 */ nop
/* 002CC 8087898C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 002D0 80878990 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 002D4 80878994 03E00008 */ jr $ra
/* 002D8 80878998 00000000 */ nop

View file

@ -1,6 +0,0 @@
glabel func_808787A4
/* 000E4 808787A4 AFA40000 */ sw $a0, 0x0000($sp)
/* 000E8 808787A8 03E00008 */ jr $ra
/* 000EC 808787AC AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,90 +0,0 @@
glabel func_808787B0
/* 000F0 808787B0 3C068012 */ lui $a2, 0x8012 ## $a2 = 80120000
/* 000F4 808787B4 3C078016 */ lui $a3, 0x8016 ## $a3 = 80160000
/* 000F8 808787B8 24E7E660 */ addiu $a3, $a3, 0xE660 ## $a3 = 8015E660
/* 000FC 808787BC 24C67120 */ addiu $a2, $a2, 0x7120 ## $a2 = 80127120
/* 00100 808787C0 8CCE000C */ lw $t6, 0x000C($a2) ## 8012712C
/* 00104 808787C4 8CE200A4 */ lw $v0, 0x00A4($a3) ## 8015E704
/* 00108 808787C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0010C 808787CC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00110 808787D0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00114 808787D4 01C27824 */ and $t7, $t6, $v0
/* 00118 808787D8 11E00046 */ beq $t7, $zero, .L808788F4
/* 0011C 808787DC 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
/* 00120 808787E0 8CD80010 */ lw $t8, 0x0010($a2) ## 80127130
/* 00124 808787E4 3C088012 */ lui $t0, 0x8012 ## $t0 = 80120000
/* 00128 808787E8 0302C824 */ and $t9, $t8, $v0
/* 0012C 808787EC 53200042 */ beql $t9, $zero, .L808788F8
/* 00130 808787F0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00134 808787F4 91087476 */ lbu $t0, 0x7476($t0) ## 80127476
/* 00138 808787F8 24010012 */ addiu $at, $zero, 0x0012 ## $at = 00000012
/* 0013C 808787FC 00E84821 */ addu $t1, $a3, $t0
/* 00140 80878800 912A0074 */ lbu $t2, 0x0074($t1) ## 00000074
/* 00144 80878804 1541003B */ bne $t2, $at, .L808788F4
/* 00148 80878808 3C01C28C */ lui $at, 0xC28C ## $at = C28C0000
/* 0014C 8087880C 44812000 */ mtc1 $at, $f4 ## $f4 = -70.00
/* 00150 80878810 C4600024 */ lwc1 $f0, 0x0024($v1) ## 00000024
/* 00154 80878814 3C014396 */ lui $at, 0x4396 ## $at = 43960000
/* 00158 80878818 4600203C */ c.lt.s $f4, $f0
/* 0015C 8087881C 00000000 */ nop
/* 00160 80878820 45020035 */ bc1fl .L808788F8
/* 00164 80878824 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00168 80878828 44813000 */ mtc1 $at, $f6 ## $f6 = 300.00
/* 0016C 8087882C 3C018088 */ lui $at, %hi(D_80878BA8) ## $at = 80880000
/* 00170 80878830 4606003C */ c.lt.s $f0, $f6
/* 00174 80878834 00000000 */ nop
/* 00178 80878838 4502002F */ bc1fl .L808788F8
/* 0017C 8087883C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00180 80878840 C4228BA8 */ lwc1 $f2, %lo(D_80878BA8)($at)
/* 00184 80878844 C4680028 */ lwc1 $f8, 0x0028($v1) ## 00000028
/* 00188 80878848 4608103C */ c.lt.s $f2, $f8
/* 0018C 8087884C 00000000 */ nop
/* 00190 80878850 45020029 */ bc1fl .L808788F8
/* 00194 80878854 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00198 80878858 C460002C */ lwc1 $f0, 0x002C($v1) ## 0000002C
/* 0019C 8087885C 3C018088 */ lui $at, %hi(D_80878BAC) ## $at = 80880000
/* 001A0 80878860 4600103C */ c.lt.s $f2, $f0
/* 001A4 80878864 00000000 */ nop
/* 001A8 80878868 45020023 */ bc1fl .L808788F8
/* 001AC 8087886C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001B0 80878870 C42A8BAC */ lwc1 $f10, %lo(D_80878BAC)($at)
/* 001B4 80878874 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 001B8 80878878 460A003C */ c.lt.s $f0, $f10
/* 001BC 8087887C 00000000 */ nop
/* 001C0 80878880 4502001D */ bc1fl .L808788F8
/* 001C4 80878884 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001C8 80878888 0C02FF21 */ jal func_800BFC84
/* 001CC 8087888C AFA5001C */ sw $a1, 0x001C($sp)
/* 001D0 80878890 3C078016 */ lui $a3, 0x8016 ## $a3 = 80160000
/* 001D4 80878894 24E7E660 */ addiu $a3, $a3, 0xE660 ## $a3 = 8015E660
/* 001D8 80878898 14400016 */ bne $v0, $zero, .L808788F4
/* 001DC 8087889C 8FA5001C */ lw $a1, 0x001C($sp)
/* 001E0 808788A0 3C020200 */ lui $v0, 0x0200 ## $v0 = 02000000
/* 001E4 808788A4 24422640 */ addiu $v0, $v0, 0x2640 ## $v0 = 02002640
/* 001E8 808788A8 00025900 */ sll $t3, $v0, 4
/* 001EC 808788AC 000B6702 */ srl $t4, $t3, 28
/* 001F0 808788B0 000C6880 */ sll $t5, $t4, 2
/* 001F4 808788B4 3C0E8016 */ lui $t6, 0x8016 ## $t6 = 80160000
/* 001F8 808788B8 01CD7021 */ addu $t6, $t6, $t5
/* 001FC 808788BC 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00200 808788C0 8DCE6FA8 */ lw $t6, 0x6FA8($t6) ## 80166FA8
/* 00204 808788C4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00208 808788C8 00417824 */ and $t7, $v0, $at
/* 0020C 808788CC 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00210 808788D0 01CFC021 */ addu $t8, $t6, $t7
/* 00214 808788D4 0301C821 */ addu $t9, $t8, $at
/* 00218 808788D8 ACB91D68 */ sw $t9, 0x1D68($a1) ## 00001D68
/* 0021C 808788DC 8FAA0018 */ lw $t2, 0x0018($sp)
/* 00220 808788E0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00224 808788E4 3C098088 */ lui $t1, %hi(func_80878904) ## $t1 = 80880000
/* 00228 808788E8 A0E81414 */ sb $t0, 0x1414($a3) ## 8015FA74
/* 0022C 808788EC 25298904 */ addiu $t1, $t1, %lo(func_80878904) ## $t1 = 80878904
/* 00230 808788F0 AD490164 */ sw $t1, 0x0164($t2) ## 00000164
.L808788F4:
/* 00234 808788F4 8FBF0014 */ lw $ra, 0x0014($sp)
.L808788F8:
/* 00238 808788F8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0023C 808788FC 03E00008 */ jr $ra
/* 00240 80878900 00000000 */ nop

View file

@ -1,34 +0,0 @@
glabel func_80878904
/* 00244 80878904 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00248 80878908 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0024C 8087890C AFA40018 */ sw $a0, 0x0018($sp)
/* 00250 80878910 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
/* 00254 80878914 51C00015 */ beql $t6, $zero, .L8087896C
/* 00258 80878918 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0025C 8087891C 8CA21D94 */ lw $v0, 0x1D94($a1) ## 00001D94
/* 00260 80878920 50400012 */ beql $v0, $zero, .L8087896C
/* 00264 80878924 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00268 80878928 944F0000 */ lhu $t7, 0x0000($v0) ## 00000000
/* 0026C 8087892C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00270 80878930 3C188088 */ lui $t8, %hi(BgGjyoBridge_Draw) ## $t8 = 80880000
/* 00274 80878934 15E1000C */ bne $t7, $at, .L80878968
/* 00278 80878938 2718899C */ addiu $t8, $t8, %lo(BgGjyoBridge_Draw) ## $t8 = 8087899C
/* 0027C 8087893C AC980134 */ sw $t8, 0x0134($a0) ## 00000134
/* 00280 80878940 8FA80018 */ lw $t0, 0x0018($sp)
/* 00284 80878944 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00288 80878948 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 0028C 8087894C 0C00FB14 */ jal func_8003EC50
/* 00290 80878950 8D06014C */ lw $a2, 0x014C($t0) ## 0000014C
/* 00294 80878954 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000
/* 00298 80878958 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015E660
/* 0029C 8087895C 94490EDC */ lhu $t1, 0x0EDC($v0) ## 8015F53C
/* 002A0 80878960 352A2000 */ ori $t2, $t1, 0x2000 ## $t2 = 00002000
/* 002A4 80878964 A44A0EDC */ sh $t2, 0x0EDC($v0) ## 8015F53C
.L80878968:
/* 002A8 80878968 8FBF0014 */ lw $ra, 0x0014($sp)
.L8087896C:
/* 002AC 8087896C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 002B0 80878970 03E00008 */ jr $ra
/* 002B4 80878974 00000000 */ nop

View file

@ -1,18 +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_Gjyo_Bridge_InitVars
.word 0x01480600, 0x00000000, 0x01300000, 0x00000168
.word BgGjyoBridge_Init
.word BgGjyoBridge_Destroy
.word BgGjyoBridge_Update
.word BgGjyoBridge_Draw
glabel D_80878B50
.word 0xB0F80320, 0x48500064, 0x00000000, 0x00000000

View file

@ -1,30 +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_80878B60
.asciz "../z_bg_gjyo_bridge.c"
.balign 4
glabel D_80878B78
.asciz "../z_bg_gjyo_bridge.c"
.balign 4
glabel D_80878B90
.asciz "../z_bg_gjyo_bridge.c"
.balign 4
glabel D_80878BA8
.word 0x44A78000
glabel D_80878BAC
.word 0x44CFC000

2
spec
View file

@ -791,8 +791,6 @@ endseg
beginseg
name "ovl_Bg_Gjyo_Bridge"
include "build/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.o"
include "build/data/overlays/actors/z_bg_gjyo_bridge.data.o"
include "build/data/overlays/actors/z_bg_gjyo_bridge.rodata.o"
include "build/data/overlays/actors/z_bg_gjyo_bridge.reloc.o"
endseg

View file

@ -1,14 +1,22 @@
/*
* File: z_bg_gjyo_bridge.c
* Overlay: ovl_Bg_Gjyo_Bridge
* Description: Rainbow Bridge outside Ganon's Castle
*/
#include "z_bg_gjyo_bridge.h"
#define ROOM 0x00
#define FLAGS 0x00000000
void BgGjyoBridge_Init(BgGjyoBridge* this, GlobalContext* globalCtx);
void BgGjyoBridge_Destroy(BgGjyoBridge* this, GlobalContext* globalCtx);
void BgGjyoBridge_Update(BgGjyoBridge* this, GlobalContext* globalCtx);
void BgGjyoBridge_Draw(BgGjyoBridge* this, GlobalContext* globalCtx);
static void BgGjyoBridge_Init(BgGjyoBridge* this, GlobalContext* globalCtx);
static void BgGjyoBridge_Destroy(BgGjyoBridge* this, GlobalContext* globalCtx);
static void BgGjyoBridge_Update(BgGjyoBridge* this, GlobalContext* globalCtx);
static void BgGjyoBridge_Draw(BgGjyoBridge* this, GlobalContext* globalCtx);
static void func_808787A4(BgGjyoBridge* this, GlobalContext* globalCtx);
static void func_808787B0(BgGjyoBridge* this, GlobalContext* globalCtx);
static void func_80878904(BgGjyoBridge* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Gjyo_Bridge_InitVars = {
ACTOR_BG_GJYO_BRIDGE,
ACTORTYPE_PROP,
@ -21,17 +29,94 @@ const ActorInit Bg_Gjyo_Bridge_InitVars = {
(ActorFunc)BgGjyoBridge_Update,
(ActorFunc)BgGjyoBridge_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gjyo_Bridge/BgGjyoBridge_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gjyo_Bridge/BgGjyoBridge_Destroy.s")
InitChainEntry initChain[] = { ICHAIN_F32(unk_F8, 800, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP) };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gjyo_Bridge/func_808787A4.s")
extern u32 D_06000600;
extern u32 D_06000DB8;
extern u32 D_02002640;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gjyo_Bridge/func_808787B0.s")
void BgGjyoBridge_Init(BgGjyoBridge* this, GlobalContext* globalCtx) {
s32 pad;
DynaCollisionContext* dynaCollisionContext;
s32 local_c;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gjyo_Bridge/func_80878904.s")
local_c = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gjyo_Bridge/BgGjyoBridge_Update.s")
Actor_ProcessInitChain(&this->dyna, &initChain);
DynaPolyInfo_SetActorMove(this, 0);
DynaPolyInfo_Alloc(&D_06000DB8, &local_c);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gjyo_Bridge/BgGjyoBridge_Draw.s")
dynaCollisionContext = &globalCtx->colCtx.dyna;
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, dynaCollisionContext, this, local_c);
if (gSaveContext.event_chk_inf[4] & 0x2000) {
this->actionFunc = &func_808787A4;
} else {
this->dyna.actor.draw = 0;
func_8003EBF8(globalCtx, dynaCollisionContext, this->dyna.dynaPolyId);
this->actionFunc = &func_808787B0;
}
}
void BgGjyoBridge_Destroy(BgGjyoBridge* this, GlobalContext* globalCtx) {
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
}
void func_808787A4(BgGjyoBridge* this, GlobalContext* globalCtx) {
}
void func_808787B0(BgGjyoBridge* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if ((gBitFlags[3] & gSaveContext.quest_items) && (gBitFlags[4] & gSaveContext.quest_items) &&
(INV_CONTENT(ITEM_ARROW_LIGHT) == ITEM_ARROW_LIGHT) && (player->actor.posRot.pos.x > -70.0f) &&
(player->actor.posRot.pos.x < 300.0f) && (player->actor.posRot.pos.y > 1340.0f) &&
(player->actor.posRot.pos.z > 1340.0f) && (player->actor.posRot.pos.z < 1662.0f) &&
(func_800BFC84(globalCtx) == 0)) {
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_02002640);
gSaveContext.cutscene_trigger = 1;
this->actionFunc = &func_80878904;
}
}
void func_80878904(BgGjyoBridge* this, GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.actorActions[2] != 0) &&
(globalCtx->csCtx.actorActions[2]->action == 2)) {
this->dyna.actor.draw = &BgGjyoBridge_Draw;
func_8003EC50(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
gSaveContext.event_chk_inf[4] |= 0x2000;
}
}
void BgGjyoBridge_Update(BgGjyoBridge* this, GlobalContext* globalCtx) {
this->actionFunc(&this->dyna.actor, globalCtx);
}
void BgGjyoBridge_Draw(BgGjyoBridge* this, GlobalContext* globalCtx) {
s32 pad;
GraphicsContext* gfxCtx;
Gfx* gfxArr[4];
gfxCtx = globalCtx->state.gfxCtx;
func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 260);
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyXlu.p++, 8,
Draw_TexScroll(globalCtx->state.gfxCtx, globalCtx->gameplayFrames & 127,
globalCtx->gameplayFrames * -3 & 127, 32, 32));
gSPSegment(gfxCtx->polyXlu.p++, 9,
Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, -globalCtx->gameplayFrames & 127, 32, 32, 1, 0,
globalCtx->gameplayFrames & 127, 32, 32));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 281),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_06000600);
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 285);
}

View file

@ -5,8 +5,8 @@
#include <global.h>
typedef struct {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ ActorFunc actionFunc;
} BgGjyoBridge; // size = 0x0168
extern const ActorInit Bg_Gjyo_Bridge_InitVars;