1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-02 09:03:36 +00:00

Merge pull request #25 from shawlucas/ovl_Bg_Zg

ovl_Bg_Zg OK
This commit is contained in:
fig02 2020-03-23 17:39:32 -04:00 committed by GitHub
commit 8e316933d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 123 additions and 397 deletions

View File

@ -1,16 +0,0 @@
glabel BgZg_Destroy
/* 00000 808C0C20 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00004 808C0C24 AFA40018 */ sw $a0, 0x0018($sp)
/* 00008 808C0C28 8FAE0018 */ lw $t6, 0x0018($sp)
/* 0000C 808C0C2C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00010 808C0C30 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00014 808C0C34 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 00018 808C0C38 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 0001C 808C0C3C 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 00020 808C0C40 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00024 808C0C44 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00028 808C0C48 03E00008 */ jr $ra
/* 0002C 808C0C4C 00000000 */ nop

View File

@ -1,32 +0,0 @@
glabel BgZg_Draw
/* 00388 808C0FA8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0038C 808C0FAC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00390 808C0FB0 8C820168 */ lw $v0, 0x0168($a0) ## 00000168
/* 00394 808C0FB4 04400008 */ bltz $v0, .L808C0FD8
/* 00398 808C0FB8 00000000 */ nop
/* 0039C 808C0FBC 1C400006 */ bgtz $v0, .L808C0FD8
/* 003A0 808C0FC0 00027080 */ sll $t6, $v0, 2
/* 003A4 808C0FC4 3C03808C */ lui $v1, %hi(D_808C101C) ## $v1 = 808C0000
/* 003A8 808C0FC8 006E1821 */ addu $v1, $v1, $t6
/* 003AC 808C0FCC 8C63101C */ lw $v1, %lo(D_808C101C)($v1)
/* 003B0 808C0FD0 14600006 */ bne $v1, $zero, .L808C0FEC
/* 003B4 808C0FD4 00000000 */ nop
.L808C0FD8:
/* 003B8 808C0FD8 3C04808C */ lui $a0, %hi(D_808C10AC) ## $a0 = 808C0000
/* 003BC 808C0FDC 0C00084C */ jal osSyncPrintf
/* 003C0 808C0FE0 248410AC */ addiu $a0, $a0, %lo(D_808C10AC) ## $a0 = 808C10AC
/* 003C4 808C0FE4 10000004 */ beq $zero, $zero, .L808C0FF8
/* 003C8 808C0FE8 8FBF0014 */ lw $ra, 0x0014($sp)
.L808C0FEC:
/* 003CC 808C0FEC 0060F809 */ jalr $ra, $v1
/* 003D0 808C0FF0 00000000 */ nop
/* 003D4 808C0FF4 8FBF0014 */ lw $ra, 0x0014($sp)
.L808C0FF8:
/* 003D8 808C0FF8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 003DC 808C0FFC 03E00008 */ jr $ra
/* 003E0 808C1000 00000000 */ nop
/* 003E4 808C1004 00000000 */ nop
/* 003E8 808C1008 00000000 */ nop
/* 003EC 808C100C 00000000 */ nop

View File

