mirror of
https://github.com/zeldaret/oot.git
synced 2025-04-06 14:46:21 +00:00
z_bg_spot15_rrbox OK (#375)
* Initial work on spot15_rrbox * Few functions done with OK * Added destroy function * Fixed up struct, made actionFunc and completed more functions * Another function * Another function * Another function * Another function * Another function * Another function * Another function * Another function * Another function * Another function * Another function * Another function * File entirely working * Replaced padding with better variables * Replaced more padding * Ran format script and some other minor layout changes * Removed assembly files * Made update function consistent with other base functions * Renamed variable * Removed data file * Updated reloc location in spec * Removed old reloc file * Made init chain static * Minor fixes * Fixed various minor issues * More minor cleanup * Even more minor cleanup * Minor cleanup * More minor cleanup * Minor fix * Fixed up more variable names * Apply suggestions from code review Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * More cleanup Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
parent
b9b5724dec
commit
c864ce0de2
28 changed files with 340 additions and 980 deletions
|
@ -1,15 +0,0 @@
|
|||
glabel BgSpot15Rrbox_Destroy
|
||||
/* 0030C 808B3C6C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00310 808B3C70 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00314 808B3C74 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00318 808B3C78 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0031C 808B3C7C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00320 808B3C80 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 00324 808B3C84 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 00328 808B3C88 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 0032C 808B3C8C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00330 808B3C90 3C01808B */ lui $at, %hi(D_808B4590) ## $at = 808B0000
|
||||
/* 00334 808B3C94 A4204590 */ sh $zero, %lo(D_808B4590)($at)
|
||||
/* 00338 808B3C98 03E00008 */ jr $ra
|
||||
/* 0033C 808B3C9C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
@ -1,16 +0,0 @@
|
|||
glabel BgSpot15Rrbox_Draw
|
||||
/* 00BF8 808B4558 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00BFC 808B455C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00C00 808B4560 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00C04 808B4564 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00C08 808B4568 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00C0C 808B456C 0C00D498 */ jal Gfx_DrawDListOpa
|
||||
|
||||
/* 00C10 808B4570 24A50180 */ addiu $a1, $a1, 0x0180 ## $a1 = 06000180
|
||||
/* 00C14 808B4574 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C18 808B4578 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00C1C 808B457C 03E00008 */ jr $ra
|
||||
/* 00C20 808B4580 00000000 */ nop
|
||||
/* 00C24 808B4584 00000000 */ nop
|
||||
/* 00C28 808B4588 00000000 */ nop
|
||||
/* 00C2C 808B458C 00000000 */ nop
|
|
@ -1,66 +0,0 @@
|
|||
.rdata
|
||||
glabel D_808B4678
|
||||
.asciz "(spot15 ロンロン木箱)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel BgSpot15Rrbox_Init
|
||||
/* 00234 808B3B94 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00238 808B3B98 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0023C 808B3B9C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00240 808B3BA0 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 00244 808B3BA4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00248 808B3BA8 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0024C 808B3BAC 24C60348 */ addiu $a2, $a2, 0x0348 ## $a2 = 06000348
|
||||
/* 00250 808B3BB0 0C22CE58 */ jal func_808B3960
|
||||
/* 00254 808B3BB4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00258 808B3BB8 3C05808B */ lui $a1, %hi(D_808B45B4) ## $a1 = 808B0000
|
||||
/* 0025C 808B3BBC 24A545B4 */ addiu $a1, $a1, %lo(D_808B45B4) ## $a1 = 808B45B4
|
||||
/* 00260 808B3BC0 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00264 808B3BC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00268 808B3BC8 0C22CE8D */ jal func_808B3A34
|
||||
/* 0026C 808B3BCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00270 808B3BD0 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00274 808B3BD4 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00278 808B3BD8 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 0027C 808B3BDC 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00280 808B3BE0 10400016 */ beq $v0, $zero, .L808B3C3C
|
||||
/* 00284 808B3BE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00288 808B3BE8 0C22D12E */ jal func_808B44B8
|
||||
/* 0028C 808B3BEC 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00290 808B3BF0 3C02808B */ lui $v0, %hi(D_808B4590) ## $v0 = 808B0000
|
||||
/* 00294 808B3BF4 24424590 */ addiu $v0, $v0, %lo(D_808B4590) ## $v0 = 808B4590
|
||||
/* 00298 808B3BF8 844E0000 */ lh $t6, 0x0000($v0) ## 808B4590
|
||||
/* 0029C 808B3BFC 3C18808B */ lui $t8, %hi(D_808B45C4) ## $t8 = 808B0000
|
||||
/* 002A0 808B3C00 271845C4 */ addiu $t8, $t8, %lo(D_808B45C4) ## $t8 = 808B45C4
|
||||
/* 002A4 808B3C04 000E7880 */ sll $t7, $t6, 2
|
||||
/* 002A8 808B3C08 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 002AC 808B3C0C 000F7880 */ sll $t7, $t7, 2
|
||||
/* 002B0 808B3C10 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 002B4 808B3C14 8F290000 */ lw $t1, 0x0000($t9) ## 00000000
|
||||
/* 002B8 808B3C18 AE090024 */ sw $t1, 0x0024($s0) ## 00000024
|
||||
/* 002BC 808B3C1C 8F280004 */ lw $t0, 0x0004($t9) ## 00000004
|
||||
/* 002C0 808B3C20 AE080028 */ sw $t0, 0x0028($s0) ## 00000028
|
||||
/* 002C4 808B3C24 8F290008 */ lw $t1, 0x0008($t9) ## 00000008
|
||||
/* 002C8 808B3C28 AE09002C */ sw $t1, 0x002C($s0) ## 0000002C
|
||||
/* 002CC 808B3C2C 844A0000 */ lh $t2, 0x0000($v0) ## 808B4590
|
||||
/* 002D0 808B3C30 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
|
||||
/* 002D4 808B3C34 10000004 */ beq $zero, $zero, .L808B3C48
|
||||
/* 002D8 808B3C38 A44B0000 */ sh $t3, 0x0000($v0) ## 808B4590
|
||||
.L808B3C3C:
|
||||
/* 002DC 808B3C3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002E0 808B3C40 0C22D021 */ jal func_808B4084
|
||||
/* 002E4 808B3C44 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
.L808B3C48:
|
||||
/* 002E8 808B3C48 3C04808B */ lui $a0, %hi(D_808B4678) ## $a0 = 808B0000
|
||||
/* 002EC 808B3C4C 24844678 */ addiu $a0, $a0, %lo(D_808B4678) ## $a0 = 808B4678
|
||||
/* 002F0 808B3C50 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 002F4 808B3C54 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 002F8 808B3C58 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 002FC 808B3C5C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00300 808B3C60 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00304 808B3C64 03E00008 */ jr $ra
|
||||
/* 00308 808B3C68 00000000 */ nop
|
|
@ -1,31 +0,0 @@
|
|||
glabel BgSpot15Rrbox_Update
|
||||
/* 00B8C 808B44EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00B90 808B44F0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00B94 808B44F4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00B98 808B44F8 84820168 */ lh $v0, 0x0168($a0) ## 00000168
|
||||
/* 00B9C 808B44FC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00BA0 808B4500 18400002 */ blez $v0, .L808B450C
|
||||
/* 00BA4 808B4504 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00BA8 808B4508 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168
|
||||
.L808B450C:
|
||||
/* 00BAC 808B450C 84CF0158 */ lh $t7, 0x0158($a2) ## 00000158
|
||||
/* 00BB0 808B4510 A4CF0032 */ sh $t7, 0x0032($a2) ## 00000032
|
||||
/* 00BB4 808B4514 84C40032 */ lh $a0, 0x0032($a2) ## 00000032
|
||||
/* 00BB8 808B4518 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00BBC 808B451C AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00BC0 808B4520 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00BC4 808B4524 E4C0016C */ swc1 $f0, 0x016C($a2) ## 0000016C
|
||||
/* 00BC8 808B4528 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 00BCC 808B452C 84C40032 */ lh $a0, 0x0032($a2) ## 00000032
|
||||
/* 00BD0 808B4530 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00BD4 808B4534 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
|
||||
/* 00BD8 808B4538 E4800170 */ swc1 $f0, 0x0170($a0) ## 00000170
|
||||
/* 00BDC 808B453C 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00BE0 808B4540 0320F809 */ jalr $ra, $t9
|
||||
/* 00BE4 808B4544 00000000 */ nop
|
||||
/* 00BE8 808B4548 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00BEC 808B454C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00BF0 808B4550 03E00008 */ jr $ra
|
||||
/* 00BF4 808B4554 00000000 */ nop
|
|
@ -1,52 +0,0 @@
|
|||
.rdata
|
||||
glabel D_808B4620
|
||||
.asciz "Warning : move BG 登録失敗(%s %d)(name %d)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel D_808B4660
|
||||
.asciz "../z_bg_spot15_rrbox.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_808B3960
|
||||
/* 00000 808B3960 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 808B3964 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00008 808B3968 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 0000C 808B396C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00010 808B3970 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00014 808B3974 AFA60040 */ sw $a2, 0x0040($sp)
|
||||
/* 00018 808B3978 AFA00030 */ sw $zero, 0x0030($sp)
|
||||
/* 0001C 808B397C 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 00020 808B3980 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
/* 00024 808B3984 8FA40040 */ lw $a0, 0x0040($sp)
|
||||
/* 00028 808B3988 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 0002C 808B398C 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF8
|
||||
/* 00030 808B3990 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00034 808B3994 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00038 808B3998 8FA70030 */ lw $a3, 0x0030($sp)
|
||||
/* 0003C 808B399C 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00040 808B39A0 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00044 808B39A4 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
|
||||
/* 00048 808B39A8 1441000A */ bne $v0, $at, .L808B39D4
|
||||
/* 0004C 808B39AC AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 00050 808B39B0 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
|
||||
/* 00054 808B39B4 3C04808B */ lui $a0, %hi(D_808B4620) ## $a0 = 808B0000
|
||||
/* 00058 808B39B8 3C05808B */ lui $a1, %hi(D_808B4660) ## $a1 = 808B0000
|
||||
/* 0005C 808B39BC 86070000 */ lh $a3, 0x0000($s0) ## 00000000
|
||||
/* 00060 808B39C0 24A54660 */ addiu $a1, $a1, %lo(D_808B4660) ## $a1 = 808B4660
|
||||
/* 00064 808B39C4 24844620 */ addiu $a0, $a0, %lo(D_808B4620) ## $a0 = 808B4620
|
||||
/* 00068 808B39C8 240600AB */ addiu $a2, $zero, 0x00AB ## $a2 = 000000AB
|
||||
/* 0006C 808B39CC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00070 808B39D0 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
.L808B39D4:
|
||||
/* 00074 808B39D4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00078 808B39D8 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0007C 808B39DC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00080 808B39E0 03E00008 */ jr $ra
|
||||
/* 00084 808B39E4 00000000 */ nop
|
|
@ -1,20 +0,0 @@
|
|||
glabel func_808B39E8
|
||||
/* 00088 808B39E8 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00
|
||||
/* 0008C 808B39EC C4A40008 */ lwc1 $f4, 0x0008($a1) ## 00000008
|
||||
/* 00090 808B39F0 44877000 */ mtc1 $a3, $f14 ## $f14 = 0.00
|
||||
/* 00094 808B39F4 C4A80000 */ lwc1 $f8, 0x0000($a1) ## 00000000
|
||||
/* 00098 808B39F8 460C2182 */ mul.s $f6, $f4, $f12
|
||||
/* 0009C 808B39FC 00000000 */ nop
|
||||
/* 000A0 808B3A00 460E4282 */ mul.s $f10, $f8, $f14
|
||||
/* 000A4 808B3A04 460A3400 */ add.s $f16, $f6, $f10
|
||||
/* 000A8 808B3A08 E4900000 */ swc1 $f16, 0x0000($a0) ## 00000000
|
||||
/* 000AC 808B3A0C C4B20004 */ lwc1 $f18, 0x0004($a1) ## 00000004
|
||||
/* 000B0 808B3A10 E4920004 */ swc1 $f18, 0x0004($a0) ## 00000004
|
||||
/* 000B4 808B3A14 C4A40008 */ lwc1 $f4, 0x0008($a1) ## 00000008
|
||||
/* 000B8 808B3A18 C4A60000 */ lwc1 $f6, 0x0000($a1) ## 00000000
|
||||
/* 000BC 808B3A1C 460E2202 */ mul.s $f8, $f4, $f14
|
||||
/* 000C0 808B3A20 00000000 */ nop
|
||||
/* 000C4 808B3A24 460C3282 */ mul.s $f10, $f6, $f12
|
||||
/* 000C8 808B3A28 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 000CC 808B3A2C 03E00008 */ jr $ra
|
||||
/* 000D0 808B3A30 E4900008 */ swc1 $f16, 0x0008($a0) ## 00000008
|
|
@ -1,4 +0,0 @@
|
|||
glabel func_808B3A34
|
||||
/* 000D4 808B3A34 240E0032 */ addiu $t6, $zero, 0x0032 ## $t6 = 00000032
|
||||
/* 000D8 808B3A38 03E00008 */ jr $ra
|
||||
/* 000DC 808B3A3C AC8E0180 */ sw $t6, 0x0180($a0) ## 00000180
|
|
@ -1,36 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808B46F4
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel func_808B3A40
|
||||
/* 000E0 808B3A40 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 000E4 808B3A44 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 000E8 808B3A48 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 000EC 808B3A4C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000F0 808B3A50 24A407C0 */ addiu $a0, $a1, 0x07C0 ## $a0 = 000007C0
|
||||
/* 000F4 808B3A54 0C00FAE1 */ jal DynaPolyInfo_GetActor
|
||||
## DynaPolyInfo_getActor
|
||||
/* 000F8 808B3A58 8DC50180 */ lw $a1, 0x0180($t6) ## 00000180
|
||||
/* 000FC 808B3A5C 1040000E */ beq $v0, $zero, .L808B3A98
|
||||
/* 00100 808B3A60 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00104 808B3A64 C44C0024 */ lwc1 $f12, 0x0024($v0) ## 00000024
|
||||
/* 00108 808B3A68 C44E002C */ lwc1 $f14, 0x002C($v0) ## 0000002C
|
||||
/* 0010C 808B3A6C 8C860024 */ lw $a2, 0x0024($a0) ## 00000024
|
||||
/* 00110 808B3A70 0C032D65 */ jal Math3D_Dist2DSq
|
||||
/* 00114 808B3A74 8C87002C */ lw $a3, 0x002C($a0) ## 0000002C
|
||||
/* 00118 808B3A78 3C01808B */ lui $at, %hi(D_808B46F4) ## $at = 808B0000
|
||||
/* 0011C 808B3A7C C42446F4 */ lwc1 $f4, %lo(D_808B46F4)($at)
|
||||
/* 00120 808B3A80 4604003C */ c.lt.s $f0, $f4
|
||||
/* 00124 808B3A84 00000000 */ nop
|
||||
/* 00128 808B3A88 45020004 */ bc1fl .L808B3A9C
|
||||
/* 0012C 808B3A8C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00130 808B3A90 10000002 */ beq $zero, $zero, .L808B3A9C
|
||||
/* 00134 808B3A94 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L808B3A98:
|
||||
/* 00138 808B3A98 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L808B3A9C:
|
||||
/* 0013C 808B3A9C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00140 808B3AA0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00144 808B3AA4 03E00008 */ jr $ra
|
||||
/* 00148 808B3AA8 00000000 */ nop
|
|
@ -1,70 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808B46F8
|
||||
.word 0x44688000
|
||||
|
||||
.text
|
||||
glabel func_808B3AAC
|
||||
/* 0014C 808B3AAC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00150 808B3AB0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00154 808B3AB4 84AE00A4 */ lh $t6, 0x00A4($a1) ## 000000A4
|
||||
/* 00158 808B3AB8 2401004C */ addiu $at, $zero, 0x004C ## $at = 0000004C
|
||||
/* 0015C 808B3ABC 15C10003 */ bne $t6, $at, .L808B3ACC
|
||||
/* 00160 808B3AC0 00000000 */ nop
|
||||
/* 00164 808B3AC4 1000002F */ beq $zero, $zero, .L808B3B84
|
||||
/* 00168 808B3AC8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L808B3ACC:
|
||||
/* 0016C 808B3ACC 0C22CE90 */ jal func_808B3A40
|
||||
/* 00170 808B3AD0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00174 808B3AD4 10400003 */ beq $v0, $zero, .L808B3AE4
|
||||
/* 00178 808B3AD8 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 0017C 808B3ADC 10000029 */ beq $zero, $zero, .L808B3B84
|
||||
/* 00180 808B3AE0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L808B3AE4:
|
||||
/* 00184 808B3AE4 3C01808B */ lui $at, %hi(D_808B46F8) ## $at = 808B0000
|
||||
/* 00188 808B3AE8 C42446F8 */ lwc1 $f4, %lo(D_808B46F8)($at)
|
||||
/* 0018C 808B3AEC C4860024 */ lwc1 $f6, 0x0024($a0) ## 00000024
|
||||
/* 00190 808B3AF0 3C01C3B4 */ lui $at, 0xC3B4 ## $at = C3B40000
|
||||
/* 00194 808B3AF4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00198 808B3AF8 4604303E */ c.le.s $f6, $f4
|
||||
/* 0019C 808B3AFC 00000000 */ nop
|
||||
/* 001A0 808B3B00 45000020 */ bc1f .L808B3B84
|
||||
/* 001A4 808B3B04 00000000 */ nop
|
||||
/* 001A8 808B3B08 C488002C */ lwc1 $f8, 0x002C($a0) ## 0000002C
|
||||
/* 001AC 808B3B0C 44815000 */ mtc1 $at, $f10 ## $f10 = -360.00
|
||||
/* 001B0 808B3B10 00000000 */ nop
|
||||
/* 001B4 808B3B14 4608503E */ c.le.s $f10, $f8
|
||||
/* 001B8 808B3B18 00000000 */ nop
|
||||
/* 001BC 808B3B1C 45000019 */ bc1f .L808B3B84
|
||||
/* 001C0 808B3B20 00000000 */ nop
|
||||
/* 001C4 808B3B24 C4900150 */ lwc1 $f16, 0x0150($a0) ## 00000150
|
||||
/* 001C8 808B3B28 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
|
||||
/* 001CC 808B3B2C 00000000 */ nop
|
||||
/* 001D0 808B3B30 4610903E */ c.le.s $f18, $f16
|
||||
/* 001D4 808B3B34 00000000 */ nop
|
||||
/* 001D8 808B3B38 45020004 */ bc1fl .L808B3B4C
|
||||
/* 001DC 808B3B3C 84820032 */ lh $v0, 0x0032($a0) ## 00000032
|
||||
/* 001E0 808B3B40 10000006 */ beq $zero, $zero, .L808B3B5C
|
||||
/* 001E4 808B3B44 84820032 */ lh $v0, 0x0032($a0) ## 00000032
|
||||
/* 001E8 808B3B48 84820032 */ lh $v0, 0x0032($a0) ## 00000032
|
||||
.L808B3B4C:
|
||||
/* 001EC 808B3B4C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 001F0 808B3B50 00411021 */ addu $v0, $v0, $at
|
||||
/* 001F4 808B3B54 00021400 */ sll $v0, $v0, 16
|
||||
/* 001F8 808B3B58 00021403 */ sra $v0, $v0, 16
|
||||
.L808B3B5C:
|
||||
/* 001FC 808B3B5C 28412000 */ slti $at, $v0, 0x2000
|
||||
/* 00200 808B3B60 10200006 */ beq $at, $zero, .L808B3B7C
|
||||
/* 00204 808B3B64 2841A001 */ slti $at, $v0, 0xA001
|
||||
/* 00208 808B3B68 14200004 */ bne $at, $zero, .L808B3B7C
|
||||
/* 0020C 808B3B6C 3C028016 */ lui $v0, %hi(gSaveContext+0xed6)
|
||||
/* 00210 808B3B70 9442F536 */ lhu $v0, %lo(gSaveContext+0xed6)($v0)
|
||||
/* 00214 808B3B74 10000003 */ beq $zero, $zero, .L808B3B84
|
||||
/* 00218 808B3B78 30420010 */ andi $v0, $v0, 0x0010 ## $v0 = 00000000
|
||||
.L808B3B7C:
|
||||
/* 0021C 808B3B7C 10000001 */ beq $zero, $zero, .L808B3B84
|
||||
/* 00220 808B3B80 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L808B3B84:
|
||||
/* 00224 808B3B84 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00228 808B3B88 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0022C 808B3B8C 03E00008 */ jr $ra
|
||||
/* 00230 808B3B90 00000000 */ nop
|
|
@ -1,86 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808B46FC
|
||||
.word 0xBA83126F
|
||||
|
||||
.text
|
||||
glabel func_808B3CA0
|
||||
/* 00340 808B3CA0 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00344 808B3CA4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00348 808B3CA8 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 0034C 808B3CAC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00350 808B3CB0 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00354 808B3CB4 0C22CE8D */ jal func_808B3A34
|
||||
/* 00358 808B3CB8 AFA60050 */ sw $a2, 0x0050($sp)
|
||||
/* 0035C 808B3CBC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00360 808B3CC0 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00
|
||||
/* 00364 808B3CC4 8FAE0050 */ lw $t6, 0x0050($sp)
|
||||
/* 00368 808B3CC8 C6060050 */ lwc1 $f6, 0x0050($s0) ## 00000050
|
||||
/* 0036C 808B3CCC 3C18808B */ lui $t8, %hi(D_808B45DC) ## $t8 = 808B0000
|
||||
/* 00370 808B3CD0 000E7880 */ sll $t7, $t6, 2
|
||||
/* 00374 808B3CD4 46003202 */ mul.s $f8, $f6, $f0
|
||||
/* 00378 808B3CD8 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0037C 808B3CDC 000F7880 */ sll $t7, $t7, 2
|
||||
/* 00380 808B3CE0 271845DC */ addiu $t8, $t8, %lo(D_808B45DC) ## $t8 = 808B45DC
|
||||
/* 00384 808B3CE4 01F81021 */ addu $v0, $t7, $t8
|
||||
/* 00388 808B3CE8 C4440000 */ lwc1 $f4, 0x0000($v0) ## 00000000
|
||||
/* 0038C 808B3CEC C4500004 */ lwc1 $f16, 0x0004($v0) ## 00000004
|
||||
/* 00390 808B3CF0 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFF0
|
||||
/* 00394 808B3CF4 46082282 */ mul.s $f10, $f4, $f8
|
||||
/* 00398 808B3CF8 C4480008 */ lwc1 $f8, 0x0008($v0) ## 00000008
|
||||
/* 0039C 808B3CFC 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFE4
|
||||
/* 003A0 808B3D00 E7AA002C */ swc1 $f10, 0x002C($sp)
|
||||
/* 003A4 808B3D04 C6120054 */ lwc1 $f18, 0x0054($s0) ## 00000054
|
||||
/* 003A8 808B3D08 46009182 */ mul.s $f6, $f18, $f0
|
||||
/* 003AC 808B3D0C 00000000 */ nop
|
||||
/* 003B0 808B3D10 46068102 */ mul.s $f4, $f16, $f6
|
||||
/* 003B4 808B3D14 E7A40030 */ swc1 $f4, 0x0030($sp)
|
||||
/* 003B8 808B3D18 C60A0058 */ lwc1 $f10, 0x0058($s0) ## 00000058
|
||||
/* 003BC 808B3D1C 46005482 */ mul.s $f18, $f10, $f0
|
||||
/* 003C0 808B3D20 00000000 */ nop
|
||||
/* 003C4 808B3D24 46124402 */ mul.s $f16, $f8, $f18
|
||||
/* 003C8 808B3D28 E7B00034 */ swc1 $f16, 0x0034($sp)
|
||||
/* 003CC 808B3D2C 8E070170 */ lw $a3, 0x0170($s0) ## 00000170
|
||||
/* 003D0 808B3D30 0C22CE7A */ jal func_808B39E8
|
||||
/* 003D4 808B3D34 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
|
||||
/* 003D8 808B3D38 C7A60038 */ lwc1 $f6, 0x0038($sp)
|
||||
/* 003DC 808B3D3C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 003E0 808B3D40 C7A8003C */ lwc1 $f8, 0x003C($sp)
|
||||
/* 003E4 808B3D44 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 003E8 808B3D48 46043280 */ add.s $f10, $f6, $f4
|
||||
/* 003EC 808B3D4C C7A60040 */ lwc1 $f6, 0x0040($sp)
|
||||
/* 003F0 808B3D50 27B90038 */ addiu $t9, $sp, 0x0038 ## $t9 = FFFFFFF0
|
||||
/* 003F4 808B3D54 26050078 */ addiu $a1, $s0, 0x0078 ## $a1 = 00000078
|
||||
/* 003F8 808B3D58 E7AA0038 */ swc1 $f10, 0x0038($sp)
|
||||
/* 003FC 808B3D5C C6120104 */ lwc1 $f18, 0x0104($s0) ## 00000104
|
||||
/* 00400 808B3D60 26060180 */ addiu $a2, $s0, 0x0180 ## $a2 = 00000180
|
||||
/* 00404 808B3D64 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 00408 808B3D68 46124400 */ add.s $f16, $f8, $f18
|
||||
/* 0040C 808B3D6C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00410 808B3D70 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
|
||||
/* 00414 808B3D74 E7B0003C */ swc1 $f16, 0x003C($sp)
|
||||
/* 00418 808B3D78 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
|
||||
/* 0041C 808B3D7C AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00420 808B3D80 E7A80014 */ swc1 $f8, 0x0014($sp)
|
||||
/* 00424 808B3D84 46043280 */ add.s $f10, $f6, $f4
|
||||
/* 00428 808B3D88 0C00F299 */ jal func_8003CA64
|
||||
/* 0042C 808B3D8C E7AA0040 */ swc1 $f10, 0x0040($sp)
|
||||
/* 00430 808B3D90 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
|
||||
/* 00434 808B3D94 E6000080 */ swc1 $f0, 0x0080($s0) ## 00000080
|
||||
/* 00438 808B3D98 3C01808B */ lui $at, %hi(D_808B46FC) ## $at = 808B0000
|
||||
/* 0043C 808B3D9C 46120401 */ sub.s $f16, $f0, $f18
|
||||
/* 00440 808B3DA0 C42646FC */ lwc1 $f6, %lo(D_808B46FC)($at)
|
||||
/* 00444 808B3DA4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00448 808B3DA8 4610303E */ c.le.s $f6, $f16
|
||||
/* 0044C 808B3DAC 00000000 */ nop
|
||||
/* 00450 808B3DB0 45000005 */ bc1f .L808B3DC8
|
||||
/* 00454 808B3DB4 00000000 */ nop
|
||||
/* 00458 808B3DB8 C6040080 */ lwc1 $f4, 0x0080($s0) ## 00000080
|
||||
/* 0045C 808B3DBC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00460 808B3DC0 10000001 */ beq $zero, $zero, .L808B3DC8
|
||||
/* 00464 808B3DC4 E6040028 */ swc1 $f4, 0x0028($s0) ## 00000028
|
||||
.L808B3DC8:
|
||||
/* 00468 808B3DC8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0046C 808B3DCC 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00470 808B3DD0 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00474 808B3DD4 03E00008 */ jr $ra
|
||||
/* 00478 808B3DD8 00000000 */ nop
|
|
@ -1,98 +0,0 @@
|
|||
glabel func_808B3DDC
|
||||
/* 0047C 808B3DDC 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
|
||||
/* 00480 808B3DE0 F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 00484 808B3DE4 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000
|
||||
/* 00488 808B3DE8 AFBF0054 */ sw $ra, 0x0054($sp)
|
||||
/* 0048C 808B3DEC AFB2003C */ sw $s2, 0x003C($sp)
|
||||
/* 00490 808B3DF0 AFB00034 */ sw $s0, 0x0034($sp)
|
||||
/* 00494 808B3DF4 4481B000 */ mtc1 $at, $f22 ## $f22 = -32000.00
|
||||
/* 00498 808B3DF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0049C 808B3DFC 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
|
||||
/* 004A0 808B3E00 AFB70050 */ sw $s7, 0x0050($sp)
|
||||
/* 004A4 808B3E04 AFB6004C */ sw $s6, 0x004C($sp)
|
||||
/* 004A8 808B3E08 AFB50048 */ sw $s5, 0x0048($sp)
|
||||
/* 004AC 808B3E0C AFB40044 */ sw $s4, 0x0044($sp)
|
||||
/* 004B0 808B3E10 AFB30040 */ sw $s3, 0x0040($sp)
|
||||
/* 004B4 808B3E14 AFB10038 */ sw $s1, 0x0038($sp)
|
||||
/* 004B8 808B3E18 F7B80028 */ sdc1 $f24, 0x0028($sp)
|
||||
/* 004BC 808B3E1C 0C22CE8D */ jal func_808B3A34
|
||||
/* 004C0 808B3E20 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 004C4 808B3E24 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 004C8 808B3E28 3C11808B */ lui $s1, %hi(D_808B45DC) ## $s1 = 808B0000
|
||||
/* 004CC 808B3E2C 265607C0 */ addiu $s6, $s2, 0x07C0 ## $s6 = 000007C0
|
||||
/* 004D0 808B3E30 3C15808B */ lui $s5, %hi(D_808B4618) ## $s5 = 808B0000
|
||||
/* 004D4 808B3E34 4481A000 */ mtc1 $at, $f20 ## $f20 = 10.00
|
||||
/* 004D8 808B3E38 4480C000 */ mtc1 $zero, $f24 ## $f24 = 0.00
|
||||
/* 004DC 808B3E3C 26B54618 */ addiu $s5, $s5, %lo(D_808B4618) ## $s5 = 808B4618
|
||||
/* 004E0 808B3E40 27B20080 */ addiu $s2, $sp, 0x0080 ## $s2 = FFFFFFF0
|
||||
/* 004E4 808B3E44 263145DC */ addiu $s1, $s1, %lo(D_808B45DC) ## $s1 = 808B45DC
|
||||
/* 004E8 808B3E48 26170078 */ addiu $s7, $s0, 0x0078 ## $s7 = 00000078
|
||||
/* 004EC 808B3E4C 27B40064 */ addiu $s4, $sp, 0x0064 ## $s4 = FFFFFFD4
|
||||
/* 004F0 808B3E50 27B30074 */ addiu $s3, $sp, 0x0074 ## $s3 = FFFFFFE4
|
||||
/* 004F4 808B3E54 C6060050 */ lwc1 $f6, 0x0050($s0) ## 00000050
|
||||
.L808B3E58:
|
||||
/* 004F8 808B3E58 C6240000 */ lwc1 $f4, 0x0000($s1) ## 808B45DC
|
||||
/* 004FC 808B3E5C C6300004 */ lwc1 $f16, 0x0004($s1) ## 808B45E0
|
||||
/* 00500 808B3E60 46143202 */ mul.s $f8, $f6, $f20
|
||||
/* 00504 808B3E64 02402025 */ or $a0, $s2, $zero ## $a0 = FFFFFFF0
|
||||
/* 00508 808B3E68 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFE4
|
||||
/* 0050C 808B3E6C 46082282 */ mul.s $f10, $f4, $f8
|
||||
/* 00510 808B3E70 C6280008 */ lwc1 $f8, 0x0008($s1) ## 808B45E4
|
||||
/* 00514 808B3E74 E7AA0074 */ swc1 $f10, 0x0074($sp)
|
||||
/* 00518 808B3E78 C6120054 */ lwc1 $f18, 0x0054($s0) ## 00000054
|
||||
/* 0051C 808B3E7C 46149182 */ mul.s $f6, $f18, $f20
|
||||
/* 00520 808B3E80 00000000 */ nop
|
||||
/* 00524 808B3E84 46068102 */ mul.s $f4, $f16, $f6
|
||||
/* 00528 808B3E88 E7A40078 */ swc1 $f4, 0x0078($sp)
|
||||
/* 0052C 808B3E8C C60A0058 */ lwc1 $f10, 0x0058($s0) ## 00000058
|
||||
/* 00530 808B3E90 46145482 */ mul.s $f18, $f10, $f20
|
||||
/* 00534 808B3E94 00000000 */ nop
|
||||
/* 00538 808B3E98 46124402 */ mul.s $f16, $f8, $f18
|
||||
/* 0053C 808B3E9C E7B0007C */ swc1 $f16, 0x007C($sp)
|
||||
/* 00540 808B3EA0 8E070170 */ lw $a3, 0x0170($s0) ## 00000170
|
||||
/* 00544 808B3EA4 0C22CE7A */ jal func_808B39E8
|
||||
/* 00548 808B3EA8 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
|
||||
/* 0054C 808B3EAC C7A60080 */ lwc1 $f6, 0x0080($sp)
|
||||
/* 00550 808B3EB0 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00554 808B3EB4 C7A80084 */ lwc1 $f8, 0x0084($sp)
|
||||
/* 00558 808B3EB8 02C02025 */ or $a0, $s6, $zero ## $a0 = 000007C0
|
||||
/* 0055C 808B3EBC 46043280 */ add.s $f10, $f6, $f4
|
||||
/* 00560 808B3EC0 C7A60088 */ lwc1 $f6, 0x0088($sp)
|
||||
/* 00564 808B3EC4 02E02825 */ or $a1, $s7, $zero ## $a1 = 00000078
|
||||
/* 00568 808B3EC8 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFD4
|
||||
/* 0056C 808B3ECC E7AA0080 */ swc1 $f10, 0x0080($sp)
|
||||
/* 00570 808B3ED0 C6120104 */ lwc1 $f18, 0x0104($s0) ## 00000104
|
||||
/* 00574 808B3ED4 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 00578 808B3ED8 46124400 */ add.s $f16, $f8, $f18
|
||||
/* 0057C 808B3EDC E7B00084 */ swc1 $f16, 0x0084($sp)
|
||||
/* 00580 808B3EE0 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
|
||||
/* 00584 808B3EE4 E7B80014 */ swc1 $f24, 0x0014($sp)
|
||||
/* 00588 808B3EE8 AFB20010 */ sw $s2, 0x0010($sp)
|
||||
/* 0058C 808B3EEC 46043280 */ add.s $f10, $f6, $f4
|
||||
/* 00590 808B3EF0 0C00F299 */ jal func_8003CA64
|
||||
/* 00594 808B3EF4 E7AA0088 */ swc1 $f10, 0x0088($sp)
|
||||
/* 00598 808B3EF8 4600B03C */ c.lt.s $f22, $f0
|
||||
/* 0059C 808B3EFC 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 808B45E8
|
||||
/* 005A0 808B3F00 8FAE0064 */ lw $t6, 0x0064($sp)
|
||||
/* 005A4 808B3F04 45000003 */ bc1f .L808B3F14
|
||||
/* 005A8 808B3F08 00000000 */ nop
|
||||
/* 005AC 808B3F0C 46000586 */ mov.s $f22, $f0
|
||||
/* 005B0 808B3F10 AE0E0180 */ sw $t6, 0x0180($s0) ## 00000180
|
||||
.L808B3F14:
|
||||
/* 005B4 808B3F14 5635FFD0 */ bnel $s1, $s5, .L808B3E58
|
||||
/* 005B8 808B3F18 C6060050 */ lwc1 $f6, 0x0050($s0) ## 00000050
|
||||
/* 005BC 808B3F1C 8FBF0054 */ lw $ra, 0x0054($sp)
|
||||
/* 005C0 808B3F20 4600B006 */ mov.s $f0, $f22
|
||||
/* 005C4 808B3F24 D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 005C8 808B3F28 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 005CC 808B3F2C D7B80028 */ ldc1 $f24, 0x0028($sp)
|
||||
/* 005D0 808B3F30 8FB00034 */ lw $s0, 0x0034($sp)
|
||||
/* 005D4 808B3F34 8FB10038 */ lw $s1, 0x0038($sp)
|
||||
/* 005D8 808B3F38 8FB2003C */ lw $s2, 0x003C($sp)
|
||||
/* 005DC 808B3F3C 8FB30040 */ lw $s3, 0x0040($sp)
|
||||
/* 005E0 808B3F40 8FB40044 */ lw $s4, 0x0044($sp)
|
||||
/* 005E4 808B3F44 8FB50048 */ lw $s5, 0x0048($sp)
|
||||
/* 005E8 808B3F48 8FB6004C */ lw $s6, 0x004C($sp)
|
||||
/* 005EC 808B3F4C 8FB70050 */ lw $s7, 0x0050($sp)
|
||||
/* 005F0 808B3F50 03E00008 */ jr $ra
|
||||
/* 005F4 808B3F54 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
|
|
@ -1,52 +0,0 @@
|
|||
glabel func_808B3F58
|
||||
/* 005F8 808B3F58 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 005FC 808B3F5C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00600 808B3F60 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00604 808B3F64 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00608 808B3F68 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0060C 808B3F6C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00610 808B3F70 0C22CF28 */ jal func_808B3CA0
|
||||
/* 00614 808B3F74 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00618 808B3F78 10400003 */ beq $v0, $zero, .L808B3F88
|
||||
/* 0061C 808B3F7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00620 808B3F80 1000001E */ beq $zero, $zero, .L808B3FFC
|
||||
/* 00624 808B3F84 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L808B3F88:
|
||||
/* 00628 808B3F88 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 0062C 808B3F8C 0C22CF28 */ jal func_808B3CA0
|
||||
/* 00630 808B3F90 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00634 808B3F94 10400003 */ beq $v0, $zero, .L808B3FA4
|
||||
/* 00638 808B3F98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0063C 808B3F9C 10000017 */ beq $zero, $zero, .L808B3FFC
|
||||
/* 00640 808B3FA0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L808B3FA4:
|
||||
/* 00644 808B3FA4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00648 808B3FA8 0C22CF28 */ jal func_808B3CA0
|
||||
/* 0064C 808B3FAC 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00650 808B3FB0 10400003 */ beq $v0, $zero, .L808B3FC0
|
||||
/* 00654 808B3FB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00658 808B3FB8 10000010 */ beq $zero, $zero, .L808B3FFC
|
||||
/* 0065C 808B3FBC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L808B3FC0:
|
||||
/* 00660 808B3FC0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00664 808B3FC4 0C22CF28 */ jal func_808B3CA0
|
||||
/* 00668 808B3FC8 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003
|
||||
/* 0066C 808B3FCC 10400003 */ beq $v0, $zero, .L808B3FDC
|
||||
/* 00670 808B3FD0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00674 808B3FD4 10000009 */ beq $zero, $zero, .L808B3FFC
|
||||
/* 00678 808B3FD8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L808B3FDC:
|
||||
/* 0067C 808B3FDC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00680 808B3FE0 0C22CF28 */ jal func_808B3CA0
|
||||
/* 00684 808B3FE4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 00688 808B3FE8 50400004 */ beql $v0, $zero, .L808B3FFC
|
||||
/* 0068C 808B3FEC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00690 808B3FF0 10000002 */ beq $zero, $zero, .L808B3FFC
|
||||
/* 00694 808B3FF4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00698 808B3FF8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L808B3FFC:
|
||||
/* 0069C 808B3FFC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 006A0 808B4000 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 006A4 808B4004 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 006A8 808B4008 03E00008 */ jr $ra
|
||||
/* 006AC 808B400C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
@ -1,30 +0,0 @@
|
|||
glabel func_808B4010
|
||||
/* 006B0 808B4010 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 006B4 808B4014 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 006B8 808B4018 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
|
||||
/* 006BC 808B401C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 006C0 808B4020 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 006C4 808B4024 3C014391 */ lui $at, 0x4391 ## $at = 43910000
|
||||
/* 006C8 808B4028 44813000 */ mtc1 $at, $f6 ## $f6 = 290.00
|
||||
/* 006CC 808B402C C4A40050 */ lwc1 $f4, 0x0050($a1) ## 00000050
|
||||
/* 006D0 808B4030 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 006D4 808B4034 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00
|
||||
/* 006D8 808B4038 46062002 */ mul.s $f0, $f4, $f6
|
||||
/* 006DC 808B403C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 006E0 808B4040 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 006E4 808B4044 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 006E8 808B4048 460A0400 */ add.s $f16, $f0, $f10
|
||||
/* 006EC 808B404C 4600020D */ trunc.w.s $f8, $f0
|
||||
/* 006F0 808B4050 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 006F4 808B4054 44064000 */ mfc1 $a2, $f8
|
||||
/* 006F8 808B4058 44079000 */ mfc1 $a3, $f18
|
||||
/* 006FC 808B405C 00063400 */ sll $a2, $a2, 16
|
||||
/* 00700 808B4060 00063403 */ sra $a2, $a2, 16
|
||||
/* 00704 808B4064 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00708 808B4068 0C010D76 */ jal func_800435D8
|
||||
/* 0070C 808B406C 00073C03 */ sra $a3, $a3, 16
|
||||
/* 00710 808B4070 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00714 808B4074 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00718 808B4078 2C420001 */ sltiu $v0, $v0, 0x0001
|
||||
/* 0071C 808B407C 03E00008 */ jr $ra
|
||||
/* 00720 808B4080 00000000 */ nop
|
|
@ -1,11 +0,0 @@
|
|||
glabel func_808B4084
|
||||
/* 00724 808B4084 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00728 808B4088 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 0072C 808B408C 3C0E808B */ lui $t6, %hi(func_808B40AC) ## $t6 = 808B0000
|
||||
/* 00730 808B4090 25CE40AC */ addiu $t6, $t6, %lo(func_808B40AC) ## $t6 = 808B40AC
|
||||
/* 00734 808B4094 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
|
||||
/* 00738 808B4098 E480006C */ swc1 $f0, 0x006C($a0) ## 0000006C
|
||||
/* 0073C 808B409C E480005C */ swc1 $f0, 0x005C($a0) ## 0000005C
|
||||
/* 00740 808B40A0 E4800060 */ swc1 $f0, 0x0060($a0) ## 00000060
|
||||
/* 00744 808B40A4 03E00008 */ jr $ra
|
||||
/* 00748 808B40A8 E4800064 */ swc1 $f0, 0x0064($a0) ## 00000064
|
|
@ -1,61 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808B4700
|
||||
.float 0.001
|
||||
|
||||
.text
|
||||
glabel func_808B40AC
|
||||
/* 0074C 808B40AC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00750 808B40B0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00754 808B40B4 848E0168 */ lh $t6, 0x0168($a0) ## 00000168
|
||||
/* 00758 808B40B8 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
|
||||
/* 0075C 808B40BC 5DC00025 */ bgtzl $t6, .L808B4154
|
||||
/* 00760 808B40C0 8C790680 */ lw $t9, 0x0680($v1) ## 00000680
|
||||
/* 00764 808B40C4 C4800150 */ lwc1 $f0, 0x0150($a0) ## 00000150
|
||||
/* 00768 808B40C8 3C01808B */ lui $at, %hi(D_808B4700) ## $at = 808B0000
|
||||
/* 0076C 808B40CC C4244700 */ lwc1 $f4, %lo(D_808B4700)($at)
|
||||
/* 00770 808B40D0 46000005 */ abs.s $f0, $f0
|
||||
/* 00774 808B40D4 4600203C */ c.lt.s $f4, $f0
|
||||
/* 00778 808B40D8 00000000 */ nop
|
||||
/* 0077C 808B40DC 4502001D */ bc1fl .L808B4154
|
||||
/* 00780 808B40E0 8C790680 */ lw $t9, 0x0680($v1) ## 00000680
|
||||
/* 00784 808B40E4 AFA3001C */ sw $v1, 0x001C($sp)
|
||||
/* 00788 808B40E8 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 0078C 808B40EC 0C22CEAB */ jal func_808B3AAC
|
||||
/* 00790 808B40F0 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00794 808B40F4 8FA3001C */ lw $v1, 0x001C($sp)
|
||||
/* 00798 808B40F8 1040000E */ beq $v0, $zero, .L808B4134
|
||||
/* 0079C 808B40FC 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 007A0 808B4100 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 007A4 808B4104 AFA3001C */ sw $v1, 0x001C($sp)
|
||||
/* 007A8 808B4108 0C22D004 */ jal func_808B4010
|
||||
/* 007AC 808B410C AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 007B0 808B4110 8FA3001C */ lw $v1, 0x001C($sp)
|
||||
/* 007B4 808B4114 14400007 */ bne $v0, $zero, .L808B4134
|
||||
/* 007B8 808B4118 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 007BC 808B411C C4860150 */ lwc1 $f6, 0x0150($a0) ## 00000150
|
||||
/* 007C0 808B4120 E486017C */ swc1 $f6, 0x017C($a0) ## 0000017C
|
||||
/* 007C4 808B4124 0C22D05E */ jal func_808B4178
|
||||
/* 007C8 808B4128 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 007CC 808B412C 1000000F */ beq $zero, $zero, .L808B416C
|
||||
/* 007D0 808B4130 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L808B4134:
|
||||
/* 007D4 808B4134 8C6F0680 */ lw $t7, 0x0680($v1) ## 00000680
|
||||
/* 007D8 808B4138 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 007DC 808B413C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 007E0 808B4140 01E1C024 */ and $t8, $t7, $at
|
||||
/* 007E4 808B4144 AC780680 */ sw $t8, 0x0680($v1) ## 00000680
|
||||
/* 007E8 808B4148 10000007 */ beq $zero, $zero, .L808B4168
|
||||
/* 007EC 808B414C E4880150 */ swc1 $f8, 0x0150($a0) ## 00000150
|
||||
/* 007F0 808B4150 8C790680 */ lw $t9, 0x0680($v1) ## 00000680
|
||||
.L808B4154:
|
||||
/* 007F4 808B4154 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 007F8 808B4158 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 007FC 808B415C 03214024 */ and $t0, $t9, $at
|
||||
/* 00800 808B4160 AC680680 */ sw $t0, 0x0680($v1) ## 00000680
|
||||
/* 00804 808B4164 E48A0150 */ swc1 $f10, 0x0150($a0) ## 00000150
|
||||
.L808B4168:
|
||||
/* 00808 808B4168 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L808B416C:
|
||||
/* 0080C 808B416C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00810 808B4170 03E00008 */ jr $ra
|
||||
/* 00814 808B4174 00000000 */ nop
|
|
@ -1,8 +0,0 @@
|
|||
glabel func_808B4178
|
||||
/* 00818 808B4178 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 0081C 808B417C 3C0E808B */ lui $t6, %hi(func_808B4194) ## $t6 = 808B0000
|
||||
/* 00820 808B4180 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00824 808B4184 25CE4194 */ addiu $t6, $t6, %lo(func_808B4194) ## $t6 = 808B4194
|
||||
/* 00828 808B4188 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
|
||||
/* 0082C 808B418C 03E00008 */ jr $ra
|
||||
/* 00830 808B4190 E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C
|
|
@ -1,135 +0,0 @@
|
|||
glabel func_808B4194
|
||||
/* 00834 808B4194 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00838 808B4198 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0083C 808B419C AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00840 808B41A0 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00844 808B41A4 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
|
||||
/* 00848 808B41A8 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 0084C 808B41AC 44811000 */ mtc1 $at, $f2 ## $f2 = 2.00
|
||||
/* 00850 808B41B0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00854 808B41B4 AFAE0028 */ sw $t6, 0x0028($sp)
|
||||
/* 00858 808B41B8 C4840174 */ lwc1 $f4, 0x0174($a0) ## 00000174
|
||||
/* 0085C 808B41BC 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
|
||||
/* 00860 808B41C0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00864 808B41C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00868 808B41C8 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 0086C 808B41CC 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000
|
||||
/* 00870 808B41D0 E4880174 */ swc1 $f8, 0x0174($a0) ## 00000174
|
||||
/* 00874 808B41D4 C4800174 */ lwc1 $f0, 0x0174($a0) ## 00000174
|
||||
/* 00878 808B41D8 4600103C */ c.lt.s $f2, $f0
|
||||
/* 0087C 808B41DC 00000000 */ nop
|
||||
/* 00880 808B41E0 45020004 */ bc1fl .L808B41F4
|
||||
/* 00884 808B41E4 E6000174 */ swc1 $f0, 0x0174($s0) ## 00000174
|
||||
/* 00888 808B41E8 10000002 */ beq $zero, $zero, .L808B41F4
|
||||
/* 0088C 808B41EC E4820174 */ swc1 $f2, 0x0174($a0) ## 00000174
|
||||
/* 00890 808B41F0 E6000174 */ swc1 $f0, 0x0174($s0) ## 00000174
|
||||
.L808B41F4:
|
||||
/* 00894 808B41F4 26040178 */ addiu $a0, $s0, 0x0178 ## $a0 = 00000178
|
||||
/* 00898 808B41F8 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 0089C 808B41FC 8E060174 */ lw $a2, 0x0174($s0) ## 00000174
|
||||
/* 008A0 808B4200 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 008A4 808B4204 C60A017C */ lwc1 $f10, 0x017C($s0) ## 0000017C
|
||||
/* 008A8 808B4208 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
/* 008AC 808B420C 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 008B0 808B4210 460A603E */ c.le.s $f12, $f10
|
||||
/* 008B4 808B4214 00000000 */ nop
|
||||
/* 008B8 808B4218 45020006 */ bc1fl .L808B4234
|
||||
/* 008BC 808B421C 44811000 */ mtc1 $at, $f2 ## $f2 = -1.00
|
||||
/* 008C0 808B4220 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 008C4 808B4224 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
|
||||
/* 008C8 808B4228 10000004 */ beq $zero, $zero, .L808B423C
|
||||
/* 008CC 808B422C C6100178 */ lwc1 $f16, 0x0178($s0) ## 00000178
|
||||
/* 008D0 808B4230 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
|
||||
.L808B4234:
|
||||
/* 008D4 808B4234 00000000 */ nop
|
||||
/* 008D8 808B4238 C6100178 */ lwc1 $f16, 0x0178($s0) ## 00000178
|
||||
.L808B423C:
|
||||
/* 008DC 808B423C C604016C */ lwc1 $f4, 0x016C($s0) ## 0000016C
|
||||
/* 008E0 808B4240 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
|
||||
/* 008E4 808B4244 46101002 */ mul.s $f0, $f2, $f16
|
||||
/* 008E8 808B4248 C6100170 */ lwc1 $f16, 0x0170($s0) ## 00000170
|
||||
/* 008EC 808B424C C60A0010 */ lwc1 $f10, 0x0010($s0) ## 00000010
|
||||
/* 008F0 808B4250 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008F4 808B4254 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 008F8 808B4258 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 008FC 808B425C 00000000 */ nop
|
||||
/* 00900 808B4260 46100102 */ mul.s $f4, $f0, $f16
|
||||
/* 00904 808B4264 46069200 */ add.s $f8, $f18, $f6
|
||||
/* 00908 808B4268 46045480 */ add.s $f18, $f10, $f4
|
||||
/* 0090C 808B426C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 00910 808B4270 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C
|
||||
/* 00914 808B4274 0C22CFD6 */ jal func_808B3F58
|
||||
/* 00918 808B4278 AFA30020 */ sw $v1, 0x0020($sp)
|
||||
/* 0091C 808B427C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 00920 808B4280 14400012 */ bne $v0, $zero, .L808B42CC
|
||||
/* 00924 808B4284 8FA30020 */ lw $v1, 0x0020($sp)
|
||||
/* 00928 808B4288 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 0092C 808B428C C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 00930 808B4290 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 00934 808B4294 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00938 808B4298 E6060008 */ swc1 $f6, 0x0008($s0) ## 00000008
|
||||
/* 0093C 808B429C E6080010 */ swc1 $f8, 0x0010($s0) ## 00000010
|
||||
/* 00940 808B42A0 8C4F0680 */ lw $t7, 0x0680($v0) ## 00000680
|
||||
/* 00944 808B42A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00948 808B42A8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 0094C 808B42AC 01E1C024 */ and $t8, $t7, $at
|
||||
/* 00950 808B42B0 AC580680 */ sw $t8, 0x0680($v0) ## 00000680
|
||||
/* 00954 808B42B4 E60C0150 */ swc1 $f12, 0x0150($s0) ## 00000150
|
||||
/* 00958 808B42B8 E60C0178 */ swc1 $f12, 0x0178($s0) ## 00000178
|
||||
/* 0095C 808B42BC 0C22D0E0 */ jal func_808B4380
|
||||
/* 00960 808B42C0 E60C0174 */ swc1 $f12, 0x0174($s0) ## 00000174
|
||||
/* 00964 808B42C4 10000027 */ beq $zero, $zero, .L808B4364
|
||||
/* 00968 808B42C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L808B42CC:
|
||||
/* 0096C 808B42CC 10600024 */ beq $v1, $zero, .L808B4360
|
||||
/* 00970 808B42D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00974 808B42D4 8E391C44 */ lw $t9, 0x1C44($s1) ## 00001C44
|
||||
/* 00978 808B42D8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 0097C 808B42DC 0C22D004 */ jal func_808B4010
|
||||
/* 00980 808B42E0 AFB90028 */ sw $t9, 0x0028($sp)
|
||||
/* 00984 808B42E4 10400003 */ beq $v0, $zero, .L808B42F4
|
||||
/* 00988 808B42E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0098C 808B42EC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00990 808B42F0 240528C9 */ addiu $a1, $zero, 0x28C9 ## $a1 = 000028C9
|
||||
.L808B42F4:
|
||||
/* 00994 808B42F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00998 808B42F8 0C22CE90 */ jal func_808B3A40
|
||||
/* 0099C 808B42FC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 009A0 808B4300 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 009A4 808B4304 50400006 */ beql $v0, $zero, .L808B4320
|
||||
/* 009A8 808B4308 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
|
||||
/* 009AC 808B430C 0C01E221 */ jal func_80078884
|
||||
/* 009B0 808B4310 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 009B4 808B4314 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 009B8 808B4318 00000000 */ nop
|
||||
/* 009BC 808B431C C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
|
||||
.L808B4320:
|
||||
/* 009C0 808B4320 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 009C4 808B4324 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 009C8 808B4328 E6100008 */ swc1 $f16, 0x0008($s0) ## 00000008
|
||||
/* 009CC 808B432C E60A0010 */ swc1 $f10, 0x0010($s0) ## 00000010
|
||||
/* 009D0 808B4330 8FA80028 */ lw $t0, 0x0028($sp)
|
||||
/* 009D4 808B4334 240B000A */ addiu $t3, $zero, 0x000A ## $t3 = 0000000A
|
||||
/* 009D8 808B4338 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009DC 808B433C 8D090680 */ lw $t1, 0x0680($t0) ## 00000680
|
||||
/* 009E0 808B4340 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 009E4 808B4344 01215024 */ and $t2, $t1, $at
|
||||
/* 009E8 808B4348 AD0A0680 */ sw $t2, 0x0680($t0) ## 00000680
|
||||
/* 009EC 808B434C E60C0150 */ swc1 $f12, 0x0150($s0) ## 00000150
|
||||
/* 009F0 808B4350 E60C0178 */ swc1 $f12, 0x0178($s0) ## 00000178
|
||||
/* 009F4 808B4354 E60C0174 */ swc1 $f12, 0x0174($s0) ## 00000174
|
||||
/* 009F8 808B4358 0C22D021 */ jal func_808B4084
|
||||
/* 009FC 808B435C A60B0168 */ sh $t3, 0x0168($s0) ## 00000168
|
||||
.L808B4360:
|
||||
/* 00A00 808B4360 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L808B4364:
|
||||
/* 00A04 808B4364 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00A08 808B4368 2405200A */ addiu $a1, $zero, 0x200A ## $a1 = 0000200A
|
||||
/* 00A0C 808B436C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00A10 808B4370 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 00A14 808B4374 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00A18 808B4378 03E00008 */ jr $ra
|
||||
/* 00A1C 808B437C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
|
@ -1,21 +0,0 @@
|
|||
glabel func_808B4380
|
||||
/* 00A20 808B4380 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00A24 808B4384 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00A28 808B4388 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00A2C 808B438C 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00A30 808B4390 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
|
||||
/* 00A34 808B4394 E480005C */ swc1 $f0, 0x005C($a0) ## 0000005C
|
||||
/* 00A38 808B4398 E4800060 */ swc1 $f0, 0x0060($a0) ## 00000060
|
||||
/* 00A3C 808B439C E4800064 */ swc1 $f0, 0x0064($a0) ## 00000064
|
||||
/* 00A40 808B43A0 E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C
|
||||
/* 00A44 808B43A4 0C22CF77 */ jal func_808B3DDC
|
||||
/* 00A48 808B43A8 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00A4C 808B43AC 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00A50 808B43B0 3C0E808B */ lui $t6, %hi(func_808B43D0) ## $t6 = 808B0000
|
||||
/* 00A54 808B43B4 25CE43D0 */ addiu $t6, $t6, %lo(func_808B43D0) ## $t6 = 808B43D0
|
||||
/* 00A58 808B43B8 E4800080 */ swc1 $f0, 0x0080($a0) ## 00000080
|
||||
/* 00A5C 808B43BC AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
|
||||
/* 00A60 808B43C0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00A64 808B43C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00A68 808B43C8 03E00008 */ jr $ra
|
||||
/* 00A6C 808B43CC 00000000 */ nop
|
|
@ -1,85 +0,0 @@
|
|||
.rdata
|
||||
glabel D_808B46A0
|
||||
.asciz "Warning : ロンロン木箱落ちすぎた(%s %d)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B46DC
|
||||
.asciz "../z_bg_spot15_rrbox.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_808B4704
|
||||
.float 0.001
|
||||
|
||||
glabel D_808B4708
|
||||
.word 0xC6F9EC00
|
||||
glabel D_808B470C
|
||||
.word 0xBA83126F
|
||||
|
||||
.text
|
||||
glabel func_808B43D0
|
||||
/* 00A70 808B43D0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00A74 808B43D4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00A78 808B43D8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00A7C 808B43DC C4800150 */ lwc1 $f0, 0x0150($a0) ## 00000150
|
||||
/* 00A80 808B43E0 3C01808B */ lui $at, %hi(D_808B4704) ## $at = 808B0000
|
||||
/* 00A84 808B43E4 C4244704 */ lwc1 $f4, %lo(D_808B4704)($at)
|
||||
/* 00A88 808B43E8 46000005 */ abs.s $f0, $f0
|
||||
/* 00A8C 808B43EC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00A90 808B43F0 4600203C */ c.lt.s $f4, $f0
|
||||
/* 00A94 808B43F4 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00A98 808B43F8 45020008 */ bc1fl .L808B441C
|
||||
/* 00A9C 808B43FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00AA0 808B4400 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 00AA4 808B4404 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00AA8 808B4408 E4860150 */ swc1 $f6, 0x0150($a0) ## 00000150
|
||||
/* 00AAC 808B440C 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
||||
/* 00AB0 808B4410 01C17824 */ and $t7, $t6, $at
|
||||
/* 00AB4 808B4414 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
||||
/* 00AB8 808B4418 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L808B441C:
|
||||
/* 00ABC 808B441C 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00AC0 808B4420 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00AC4 808B4424 3C01808B */ lui $at, %hi(D_808B4708) ## $at = 808B0000
|
||||
/* 00AC8 808B4428 C4284708 */ lwc1 $f8, %lo(D_808B4708)($at)
|
||||
/* 00ACC 808B442C C6020028 */ lwc1 $f2, 0x0028($s0) ## 00000028
|
||||
/* 00AD0 808B4430 3C04808B */ lui $a0, %hi(D_808B46A0) ## $a0 = 808B0000
|
||||
/* 00AD4 808B4434 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00AD8 808B4438 4608103E */ c.le.s $f2, $f8
|
||||
/* 00ADC 808B443C 248446A0 */ addiu $a0, $a0, %lo(D_808B46A0) ## $a0 = 808B46A0
|
||||
/* 00AE0 808B4440 24060257 */ addiu $a2, $zero, 0x0257 ## $a2 = 00000257
|
||||
/* 00AE4 808B4444 4502000A */ bc1fl .L808B4470
|
||||
/* 00AE8 808B4448 C6000080 */ lwc1 $f0, 0x0080($s0) ## 00000080
|
||||
/* 00AEC 808B444C 3C05808B */ lui $a1, %hi(D_808B46DC) ## $a1 = 808B0000
|
||||
/* 00AF0 808B4450 24A546DC */ addiu $a1, $a1, %lo(D_808B46DC) ## $a1 = 808B46DC
|
||||
/* 00AF4 808B4454 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00AF8 808B4458 8607001C */ lh $a3, 0x001C($s0) ## 0000001C
|
||||
/* 00AFC 808B445C 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00B00 808B4460 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B04 808B4464 10000010 */ beq $zero, $zero, .L808B44A8
|
||||
/* 00B08 808B4468 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00B0C 808B446C C6000080 */ lwc1 $f0, 0x0080($s0) ## 00000080
|
||||
.L808B4470:
|
||||
/* 00B10 808B4470 3C01808B */ lui $at, %hi(D_808B470C) ## $at = 808B0000
|
||||
/* 00B14 808B4474 C430470C */ lwc1 $f16, %lo(D_808B470C)($at)
|
||||
/* 00B18 808B4478 46020281 */ sub.s $f10, $f0, $f2
|
||||
/* 00B1C 808B447C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B20 808B4480 460A803E */ c.le.s $f16, $f10
|
||||
/* 00B24 808B4484 00000000 */ nop
|
||||
/* 00B28 808B4488 45020007 */ bc1fl .L808B44A8
|
||||
/* 00B2C 808B448C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00B30 808B4490 0C22D021 */ jal func_808B4084
|
||||
/* 00B34 808B4494 E6000028 */ swc1 $f0, 0x0028($s0) ## 00000028
|
||||
/* 00B38 808B4498 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B3C 808B449C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00B40 808B44A0 240528C9 */ addiu $a1, $zero, 0x28C9 ## $a1 = 000028C9
|
||||
/* 00B44 808B44A4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808B44A8:
|
||||
/* 00B48 808B44A8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00B4C 808B44AC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00B50 808B44B0 03E00008 */ jr $ra
|
||||
/* 00B54 808B44B4 00000000 */ nop
|
|
@ -1,6 +0,0 @@
|
|||
glabel func_808B44B8
|
||||
/* 00B58 808B44B8 3C0E808B */ lui $t6, %hi(func_808B44CC) ## $t6 = 808B0000
|
||||
/* 00B5C 808B44BC AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00B60 808B44C0 25CE44CC */ addiu $t6, $t6, %lo(func_808B44CC) ## $t6 = 808B44CC
|
||||
/* 00B64 808B44C4 03E00008 */ jr $ra
|
||||
/* 00B68 808B44C8 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
|
|
@ -1,9 +0,0 @@
|
|||
glabel func_808B44CC
|
||||
/* 00B6C 808B44CC 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00B70 808B44D0 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00B74 808B44D4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00B78 808B44D8 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
||||
/* 00B7C 808B44DC 01C17824 */ and $t7, $t6, $at
|
||||
/* 00B80 808B44E0 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
||||
/* 00B84 808B44E4 03E00008 */ jr $ra
|
||||
/* 00B88 808B44E8 E4840150 */ swc1 $f4, 0x0150($a0) ## 00000150
|
|
@ -1,28 +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_808B4590
|
||||
.word 0x00000000
|
||||
glabel Bg_Spot15_Rrbox_InitVars
|
||||
.word 0x01070100, 0x00000000, 0x00F00000, 0x00000184
|
||||
.word BgSpot15Rrbox_Init
|
||||
.word BgSpot15Rrbox_Destroy
|
||||
.word BgSpot15Rrbox_Update
|
||||
.word BgSpot15Rrbox_Draw
|
||||
glabel D_808B45B4
|
||||
.word 0xC8500064, 0xB0F403E8, 0xB0F801F4, 0x30FC03E8
|
||||
glabel D_808B45C4
|
||||
.word 0x44408000, 0x44BA4000, 0xC3958000, 0x44408000, 0x44C1C000, 0xC3958000
|
||||
glabel D_808B45DC
|
||||
.word 0x41EFEB85, 0x3C23D70A, 0xC1EFEB85, 0xC1EFEB85, 0x3C23D70A, 0xC1EFEB85, 0xC1EFEB85, 0x3C23D70A, 0x41EFEB85, 0x41EFEB85, 0x3C23D70A, 0x41EFEB85, 0x00000000, 0x3C23D70A, 0x00000000
|
||||
glabel D_808B4618
|
||||
.word 0x00000000, 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_808B4710
|
||||
.incbin "baserom/ovl_Bg_Spot15_Rrbox", 0xDB0, 0x00000140
|
|
@ -521,6 +521,7 @@ f32 func_8003C8EC(GlobalContext*, CollisionContext*, CollisionPoly**, Vec3f*);
|
|||
f32 func_8003C940(CollisionContext*, CollisionPoly**, s32*, Vec3f*);
|
||||
f32 func_8003C9A4(CollisionContext*, CollisionPoly**, UNK_PTR, Actor*, Vec3f*);
|
||||
f32 func_8003CA0C(GlobalContext*, CollisionContext*, CollisionPoly**, u32*, Actor*, Vec3f*);
|
||||
f32 func_8003CA64(CollisionContext* colCtx, CollisionPoly** outPoly, s32* bgId, Actor* actor, Vec3f* pos, f32 chkDist);
|
||||
f32 func_8003CB30(CollisionContext*, CollisionPoly*, Vec3f*, MtxF*);
|
||||
f32 func_8003CCA4(CollisionContext*, CollisionPoly**, s32*, Vec3f*);
|
||||
// ? func_8003CDD4(?);
|
||||
|
@ -624,6 +625,7 @@ s32 func_80043548(DynaPolyActor* dynaActor);
|
|||
s32 func_8004356C(DynaPolyActor* dynaActor);
|
||||
s32 func_80043590(DynaPolyActor* dynaActor);
|
||||
s32 func_800435B4(DynaPolyActor* dynaActor);
|
||||
s32 func_800435D8(GlobalContext* globalCtx, DynaPolyActor* dyna, s16 arg2, s16 arg3, s16 arg4);
|
||||
f32 func_800437F0(f32, f32);
|
||||
// ? func_8004389C(?);
|
||||
// ? func_800438DC(?);
|
||||
|
|
3
spec
3
spec
|
@ -1304,8 +1304,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Spot15_Rrbox"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot15_Rrbox/z_bg_spot15_rrbox.o"
|
||||
include "build/data/overlays/actors/z_bg_spot15_rrbox.data.o"
|
||||
include "build/data/overlays/actors/z_bg_spot15_rrbox.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot15_Rrbox/ovl_Bg_Spot15_Rrbox_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -9,7 +9,20 @@ void BgSpot15Rrbox_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void BgSpot15Rrbox_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgSpot15Rrbox_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void func_808B4084(BgSpot15Rrbox* this, GlobalContext* globalCtx);
|
||||
void func_808B40AC(BgSpot15Rrbox* this, GlobalContext* globalCtx);
|
||||
void func_808B4194(BgSpot15Rrbox* this, GlobalContext* globalCtx);
|
||||
void func_808B4380(BgSpot15Rrbox* this, GlobalContext* globalCtx);
|
||||
void func_808B43D0(BgSpot15Rrbox* this, GlobalContext* globalCtx);
|
||||
void func_808B44B8(BgSpot15Rrbox* this, GlobalContext* globalCtx);
|
||||
void func_808B4178(BgSpot15Rrbox* this, GlobalContext* globalCtx);
|
||||
void func_808B44CC(BgSpot15Rrbox* this, GlobalContext* globalCtx);
|
||||
|
||||
s16 D_808B4590 = 0;
|
||||
|
||||
extern UNK_TYPE D_06000348;
|
||||
extern Gfx D_06000180[];
|
||||
|
||||
const ActorInit Bg_Spot15_Rrbox_InitVars = {
|
||||
ACTOR_BG_SPOT15_RRBOX,
|
||||
ACTORTYPE_BG,
|
||||
|
@ -21,45 +34,331 @@ const ActorInit Bg_Spot15_Rrbox_InitVars = {
|
|||
(ActorFunc)BgSpot15Rrbox_Update,
|
||||
(ActorFunc)BgSpot15Rrbox_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B3960.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B39E8.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 500, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B3A34.s")
|
||||
Vec3f D_808B45C4[] = {
|
||||
{ 770.0f, 1490.0f, -299.0f },
|
||||
{ 770.0f, 1550.0f, -299.0f },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B3A40.s")
|
||||
Vec3f D_808B45DC[] = {
|
||||
{ 29.99f, 0.01f, -29.99f }, { -29.99f, 0.01f, -29.99f }, { -29.99f, 0.01f, 29.99f },
|
||||
{ 29.99f, 0.01f, 29.99f }, { 0.0f, 0.01f, 0.0f },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B3AAC.s")
|
||||
void func_808B3960(BgSpot15Rrbox* this, GlobalContext* globalCtx, UNK_TYPE* arg2, DynaPolyMoveFlag flags) {
|
||||
s32 pad;
|
||||
UNK_TYPE temp = 0;
|
||||
u32 pad2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/BgSpot15Rrbox_Init.s")
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, flags);
|
||||
DynaPolyInfo_Alloc(arg2, &temp);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/BgSpot15Rrbox_Destroy.s")
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, temp);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B3CA0.s")
|
||||
if (this->dyna.dynaPolyId == 0x32) {
|
||||
osSyncPrintf("Warning : move BG 登録失敗(%s %d)(name %d)(arg_data 0x%04x)\n", "../z_bg_spot15_rrbox.c", 171,
|
||||
this->dyna.actor.id, this->dyna.actor.params);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B3DDC.s")
|
||||
void func_808B39E8(Vec3f* arg0, Vec3f* arg1, f32 arg2, f32 arg3) {
|
||||
arg0->x = (arg1->z * arg2) + (arg1->x * arg3);
|
||||
arg0->y = arg1->y;
|
||||
arg0->z = (arg1->z * arg3) - (arg1->x * arg2);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B3F58.s")
|
||||
void func_808B3A34(BgSpot15Rrbox* this) {
|
||||
this->bgId = 50;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B4010.s")
|
||||
s32 func_808B3A40(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
DynaPolyActor* dynaPolyActor = DynaPolyInfo_GetActor(&globalCtx->colCtx, this->bgId);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B4084.s")
|
||||
if (dynaPolyActor != NULL &&
|
||||
Math3D_Dist2DSq(dynaPolyActor->actor.posRot.pos.x, dynaPolyActor->actor.posRot.pos.z,
|
||||
this->dyna.actor.posRot.pos.x, this->dyna.actor.posRot.pos.z) < 0.01f) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B40AC.s")
|
||||
s32 func_808B3AAC(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
s16 rotY;
|
||||
Actor* actor = &this->dyna.actor;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B4178.s")
|
||||
if (globalCtx->sceneNum == SCENE_SOUKO) {
|
||||
return true;
|
||||
} else if (func_808B3A40(this, globalCtx)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B4194.s")
|
||||
if (actor->posRot.pos.x <= 930.0f && actor->posRot.pos.z >= -360.0f) {
|
||||
if (this->dyna.unk_150 >= 0.0f) {
|
||||
rotY = actor->posRot.rot.y;
|
||||
} else {
|
||||
rotY = actor->posRot.rot.y + 0x8000;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B4380.s")
|
||||
if (rotY < 0x2000 && rotY > -0x6000) {
|
||||
return gSaveContext.eventChkInf[1] & 0x10;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B43D0.s")
|
||||
return true;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B44B8.s")
|
||||
void BgSpot15Rrbox_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot15Rrbox* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/func_808B44CC.s")
|
||||
func_808B3960(this, globalCtx, &D_06000348, DPM_UNK);
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
func_808B3A34(this);
|
||||
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params & 0x3F))) {
|
||||
func_808B44B8(this, globalCtx);
|
||||
this->dyna.actor.posRot.pos = D_808B45C4[D_808B4590];
|
||||
D_808B4590++;
|
||||
} else {
|
||||
func_808B4084(this, globalCtx);
|
||||
}
|
||||
osSyncPrintf("(spot15 ロンロン木箱)(arg_data 0x%04x)\n", this->dyna.actor.params);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/BgSpot15Rrbox_Update.s")
|
||||
void BgSpot15Rrbox_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot15Rrbox* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot15_Rrbox/BgSpot15Rrbox_Draw.s")
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
D_808B4590 = 0;
|
||||
}
|
||||
|
||||
s32 func_808B3CA0(BgSpot15Rrbox* this, GlobalContext* globalCtx, s32 arg2) {
|
||||
f32 chkDist = 0.0f;
|
||||
Vec3f actorPosition;
|
||||
Vec3f actorScale;
|
||||
|
||||
func_808B3A34(this);
|
||||
|
||||
actorScale.x = D_808B45DC[arg2].x * (this->dyna.actor.scale.x * 10.0f);
|
||||
actorScale.y = D_808B45DC[arg2].y * (this->dyna.actor.scale.y * 10.0f);
|
||||
actorScale.z = D_808B45DC[arg2].z * (this->dyna.actor.scale.z * 10.0f);
|
||||
|
||||
func_808B39E8(&actorPosition, &actorScale, this->unk_16C, this->unk_170);
|
||||
|
||||
actorPosition.x += this->dyna.actor.posRot.pos.x;
|
||||
actorPosition.y += this->dyna.actor.pos4.y;
|
||||
actorPosition.z += this->dyna.actor.posRot.pos.z;
|
||||
|
||||
this->dyna.actor.groundY = func_8003CA64(&globalCtx->colCtx, &this->dyna.actor.floorPoly, &this->bgId,
|
||||
&this->dyna.actor, &actorPosition, chkDist);
|
||||
|
||||
if ((this->dyna.actor.groundY - this->dyna.actor.posRot.pos.y) >= -0.001f) {
|
||||
this->dyna.actor.posRot.pos.y = this->dyna.actor.groundY;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
f32 func_808B3DDC(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
s32 i;
|
||||
Vec3f position;
|
||||
Vec3f scale;
|
||||
Actor* actor = &this->dyna.actor;
|
||||
f32 yIntersect;
|
||||
f32 returnValue = -32000.0f;
|
||||
s32 bgId;
|
||||
|
||||
func_808B3A34(this);
|
||||
for (i = 0; i < ARRAY_COUNT(D_808B45DC); i++) {
|
||||
scale.x = D_808B45DC[i].x * (actor->scale.x * 10.0f);
|
||||
scale.y = D_808B45DC[i].y * (actor->scale.y * 10.0f);
|
||||
scale.z = D_808B45DC[i].z * (actor->scale.z * 10.0f);
|
||||
|
||||
func_808B39E8(&position, &scale, this->unk_16C, this->unk_170);
|
||||
|
||||
position.x += actor->posRot.pos.x;
|
||||
position.y += actor->pos4.y;
|
||||
position.z += actor->posRot.pos.z;
|
||||
|
||||
yIntersect = func_8003CA64(&globalCtx->colCtx, &actor->floorPoly, &bgId, actor, &position, 0);
|
||||
|
||||
if (returnValue < yIntersect) {
|
||||
returnValue = yIntersect;
|
||||
this->bgId = bgId;
|
||||
}
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
s32 func_808B3F58(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
if (func_808B3CA0(this, globalCtx, 0)) {
|
||||
return true;
|
||||
}
|
||||
if (func_808B3CA0(this, globalCtx, 1)) {
|
||||
return true;
|
||||
}
|
||||
if (func_808B3CA0(this, globalCtx, 2)) {
|
||||
return true;
|
||||
}
|
||||
if (func_808B3CA0(this, globalCtx, 3)) {
|
||||
return true;
|
||||
}
|
||||
if (func_808B3CA0(this, globalCtx, 4)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
s32 func_808B4010(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
return !func_800435D8(globalCtx, &this->dyna, this->dyna.actor.scale.x * 290.0f,
|
||||
this->dyna.actor.scale.x * 290.0f + 20.0f, 1.0f);
|
||||
}
|
||||
|
||||
void func_808B4084(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_808B40AC;
|
||||
this->dyna.actor.gravity = 0.0f;
|
||||
this->dyna.actor.velocity.x = 0.0f;
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
this->dyna.actor.velocity.z = 0.0f;
|
||||
}
|
||||
|
||||
void func_808B40AC(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (this->unk_168 <= 0 && fabsf(this->dyna.unk_150) > 0.001f) {
|
||||
if (func_808B3AAC(this, globalCtx) && !func_808B4010(this, globalCtx)) {
|
||||
this->unk_17C = this->dyna.unk_150;
|
||||
func_808B4178(this, globalCtx);
|
||||
} else {
|
||||
player->stateFlags2 &= ~0x10;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
} else {
|
||||
player->stateFlags2 &= ~0x10;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void func_808B4178(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_808B4194;
|
||||
this->dyna.actor.gravity = 0.0f;
|
||||
}
|
||||
|
||||
void func_808B4194(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
f32 sign;
|
||||
Player* player = PLAYER;
|
||||
f32 tempUnk178;
|
||||
s32 approxFResult;
|
||||
Actor* actor = &this->dyna.actor;
|
||||
|
||||
this->unk_174 += 0.5f;
|
||||
|
||||
this->unk_174 = CLAMP_MAX(this->unk_174, 2.0f);
|
||||
|
||||
approxFResult = Math_ApproxF(&this->unk_178, 20.0f, this->unk_174);
|
||||
|
||||
sign = this->unk_17C >= 0.0f ? 1.0f : -1.0f;
|
||||
|
||||
tempUnk178 = (f32)sign * this->unk_178;
|
||||
actor->posRot.pos.x = actor->initPosRot.pos.x + (tempUnk178 * this->unk_16C);
|
||||
actor->posRot.pos.z = actor->initPosRot.pos.z + (tempUnk178 * this->unk_170);
|
||||
|
||||
if (!func_808B3F58(this, globalCtx)) {
|
||||
actor->initPosRot.pos.x = actor->posRot.pos.x;
|
||||
actor->initPosRot.pos.z = actor->posRot.pos.z;
|
||||
player->stateFlags2 &= ~0x10;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
this->unk_178 = 0.0f;
|
||||
this->unk_174 = 0.0f;
|
||||
func_808B4380(this, globalCtx);
|
||||
} else if (approxFResult) {
|
||||
player = PLAYER;
|
||||
if (func_808B4010(this, globalCtx)) {
|
||||
Audio_PlayActorSound2(actor, NA_SE_EV_WOOD_BOUND);
|
||||
}
|
||||
if (func_808B3A40(this, globalCtx)) {
|
||||
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||
}
|
||||
actor->initPosRot.pos.x = actor->posRot.pos.x;
|
||||
actor->initPosRot.pos.z = actor->posRot.pos.z;
|
||||
player->stateFlags2 &= ~0x10;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
this->unk_178 = 0.0f;
|
||||
this->unk_174 = 0.0f;
|
||||
this->unk_168 = 10;
|
||||
func_808B4084(this, globalCtx);
|
||||
}
|
||||
Audio_PlayActorSound2(actor, NA_SE_EV_ROCK_SLIDE - SFX_FLAG);
|
||||
}
|
||||
|
||||
void func_808B4380(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
this->dyna.actor.velocity.x = 0.0f;
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
this->dyna.actor.velocity.z = 0.0f;
|
||||
this->dyna.actor.gravity = -1.0f;
|
||||
this->dyna.actor.groundY = func_808B3DDC(this, globalCtx);
|
||||
this->actionFunc = func_808B43D0;
|
||||
}
|
||||
|
||||
void func_808B43D0(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
f32 groundY;
|
||||
Player* player = PLAYER;
|
||||
Actor* actor = &this->dyna.actor;
|
||||
|
||||
if (fabsf(this->dyna.unk_150) > 0.001f) {
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
player->stateFlags2 &= ~0x10;
|
||||
}
|
||||
|
||||
Actor_MoveForward(actor);
|
||||
|
||||
if (actor->posRot.pos.y <= -31990.0f) {
|
||||
osSyncPrintf("Warning : ロンロン木箱落ちすぎた(%s %d)(arg_data 0x%04x)\n", "../z_bg_spot15_rrbox.c", 599,
|
||||
actor->params);
|
||||
|
||||
Actor_Kill(actor);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
groundY = actor->groundY;
|
||||
|
||||
if ((groundY - actor->posRot.pos.y) >= -0.001f) {
|
||||
actor->posRot.pos.y = groundY;
|
||||
func_808B4084(this, globalCtx);
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WOOD_BOUND);
|
||||
}
|
||||
}
|
||||
|
||||
void func_808B44B8(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_808B44CC;
|
||||
}
|
||||
|
||||
void func_808B44CC(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
player->stateFlags2 &= ~0x10;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
|
||||
void BgSpot15Rrbox_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot15Rrbox* this = THIS;
|
||||
|
||||
if (this->unk_168 > 0) {
|
||||
this->unk_168--;
|
||||
}
|
||||
this->dyna.actor.posRot.rot.y = this->dyna.unk_158;
|
||||
this->unk_16C = Math_Sins(this->dyna.actor.posRot.rot.y);
|
||||
this->unk_170 = Math_Coss(this->dyna.actor.posRot.rot.y);
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
void BgSpot15Rrbox_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000180);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,18 @@
|
|||
|
||||
struct BgSpot15Rrbox;
|
||||
|
||||
typedef void (*BgSpot15RrboxActionFunc)(struct BgSpot15Rrbox*, GlobalContext*);
|
||||
|
||||
typedef struct BgSpot15Rrbox {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x38];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgSpot15RrboxActionFunc actionFunc;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016C */ f32 unk_16C;
|
||||
/* 0x0170 */ f32 unk_170;
|
||||
/* 0x0174 */ f32 unk_174;
|
||||
/* 0x0178 */ f32 unk_178;
|
||||
/* 0x017C */ f32 unk_17C;
|
||||
/* 0x0180 */ s32 bgId;
|
||||
} BgSpot15Rrbox; // size = 0x0184
|
||||
|
||||
extern const ActorInit Bg_Spot15_Rrbox_InitVars;
|
||||
|
|
|
@ -317,6 +317,10 @@ D_060011EC = 0x060011EC;
|
|||
D_06002260 = 0x06002260;
|
||||
D_0600238C = 0x0600238C;
|
||||
|
||||
// z_bg_spot15_rrbox
|
||||
D_06000348 = 0x06000348;
|
||||
D_06000180 = 0x06000180;
|
||||
|
||||
// z_bg_spot18_futa
|
||||
D_06000368 = 0x06000368;
|
||||
D_06000150 = 0x06000150;
|
||||
|
|
Loading…
Add table
Reference in a new issue