mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-28 19:25:27 +00:00
Decompiled ovl_Bg_Jya_Zurerukabe (#424)
* Decompiled ovl_Bg_Jya_Zurerukabe * PR suggestions, cleanup * PR suggestion
This commit is contained in:
parent
d292d81958
commit
024d5d69bf
16 changed files with 177 additions and 505 deletions
|
@ -1,20 +0,0 @@
|
|||
glabel BgJyaZurerukabe_Destroy
|
||||
/* 0032C 8089B76C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00330 8089B770 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00334 8089B774 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00338 8089B778 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0033C 8089B77C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00340 8089B780 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 00344 8089B784 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 00348 8089B788 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 0034C 8089B78C 8FAF0018 */ lw $t7, 0x0018($sp)
|
||||
/* 00350 8089B790 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00354 8089B794 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00358 8089B798 85F80168 */ lh $t8, 0x0168($t7) ## 00000168
|
||||
/* 0035C 8089B79C 3C01808A */ lui $at, %hi(D_8089B9C0) ## $at = 808A0000
|
||||
/* 00360 8089B7A0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00364 8089B7A4 0018C880 */ sll $t9, $t8, 2
|
||||
/* 00368 8089B7A8 00390821 */ addu $at, $at, $t9
|
||||
/* 0036C 8089B7AC 03E00008 */ jr $ra
|
||||
/* 00370 8089B7B0 E424B9C0 */ swc1 $f4, %lo(D_8089B9C0)($at)
|
|
@ -1,14 +0,0 @@
|
|||
glabel BgJyaZurerukabe_Draw
|
||||
/* 00550 8089B990 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00554 8089B994 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00558 8089B998 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0055C 8089B99C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00560 8089B9A0 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
|
||||
/* 00564 8089B9A4 0C00D498 */ jal Gfx_DrawDListOpa
|
||||
|
||||
/* 00568 8089B9A8 24A52340 */ addiu $a1, $a1, 0x2340 ## $a1 = 06012340
|
||||
/* 0056C 8089B9AC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00570 8089B9B0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00574 8089B9B4 03E00008 */ jr $ra
|
||||
/* 00578 8089B9B8 00000000 */ nop
|
||||
/* 0057C 8089B9BC 00000000 */ nop
|
|
@ -1,103 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8089BAAC
|
||||
.asciz "\x1b[41;37m"
|
||||
.balign 4
|
||||
|
||||
glabel D_8089BAB8
|
||||
.asciz "home pos が変更されたみたい(%s %d)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel D_8089BAF0
|
||||
.asciz "../z_bg_jya_zurerukabe.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8089BB0C
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_8089BB10
|
||||
.asciz "(jya ずれる壁)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel BgJyaZurerukabe_Init
|
||||
/* 00220 8089B660 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00224 8089B664 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00228 8089B668 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0022C 8089B66C 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
|
||||
/* 00230 8089B670 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00234 8089B674 24C62508 */ addiu $a2, $a2, 0x2508 ## $a2 = 06012508
|
||||
/* 00238 8089B678 0C226D10 */ jal func_8089B440
|
||||
/* 0023C 8089B67C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00240 8089B680 3C05808A */ lui $a1, %hi(D_8089BA3C) ## $a1 = 808A0000
|
||||
/* 00244 8089B684 24A5BA3C */ addiu $a1, $a1, %lo(D_8089BA3C) ## $a1 = 8089BA3C
|
||||
/* 00248 8089B688 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 0024C 8089B68C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00250 8089B690 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00254 8089B694 3C03808A */ lui $v1, %hi(D_8089B9F0) ## $v1 = 808A0000
|
||||
/* 00258 8089B698 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 0025C 8089B69C 2463B9F0 */ addiu $v1, $v1, %lo(D_8089B9F0) ## $v1 = 8089B9F0
|
||||
/* 00260 8089B6A0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00264 8089B6A4 C602000C */ lwc1 $f2, 0x000C($s0) ## 0000000C
|
||||
/* 00268 8089B6A8 24040004 */ addiu $a0, $zero, 0x0004 ## $a0 = 00000004
|
||||
.L8089B6AC:
|
||||
/* 0026C 8089B6AC 846E0000 */ lh $t6, 0x0000($v1) ## 8089B9F0
|
||||
/* 00270 8089B6B0 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
|
||||
/* 00274 8089B6B4 00000000 */ nop
|
||||
/* 00278 8089B6B8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0027C 8089B6BC 46023001 */ sub.s $f0, $f6, $f2
|
||||
/* 00280 8089B6C0 46000005 */ abs.s $f0, $f0
|
||||
/* 00284 8089B6C4 460C003C */ c.lt.s $f0, $f12
|
||||
/* 00288 8089B6C8 00000000 */ nop
|
||||
/* 0028C 8089B6CC 45020004 */ bc1fl .L8089B6E0
|
||||
/* 00290 8089B6D0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
|
||||
/* 00294 8089B6D4 10000004 */ beq $zero, $zero, .L8089B6E8
|
||||
/* 00298 8089B6D8 A6020168 */ sh $v0, 0x0168($s0) ## 00000168
|
||||
/* 0029C 8089B6DC 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000002
|
||||
.L8089B6E0:
|
||||
/* 002A0 8089B6E0 1444FFF2 */ bne $v0, $a0, .L8089B6AC
|
||||
/* 002A4 8089B6E4 24630002 */ addiu $v1, $v1, 0x0002 ## $v1 = 8089B9F2
|
||||
.L8089B6E8:
|
||||
/* 002A8 8089B6E8 3C0F808A */ lui $t7, %hi(D_8089B9F8) ## $t7 = 808A0000
|
||||
/* 002AC 8089B6EC 25EFB9F8 */ addiu $t7, $t7, %lo(D_8089B9F8) ## $t7 = 8089B9F8
|
||||
/* 002B0 8089B6F0 146F000D */ bne $v1, $t7, .L8089B728
|
||||
/* 002B4 8089B6F4 3C04808A */ lui $a0, %hi(D_8089BAAC) ## $a0 = 808A0000
|
||||
/* 002B8 8089B6F8 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 002BC 8089B6FC 2484BAAC */ addiu $a0, $a0, %lo(D_8089BAAC) ## $a0 = 8089BAAC
|
||||
/* 002C0 8089B700 3C04808A */ lui $a0, %hi(D_8089BAB8) ## $a0 = 808A0000
|
||||
/* 002C4 8089B704 3C05808A */ lui $a1, %hi(D_8089BAF0) ## $a1 = 808A0000
|
||||
/* 002C8 8089B708 24A5BAF0 */ addiu $a1, $a1, %lo(D_8089BAF0) ## $a1 = 8089BAF0
|
||||
/* 002CC 8089B70C 2484BAB8 */ addiu $a0, $a0, %lo(D_8089BAB8) ## $a0 = 8089BAB8
|
||||
/* 002D0 8089B710 2406012B */ addiu $a2, $zero, 0x012B ## $a2 = 0000012B
|
||||
/* 002D4 8089B714 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 002D8 8089B718 8607001C */ lh $a3, 0x001C($s0) ## 0000001C
|
||||
/* 002DC 8089B71C 3C04808A */ lui $a0, %hi(D_8089BB0C) ## $a0 = 808A0000
|
||||
/* 002E0 8089B720 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 002E4 8089B724 2484BB0C */ addiu $a0, $a0, %lo(D_8089BB0C) ## $a0 = 8089BB0C
|
||||
.L8089B728:
|
||||
/* 002E8 8089B728 86180168 */ lh $t8, 0x0168($s0) ## 00000168
|
||||
/* 002EC 8089B72C 3C08808A */ lui $t0, %hi(D_8089B9F8) ## $t0 = 808A0000
|
||||
/* 002F0 8089B730 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002F4 8089B734 0018C840 */ sll $t9, $t8, 1
|
||||
/* 002F8 8089B738 01194021 */ addu $t0, $t0, $t9
|
||||
/* 002FC 8089B73C 8508B9F8 */ lh $t0, %lo(D_8089B9F8)($t0)
|
||||
/* 00300 8089B740 0C226DED */ jal func_8089B7B4
|
||||
/* 00304 8089B744 A608016E */ sh $t0, 0x016E($s0) ## 0000016E
|
||||
/* 00308 8089B748 3C04808A */ lui $a0, %hi(D_8089BB10) ## $a0 = 808A0000
|
||||
/* 0030C 8089B74C 2484BB10 */ addiu $a0, $a0, %lo(D_8089BB10) ## $a0 = 8089BB10
|
||||
/* 00310 8089B750 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00314 8089B754 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00318 8089B758 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0031C 8089B75C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00320 8089B760 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00324 8089B764 03E00008 */ jr $ra
|
||||
/* 00328 8089B768 00000000 */ nop
|
|
@ -1,25 +0,0 @@
|
|||
glabel BgJyaZurerukabe_Update
|
||||
/* 004F8 8089B938 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 004FC 8089B93C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00500 8089B940 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00504 8089B944 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
|
||||
/* 00508 8089B948 18400002 */ blez $v0, .L8089B954
|
||||
/* 0050C 8089B94C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00510 8089B950 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
|
||||
.L8089B954:
|
||||
/* 00514 8089B954 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00518 8089B958 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
|
||||
/* 0051C 8089B95C 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00520 8089B960 0320F809 */ jalr $ra, $t9
|
||||
/* 00524 8089B964 00000000 */ nop
|
||||
/* 00528 8089B968 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 0052C 8089B96C 848F0168 */ lh $t7, 0x0168($a0) ## 00000168
|
||||
/* 00530 8089B970 55E00004 */ bnel $t7, $zero, .L8089B984
|
||||
/* 00534 8089B974 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00538 8089B978 0C226D32 */ jal func_8089B4C8
|
||||
/* 0053C 8089B97C 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00540 8089B980 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8089B984:
|
||||
/* 00544 8089B984 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00548 8089B988 03E00008 */ jr $ra
|
||||
/* 0054C 8089B98C 00000000 */ nop
|
|
@ -1,52 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8089BA50
|
||||
.asciz "Warning : move BG 登録失敗(%s %d)(name %d)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel D_8089BA90
|
||||
.asciz "../z_bg_jya_zurerukabe.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_8089B440
|
||||
/* 00000 8089B440 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 8089B444 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00008 8089B448 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 0000C 8089B44C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00010 8089B450 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00014 8089B454 AFA60040 */ sw $a2, 0x0040($sp)
|
||||
/* 00018 8089B458 AFA00030 */ sw $zero, 0x0030($sp)
|
||||
/* 0001C 8089B45C 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 00020 8089B460 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
/* 00024 8089B464 8FA40040 */ lw $a0, 0x0040($sp)
|
||||
/* 00028 8089B468 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 0002C 8089B46C 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF8
|
||||
/* 00030 8089B470 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00034 8089B474 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00038 8089B478 8FA70030 */ lw $a3, 0x0030($sp)
|
||||
/* 0003C 8089B47C 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00040 8089B480 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00044 8089B484 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
|
||||
/* 00048 8089B488 1441000A */ bne $v0, $at, .L8089B4B4
|
||||
/* 0004C 8089B48C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 00050 8089B490 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
|
||||
/* 00054 8089B494 3C04808A */ lui $a0, %hi(D_8089BA50) ## $a0 = 808A0000
|
||||
/* 00058 8089B498 3C05808A */ lui $a1, %hi(D_8089BA90) ## $a1 = 808A0000
|
||||
/* 0005C 8089B49C 86070000 */ lh $a3, 0x0000($s0) ## 00000000
|
||||
/* 00060 8089B4A0 24A5BA90 */ addiu $a1, $a1, %lo(D_8089BA90) ## $a1 = 8089BA90
|
||||
/* 00064 8089B4A4 2484BA50 */ addiu $a0, $a0, %lo(D_8089BA50) ## $a0 = 8089BA50
|
||||
/* 00068 8089B4A8 240600C2 */ addiu $a2, $zero, 0x00C2 ## $a2 = 000000C2
|
||||
/* 0006C 8089B4AC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00070 8089B4B0 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
.L8089B4B4:
|
||||
/* 00074 8089B4B4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00078 8089B4B8 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0007C 8089B4BC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00080 8089B4C0 03E00008 */ jr $ra
|
||||
/* 00084 8089B4C4 00000000 */ nop
|
|
@ -1,121 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_8089BB34
|
||||
.word L8089B574
|
||||
.word L8089B5D8
|
||||
.word L8089B574
|
||||
.word L8089B574
|
||||
.word L8089B5D8
|
||||
.word L8089B574
|
||||
.word 0x00000000
|
||||
|
||||
.text
|
||||
glabel func_8089B4C8
|
||||
/* 00088 8089B4C8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0008C 8089B4CC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00090 8089B4D0 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00094 8089B4D4 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00098 8089B4D8 8CA61C44 */ lw $a2, 0x1C44($a1) ## 00001C44
|
||||
/* 0009C 8089B4DC 3C010020 */ lui $at, 0x0020 ## $at = 00200000
|
||||
/* 000A0 8089B4E0 8CCF067C */ lw $t7, 0x067C($a2) ## 0000067C
|
||||
/* 000A4 8089B4E4 55E1005B */ bnel $t7, $at, .L8089B654
|
||||
/* 000A8 8089B4E8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 000AC 8089B4EC 8CD80074 */ lw $t8, 0x0074($a2) ## 00000074
|
||||
/* 000B0 8089B4F0 3C02808A */ lui $v0, %hi(D_8089BA18) ## $v0 = 808A0000
|
||||
/* 000B4 8089B4F4 2442BA18 */ addiu $v0, $v0, %lo(D_8089BA18) ## $v0 = 8089BA18
|
||||
/* 000B8 8089B4F8 13000055 */ beq $t8, $zero, .L8089B650
|
||||
/* 000BC 8089B4FC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
/* 000C0 8089B500 C4C00028 */ lwc1 $f0, 0x0028($a2) ## 00000028
|
||||
/* 000C4 8089B504 24040006 */ addiu $a0, $zero, 0x0006 ## $a0 = 00000006
|
||||
.L8089B508:
|
||||
/* 000C8 8089B508 84590000 */ lh $t9, 0x0000($v0) ## 8089BA18
|
||||
/* 000CC 8089B50C 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
|
||||
/* 000D0 8089B510 00000000 */ nop
|
||||
/* 000D4 8089B514 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 000D8 8089B518 4600303E */ c.le.s $f6, $f0
|
||||
/* 000DC 8089B51C 00000000 */ nop
|
||||
/* 000E0 8089B520 4502000A */ bc1fl .L8089B54C
|
||||
/* 000E4 8089B524 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001
|
||||
/* 000E8 8089B528 84480002 */ lh $t0, 0x0002($v0) ## 8089BA1A
|
||||
/* 000EC 8089B52C 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
|
||||
/* 000F0 8089B530 00000000 */ nop
|
||||
/* 000F4 8089B534 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 000F8 8089B538 460A003E */ c.le.s $f0, $f10
|
||||
/* 000FC 8089B53C 00000000 */ nop
|
||||
/* 00100 8089B540 45030005 */ bc1tl .L8089B558
|
||||
/* 00104 8089B544 2C610006 */ sltiu $at, $v1, 0x0006
|
||||
/* 00108 8089B548 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000002
|
||||
.L8089B54C:
|
||||
/* 0010C 8089B54C 1464FFEE */ bne $v1, $a0, .L8089B508
|
||||
/* 00110 8089B550 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 8089BA1C
|
||||
/* 00114 8089B554 2C610006 */ sltiu $at, $v1, 0x0006
|
||||
.L8089B558:
|
||||
/* 00118 8089B558 1020003D */ beq $at, $zero, .L8089B650
|
||||
/* 0011C 8089B55C 00034880 */ sll $t1, $v1, 2
|
||||
/* 00120 8089B560 3C01808A */ lui $at, %hi(jtbl_8089BB34) ## $at = 808A0000
|
||||
/* 00124 8089B564 00290821 */ addu $at, $at, $t1
|
||||
/* 00128 8089B568 8C29BB34 */ lw $t1, %lo(jtbl_8089BB34)($at)
|
||||
/* 0012C 8089B56C 01200008 */ jr $t1
|
||||
/* 00130 8089B570 00000000 */ nop
|
||||
glabel L8089B574
|
||||
/* 00134 8089B574 00035040 */ sll $t2, $v1, 1
|
||||
/* 00138 8089B578 3C0B808A */ lui $t3, %hi(D_8089BA30) ## $t3 = 808A0000
|
||||
/* 0013C 8089B57C 016A5821 */ addu $t3, $t3, $t2
|
||||
/* 00140 8089B580 856BBA30 */ lh $t3, %lo(D_8089BA30)($t3)
|
||||
/* 00144 8089B584 3C04808A */ lui $a0, %hi(D_8089B9C0) ## $a0 = 808A0000
|
||||
/* 00148 8089B588 2484B9C0 */ addiu $a0, $a0, %lo(D_8089B9C0) ## $a0 = 8089B9C0
|
||||
/* 0014C 8089B58C 000B6080 */ sll $t4, $t3, 2
|
||||
/* 00150 8089B590 008C6821 */ addu $t5, $a0, $t4
|
||||
/* 00154 8089B594 C5A00000 */ lwc1 $f0, 0x0000($t5) ## 00000000
|
||||
/* 00158 8089B598 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0015C 8089B59C 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
|
||||
/* 00160 8089B5A0 46000005 */ abs.s $f0, $f0
|
||||
/* 00164 8089B5A4 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00168 8089B5A8 4600803C */ c.lt.s $f16, $f0
|
||||
/* 0016C 8089B5AC 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00170 8089B5B0 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
|
||||
/* 00174 8089B5B4 45020027 */ bc1fl .L8089B654
|
||||
/* 00178 8089B5B8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0017C 8089B5BC 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
|
||||
/* 00180 8089B5C0 84A700B6 */ lh $a3, 0x00B6($a1) ## 000000B6
|
||||
/* 00184 8089B5C4 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 00188 8089B5C8 0C00BDB5 */ jal func_8002F6D4
|
||||
/* 0018C 8089B5CC E7B20010 */ swc1 $f18, 0x0010($sp)
|
||||
/* 00190 8089B5D0 10000020 */ beq $zero, $zero, .L8089B654
|
||||
/* 00194 8089B5D4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
glabel L8089B5D8
|
||||
/* 00198 8089B5D8 3C18808A */ lui $t8, %hi(D_8089BA30) ## $t8 = 808A0000
|
||||
/* 0019C 8089B5DC 2718BA30 */ addiu $t8, $t8, %lo(D_8089BA30) ## $t8 = 8089BA30
|
||||
/* 001A0 8089B5E0 00037840 */ sll $t7, $v1, 1
|
||||
/* 001A4 8089B5E4 01F81021 */ addu $v0, $t7, $t8
|
||||
/* 001A8 8089B5E8 84590000 */ lh $t9, 0x0000($v0) ## 00000000
|
||||
/* 001AC 8089B5EC 844A0002 */ lh $t2, 0x0002($v0) ## 00000002
|
||||
/* 001B0 8089B5F0 3C04808A */ lui $a0, %hi(D_8089B9C0) ## $a0 = 808A0000
|
||||
/* 001B4 8089B5F4 2484B9C0 */ addiu $a0, $a0, %lo(D_8089B9C0) ## $a0 = 8089B9C0
|
||||
/* 001B8 8089B5F8 00194080 */ sll $t0, $t9, 2
|
||||
/* 001BC 8089B5FC 000A5880 */ sll $t3, $t2, 2
|
||||
/* 001C0 8089B600 008B6021 */ addu $t4, $a0, $t3
|
||||
/* 001C4 8089B604 00884821 */ addu $t1, $a0, $t0
|
||||
/* 001C8 8089B608 C5240000 */ lwc1 $f4, 0x0000($t1) ## 00000000
|
||||
/* 001CC 8089B60C C5860000 */ lwc1 $f6, 0x0000($t4) ## 00000000
|
||||
/* 001D0 8089B610 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 001D4 8089B614 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
|
||||
/* 001D8 8089B618 46062001 */ sub.s $f0, $f4, $f6
|
||||
/* 001DC 8089B61C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 001E0 8089B620 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 001E4 8089B624 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
|
||||
/* 001E8 8089B628 46000005 */ abs.s $f0, $f0
|
||||
/* 001EC 8089B62C 4600403C */ c.lt.s $f8, $f0
|
||||
/* 001F0 8089B630 00000000 */ nop
|
||||
/* 001F4 8089B634 45020007 */ bc1fl .L8089B654
|
||||
/* 001F8 8089B638 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 001FC 8089B63C 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 00200 8089B640 84A700B6 */ lh $a3, 0x00B6($a1) ## 000000B6
|
||||
/* 00204 8089B644 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 00208 8089B648 0C00BDB5 */ jal func_8002F6D4
|
||||
/* 0020C 8089B64C E7AA0010 */ swc1 $f10, 0x0010($sp)
|
||||
.L8089B650:
|
||||
/* 00210 8089B650 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8089B654:
|
||||
/* 00214 8089B654 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00218 8089B658 03E00008 */ jr $ra
|
||||
/* 0021C 8089B65C 00000000 */ nop
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_8089B7B4
|
||||
/* 00374 8089B7B4 3C0E808A */ lui $t6, %hi(func_8089B7C4) ## $t6 = 808A0000
|
||||
/* 00378 8089B7B8 25CEB7C4 */ addiu $t6, $t6, %lo(func_8089B7C4) ## $t6 = 8089B7C4
|
||||
/* 0037C 8089B7BC 03E00008 */ jr $ra
|
||||
/* 00380 8089B7C0 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
|
|
@ -1,20 +0,0 @@
|
|||
glabel func_8089B7C4
|
||||
/* 00384 8089B7C4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00388 8089B7C8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0038C 8089B7CC AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00390 8089B7D0 848E016A */ lh $t6, 0x016A($a0) ## 0000016A
|
||||
/* 00394 8089B7D4 5DC00005 */ bgtzl $t6, .L8089B7EC
|
||||
/* 00398 8089B7D8 848F0168 */ lh $t7, 0x0168($a0) ## 00000168
|
||||
/* 0039C 8089B7DC 0C226E03 */ jal func_8089B80C
|
||||
/* 003A0 8089B7E0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 003A4 8089B7E4 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 003A8 8089B7E8 848F0168 */ lh $t7, 0x0168($a0) ## 00000168
|
||||
.L8089B7EC:
|
||||
/* 003AC 8089B7EC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003B0 8089B7F0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 003B4 8089B7F4 3C01808A */ lui $at, %hi(D_8089B9C0) ## $at = 808A0000
|
||||
/* 003B8 8089B7F8 000FC080 */ sll $t8, $t7, 2
|
||||
/* 003BC 8089B7FC 00380821 */ addu $at, $at, $t8
|
||||
/* 003C0 8089B800 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003C4 8089B804 03E00008 */ jr $ra
|
||||
/* 003C8 8089B808 E424B9C0 */ swc1 $f4, %lo(D_8089B9C0)($at)
|
|
@ -1,29 +0,0 @@
|
|||
glabel func_8089B80C
|
||||
/* 003CC 8089B80C 848F0168 */ lh $t7, 0x0168($a0) ## 00000168
|
||||
/* 003D0 8089B810 3C0E808A */ lui $t6, %hi(func_8089B870) ## $t6 = 808A0000
|
||||
/* 003D4 8089B814 25CEB870 */ addiu $t6, $t6, %lo(func_8089B870) ## $t6 = 8089B870
|
||||
/* 003D8 8089B818 3C19808A */ lui $t9, %hi(D_8089BA00) ## $t9 = 808A0000
|
||||
/* 003DC 8089B81C 000FC040 */ sll $t8, $t7, 1
|
||||
/* 003E0 8089B820 8482016C */ lh $v0, 0x016C($a0) ## 0000016C
|
||||
/* 003E4 8089B824 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
|
||||
/* 003E8 8089B828 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 003EC 8089B82C 8739BA00 */ lh $t9, %lo(D_8089BA00)($t9)
|
||||
/* 003F0 8089B830 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 003F4 8089B834 04400003 */ bltz $v0, .L8089B844
|
||||
/* 003F8 8089B838 A499016A */ sh $t9, 0x016A($a0) ## 0000016A
|
||||
/* 003FC 8089B83C 10000002 */ beq $zero, $zero, .L8089B848
|
||||
/* 00400 8089B840 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
.L8089B844:
|
||||
/* 00404 8089B844 00021823 */ subu $v1, $zero, $v0
|
||||
.L8089B848:
|
||||
/* 00408 8089B848 54610006 */ bnel $v1, $at, .L8089B864
|
||||
/* 0040C 8089B84C 848A016E */ lh $t2, 0x016E($a0) ## 0000016E
|
||||
/* 00410 8089B850 8488016E */ lh $t0, 0x016E($a0) ## 0000016E
|
||||
/* 00414 8089B854 8482016C */ lh $v0, 0x016C($a0) ## 0000016C
|
||||
/* 00418 8089B858 00084823 */ subu $t1, $zero, $t0
|
||||
/* 0041C 8089B85C A489016E */ sh $t1, 0x016E($a0) ## 0000016E
|
||||
/* 00420 8089B860 848A016E */ lh $t2, 0x016E($a0) ## 0000016E
|
||||
.L8089B864:
|
||||
/* 00424 8089B864 004A5821 */ addu $t3, $v0, $t2
|
||||
/* 00428 8089B868 03E00008 */ jr $ra
|
||||
/* 0042C 8089B86C A48B016C */ sh $t3, 0x016C($a0) ## 0000016C
|
|
@ -1,53 +0,0 @@
|
|||
glabel func_8089B870
|
||||
/* 00430 8089B870 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00434 8089B874 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00438 8089B878 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 0043C 8089B87C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00440 8089B880 84EE016C */ lh $t6, 0x016C($a3) ## 0000016C
|
||||
/* 00444 8089B884 C4E40008 */ lwc1 $f4, 0x0008($a3) ## 00000008
|
||||
/* 00448 8089B888 84F80168 */ lh $t8, 0x0168($a3) ## 00000168
|
||||
/* 0044C 8089B88C 000E7880 */ sll $t7, $t6, 2
|
||||
/* 00450 8089B890 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 00454 8089B894 000F7880 */ sll $t7, $t7, 2
|
||||
/* 00458 8089B898 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0045C 8089B89C 000F7880 */ sll $t7, $t7, 2
|
||||
/* 00460 8089B8A0 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 00464 8089B8A4 448F3000 */ mtc1 $t7, $f6 ## $f6 = 0.00
|
||||
/* 00468 8089B8A8 3C06808A */ lui $a2, %hi(D_8089BA08) ## $a2 = 808A0000
|
||||
/* 0046C 8089B8AC 0018C880 */ sll $t9, $t8, 2
|
||||
/* 00470 8089B8B0 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 00474 8089B8B4 00D93021 */ addu $a2, $a2, $t9
|
||||
/* 00478 8089B8B8 8CC6BA08 */ lw $a2, %lo(D_8089BA08)($a2)
|
||||
/* 0047C 8089B8BC AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00480 8089B8C0 24840024 */ addiu $a0, $a0, 0x0024 ## $a0 = 00000024
|
||||
/* 00484 8089B8C4 46082280 */ add.s $f10, $f4, $f8
|
||||
/* 00488 8089B8C8 44055000 */ mfc1 $a1, $f10
|
||||
/* 0048C 8089B8CC 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00490 8089B8D0 00000000 */ nop
|
||||
/* 00494 8089B8D4 10400005 */ beq $v0, $zero, .L8089B8EC
|
||||
/* 00498 8089B8D8 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 0049C 8089B8DC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 004A0 8089B8E0 0C226DED */ jal func_8089B7B4
|
||||
/* 004A4 8089B8E4 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 004A8 8089B8E8 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
.L8089B8EC:
|
||||
/* 004AC 8089B8EC 84E8016E */ lh $t0, 0x016E($a3) ## 0000016E
|
||||
/* 004B0 8089B8F0 84E20168 */ lh $v0, 0x0168($a3) ## 00000168
|
||||
/* 004B4 8089B8F4 3C01808A */ lui $at, %hi(D_8089BA08) ## $at = 808A0000
|
||||
/* 004B8 8089B8F8 44889000 */ mtc1 $t0, $f18 ## $f18 = 0.00
|
||||
/* 004BC 8089B8FC 00021080 */ sll $v0, $v0, 2
|
||||
/* 004C0 8089B900 00220821 */ addu $at, $at, $v0
|
||||
/* 004C4 8089B904 468091A0 */ cvt.s.w $f6, $f18
|
||||
/* 004C8 8089B908 C430BA08 */ lwc1 $f16, %lo(D_8089BA08)($at)
|
||||
/* 004CC 8089B90C 3C01808A */ lui $at, %hi(D_8089B9C0) ## $at = 808A0000
|
||||
/* 004D0 8089B910 00220821 */ addu $at, $at, $v0
|
||||
/* 004D4 8089B914 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 004D8 8089B918 24052024 */ addiu $a1, $zero, 0x2024 ## $a1 = 00002024
|
||||
/* 004DC 8089B91C 46068102 */ mul.s $f4, $f16, $f6
|
||||
/* 004E0 8089B920 0C00BE5D */ jal func_8002F974
|
||||
/* 004E4 8089B924 E424B9C0 */ swc1 $f4, %lo(D_8089B9C0)($at)
|
||||
/* 004E8 8089B928 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 004EC 8089B92C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 004F0 8089B930 03E00008 */ jr $ra
|
||||
/* 004F4 8089B934 00000000 */ nop
|
|
@ -1,34 +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 D_8089B9C0
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||
glabel Bg_Jya_Zurerukabe_InitVars
|
||||
.word 0x00FA0100, 0x00000010, 0x00F10000, 0x00000170
|
||||
.word BgJyaZurerukabe_Init
|
||||
.word BgJyaZurerukabe_Destroy
|
||||
.word BgJyaZurerukabe_Update
|
||||
.word BgJyaZurerukabe_Draw
|
||||
glabel D_8089B9F0
|
||||
.word 0x03AF0413, 0x04DB053F
|
||||
glabel D_8089B9F8
|
||||
.word 0xFFFF0001, 0xFFFF0001
|
||||
glabel D_8089BA00
|
||||
.word 0x00300030, 0x00240024
|
||||
glabel D_8089BA08
|
||||
.word 0x41000000, 0x41000000, 0x41200000, 0x41200000
|
||||
glabel D_8089BA18
|
||||
.word 0x03880395, 0x03EA03FF, 0x04540467, 0x04B404C1, 0x05180528, 0x05810590
|
||||
glabel D_8089BA30
|
||||
.word 0x00000000, 0x00010002, 0x00020003
|
||||
glabel D_8089BA3C
|
||||
.word 0xC8500064, 0xB0F403E8, 0xB0F804B0, 0x30FC03E8, 0x00000000
|
||||
|
|
@ -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_8089BB50
|
||||
.incbin "baserom/ovl_Bg_Jya_Zurerukabe", 0x710, 0x00000120
|
3
spec
3
spec
|
@ -1032,8 +1032,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Jya_Zurerukabe"
|
||||
include "build/src/overlays/actors/ovl_Bg_Jya_Zurerukabe/z_bg_jya_zurerukabe.o"
|
||||
include "build/data/overlays/actors/z_bg_jya_zurerukabe.data.o"
|
||||
include "build/data/overlays/actors/z_bg_jya_zurerukabe.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Jya_Zurerukabe/ovl_Bg_Jya_Zurerukabe_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
/*
|
||||
* File: z_bg_jya_zurerukabe.c
|
||||
* Overlay: ovl_Bg_Jya_Zurerukabe
|
||||
* Description:
|
||||
*/
|
||||
|
||||
#include "z_bg_jya_zurerukabe.h"
|
||||
|
||||
#include <vt.h>
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
#define THIS ((BgJyaZurerukabe*)thisx)
|
||||
|
@ -9,7 +17,14 @@ void BgJyaZurerukabe_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void BgJyaZurerukabe_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgJyaZurerukabe_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void func_8089B4C8(BgJyaZurerukabe* this, GlobalContext* globalCtx);
|
||||
void func_8089B7B4(BgJyaZurerukabe* this);
|
||||
void func_8089B7C4(BgJyaZurerukabe* this, GlobalContext* globalCtx);
|
||||
void func_8089B80C(BgJyaZurerukabe* this);
|
||||
void func_8089B870(BgJyaZurerukabe* this, GlobalContext* globalCtx);
|
||||
|
||||
static f32 D_8089B9C0[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||
|
||||
const ActorInit Bg_Jya_Zurerukabe_InitVars = {
|
||||
ACTOR_BG_JYA_ZURERUKABE,
|
||||
ACTORTYPE_BG,
|
||||
|
@ -21,23 +36,160 @@ const ActorInit Bg_Jya_Zurerukabe_InitVars = {
|
|||
(ActorFunc)BgJyaZurerukabe_Update,
|
||||
(ActorFunc)BgJyaZurerukabe_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/func_8089B440.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/func_8089B4C8.s")
|
||||
static s16 D_8089B9F0[4] = { 943, 1043, 1243, 1343 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/BgJyaZurerukabe_Init.s")
|
||||
static s16 D_8089B9F8[4] = { -1, 1, -1, 1 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/BgJyaZurerukabe_Destroy.s")
|
||||
static s16 D_8089BA00[4] = { 48, 48, 36, 36 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/func_8089B7B4.s")
|
||||
static f32 D_8089BA08[4] = { 8.0f, 8.0f, 10.0f, 10.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/func_8089B7C4.s")
|
||||
static s16 D_8089BA18[6][2] = {
|
||||
{ 0x0388, 0x0395 }, { 0x03EA, 0x03FF }, { 0x0454, 0x0467 },
|
||||
{ 0x04B4, 0x04C1 }, { 0x0518, 0x0528 }, { 0x0581, 0x0590 },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/func_8089B80C.s")
|
||||
static s16 D_8089BA30[6] = {
|
||||
0, 0, 1, 2, 2, 3,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/func_8089B870.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/BgJyaZurerukabe_Update.s")
|
||||
extern Gfx D_06012340[];
|
||||
extern UNK_PTR D_06012508;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Zurerukabe/BgJyaZurerukabe_Draw.s")
|
||||
void func_8089B440(BgJyaZurerukabe* this, GlobalContext* globalCtx, void* arg2, s32 flags) {
|
||||
s32 pad;
|
||||
s32 localC = 0;
|
||||
s32 pad2;
|
||||
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, flags);
|
||||
DynaPolyInfo_Alloc(arg2, &localC);
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, localC);
|
||||
|
||||
if (this->dyna.dynaPolyId == 0x32) {
|
||||
osSyncPrintf("Warning : move BG 登録失敗(%s %d)(name %d)(arg_data 0x%04x)\n", "../z_bg_jya_zurerukabe.c", 194,
|
||||
this->dyna.actor.id, this->dyna.actor.params);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8089B4C8(BgJyaZurerukabe* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if ((player->stateFlags1 == 0x200000) && (player->actor.wallPoly != NULL)) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_8089BA18); i++) {
|
||||
f32 posY = player->actor.posRot.pos.y;
|
||||
if ((posY >= D_8089BA18[i][0]) && (posY <= D_8089BA18[i][1])) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (i) {
|
||||
case 0:
|
||||
case 2:
|
||||
case 3:
|
||||
case 5:
|
||||
if (fabsf(D_8089B9C0[D_8089BA30[i]]) > 1.0f) {
|
||||
func_8002F6D4(globalCtx, &this->dyna.actor, 1.5f, this->dyna.actor.shape.rot.y, 0.0f, 0);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 4:
|
||||
if (fabsf(D_8089B9C0[D_8089BA30[i]] - D_8089B9C0[D_8089BA30[i + 1]]) > 1.0f) {
|
||||
func_8002F6D4(globalCtx, &this->dyna.actor, 1.5f, this->dyna.actor.shape.rot.y, 0.0f, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BgJyaZurerukabe_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgJyaZurerukabe* this = THIS;
|
||||
s32 i;
|
||||
|
||||
func_8089B440(this, globalCtx, &D_06012508, DPM_UNK);
|
||||
Actor_ProcessInitChain(thisx, sInitChain);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_8089B9F0); i++) {
|
||||
if (fabsf(D_8089B9F0[i] - this->dyna.actor.initPosRot.pos.y) < 1.0f) {
|
||||
this->unk_168 = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (i == ARRAY_COUNT(D_8089B9F0)) {
|
||||
osSyncPrintf(VT_COL(RED, WHITE));
|
||||
osSyncPrintf("home pos が変更されたみたい(%s %d)(arg_data 0x%04x)\n", "../z_bg_jya_zurerukabe.c", 299,
|
||||
this->dyna.actor.params);
|
||||
osSyncPrintf(VT_RST);
|
||||
}
|
||||
|
||||
this->unk_16E = D_8089B9F8[this->unk_168];
|
||||
func_8089B7B4(this);
|
||||
osSyncPrintf("(jya ずれる壁)(arg_data 0x%04x)\n", this->dyna.actor.params);
|
||||
}
|
||||
|
||||
void BgJyaZurerukabe_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgJyaZurerukabe* this = THIS;
|
||||
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
D_8089B9C0[this->unk_168] = 0.0f;
|
||||
}
|
||||
|
||||
void func_8089B7B4(BgJyaZurerukabe* this) {
|
||||
this->actionFunc = func_8089B7C4;
|
||||
}
|
||||
|
||||
void func_8089B7C4(BgJyaZurerukabe* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A <= 0) {
|
||||
func_8089B80C(this);
|
||||
}
|
||||
D_8089B9C0[this->unk_168] = 0.0f;
|
||||
}
|
||||
|
||||
void func_8089B80C(BgJyaZurerukabe* this) {
|
||||
this->actionFunc = func_8089B870;
|
||||
this->unk_16A = D_8089BA00[this->unk_168];
|
||||
|
||||
if (ABS(this->unk_16C) == 4) {
|
||||
this->unk_16E = -this->unk_16E;
|
||||
}
|
||||
|
||||
this->unk_16C += this->unk_16E;
|
||||
}
|
||||
|
||||
void func_8089B870(BgJyaZurerukabe* this, GlobalContext* globalCtx) {
|
||||
if (Math_ApproxF(&this->dyna.actor.posRot.pos.x, this->dyna.actor.initPosRot.pos.x + (this->unk_16C * 75),
|
||||
D_8089BA08[this->unk_168])) {
|
||||
func_8089B7B4(this);
|
||||
}
|
||||
|
||||
D_8089B9C0[this->unk_168] = D_8089BA08[this->unk_168] * this->unk_16E;
|
||||
func_8002F974(&this->dyna.actor, NA_SE_EV_ELEVATOR_MOVE - SFX_FLAG);
|
||||
}
|
||||
|
||||
void BgJyaZurerukabe_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgJyaZurerukabe* this = THIS;
|
||||
|
||||
if (this->unk_16A > 0) {
|
||||
this->unk_16A--;
|
||||
}
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
if (this->unk_168 == 0) {
|
||||
func_8089B4C8(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void BgJyaZurerukabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, D_06012340);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,15 @@
|
|||
|
||||
struct BgJyaZurerukabe;
|
||||
|
||||
typedef void (*BgJyaZurerukabeActionFunc)(struct BgJyaZurerukabe*, GlobalContext*);
|
||||
|
||||
typedef struct BgJyaZurerukabe {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x24];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgJyaZurerukabeActionFunc actionFunc;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016A */ s16 unk_16A;
|
||||
/* 0x016C */ s16 unk_16C;
|
||||
/* 0x016E */ s16 unk_16E;
|
||||
} BgJyaZurerukabe; // size = 0x0170
|
||||
|
||||
extern const ActorInit Bg_Jya_Zurerukabe_InitVars;
|
||||
|
|
|
@ -389,6 +389,10 @@ D_0600F208 = 0x0600F208;
|
|||
D_0600D7E8 = 0x0600D7E8;
|
||||
D_0600CCE0 = 0x0600CCE0;
|
||||
|
||||
// z_bg_jya_zurerukabe
|
||||
D_06012340 = 0x06012340;
|
||||
D_06012508 = 0x06012508;
|
||||
|
||||
// z_bg_menkuri_kaiten
|
||||
D_060038D0 = 0x060038D0;
|
||||
D_060042D8 = 0x060042D8;
|
||||
|
|
Loading…
Reference in a new issue