@ -1,69 +0,0 @@
glabel BgZg_Init
/* 001E4 808C0E04 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 001E8 808C0E08 AFA50034 */ sw $a1, 0x0034($sp)
/* 001EC 808C0E0C AFBF001C */ sw $ra, 0x001C($sp)
/* 001F0 808C0E10 AFB00018 */ sw $s0, 0x0018($sp)
/* 001F4 808C0E14 3C05808C */ lui $a1, %hi(D_808C1018) ## $a1 = 808C0000
/* 001F8 808C0E18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 001FC 808C0E1C 0C01E037 */ jal Actor_ProcessInitChain
/* 00200 808C0E20 24A51018 */ addiu $a1, $a1, %lo(D_808C1018) ## $a1 = 808C1018
/* 00204 808C0E24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00208 808C0E28 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 0020C 808C0E2C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00210 808C0E30 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00214 808C0E34 AFA00020 */ sw $zero, 0x0020($sp)
/* 00218 808C0E38 248411D4 */ addiu $a0, $a0, 0x11D4 ## $a0 = 060011D4
/* 0021C 808C0E3C 0C010620 */ jal DynaPolyInfo_Alloc
/* 00220 808C0E40 27A50020 */ addiu $a1, $sp, 0x0020 ## $a1 = FFFFFFF0
/* 00224 808C0E44 8FA40034 */ lw $a0, 0x0034($sp)
/* 00228 808C0E48 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 0022C 808C0E4C 8FA70020 */ lw $a3, 0x0020($sp)
/* 00230 808C0E50 0C00FA9D */ jal DynaPolyInfo_RegisterActor
## DynaPolyInfo_setActor
/* 00234 808C0E54 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00238 808C0E58 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 0023C 808C0E5C 0C230332 */ jal func_808C0CC8
/* 00240 808C0E60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00244 808C0E64 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 00248 808C0E68 10410005 */ beq $v0, $at, .L808C0E80
/* 0024C 808C0E6C 00000000 */ nop
/* 00250 808C0E70 0C230332 */ jal func_808C0CC8
/* 00254 808C0E74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00258 808C0E78 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
/* 0025C 808C0E7C 1441000D */ bne $v0, $at, .L808C0EB4
.L808C0E80:
/* 00260 808C0E80 3C01808C */ lui $at, %hi(D_808C10E8) ## $at = 808C0000
/* 00264 808C0E84 C42010E8 */ lwc1 $f0, %lo(D_808C10E8)($at)
/* 00268 808C0E88 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
/* 0026C 808C0E8C C6080058 */ lwc1 $f8, 0x0058($s0) ## 00000058
/* 00270 808C0E90 3C01808C */ lui $at, %hi(D_808C10EC) ## $at = 808C0000
/* 00274 808C0E94 46002182 */ mul.s $f6, $f4, $f0
/* 00278 808C0E98 C6100054 */ lwc1 $f16, 0x0054($s0) ## 00000054
/* 0027C 808C0E9C 46004282 */ mul.s $f10, $f8, $f0
/* 00280 808C0EA0 E6060050 */ swc1 $f6, 0x0050($s0) ## 00000050
/* 00284 808C0EA4 E60A0058 */ swc1 $f10, 0x0058($s0) ## 00000058
/* 00288 808C0EA8 C43210EC */ lwc1 $f18, %lo(D_808C10EC)($at)
/* 0028C 808C0EAC 46128102 */ mul.s $f4, $f16, $f18
/* 00290 808C0EB0 E6040054 */ swc1 $f4, 0x0054($s0) ## 00000054
.L808C0EB4:
/* 00294 808C0EB4 AE000164 */ sw $zero, 0x0164($s0) ## 00000164
/* 00298 808C0EB8 AE000168 */ sw $zero, 0x0168($s0) ## 00000168
/* 0029C 808C0EBC 8FA50034 */ lw $a1, 0x0034($sp)
/* 002A0 808C0EC0 0C230326 */ jal func_808C0C98
/* 002A4 808C0EC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002A8 808C0EC8 50400004 */ beql $v0, $zero, .L808C0EDC
/* 002AC 808C0ECC 8FBF001C */ lw $ra, 0x001C($sp)
/* 002B0 808C0ED0 0C00B55C */ jal Actor_Kill
/* 002B4 808C0ED4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002B8 808C0ED8 8FBF001C */ lw $ra, 0x001C($sp)
.L808C0EDC:
/* 002BC 808C0EDC 8FB00018 */ lw $s0, 0x0018($sp)
/* 002C0 808C0EE0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 002C4 808C0EE4 03E00008 */ jr $ra
/* 002C8 808C0EE8 00000000 */ nop

View File

