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

Decomp BgJyaLift (#216)

* Re upload

* Decomp BgJyaLift

* Fixed issues

Fixed issues from review

* Edits after review

* Review Fixes

Made some fixes and also changed an unknown variable name

* Fixes to file

Fixed some styling things and renamed the last function

* Added fixes

Added roman's fixes

* Delete filemap.pyc

* Fixes

Removed ctx.c and replaced tabs with spaces spec.
This commit is contained in:
louist103 2020-06-24 18:34:31 -04:00 committed by GitHub
parent 054f6dc04d
commit 7946d6698c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 132 additions and 411 deletions

View file

@ -1,31 +0,0 @@
.rdata
glabel D_8089A070
.asciz " DT\n"
.balign 4
.text
glabel BgJyaLift_Destroy
/* 00124 80899CC4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00128 80899CC8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0012C 80899CCC AFA5001C */ sw $a1, 0x001C($sp)
/* 00130 80899CD0 908E016A */ lbu $t6, 0x016A($a0) ## 0000016A
/* 00134 80899CD4 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00138 80899CD8 3C04808A */ lui $a0, %hi(D_8089A070) ## $a0 = 808A0000
/* 0013C 80899CDC 11C0000A */ beq $t6, $zero, .L80899D08
/* 00140 80899CE0 2484A070 */ addiu $a0, $a0, %lo(D_8089A070) ## $a0 = 8089A070
/* 00144 80899CE4 0C00084C */ jal osSyncPrintf
/* 00148 80899CE8 AFA70018 */ sw $a3, 0x0018($sp)
/* 0014C 80899CEC 8FA4001C */ lw $a0, 0x001C($sp)
/* 00150 80899CF0 8FA70018 */ lw $a3, 0x0018($sp)
/* 00154 80899CF4 3C01808A */ lui $at, %hi(D_8089A020) ## $at = 808A0000
/* 00158 80899CF8 A420A020 */ sh $zero, %lo(D_8089A020)($at)
/* 0015C 80899CFC 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00160 80899D00 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 00164 80899D04 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
.L80899D08:
/* 00168 80899D08 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0016C 80899D0C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00170 80899D10 03E00008 */ jr $ra
/* 00174 80899D14 00000000 */ nop

View file

@ -1,15 +0,0 @@
glabel BgJyaLift_Draw
/* 0044C 80899FEC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00450 80899FF0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00454 80899FF4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00458 80899FF8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0045C 80899FFC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00460 8089A000 0C00D498 */ jal Gfx_DrawDListOpa
/* 00464 8089A004 24A5CCE0 */ addiu $a1, $a1, 0xCCE0 ## $a1 = 0600CCE0
/* 00468 8089A008 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0046C 8089A00C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00470 8089A010 03E00008 */ jr $ra
/* 00474 8089A014 00000000 */ nop
/* 00478 8089A018 00000000 */ nop
/* 0047C 8089A01C 00000000 */ nop

View file

@ -1,66 +0,0 @@
.rdata
glabel D_8089A060
.asciz " CT\n"
.balign 4
.text
glabel BgJyaLift_Init
/* 00058 80899BF8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 0005C 80899BFC AFBF001C */ sw $ra, 0x001C($sp)
/* 00060 80899C00 AFB00018 */ sw $s0, 0x0018($sp)
/* 00064 80899C04 AFA50024 */ sw $a1, 0x0024($sp)
/* 00068 80899C08 A080016A */ sb $zero, 0x016A($a0) ## 0000016A
/* 0006C 80899C0C 3C0E808A */ lui $t6, %hi(D_8089A020) ## $t6 = 808A0000
/* 00070 80899C10 85CEA020 */ lh $t6, %lo(D_8089A020)($t6)
/* 00074 80899C14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00078 80899C18 11C00005 */ beq $t6, $zero, .L80899C30
/* 0007C 80899C1C 00000000 */ nop
/* 00080 80899C20 0C00B55C */ jal Actor_Kill
/* 00084 80899C24 00000000 */ nop
/* 00088 80899C28 10000022 */ beq $zero, $zero, .L80899CB4
/* 0008C 80899C2C 8FBF001C */ lw $ra, 0x001C($sp)
.L80899C30:
/* 00090 80899C30 3C04808A */ lui $a0, %hi(D_8089A060) ## $a0 = 808A0000
/* 00094 80899C34 0C00084C */ jal osSyncPrintf
/* 00098 80899C38 2484A060 */ addiu $a0, $a0, %lo(D_8089A060) ## $a0 = 8089A060
/* 0009C 80899C3C 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 000A0 80899C40 24C6D7E8 */ addiu $a2, $a2, 0xD7E8 ## $a2 = 0600D7E8
/* 000A4 80899C44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000A8 80899C48 8FA50024 */ lw $a1, 0x0024($sp)
/* 000AC 80899C4C 0C2266E8 */ jal func_80899BA0
/* 000B0 80899C50 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 000B4 80899C54 3C05808A */ lui $a1, %hi(D_8089A044) ## $a1 = 808A0000
/* 000B8 80899C58 24A5A044 */ addiu $a1, $a1, %lo(D_8089A044) ## $a1 = 8089A044
/* 000BC 80899C5C 0C01E037 */ jal Actor_ProcessInitChain
/* 000C0 80899C60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000C4 80899C64 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 000C8 80899C68 8FA40024 */ lw $a0, 0x0024($sp)
/* 000CC 80899C6C 0C00B2D0 */ jal Flags_GetSwitch
/* 000D0 80899C70 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 000D4 80899C74 10400005 */ beq $v0, $zero, .L80899C8C
/* 000D8 80899C78 00000000 */ nop
/* 000DC 80899C7C 0C2267BC */ jal func_80899EF0
/* 000E0 80899C80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000E4 80899C84 10000004 */ beq $zero, $zero, .L80899C98
/* 000E8 80899C88 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF
.L80899C8C:
/* 000EC 80899C8C 0C226746 */ jal func_80899D18
/* 000F0 80899C90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000F4 80899C94 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF
.L80899C98:
/* 000F8 80899C98 A20F0003 */ sb $t7, 0x0003($s0) ## 00000003
/* 000FC 80899C9C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00100 80899CA0 3C01808A */ lui $at, %hi(D_8089A020) ## $at = 808A0000
/* 00104 80899CA4 A438A020 */ sh $t8, %lo(D_8089A020)($at)
/* 00108 80899CA8 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 0010C 80899CAC A219016A */ sb $t9, 0x016A($s0) ## 0000016A
/* 00110 80899CB0 8FBF001C */ lw $ra, 0x001C($sp)
.L80899CB4:
/* 00114 80899CB4 8FB00018 */ lw $s0, 0x0018($sp)
/* 00118 80899CB8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 0011C 80899CBC 03E00008 */ jr $ra
/* 00120 80899CC0 00000000 */ nop

View file

@ -1,66 +0,0 @@
glabel BgJyaLift_Update
/* 00364 80899F04 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00368 80899F08 AFBF001C */ sw $ra, 0x001C($sp)
/* 0036C 80899F0C AFB00018 */ sw $s0, 0x0018($sp)
/* 00370 80899F10 8C820164 */ lw $v0, 0x0164($a0) ## 00000164
/* 00374 80899F14 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00378 80899F18 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0037C 80899F1C 50400005 */ beql $v0, $zero, .L80899F34
/* 00380 80899F20 90C20160 */ lbu $v0, 0x0160($a2) ## 00000160
/* 00384 80899F24 0040F809 */ jalr $ra, $v0
/* 00388 80899F28 AFA60020 */ sw $a2, 0x0020($sp)
/* 0038C 80899F2C 8FA60020 */ lw $a2, 0x0020($sp)
/* 00390 80899F30 90C20160 */ lbu $v0, 0x0160($a2) ## 00000160
.L80899F34:
/* 00394 80899F34 30430004 */ andi $v1, $v0, 0x0004 ## $v1 = 00000000
/* 00398 80899F38 1060000C */ beq $v1, $zero, .L80899F6C
/* 0039C 80899F3C 00000000 */ nop
/* 003A0 80899F40 90CE016B */ lbu $t6, 0x016B($a2) ## 0000016B
/* 003A4 80899F44 2405003F */ addiu $a1, $zero, 0x003F ## $a1 = 0000003F
/* 003A8 80899F48 31CF0004 */ andi $t7, $t6, 0x0004 ## $t7 = 00000000
/* 003AC 80899F4C 15E00007 */ bne $t7, $zero, .L80899F6C
/* 003B0 80899F50 00000000 */ nop
/* 003B4 80899F54 8E040790 */ lw $a0, 0x0790($s0) ## 00000790
/* 003B8 80899F58 0C0169DF */ jal func_8005A77C
/* 003BC 80899F5C AFA60020 */ sw $a2, 0x0020($sp)
/* 003C0 80899F60 8FA60020 */ lw $a2, 0x0020($sp)
/* 003C4 80899F64 10000011 */ beq $zero, $zero, .L80899FAC
/* 003C8 80899F68 90C20160 */ lbu $v0, 0x0160($a2) ## 00000160
.L80899F6C:
/* 003CC 80899F6C 54600010 */ bnel $v1, $zero, .L80899FB0
/* 003D0 80899F70 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
/* 003D4 80899F74 90D8016B */ lbu $t8, 0x016B($a2) ## 0000016B
/* 003D8 80899F78 33190004 */ andi $t9, $t8, 0x0004 ## $t9 = 00000000
/* 003DC 80899F7C 5320000C */ beql $t9, $zero, .L80899FB0
/* 003E0 80899F80 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
/* 003E4 80899F84 8E040790 */ lw $a0, 0x0790($s0) ## 00000790
/* 003E8 80899F88 2401003F */ addiu $at, $zero, 0x003F ## $at = 0000003F
/* 003EC 80899F8C 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 003F0 80899F90 84880142 */ lh $t0, 0x0142($a0) ## 00000142
/* 003F4 80899F94 55010006 */ bnel $t0, $at, .L80899FB0
/* 003F8 80899F98 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
/* 003FC 80899F9C 0C0169DF */ jal func_8005A77C
/* 00400 80899FA0 AFA60020 */ sw $a2, 0x0020($sp)
/* 00404 80899FA4 8FA60020 */ lw $a2, 0x0020($sp)
/* 00408 80899FA8 90C20160 */ lbu $v0, 0x0160($a2) ## 00000160
.L80899FAC:
/* 0040C 80899FAC 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
.L80899FB0:
/* 00410 80899FB0 A0C2016B */ sb $v0, 0x016B($a2) ## 0000016B
/* 00414 80899FB4 00701821 */ addu $v1, $v1, $s0
/* 00418 80899FB8 80631CBC */ lb $v1, 0x1CBC($v1) ## 00011CBC
/* 0041C 80899FBC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00420 80899FC0 10610005 */ beq $v1, $at, .L80899FD8
/* 00424 80899FC4 24010019 */ addiu $at, $zero, 0x0019 ## $at = 00000019
/* 00428 80899FC8 50610004 */ beql $v1, $at, .L80899FDC
/* 0042C 80899FCC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00430 80899FD0 0C00B55C */ jal Actor_Kill
/* 00434 80899FD4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
.L80899FD8:
/* 00438 80899FD8 8FBF001C */ lw $ra, 0x001C($sp)
.L80899FDC:
/* 0043C 80899FDC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00440 80899FE0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00444 80899FE4 03E00008 */ jr $ra
/* 00448 80899FE8 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80899BA0
/* 00000 80899BA0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00004 80899BA4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00008 80899BA8 AFA50024 */ sw $a1, 0x0024($sp)
/* 0000C 80899BAC AFA40020 */ sw $a0, 0x0020($sp)
/* 00010 80899BB0 AFA60028 */ sw $a2, 0x0028($sp)
/* 00014 80899BB4 AFA00018 */ sw $zero, 0x0018($sp)
/* 00018 80899BB8 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 0001C 80899BBC 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 00020 80899BC0 8FA40028 */ lw $a0, 0x0028($sp)
/* 00024 80899BC4 0C010620 */ jal DynaPolyInfo_Alloc
/* 00028 80899BC8 27A50018 */ addiu $a1, $sp, 0x0018 ## $a1 = FFFFFFF8
/* 0002C 80899BCC 8FA40024 */ lw $a0, 0x0024($sp)
/* 00030 80899BD0 8FA60020 */ lw $a2, 0x0020($sp)
/* 00034 80899BD4 8FA70018 */ lw $a3, 0x0018($sp)
/* 00038 80899BD8 0C00FA9D */ jal DynaPolyInfo_RegisterActor
## DynaPolyInfo_setActor
/* 0003C 80899BDC 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00040 80899BE0 8FAE0020 */ lw $t6, 0x0020($sp)
/* 00044 80899BE4 ADC2014C */ sw $v0, 0x014C($t6) ## 0000014C
/* 00048 80899BE8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0004C 80899BEC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00050 80899BF0 03E00008 */ jr $ra
/* 00054 80899BF4 00000000 */ nop

View file

@ -1,14 +0,0 @@
.late_rodata
glabel D_8089A080
.float 1613.0
.text
glabel func_80899D18
/* 00178 80899D18 3C0E808A */ lui $t6, %hi(func_80899D38) ## $t6 = 808A0000
/* 0017C 80899D1C 25CE9D38 */ addiu $t6, $t6, %lo(func_80899D38) ## $t6 = 80899D38
/* 00180 80899D20 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
/* 00184 80899D24 3C01808A */ lui $at, %hi(D_8089A080) ## $at = 808A0000
/* 00188 80899D28 C424A080 */ lwc1 $f4, %lo(D_8089A080)($at)
/* 0018C 80899D2C A4800168 */ sh $zero, 0x0168($a0) ## 00000168
/* 00190 80899D30 03E00008 */ jr $ra
/* 00194 80899D34 E4840028 */ swc1 $f4, 0x0028($a0) ## 00000028

View file

@ -1,37 +0,0 @@
glabel func_80899D38
/* 00198 80899D38 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 0019C 80899D3C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 001A0 80899D40 AFBF001C */ sw $ra, 0x001C($sp)
/* 001A4 80899D44 AFA50024 */ sw $a1, 0x0024($sp)
/* 001A8 80899D48 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 001AC 80899D4C 84E5001C */ lh $a1, 0x001C($a3) ## 0000001C
/* 001B0 80899D50 AFA70020 */ sw $a3, 0x0020($sp)
/* 001B4 80899D54 0C00B2D0 */ jal Flags_GetSwitch
/* 001B8 80899D58 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 001BC 80899D5C 14400004 */ bne $v0, $zero, .L80899D70
/* 001C0 80899D60 8FA70020 */ lw $a3, 0x0020($sp)
/* 001C4 80899D64 84EE0168 */ lh $t6, 0x0168($a3) ## 00000168
/* 001C8 80899D68 59C00011 */ blezl $t6, .L80899DB0
/* 001CC 80899D6C 8FBF001C */ lw $ra, 0x001C($sp)
.L80899D70:
/* 001D0 80899D70 84EF0168 */ lh $t7, 0x0168($a3) ## 00000168
/* 001D4 80899D74 24050D66 */ addiu $a1, $zero, 0x0D66 ## $a1 = 00000D66
/* 001D8 80899D78 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D
/* 001DC 80899D7C 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 001E0 80899D80 A4F80168 */ sh $t8, 0x0168($a3) ## 00000168
/* 001E4 80899D84 84F90168 */ lh $t9, 0x0168($a3) ## 00000168
/* 001E8 80899D88 8FA40024 */ lw $a0, 0x0024($sp)
/* 001EC 80899D8C 2B210014 */ slti $at, $t9, 0x0014
/* 001F0 80899D90 54200007 */ bnel $at, $zero, .L80899DB0
/* 001F4 80899D94 8FBF001C */ lw $ra, 0x001C($sp)
/* 001F8 80899D98 AFA00010 */ sw $zero, 0x0010($sp)
/* 001FC 80899D9C 0C02003E */ jal func_800800F8
/* 00200 80899DA0 AFA70020 */ sw $a3, 0x0020($sp)
/* 00204 80899DA4 0C22676F */ jal func_80899DBC
/* 00208 80899DA8 8FA40020 */ lw $a0, 0x0020($sp)
/* 0020C 80899DAC 8FBF001C */ lw $ra, 0x001C($sp)
.L80899DB0:
/* 00210 80899DB0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00214 80899DB4 03E00008 */ jr $ra
/* 00218 80899DB8 00000000 */ nop

View file

@ -1,5 +0,0 @@
glabel func_80899DBC
/* 0021C 80899DBC 3C0E808A */ lui $t6, %hi(func_80899DCC) ## $t6 = 808A0000
/* 00220 80899DC0 25CE9DCC */ addiu $t6, $t6, %lo(func_80899DCC) ## $t6 = 80899DCC
/* 00224 80899DC4 03E00008 */ jr $ra
/* 00228 80899DC8 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164

View file

@ -1,89 +0,0 @@
.late_rodata
glabel D_8089A084
.float 0.20
glabel D_8089A088
.float 0.001
.text
glabel func_80899DCC
/* 0022C 80899DCC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00230 80899DD0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00234 80899DD4 AFB00020 */ sw $s0, 0x0020($sp)
/* 00238 80899DD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0023C 80899DDC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00240 80899DE0 AFA50034 */ sw $a1, 0x0034($sp)
/* 00244 80899DE4 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 00248 80899DE8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 0024C 80899DEC 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
/* 00250 80899DF0 24840060 */ addiu $a0, $a0, 0x0060 ## $a0 = 00000060
/* 00254 80899DF4 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00258 80899DF8 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 0025C 80899DFC E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00260 80899E00 3C01808A */ lui $at, %hi(D_8089A084) ## $at = 808A0000
/* 00264 80899E04 C42CA084 */ lwc1 $f12, %lo(D_8089A084)($at)
/* 00268 80899E08 C6020060 */ lwc1 $f2, 0x0060($s0) ## 00000060
/* 0026C 80899E0C 3C054473 */ lui $a1, 0x4473 ## $a1 = 44730000
/* 00270 80899E10 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 00274 80899E14 460C103C */ c.lt.s $f2, $f12
/* 00278 80899E18 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 0027C 80899E1C 34A54000 */ ori $a1, $a1, 0x4000 ## $a1 = 44734000
/* 00280 80899E20 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00284 80899E24 45020004 */ bc1fl .L80899E38
/* 00288 80899E28 46001006 */ mov.s $f0, $f2
/* 0028C 80899E2C 10000002 */ beq $zero, $zero, .L80899E38
/* 00290 80899E30 46006006 */ mov.s $f0, $f12
/* 00294 80899E34 46001006 */ mov.s $f0, $f2
.L80899E38:
/* 00298 80899E38 44070000 */ mfc1 $a3, $f0
/* 0029C 80899E3C 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 002A0 80899E40 E7AC0010 */ swc1 $f12, 0x0010($sp)
/* 002A4 80899E44 3C0144B4 */ lui $at, 0x44B4 ## $at = 44B40000
/* 002A8 80899E48 44816000 */ mtc1 $at, $f12 ## $f12 = 1440.00
/* 002AC 80899E4C C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 002B0 80899E50 46000086 */ mov.s $f2, $f0
/* 002B4 80899E54 460C303C */ c.lt.s $f6, $f12
/* 002B8 80899E58 00000000 */ nop
/* 002BC 80899E5C 4500000E */ bc1f .L80899E98
/* 002C0 80899E60 00000000 */ nop
/* 002C4 80899E64 C6080104 */ lwc1 $f8, 0x0104($s0) ## 00000104
/* 002C8 80899E68 8FA20034 */ lw $v0, 0x0034($sp)
/* 002CC 80899E6C 4608603E */ c.le.s $f12, $f8
/* 002D0 80899E70 00000000 */ nop
/* 002D4 80899E74 45000008 */ bc1f .L80899E98
/* 002D8 80899E78 00000000 */ nop
/* 002DC 80899E7C 844E07A0 */ lh $t6, 0x07A0($v0) ## 000007A0
/* 002E0 80899E80 000E7880 */ sll $t7, $t6, 2
/* 002E4 80899E84 004FC021 */ addu $t8, $v0, $t7
/* 002E8 80899E88 8F040790 */ lw $a0, 0x0790($t8) ## 00000790
/* 002EC 80899E8C 0C016C69 */ jal func_8005B1A4
/* 002F0 80899E90 E7A2002C */ swc1 $f2, 0x002C($sp)
/* 002F4 80899E94 C7A2002C */ lwc1 $f2, 0x002C($sp)
.L80899E98:
/* 002F8 80899E98 3C01808A */ lui $at, %hi(D_8089A088) ## $at = 808A0000
/* 002FC 80899E9C C42AA088 */ lwc1 $f10, %lo(D_8089A088)($at)
/* 00300 80899EA0 46001005 */ abs.s $f0, $f2
/* 00304 80899EA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00308 80899EA8 460A003C */ c.lt.s $f0, $f10
/* 0030C 80899EAC 00000000 */ nop
/* 00310 80899EB0 45000008 */ bc1f .L80899ED4
/* 00314 80899EB4 00000000 */ nop
/* 00318 80899EB8 0C2267BC */ jal func_80899EF0
/* 0031C 80899EBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00320 80899EC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00324 80899EC4 0C00BE0A */ jal Audio_PlayActorSound2
/* 00328 80899EC8 2405287A */ addiu $a1, $zero, 0x287A ## $a1 = 0000287A
/* 0032C 80899ECC 10000004 */ beq $zero, $zero, .L80899EE0
/* 00330 80899ED0 8FBF0024 */ lw $ra, 0x0024($sp)
.L80899ED4:
/* 00334 80899ED4 0C00BE5D */ jal func_8002F974
/* 00338 80899ED8 2405200C */ addiu $a1, $zero, 0x200C ## $a1 = 0000200C
/* 0033C 80899EDC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80899EE0:
/* 00340 80899EE0 8FB00020 */ lw $s0, 0x0020($sp)
/* 00344 80899EE4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00348 80899EE8 03E00008 */ jr $ra
/* 0034C 80899EEC 00000000 */ nop

View file

@ -1,11 +0,0 @@
.late_rodata
glabel D_8089A08C
.float 973.0
.text
glabel func_80899EF0
/* 00350 80899EF0 AC800164 */ sw $zero, 0x0164($a0) ## 00000164
/* 00354 80899EF4 3C01808A */ lui $at, %hi(D_8089A08C) ## $at = 808A0000
/* 00358 80899EF8 C424A08C */ lwc1 $f4, %lo(D_8089A08C)($at)
/* 0035C 80899EFC 03E00008 */ jr $ra
/* 00360 80899F00 E4840028 */ swc1 $f4, 0x0028($a0) ## 00000028

View file

@ -1,22 +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_8089A020
.word 0x00000000
glabel Bg_Jya_Lift_InitVars
.word 0x01570100, 0x00000010, 0x00F10000, 0x0000016C
.word BgJyaLift_Init
.word BgJyaLift_Destroy
.word BgJyaLift_Update
.word BgJyaLift_Draw
glabel D_8089A044
.word 0xC8500064, 0xB0F40578, 0xB0F80708, 0x30FC09C4, 0x00000000, 0x00000000, 0x00000000

View file

@ -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_8089A090
.incbin "baserom/ovl_Bg_Jya_Lift", 0x4F0, 0x000000A0

3
spec
View file

@ -1053,8 +1053,7 @@ endseg
beginseg
name "ovl_Bg_Jya_Lift"
include "build/src/overlays/actors/ovl_Bg_Jya_Lift/z_bg_jya_lift.o"
include "build/data/overlays/actors/z_bg_jya_lift.data.o"
include "build/data/overlays/actors/z_bg_jya_lift.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Jya_Lift/ovl_Bg_Jya_Lift_reloc.o"
endseg
beginseg

View file

@ -15,7 +15,15 @@ void BgJyaLift_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgJyaLift_Update(Actor* thisx, GlobalContext* globalCtx);
void BgJyaLift_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void BgJyaLift_InitDynapoly(BgJyaLift* this, GlobalContext* globalCtx, u32 arg2, DynaPolyMoveFlag moveFlag);
void BgJyaLift_SetFinalPosY(BgJyaLift* this);
void BgJyaLift_SetInitPosY(BgJyaLift* this);
void BgJyaLift_DelayMove(BgJyaLift* this, GlobalContext* globalCtx);
void BgJyaLift_SetupMove(BgJyaLift* this);
void BgJyaLift_Move(BgJyaLift* this, GlobalContext* globalCtx);
s16 D_8089A020 = 0;
const ActorInit Bg_Jya_Lift_InitVars = {
ACTOR_BG_JYA_LIFT,
ACTORTYPE_BG,
@ -27,23 +35,124 @@ const ActorInit Bg_Jya_Lift_InitVars = {
(ActorFunc)BgJyaLift_Update,
(ActorFunc)BgJyaLift_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/func_80899BA0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/BgJyaLift_Init.s")
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE),
ICHAIN_F32(unk_F4, 1400, ICHAIN_CONTINUE),
ICHAIN_F32(unk_F8, 1800, ICHAIN_CONTINUE),
ICHAIN_F32(unk_FC, 2500, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/BgJyaLift_Destroy.s")
extern UNK_TYPE D_0600D7E8;
extern Gfx D_0600CCE0[];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/func_80899D18.s")
void BgJyaLift_InitDynapoly(BgJyaLift* this, GlobalContext* globalCtx, u32 arg2, DynaPolyMoveFlag moveFlag) {
s32 pad1;
s32 localConst = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/func_80899D38.s")
DynaPolyInfo_SetActorMove(&this->dyna, moveFlag);
DynaPolyInfo_Alloc(arg2, &localConst);
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna, localConst);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/func_80899DBC.s")
void BgJyaLift_Init(Actor* thisx, GlobalContext* globalCtx) {
BgJyaLift* this = THIS;
this->unk_16A = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/func_80899DCC.s")
if (D_8089A020) {
Actor_Kill(thisx);
return;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/func_80899EF0.s")
// Goddess lift CT
osSyncPrintf("女神リフト CT\n");
BgJyaLift_InitDynapoly(this, globalCtx, &D_0600D7E8, 0);
Actor_ProcessInitChain(thisx, sInitChain);
if (Flags_GetSwitch(globalCtx, (thisx->params & 0x3F))) {
BgJyaLift_SetFinalPosY(thisx);
} else {
BgJyaLift_SetInitPosY(thisx);
}
thisx->room = -1;
D_8089A020 = 1;
this->unk_16A = 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/BgJyaLift_Update.s")
void BgJyaLift_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgJyaLift* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Jya_Lift/BgJyaLift_Draw.s")
if (this->unk_16A != 0) {
// Goddess Lift DT
osSyncPrintf("女神リフト DT\n");
D_8089A020 = 0;
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
}
}
void BgJyaLift_SetInitPosY(BgJyaLift* this) {
this->actionFunc = BgJyaLift_DelayMove;
this->dyna.actor.posRot.pos.y = 1613.0f;
this->moveDelay = 0;
}
void BgJyaLift_DelayMove(BgJyaLift* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F) || (this->moveDelay > 0)) {
this->moveDelay++;
if (this->moveDelay >= 20) {
func_800800F8(globalCtx, 0xD66, -0x63, &this->dyna.actor, 0);
BgJyaLift_SetupMove(this);
}
}
}
void BgJyaLift_SetupMove(BgJyaLift* this) {
this->actionFunc = BgJyaLift_Move;
}
void BgJyaLift_Move(BgJyaLift* this, GlobalContext* globalCtx) {
f32 distFromBottom;
f32 tempVelocity;
Math_SmoothScaleMaxMinF(&this->dyna.actor.velocity.y, 4.0f, 0.1f, 1.0f, 0.0f);
tempVelocity = (this->dyna.actor.velocity.y < 0.2f) ? 0.2f : this->dyna.actor.velocity.y;
distFromBottom = Math_SmoothScaleMaxMinF(&this->dyna.actor.posRot.pos.y, 973.0f, 0.1f, tempVelocity, 0.2f);
if ((this->dyna.actor.posRot.pos.y < 1440.0f) && (1440.0f <= this->dyna.actor.pos4.y)) {
func_8005B1A4(ACTIVE_CAM);
}
if (fabsf(distFromBottom) < 0.001f) {
BgJyaLift_SetFinalPosY(this);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_ELEVATOR_STOP);
} else {
func_8002F974(&this->dyna.actor, 0x200C);
}
}
void BgJyaLift_SetFinalPosY(BgJyaLift* this) {
this->actionFunc = NULL;
this->dyna.actor.posRot.pos.y = 973.0f;
}
void BgJyaLift_Update(Actor* thisx, GlobalContext* globalCtx) {
BgJyaLift* this = THIS;
GlobalContext* globalCtx2 = globalCtx;
if (this->actionFunc != NULL) {
this->actionFunc(this);
}
if ((this->dyna.unk_160 & 4) && ((this->unk_16B & 4) == 0)) {
func_8005A77C(globalCtx2->cameraPtrs[0], 0x3F);
} else if (((this->dyna.unk_160) & 4) == 0 && ((this->unk_16B & 4)) && (globalCtx2->cameraPtrs[0]->setting == 0x3F)) {
func_8005A77C(globalCtx2->cameraPtrs[0], 3);
}
this->unk_16B = this->dyna.unk_160;
// Spirit Temple room 5 is the main room with the statue room 25 is directly above room 5
if ((globalCtx2->roomCtx.curRoom.num != 5) && (globalCtx2->roomCtx.curRoom.num != 25)) {
Actor_Kill(thisx);
}
}
void BgJyaLift_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_0600CCE0);
}

View file

@ -5,10 +5,14 @@
#include <global.h>
struct BgJyaLift;
typedef void (*BgJyaLiftActionFunc)(struct BgJyaLift*);
typedef struct BgJyaLift {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20];
/* 0x000 */ DynaPolyActor dyna;
/* 0x164 */ BgJyaLiftActionFunc actionFunc;
/* 0x168 */ s16 moveDelay;
/* 0x16A */ u8 unk_16A;
/* 0x16B */ u8 unk_16B;
} BgJyaLift; // size = 0x016C
extern const ActorInit Bg_Jya_Lift_InitVars;

View file

@ -210,6 +210,10 @@ D_0600C4C8 = 0x0600C4C8;
D_0600F000 = 0x0600F000;
D_0600F208 = 0x0600F208;
// z_bg_jya_lift
D_0600D7E8 = 0x0600D7E8;
D_0600CCE0 = 0x0600CCE0;
// z_bg_menkuri_kaiten
D_060038D0 = 0x060038D0;
D_060042D8 = 0x060042D8;