@ -1,30 +0,0 @@
glabel BgZg_Update
/* 00188 808C0DA8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0018C 808C0DAC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00190 808C0DB0 8C820164 */ lw $v0, 0x0164($a0) ## 00000164
/* 00194 808C0DB4 04400008 */ bltz $v0, .L808C0DD8
/* 00198 808C0DB8 28410002 */ slti $at, $v0, 0x0002
/* 0019C 808C0DBC 10200006 */ beq $at, $zero, .L808C0DD8
/* 001A0 808C0DC0 00027080 */ sll $t6, $v0, 2
/* 001A4 808C0DC4 3C03808C */ lui $v1, %hi(D_808C1010) ## $v1 = 808C0000
/* 001A8 808C0DC8 006E1821 */ addu $v1, $v1, $t6
/* 001AC 808C0DCC 8C631010 */ lw $v1, %lo(D_808C1010)($v1)
/* 001B0 808C0DD0 14600006 */ bne $v1, $zero, .L808C0DEC
/* 001B4 808C0DD4 00000000 */ nop
.L808C0DD8:
/* 001B8 808C0DD8 3C04808C */ lui $a0, %hi(D_808C1040) ## $a0 = 808C0000
/* 001BC 808C0DDC 0C00084C */ jal osSyncPrintf
/* 001C0 808C0DE0 24841040 */ addiu $a0, $a0, %lo(D_808C1040) ## $a0 = 808C1040
/* 001C4 808C0DE4 10000004 */ beq $zero, $zero, .L808C0DF8
/* 001C8 808C0DE8 8FBF0014 */ lw $ra, 0x0014($sp)
.L808C0DEC:
/* 001CC 808C0DEC 0060F809 */ jalr $ra, $v1
/* 001D0 808C0DF0 00000000 */ nop
/* 001D4 808C0DF4 8FBF0014 */ lw $ra, 0x0014($sp)
.L808C0DF8:
/* 001D8 808C0DF8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001DC 808C0DFC 03E00008 */ jr $ra
/* 001E0 808C0E00 00000000 */ nop

View File

@ -1,22 +0,0 @@
glabel func_808C0C50
/* 00030 808C0C50 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00034 808C0C54 AFA40020 */ sw $a0, 0x0020($sp)
/* 00038 808C0C58 8FA50020 */ lw $a1, 0x0020($sp)
/* 0003C 808C0C5C 3C078013 */ lui $a3, 0x8013 ## $a3 = 80130000
/* 00040 808C0C60 3C0E8013 */ lui $t6, 0x8013 ## $t6 = 80130000
/* 00044 808C0C64 24E733E0 */ addiu $a3, $a3, 0x33E0 ## $a3 = 801333E0
/* 00048 808C0C68 AFBF001C */ sw $ra, 0x001C($sp)
/* 0004C 808C0C6C 25CE33E8 */ addiu $t6, $t6, 0x33E8 ## $t6 = 801333E8
/* 00050 808C0C70 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00054 808C0C74 AFA70010 */ sw $a3, 0x0010($sp)
/* 00058 808C0C78 24042859 */ addiu $a0, $zero, 0x2859 ## $a0 = 00002859
/* 0005C 808C0C7C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00060 808C0C80 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00064 808C0C84 24A500E4 */ addiu $a1, $a1, 0x00E4 ## $a1 = 000000E4
/* 00068 808C0C88 8FBF001C */ lw $ra, 0x001C($sp)
/* 0006C 808C0C8C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00070 808C0C90 03E00008 */ jr $ra
/* 00074 808C0C94 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel func_808C0C98
/* 00078 808C0C98 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0007C 808C0C9C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00080 808C0CA0 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
/* 00084 808C0CA4 8485001C */ lh $a1, 0x001C($a0) ## 0000001C
/* 00088 808C0CA8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 0008C 808C0CAC 00052A03 */ sra $a1, $a1, 8
/* 00090 808C0CB0 0C00B2D0 */ jal Flags_GetSwitch
/* 00094 808C0CB4 30A500FF */ andi $a1, $a1, 0x00FF ## $a1 = 00000000
/* 00098 808C0CB8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0009C 808C0CBC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 000A0 808C0CC0 03E00008 */ jr $ra
/* 000A4 808C0CC4 00000000 */ nop

View File

@ -1,6 +0,0 @@
glabel func_808C0CC8
/* 000A8 808C0CC8 8483001C */ lh $v1, 0x001C($a0) ## 0000001C
/* 000AC 808C0CCC 03E00008 */ jr $ra
/* 000B0 808C0CD0 306200FF */ andi $v0, $v1, 0x00FF ## $v0 = 00000000

View File

@ -1,17 +0,0 @@
glabel func_808C0CD4
/* 000B4 808C0CD4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 000B8 808C0CD8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 000BC 808C0CDC 0C230326 */ jal func_808C0C98
/* 000C0 808C0CE0 AFA40018 */ sw $a0, 0x0018($sp)
/* 000C4 808C0CE4 10400004 */ beq $v0, $zero, .L808C0CF8
/* 000C8 808C0CE8 8FA40018 */ lw $a0, 0x0018($sp)
/* 000CC 808C0CEC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 000D0 808C0CF0 0C230314 */ jal func_808C0C50
/* 000D4 808C0CF4 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
.L808C0CF8:
/* 000D8 808C0CF8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 000DC 808C0CFC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 000E0 808C0D00 03E00008 */ jr $ra
/* 000E4 808C0D04 00000000 */ nop

View File

@ -1,45 +0,0 @@
glabel func_808C0D08
/* 000E8 808C0D08 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000
/* 000EC 808C0D0C 2442FA90 */ addiu $v0, $v0, 0xFA90 ## $v0 = 8015FA90
/* 000F0 808C0D10 8C4E0000 */ lw $t6, 0x0000($v0) ## 8015FA90
/* 000F4 808C0D14 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 000F8 808C0D18 AFBF0014 */ sw $ra, 0x0014($sp)
/* 000FC 808C0D1C AFA5001C */ sw $a1, 0x001C($sp)
/* 00100 808C0D20 85CF1474 */ lh $t7, 0x1474($t6) ## 00001474
/* 00104 808C0D24 3C01808C */ lui $at, %hi(D_808C10E4) ## $at = 808C0000
/* 00108 808C0D28 C42010E4 */ lwc1 $f0, %lo(D_808C10E4)($at)
/* 0010C 808C0D2C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 00110 808C0D30 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00114 808C0D34 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
/* 00118 808C0D38 468021A0 */ cvt.s.w $f6, $f4
/* 0011C 808C0D3C C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 00120 808C0D40 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00124 808C0D44 46083280 */ add.s $f10, $f6, $f8
/* 00128 808C0D48 46005402 */ mul.s $f16, $f10, $f0
/* 0012C 808C0D4C 46109100 */ add.s $f4, $f18, $f16
/* 00130 808C0D50 44819000 */ mtc1 $at, $f18 ## $f18 = 200.00
/* 00134 808C0D54 E4840028 */ swc1 $f4, 0x0028($a0) ## 00000028
/* 00138 808C0D58 8C580000 */ lw $t8, 0x0000($v0) ## 8015FA90
/* 0013C 808C0D5C C4860028 */ lwc1 $f6, 0x0028($a0) ## 00000028
/* 00140 808C0D60 87191476 */ lh $t9, 0x1476($t8) ## 00001476
/* 00144 808C0D64 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00
/* 00148 808C0D68 00000000 */ nop
/* 0014C 808C0D6C 468042A0 */ cvt.s.w $f10, $f8
/* 00150 808C0D70 C488000C */ lwc1 $f8, 0x000C($a0) ## 0000000C
/* 00154 808C0D74 46125400 */ add.s $f16, $f10, $f18
/* 00158 808C0D78 46008102 */ mul.s $f4, $f16, $f0
/* 0015C 808C0D7C 46082280 */ add.s $f10, $f4, $f8
/* 00160 808C0D80 4606503E */ c.le.s $f10, $f6
/* 00164 808C0D84 00000000 */ nop
/* 00168 808C0D88 45020004 */ bc1fl .L808C0D9C
/* 0016C 808C0D8C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00170 808C0D90 0C00B55C */ jal Actor_Kill
/* 00174 808C0D94 00000000 */ nop
/* 00178 808C0D98 8FBF0014 */ lw $ra, 0x0014($sp)
.L808C0D9C:
/* 0017C 808C0D9C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00180 808C0DA0 03E00008 */ jr $ra
/* 00184 808C0DA4 00000000 */ nop

View File

@ -1,50 +0,0 @@
glabel func_808C0EEC
/* 002CC 808C0EEC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 002D0 808C0EF0 AFBF001C */ sw $ra, 0x001C($sp)
/* 002D4 808C0EF4 AFB00018 */ sw $s0, 0x0018($sp)
/* 002D8 808C0EF8 AFA40048 */ sw $a0, 0x0048($sp)
/* 002DC 808C0EFC AFA5004C */ sw $a1, 0x004C($sp)
/* 002E0 808C0F00 8CB00000 */ lw $s0, 0x0000($a1) ## 00000000
/* 002E4 808C0F04 3C06808C */ lui $a2, %hi(D_808C107C) ## $a2 = 808C0000
/* 002E8 808C0F08 24C6107C */ addiu $a2, $a2, %lo(D_808C107C) ## $a2 = 808C107C
/* 002EC 808C0F0C 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
/* 002F0 808C0F10 24070137 */ addiu $a3, $zero, 0x0137 ## $a3 = 00000137
/* 002F4 808C0F14 0C031AB1 */ jal func_800C6AC4
/* 002F8 808C0F18 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 002FC 808C0F1C 0C024F46 */ jal func_80093D18
/* 00300 808C0F20 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00304 808C0F24 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 00308 808C0F28 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
/* 0030C 808C0F2C 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
/* 00310 808C0F30 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 00314 808C0F34 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
/* 00318 808C0F38 3C05808C */ lui $a1, %hi(D_808C108C) ## $a1 = 808C0000
/* 0031C 808C0F3C AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 00320 808C0F40 24A5108C */ addiu $a1, $a1, %lo(D_808C108C) ## $a1 = 808C108C
/* 00324 808C0F44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00328 808C0F48 2406013B */ addiu $a2, $zero, 0x013B ## $a2 = 0000013B
/* 0032C 808C0F4C 0C0346A2 */ jal Matrix_NewMtx
/* 00330 808C0F50 AFA3002C */ sw $v1, 0x002C($sp)
/* 00334 808C0F54 8FA7002C */ lw $a3, 0x002C($sp)
/* 00338 808C0F58 3C090600 */ lui $t1, 0x0600 ## $t1 = 06000000
/* 0033C 808C0F5C 25291080 */ addiu $t1, $t1, 0x1080 ## $t1 = 06001080
/* 00340 808C0F60 ACE20004 */ sw $v0, 0x0004($a3) ## 00000004
/* 00344 808C0F64 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 00348 808C0F68 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
/* 0034C 808C0F6C 3C06808C */ lui $a2, %hi(D_808C109C) ## $a2 = 808C0000
/* 00350 808C0F70 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 00354 808C0F74 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 00358 808C0F78 24C6109C */ addiu $a2, $a2, %lo(D_808C109C) ## $a2 = 808C109C
/* 0035C 808C0F7C 24070140 */ addiu $a3, $zero, 0x0140 ## $a3 = 00000140
/* 00360 808C0F80 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
/* 00364 808C0F84 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00368 808C0F88 AC690004 */ sw $t1, 0x0004($v1) ## 00000004
/* 0036C 808C0F8C 0C031AD5 */ jal func_800C6B54
/* 00370 808C0F90 AC680000 */ sw $t0, 0x0000($v1) ## 00000000
/* 00374 808C0F94 8FBF001C */ lw $ra, 0x001C($sp)
/* 00378 808C0F98 8FB00018 */ lw $s0, 0x0018($sp)
/* 0037C 808C0F9C 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 00380 808C0FA0 03E00008 */ jr $ra
/* 00384 808C0FA4 00000000 */ nop

View File

@ -1,23 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .data
glabel D_808C1010
.word func_808C0CD4
.word func_808C0D08
glabel D_808C1018
.word 0x485003E8
glabel D_808C101C
.word func_808C0EEC
glabel Bg_Zg_InitVars
.word 0x01770400, 0x00000010, 0x01560000, 0x0000016C
.word BgZg_Init
.word BgZg_Destroy
.word BgZg_Update
.word BgZg_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_808C10F0
.incbin "baserom/ovl_Bg_Zg", 0x4D0, 0x000000A0

View File

@ -1,37 +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_808C1040
.asciz "!!!!!!!!!!!!!!!!!!!!!!!!!\n"
.balign 4
glabel D_808C107C
.asciz "../z_bg_zg.c"
.balign 4
glabel D_808C108C
.asciz "../z_bg_zg.c"
.balign 4
glabel D_808C109C
.asciz "../z_bg_zg.c"
.balign 4
glabel D_808C10AC
.asciz "!!!!!!!!!!!!!!!!!!!!!!!!!\n"
.balign 4
glabel D_808C10E4
.word 0x3F99999A
glabel D_808C10E8
.word 0x3FA66666
glabel D_808C10EC
.word 0x3F99999A

4
spec
View File

@ -1640,9 +1640,7 @@ endseg
beginseg
name "ovl_Bg_Zg"
include "build/src/overlays/actors/ovl_Bg_Zg/z_bg_zg.o"
include "build/data/overlays/actors/z_bg_zg.data.o"
include "build/data/overlays/actors/z_bg_zg.rodata.o"
include "build/data/overlays/actors/z_bg_zg.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Zg/z_bg_zg_reloc.o"
endseg
beginseg

View File

@ -1,16 +1,32 @@
/*
* File: z_bg_zg.c
* Overlay: ovl_Bg_Zg
* Description: Metal bars (Ganon's Castle)
*/
#include "z_bg_zg.h"
#define ROOM 0x00
#define FLAGS 0x00000010
void BgZg_Init(BgZg* this, GlobalContext* globalCtx);
void BgZg_Destroy(BgZg* this, GlobalContext* globalCtx);
void BgZg_Update(BgZg* this, GlobalContext* globalCtx);
void BgZg_Draw(BgZg* this, GlobalContext* globalCtx);
static void BgZg_Init(BgZg* this, GlobalContext* globalCtx);
static void BgZg_Destroy(BgZg* this, GlobalContext* globalCtx);
static void BgZg_Update(BgZg* this, GlobalContext* globalCtx);
static void BgZg_Draw(BgZg* this, GlobalContext* globalCtx);
static void func_808C0C50(BgZg* this);
static s32 func_808C0C98(BgZg* this, GlobalContext* globalCtx);
static s32 func_808C0CC8(BgZg* this);
static void func_808C0CD4(BgZg* this, GlobalContext* globalCtx);
static void func_808C0D08(BgZg* this, GlobalContext* globalCtx);
static void func_808C0EEC(BgZg* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Zg_InitVars =
{
static const ActorFunc actionFuncs[] = { (ActorFunc)func_808C0CD4, (ActorFunc)func_808C0D08, };
static InitChainEntry initChain[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), };
static const ActorFunc drawFuncs[] = { (ActorFunc)func_808C0EEC, };
const ActorInit Bg_Zg_InitVars = {
ACTOR_BG_ZG,
ACTORTYPE_NPC,
ROOM,
@ -22,23 +38,104 @@ const ActorInit Bg_Zg_InitVars =
(ActorFunc)BgZg_Update,
(ActorFunc)BgZg_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/BgZg_Destroy.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/func_808C0C50.s")
extern u32 D_06001080;
extern u32 D_060011D4;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/func_808C0C98.s")
static void BgZg_Destroy(BgZg* this, GlobalContext* globalCtx) {
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/func_808C0CC8.s")
static void func_808C0C50(BgZg* this) {
Audio_PlaySoundGeneral(NA_SE_EV_METALDOOR_OPEN, &this->dyna.actor.unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/func_808C0CD4.s")
static s32 func_808C0C98(BgZg* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
s32 flag = (thisx->params >> 8) & 0xFF;
return Flags_GetSwitch(globalCtx, flag);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/func_808C0D08.s")
static s32 func_808C0CC8(BgZg* this) {
s32 flag = this->dyna.actor.params & 0xFF;
return flag;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/BgZg_Update.s")
static void func_808C0CD4(BgZg* this, GlobalContext* globalCtx) {
if (func_808C0C98(this, globalCtx) != 0) {
this->action = 1;
func_808C0C50(this);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/BgZg_Init.s")
static void func_808C0D08(BgZg* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/func_808C0EEC.s")
thisx->posRot.pos.y += (kREG(16) + 20.0f) * 1.2f;
if ((((kREG(17) + 200.0f) * 1.2f) + thisx->initPosRot.pos.y) <= thisx->posRot.pos.y) {
Actor_Kill(thisx);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Zg/BgZg_Draw.s")
static void BgZg_Update(BgZg* this, GlobalContext* globalCtx) {
s32 action = this->action;
if (((action < 0) || (1 < action)) || (actionFuncs[action] == NULL)) {
// Translates to: "Main Mode is wrong!!!!!!!!!!!!!!!!!!!!!!!!!"
osSyncPrintf(VT_FGCOL(RED) "メインモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
} else {
actionFuncs[action](&this->dyna.actor, globalCtx);
}
}
static void BgZg_Init(BgZg* this, GlobalContext* globalCtx) {
s32 sp20[2];
Actor* thisx = &this->dyna.actor;
u32 local_c;
Actor_ProcessInitChain(thisx, initChain);
DynaPolyInfo_SetActorMove(thisx, DPM_UNK);
local_c = 0;
DynaPolyInfo_Alloc(&D_060011D4, &local_c);
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, local_c);
if ((func_808C0CC8(this) == 8) || (func_808C0CC8(this) == 9)) {
thisx->scale.x = thisx->scale.x * 1.3f;
thisx->scale.z = thisx->scale.z * 1.3f;
thisx->scale.y = thisx->scale.y * 1.2f;
}
this->action = 0;
this->drawConfig = 0;
if (func_808C0C98(this, globalCtx) != 0) {
Actor_Kill(thisx);
}
}
static void func_808C0EEC(BgZg* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx;
GraphicsContext* tempgfxCtx; // oddly needs this to match
Gfx* gfxArr[4];
tempgfxCtx = globalCtx->state.gfxCtx;
gfxCtx = tempgfxCtx;
func_800C6AC4(gfxArr, gfxCtx, "../z_bg_zg.c", 311);
func_80093D18(gfxCtx);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(gfxCtx, "../z_bg_zg.c", 315),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06001080);
func_800C6B54(gfxArr, gfxCtx, "../z_bg_zg.c", 320);
}
static void BgZg_Draw(BgZg* this, GlobalContext* globalCtx) {
s32 action = this->drawConfig;
if (((action < 0) || (action > 0)) || drawFuncs[action] == NULL) {
// Translates to: "Drawing mode is wrong !!!!!!!!!!!!!!!!!!!!!!!!!"
osSyncPrintf(VT_FGCOL(RED) "描画モードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
} else {
drawFuncs[action](this, globalCtx);
}
}

View File

@ -3,10 +3,12 @@
#include <ultra64.h>
#include <global.h>
#include <vt.h>
typedef struct {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ s32 action;
/* 0x0168 */ s32 drawConfig;
} BgZg; // size = 0x016C
extern const ActorInit Bg_Zg_InitVars;

View File

@ -436,3 +436,6 @@ D_060009E0 = 0x060009E0;
// z_bg_toki_swd
D_06001BD0 = 0x06001BD0;
// z_bg_zg
D_060011D4 = 0x060011D4;
D_06001080 = 0x06001080;