mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-02 17:44:25 +00:00
z_bg_spot18_basket (#417)
* OK - data transferred and two functions done * Not OK * Not OK * OK - several more functions * OK - another function * OK - 2 more functions * OK - another function * OK - one function lefet * Cleaned up file and removed ASM files * Removed unneeded forward declaration * Some cleanup * More cleanup * Minor cleanup * Minor cleanup * Minor cleanup * Addressed a few issues * Changed include statement format * Changed numbers to hex * Changed another number to hex
This commit is contained in:
parent
0453c7d3cf
commit
aac882a307
24 changed files with 416 additions and 1126 deletions
|
@ -1,20 +0,0 @@
|
|||
glabel BgSpot18Basket_Destroy
|
||||
/* 00394 808B7AA4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00398 808B7AA8 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 0039C 808B7AAC 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 003A0 808B7AB0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 003A4 808B7AB4 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
|
||||
/* 003A8 808B7AB8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 003AC 808B7ABC 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 003B0 808B7AC0 AFA7001C */ sw $a3, 0x001C($sp)
|
||||
/* 003B4 808B7AC4 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 003B8 808B7AC8 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 003BC 808B7ACC 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 003C0 808B7AD0 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 003C4 808B7AD4 0C016F32 */ jal Collider_DestroyJntSph
|
||||
/* 003C8 808B7AD8 24A50164 */ addiu $a1, $a1, 0x0164 ## $a1 = 00000164
|
||||
/* 003CC 808B7ADC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003D0 808B7AE0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003D4 808B7AE4 03E00008 */ jr $ra
|
||||
/* 003D8 808B7AE8 00000000 */ nop
|
|
@ -1,25 +0,0 @@
|
|||
glabel BgSpot18Basket_Draw
|
||||
/* 00DE4 808B84F4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00DE8 808B84F8 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00DEC 808B84FC AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00DF0 808B8500 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00DF4 808B8504 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00DF8 808B8508 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 00DFC 808B850C 24A50164 */ addiu $a1, $a1, 0x0164 ## $a1 = 00000164
|
||||
/* 00E00 808B8510 0C018A29 */ jal func_800628A4
|
||||
/* 00E04 808B8514 AFA50018 */ sw $a1, 0x0018($sp)
|
||||
/* 00E08 808B8518 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00E0C 808B851C 0C018A29 */ jal func_800628A4
|
||||
/* 00E10 808B8520 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
|
||||
/* 00E14 808B8524 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00E18 808B8528 24A518B0 */ addiu $a1, $a1, 0x18B0 ## $a1 = 060018B0
|
||||
/* 00E1C 808B852C 0C00D498 */ jal Gfx_DrawDListOpa
|
||||
|
||||
/* 00E20 808B8530 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00E24 808B8534 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00E28 808B8538 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00E2C 808B853C 03E00008 */ jr $ra
|
||||
/* 00E30 808B8540 00000000 */ nop
|
||||
/* 00E34 808B8544 00000000 */ nop
|
||||
/* 00E38 808B8548 00000000 */ nop
|
||||
/* 00E3C 808B854C 00000000 */ nop
|
|
@ -1,130 +0,0 @@
|
|||
.rdata
|
||||
glabel D_808B85F0
|
||||
.asciz "\x1b[31m"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B85F8
|
||||
.asciz "Error : 変化壷蓋発生失敗(%s %d)\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B8620
|
||||
.asciz "../z_bg_spot18_basket.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B8638
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_808B863C
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel BgSpot18Basket_Init
|
||||
/* 0021C 808B792C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00220 808B7930 AFB10038 */ sw $s1, 0x0038($sp)
|
||||
/* 00224 808B7934 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00228 808B7938 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 0022C 808B793C AFB00034 */ sw $s0, 0x0034($sp)
|
||||
/* 00230 808B7940 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00234 808B7944 AFA00044 */ sw $zero, 0x0044($sp)
|
||||
/* 00238 808B7948 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 0023C 808B794C 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
||||
/* 00240 808B7950 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00244 808B7954 0C22DDC4 */ jal func_808B7710
|
||||
/* 00248 808B7958 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 0024C 808B795C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00250 808B7960 24842154 */ addiu $a0, $a0, 0x2154 ## $a0 = 06002154
|
||||
/* 00254 808B7964 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 00258 808B7968 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFF4
|
||||
/* 0025C 808B796C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00260 808B7970 26250810 */ addiu $a1, $s1, 0x0810 ## $a1 = 00000810
|
||||
/* 00264 808B7974 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00268 808B7978 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 0026C 808B797C 8FA70044 */ lw $a3, 0x0044($sp)
|
||||
/* 00270 808B7980 3C05808C */ lui $a1, %hi(D_808B85D4) ## $a1 = 808C0000
|
||||
/* 00274 808B7984 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 00278 808B7988 24A585D4 */ addiu $a1, $a1, %lo(D_808B85D4) ## $a1 = 808B85D4
|
||||
/* 0027C 808B798C 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00280 808B7990 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00284 808B7994 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
|
||||
/* 00288 808B7998 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
|
||||
/* 0028C 808B799C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00290 808B79A0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00294 808B79A4 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00298 808B79A8 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
|
||||
/* 0029C 808B79AC 3C01808C */ lui $at, %hi(D_808B863C) ## $at = 808C0000
|
||||
/* 002A0 808B79B0 C426863C */ lwc1 $f6, %lo(D_808B863C)($at)
|
||||
/* 002A4 808B79B4 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
|
||||
/* 002A8 808B79B8 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 002AC 808B79BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 002B0 808B79C0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 002B4 808B79C4 00052A03 */ sra $a1, $a1, 8
|
||||
/* 002B8 808B79C8 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 002BC 808B79CC E608000C */ swc1 $f8, 0x000C($s0) ## 0000000C
|
||||
/* 002C0 808B79D0 C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
|
||||
/* 002C4 808B79D4 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 002C8 808B79D8 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028
|
||||
/* 002CC 808B79DC 10400005 */ beq $v0, $zero, .L808B79F4
|
||||
/* 002D0 808B79E0 00000000 */ nop
|
||||
/* 002D4 808B79E4 0C22DEEC */ jal func_808B7BB0
|
||||
/* 002D8 808B79E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002DC 808B79EC 10000029 */ beq $zero, $zero, .L808B7A94
|
||||
/* 002E0 808B79F0 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
.L808B79F4:
|
||||
/* 002E4 808B79F4 0C22DEBB */ jal func_808B7AEC
|
||||
/* 002E8 808B79F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002EC 808B79FC C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
|
||||
/* 002F0 808B7A00 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF
|
||||
/* 002F4 808B7A04 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
|
||||
/* 002F8 808B7A08 E7B00010 */ swc1 $f16, 0x0010($sp)
|
||||
/* 002FC 808B7A0C C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
|
||||
/* 00300 808B7A10 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00304 808B7A14 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
|
||||
/* 00308 808B7A18 E7B20014 */ swc1 $f18, 0x0014($sp)
|
||||
/* 0030C 808B7A1C C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
|
||||
/* 00310 808B7A20 240701C3 */ addiu $a3, $zero, 0x01C3 ## $a3 = 000001C3
|
||||
/* 00314 808B7A24 E7A40018 */ swc1 $f4, 0x0018($sp)
|
||||
/* 00318 808B7A28 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4
|
||||
/* 0031C 808B7A2C AFAE001C */ sw $t6, 0x001C($sp)
|
||||
/* 00320 808B7A30 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
|
||||
/* 00324 808B7A34 25F81555 */ addiu $t8, $t7, 0x1555 ## $t8 = 00001555
|
||||
/* 00328 808B7A38 AFB80020 */ sw $t8, 0x0020($sp)
|
||||
/* 0032C 808B7A3C 861900B8 */ lh $t9, 0x00B8($s0) ## 000000B8
|
||||
/* 00330 808B7A40 AFA80028 */ sw $t0, 0x0028($sp)
|
||||
/* 00334 808B7A44 0C00C916 */ jal Actor_SpawnAsChild
|
||||
|
||||
/* 00338 808B7A48 AFB90024 */ sw $t9, 0x0024($sp)
|
||||
/* 0033C 808B7A4C 8E09011C */ lw $t1, 0x011C($s0) ## 0000011C
|
||||
/* 00340 808B7A50 3C04808C */ lui $a0, %hi(D_808B85F0) ## $a0 = 808C0000
|
||||
/* 00344 808B7A54 5520000F */ bnel $t1, $zero, .L808B7A94
|
||||
/* 00348 808B7A58 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 0034C 808B7A5C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00350 808B7A60 248485F0 */ addiu $a0, $a0, %lo(D_808B85F0) ## $a0 = 808B85F0
|
||||
/* 00354 808B7A64 3C04808C */ lui $a0, %hi(D_808B85F8) ## $a0 = 808C0000
|
||||
/* 00358 808B7A68 3C05808C */ lui $a1, %hi(D_808B8620) ## $a1 = 808C0000
|
||||
/* 0035C 808B7A6C 24A58620 */ addiu $a1, $a1, %lo(D_808B8620) ## $a1 = 808B8620
|
||||
/* 00360 808B7A70 248485F8 */ addiu $a0, $a0, %lo(D_808B85F8) ## $a0 = 808B85F8
|
||||
/* 00364 808B7A74 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00368 808B7A78 2406015F */ addiu $a2, $zero, 0x015F ## $a2 = 0000015F
|
||||
/* 0036C 808B7A7C 3C04808C */ lui $a0, %hi(D_808B8638) ## $a0 = 808C0000
|
||||
/* 00370 808B7A80 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00374 808B7A84 24848638 */ addiu $a0, $a0, %lo(D_808B8638) ## $a0 = 808B8638
|
||||
/* 00378 808B7A88 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 0037C 808B7A8C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00380 808B7A90 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
.L808B7A94:
|
||||
/* 00384 808B7A94 8FB00034 */ lw $s0, 0x0034($sp)
|
||||
/* 00388 808B7A98 8FB10038 */ lw $s1, 0x0038($sp)
|
||||
/* 0038C 808B7A9C 03E00008 */ jr $ra
|
||||
/* 00390 808B7AA0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
|
@ -1,52 +0,0 @@
|
|||
glabel BgSpot18Basket_Update
|
||||
/* 00D24 808B8434 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00D28 808B8438 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00D2C 808B843C AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 00D30 808B8440 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 00D34 808B8444 848E0216 */ lh $t6, 0x0216($a0) ## 00000216
|
||||
/* 00D38 808B8448 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00D3C 808B844C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00D40 808B8450 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 00D44 808B8454 A48F0216 */ sh $t7, 0x0216($a0) ## 00000216
|
||||
/* 00D48 808B8458 8E190204 */ lw $t9, 0x0204($s0) ## 00000204
|
||||
/* 00D4C 808B845C 0320F809 */ jalr $ra, $t9
|
||||
/* 00D50 808B8460 00000000 */ nop
|
||||
/* 00D54 808B8464 26180024 */ addiu $t8, $s0, 0x0024 ## $t8 = 00000024
|
||||
/* 00D58 808B8468 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00D5C 808B846C 262407C0 */ addiu $a0, $s1, 0x07C0 ## $a0 = 000007C0
|
||||
/* 00D60 808B8470 26050078 */ addiu $a1, $s0, 0x0078 ## $a1 = 00000078
|
||||
/* 00D64 808B8474 27A60034 */ addiu $a2, $sp, 0x0034 ## $a2 = FFFFFFF4
|
||||
/* 00D68 808B8478 0C00F269 */ jal func_8003C9A4
|
||||
/* 00D6C 808B847C 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 00D70 808B8480 8E090204 */ lw $t1, 0x0204($s0) ## 00000204
|
||||
/* 00D74 808B8484 3C08808B */ lui $t0, %hi(func_808B7AFC) ## $t0 = 808B0000
|
||||
/* 00D78 808B8488 25087AFC */ addiu $t0, $t0, %lo(func_808B7AFC) ## $t0 = 808B7AFC
|
||||
/* 00D7C 808B848C 11090014 */ beq $t0, $t1, .L808B84E0
|
||||
/* 00D80 808B8490 E6000080 */ swc1 $f0, 0x0080($s0) ## 00000080
|
||||
/* 00D84 808B8494 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00D88 808B8498 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00D8C 808B849C 02212821 */ addu $a1, $s1, $at
|
||||
/* 00D90 808B84A0 26060164 */ addiu $a2, $s0, 0x0164 ## $a2 = 00000164
|
||||
/* 00D94 808B84A4 AFA6002C */ sw $a2, 0x002C($sp)
|
||||
/* 00D98 808B84A8 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 00D9C 808B84AC 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 00DA0 808B84B0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00DA4 808B84B4 8E0B0204 */ lw $t3, 0x0204($s0) ## 00000204
|
||||
/* 00DA8 808B84B8 3C0A808B */ lui $t2, %hi(func_808B7B6C) ## $t2 = 808B0000
|
||||
/* 00DAC 808B84BC 254A7B6C */ addiu $t2, $t2, %lo(func_808B7B6C) ## $t2 = 808B7B6C
|
||||
/* 00DB0 808B84C0 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 00DB4 808B84C4 114B0006 */ beq $t2, $t3, .L808B84E0
|
||||
/* 00DB8 808B84C8 8FA6002C */ lw $a2, 0x002C($sp)
|
||||
/* 00DBC 808B84CC 920C0175 */ lbu $t4, 0x0175($s0) ## 00000175
|
||||
/* 00DC0 808B84D0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00DC4 808B84D4 318DFFFD */ andi $t5, $t4, 0xFFFD ## $t5 = 00000000
|
||||
/* 00DC8 808B84D8 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 00DCC 808B84DC A20D0175 */ sb $t5, 0x0175($s0) ## 00000175
|
||||
.L808B84E0:
|
||||
/* 00DD0 808B84E0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00DD4 808B84E4 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 00DD8 808B84E8 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 00DDC 808B84EC 03E00008 */ jr $ra
|
||||
/* 00DE0 808B84F0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
|
@ -1,25 +0,0 @@
|
|||
glabel func_808B7710
|
||||
/* 00000 808B7710 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00004 808B7714 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00008 808B7718 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 0000C 808B771C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00010 808B7720 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00014 808B7724 24C50164 */ addiu $a1, $a2, 0x0164 ## $a1 = 00000164
|
||||
/* 00018 808B7728 AFA50020 */ sw $a1, 0x0020($sp)
|
||||
/* 0001C 808B772C 0C016EFE */ jal Collider_InitJntSph
|
||||
/* 00020 808B7730 AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 00024 808B7734 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 00028 808B7738 3C07808C */ lui $a3, %hi(D_808B85B8) ## $a3 = 808C0000
|
||||
/* 0002C 808B773C 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00030 808B7740 24CE0184 */ addiu $t6, $a2, 0x0184 ## $t6 = 00000184
|
||||
/* 00034 808B7744 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00038 808B7748 24E785B8 */ addiu $a3, $a3, %lo(D_808B85B8) ## $a3 = 808B85B8
|
||||
/* 0003C 808B774C 0C017014 */ jal Collider_SetJntSph
|
||||
/* 00040 808B7750 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00044 808B7754 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 00048 808B7758 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
|
||||
/* 0004C 808B775C A0CF00AE */ sb $t7, 0x00AE($a2) ## 000000AE
|
||||
/* 00050 808B7760 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00054 808B7764 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00058 808B7768 03E00008 */ jr $ra
|
||||
/* 0005C 808B776C 00000000 */ nop
|
|
@ -1,120 +0,0 @@
|
|||
glabel func_808B7770
|
||||
/* 00060 808B7770 27BDFF50 */ addiu $sp, $sp, 0xFF50 ## $sp = FFFFFF50
|
||||
/* 00064 808B7774 F7BC0040 */ sdc1 $f28, 0x0040($sp)
|
||||
/* 00068 808B7778 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 0006C 808B777C 4481E000 */ mtc1 $at, $f28 ## $f28 = 80.00
|
||||
/* 00070 808B7780 F7BE0048 */ sdc1 $f30, 0x0048($sp)
|
||||
/* 00074 808B7784 F7BA0038 */ sdc1 $f26, 0x0038($sp)
|
||||
/* 00078 808B7788 F7B80030 */ sdc1 $f24, 0x0030($sp)
|
||||
/* 0007C 808B778C 3C01420C */ lui $at, 0x420C ## $at = 420C0000
|
||||
/* 00080 808B7790 AFB60068 */ sw $s6, 0x0068($sp)
|
||||
/* 00084 808B7794 AFB50064 */ sw $s5, 0x0064($sp)
|
||||
/* 00088 808B7798 AFB40060 */ sw $s4, 0x0060($sp)
|
||||
/* 0008C 808B779C AFB3005C */ sw $s3, 0x005C($sp)
|
||||
/* 00090 808B77A0 AFB20058 */ sw $s2, 0x0058($sp)
|
||||
/* 00094 808B77A4 AFB10054 */ sw $s1, 0x0054($sp)
|
||||
/* 00098 808B77A8 AFB00050 */ sw $s0, 0x0050($sp)
|
||||
/* 0009C 808B77AC 4486F000 */ mtc1 $a2, $f30 ## $f30 = 0.00
|
||||
/* 000A0 808B77B0 4481D000 */ mtc1 $at, $f26 ## $f26 = 35.00
|
||||
/* 000A4 808B77B4 4480C000 */ mtc1 $zero, $f24 ## $f24 = 0.00
|
||||
/* 000A8 808B77B8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 000AC 808B77BC 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
|
||||
/* 000B0 808B77C0 AFBF006C */ sw $ra, 0x006C($sp)
|
||||
/* 000B4 808B77C4 F7B60028 */ sdc1 $f22, 0x0028($sp)
|
||||
/* 000B8 808B77C8 F7B40020 */ sdc1 $f20, 0x0020($sp)
|
||||
/* 000BC 808B77CC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 000C0 808B77D0 24130002 */ addiu $s3, $zero, 0x0002 ## $s3 = 00000002
|
||||
/* 000C4 808B77D4 27B4008C */ addiu $s4, $sp, 0x008C ## $s4 = FFFFFFDC
|
||||
/* 000C8 808B77D8 27B50098 */ addiu $s5, $sp, 0x0098 ## $s5 = FFFFFFE8
|
||||
/* 000CC 808B77DC 27B600A4 */ addiu $s6, $sp, 0x00A4 ## $s6 = FFFFFFF4
|
||||
.L808B77E0:
|
||||
/* 000D0 808B77E0 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 000D4 808B77E4 00000000 */ nop
|
||||
/* 000D8 808B77E8 4600F03C */ c.lt.s $f30, $f0
|
||||
/* 000DC 808B77EC 3C04808C */ lui $a0, %hi(D_808B85D0) ## $a0 = 808C0000
|
||||
/* 000E0 808B77F0 4503003C */ bc1tl .L808B78E4
|
||||
/* 000E4 808B77F4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 000E8 808B77F8 848485D0 */ lh $a0, %lo(D_808B85D0)($a0)
|
||||
/* 000EC 808B77FC 3C01808C */ lui $at, %hi(D_808B85D0) ## $at = 808C0000
|
||||
/* 000F0 808B7800 24847530 */ addiu $a0, $a0, 0x7530 ## $a0 = 808C7530
|
||||
/* 000F4 808B7804 00042400 */ sll $a0, $a0, 16
|
||||
/* 000F8 808B7808 00042403 */ sra $a0, $a0, 16
|
||||
/* 000FC 808B780C 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00100 808B7810 A42485D0 */ sh $a0, %lo(D_808B85D0)($at)
|
||||
/* 00104 808B7814 3C04808C */ lui $a0, %hi(D_808B85D0) ## $a0 = 808C0000
|
||||
/* 00108 808B7818 848485D0 */ lh $a0, %lo(D_808B85D0)($a0)
|
||||
/* 0010C 808B781C 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 00110 808B7820 46000506 */ mov.s $f20, $f0
|
||||
/* 00114 808B7824 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00118 808B7828 46000586 */ mov.s $f22, $f0
|
||||
/* 0011C 808B782C 461A0102 */ mul.s $f4, $f0, $f26
|
||||
/* 00120 808B7830 C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024
|
||||
/* 00124 808B7834 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00128 808B7838 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
|
||||
/* 0012C 808B783C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00130 808B7840 461A2080 */ add.s $f2, $f4, $f26
|
||||
/* 00134 808B7844 46141182 */ mul.s $f6, $f2, $f20
|
||||
/* 00138 808B7848 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0013C 808B784C 46161182 */ mul.s $f6, $f2, $f22
|
||||
/* 00140 808B7850 E7AA008C */ swc1 $f10, 0x008C($sp)
|
||||
/* 00144 808B7854 C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028
|
||||
/* 00148 808B7858 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0014C 808B785C 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50
|
||||
/* 00150 808B7860 E7A40090 */ swc1 $f4, 0x0090($sp)
|
||||
/* 00154 808B7864 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C
|
||||
/* 00158 808B7868 E7B40098 */ swc1 $f20, 0x0098($sp)
|
||||
/* 0015C 808B786C E7B8009C */ swc1 $f24, 0x009C($sp)
|
||||
/* 00160 808B7870 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00164 808B7874 E7B600A0 */ swc1 $f22, 0x00A0($sp)
|
||||
/* 00168 808B7878 E7B800A4 */ swc1 $f24, 0x00A4($sp)
|
||||
/* 0016C 808B787C E7B800AC */ swc1 $f24, 0x00AC($sp)
|
||||
/* 00170 808B7880 E7AA0094 */ swc1 $f10, 0x0094($sp)
|
||||
/* 00174 808B7884 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00178 808B7888 E7B000A8 */ swc1 $f16, 0x00A8($sp)
|
||||
/* 0017C 808B788C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00180 808B7890 46000506 */ mov.s $f20, $f0
|
||||
/* 00184 808B7894 3C014180 */ lui $at, 0x4180 ## $at = 41800000
|
||||
/* 00188 808B7898 44819000 */ mtc1 $at, $f18 ## $f18 = 16.00
|
||||
/* 0018C 808B789C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 00190 808B78A0 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
|
||||
/* 00194 808B78A4 4612A102 */ mul.s $f4, $f20, $f18
|
||||
/* 00198 808B78A8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 0019C 808B78AC 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFDC
|
||||
/* 001A0 808B78B0 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 001A4 808B78B4 02A03025 */ or $a2, $s5, $zero ## $a2 = FFFFFFE8
|
||||
/* 001A8 808B78B8 02C03825 */ or $a3, $s6, $zero ## $a3 = FFFFFFF4
|
||||
/* 001AC 808B78BC 461C2180 */ add.s $f6, $f4, $f28
|
||||
/* 001B0 808B78C0 461C8480 */ add.s $f18, $f16, $f28
|
||||
/* 001B4 808B78C4 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 001B8 808B78C8 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 001BC 808B78CC 440F4000 */ mfc1 $t7, $f8
|
||||
/* 001C0 808B78D0 44192000 */ mfc1 $t9, $f4
|
||||
/* 001C4 808B78D4 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 001C8 808B78D8 0C00A1B3 */ jal func_800286CC
|
||||
/* 001CC 808B78DC AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 001D0 808B78E0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002
|
||||
.L808B78E4:
|
||||
/* 001D4 808B78E4 1613FFBE */ bne $s0, $s3, .L808B77E0
|
||||
/* 001D8 808B78E8 00000000 */ nop
|
||||
/* 001DC 808B78EC 8FBF006C */ lw $ra, 0x006C($sp)
|
||||
/* 001E0 808B78F0 D7B40020 */ ldc1 $f20, 0x0020($sp)
|
||||
/* 001E4 808B78F4 D7B60028 */ ldc1 $f22, 0x0028($sp)
|
||||
/* 001E8 808B78F8 D7B80030 */ ldc1 $f24, 0x0030($sp)
|
||||
/* 001EC 808B78FC D7BA0038 */ ldc1 $f26, 0x0038($sp)
|
||||
/* 001F0 808B7900 D7BC0040 */ ldc1 $f28, 0x0040($sp)
|
||||
/* 001F4 808B7904 D7BE0048 */ ldc1 $f30, 0x0048($sp)
|
||||
/* 001F8 808B7908 8FB00050 */ lw $s0, 0x0050($sp)
|
||||
/* 001FC 808B790C 8FB10054 */ lw $s1, 0x0054($sp)
|
||||
/* 00200 808B7910 8FB20058 */ lw $s2, 0x0058($sp)
|
||||
/* 00204 808B7914 8FB3005C */ lw $s3, 0x005C($sp)
|
||||
/* 00208 808B7918 8FB40060 */ lw $s4, 0x0060($sp)
|
||||
/* 0020C 808B791C 8FB50064 */ lw $s5, 0x0064($sp)
|
||||
/* 00210 808B7920 8FB60068 */ lw $s6, 0x0068($sp)
|
||||
/* 00214 808B7924 03E00008 */ jr $ra
|
||||
/* 00218 808B7928 27BD00B0 */ addiu $sp, $sp, 0x00B0 ## $sp = 00000000
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_808B7AEC
|
||||
/* 003DC 808B7AEC 3C0E808B */ lui $t6, %hi(func_808B7AFC) ## $t6 = 808B0000
|
||||
/* 003E0 808B7AF0 25CE7AFC */ addiu $t6, $t6, %lo(func_808B7AFC) ## $t6 = 808B7AFC
|
||||
/* 003E4 808B7AF4 03E00008 */ jr $ra
|
||||
/* 003E8 808B7AF8 AC8E0204 */ sw $t6, 0x0204($a0) ## 00000204
|
|
@ -1,26 +0,0 @@
|
|||
glabel func_808B7AFC
|
||||
/* 003EC 808B7AFC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 003F0 808B7B00 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 003F4 808B7B04 8FAE0020 */ lw $t6, 0x0020($sp)
|
||||
/* 003F8 808B7B08 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 003FC 808B7B0C AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00400 808B7B10 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00404 808B7B14 85C5001C */ lh $a1, 0x001C($t6) ## 0000001C
|
||||
/* 00408 808B7B18 00052A03 */ sra $a1, $a1, 8
|
||||
/* 0040C 808B7B1C 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00410 808B7B20 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00414 808B7B24 10400008 */ beq $v0, $zero, .L808B7B48
|
||||
/* 00418 808B7B28 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0041C 808B7B2C 2405107C */ addiu $a1, $zero, 0x107C ## $a1 = 0000107C
|
||||
/* 00420 808B7B30 24060050 */ addiu $a2, $zero, 0x0050 ## $a2 = 00000050
|
||||
/* 00424 808B7B34 8FA70020 */ lw $a3, 0x0020($sp)
|
||||
/* 00428 808B7B38 0C02003E */ jal func_800800F8
|
||||
/* 0042C 808B7B3C AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00430 808B7B40 0C22DED6 */ jal func_808B7B58
|
||||
/* 00434 808B7B44 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
.L808B7B48:
|
||||
/* 00438 808B7B48 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0043C 808B7B4C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00440 808B7B50 03E00008 */ jr $ra
|
||||
/* 00444 808B7B54 00000000 */ nop
|
|
@ -1,6 +0,0 @@
|
|||
glabel func_808B7B58
|
||||
/* 00448 808B7B58 3C0E808B */ lui $t6, %hi(func_808B7B6C) ## $t6 = 808B0000
|
||||
/* 0044C 808B7B5C 25CE7B6C */ addiu $t6, $t6, %lo(func_808B7B6C) ## $t6 = 808B7B6C
|
||||
/* 00450 808B7B60 AC8E0204 */ sw $t6, 0x0204($a0) ## 00000204
|
||||
/* 00454 808B7B64 03E00008 */ jr $ra
|
||||
/* 00458 808B7B68 A4800216 */ sh $zero, 0x0216($a0) ## 00000216
|
|
@ -1,19 +0,0 @@
|
|||
glabel func_808B7B6C
|
||||
/* 0045C 808B7B6C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00460 808B7B70 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00464 808B7B74 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00468 808B7B78 848E0216 */ lh $t6, 0x0216($a0) ## 00000216
|
||||
/* 0046C 808B7B7C 29C10015 */ slti $at, $t6, 0x0015
|
||||
/* 00470 808B7B80 54200008 */ bnel $at, $zero, .L808B7BA4
|
||||
/* 00474 808B7B84 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00478 808B7B88 0C22DEEC */ jal func_808B7BB0
|
||||
/* 0047C 808B7B8C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00480 808B7B90 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00484 808B7B94 8C8F011C */ lw $t7, 0x011C($a0) ## 0000011C
|
||||
/* 00488 808B7B98 ADE00118 */ sw $zero, 0x0118($t7) ## 00000118
|
||||
/* 0048C 808B7B9C AC80011C */ sw $zero, 0x011C($a0) ## 0000011C
|
||||
/* 00490 808B7BA0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L808B7BA4:
|
||||
/* 00494 808B7BA4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00498 808B7BA8 03E00008 */ jr $ra
|
||||
/* 0049C 808B7BAC 00000000 */ nop
|
|
@ -1,8 +0,0 @@
|
|||
glabel func_808B7BB0
|
||||
/* 004A0 808B7BB0 A480020C */ sh $zero, 0x020C($a0) ## 0000020C
|
||||
/* 004A4 808B7BB4 848F020C */ lh $t7, 0x020C($a0) ## 0000020C
|
||||
/* 004A8 808B7BB8 3C0E808B */ lui $t6, %hi(func_808B7BCC) ## $t6 = 808B0000
|
||||
/* 004AC 808B7BBC 25CE7BCC */ addiu $t6, $t6, %lo(func_808B7BCC) ## $t6 = 808B7BCC
|
||||
/* 004B0 808B7BC0 AC8E0204 */ sw $t6, 0x0204($a0) ## 00000204
|
||||
/* 004B4 808B7BC4 03E00008 */ jr $ra
|
||||
/* 004B8 808B7BC8 A48F0210 */ sh $t7, 0x0210($a0) ## 00000210
|
|
@ -1,99 +0,0 @@
|
|||
glabel func_808B7BCC
|
||||
/* 004BC 808B7BCC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 004C0 808B7BD0 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 004C4 808B7BD4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 004C8 808B7BD8 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 004CC 808B7BDC AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 004D0 808B7BE0 240501F4 */ addiu $a1, $zero, 0x01F4 ## $a1 = 000001F4
|
||||
/* 004D4 808B7BE4 24840210 */ addiu $a0, $a0, 0x0210 ## $a0 = 00000210
|
||||
/* 004D8 808B7BE8 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 004DC 808B7BEC 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E
|
||||
/* 004E0 808B7BF0 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
|
||||
/* 004E4 808B7BF4 860F0210 */ lh $t7, 0x0210($s0) ## 00000210
|
||||
/* 004E8 808B7BF8 26040208 */ addiu $a0, $s0, 0x0208 ## $a0 = 00000208
|
||||
/* 004EC 808B7BFC 3C054248 */ lui $a1, 0x4248 ## $a1 = 42480000
|
||||
/* 004F0 808B7C00 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 004F4 808B7C04 A61800B6 */ sh $t8, 0x00B6($s0) ## 000000B6
|
||||
/* 004F8 808B7C08 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 004FC 808B7C0C 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
|
||||
/* 00500 808B7C10 2604020C */ addiu $a0, $s0, 0x020C ## $a0 = 0000020C
|
||||
/* 00504 808B7C14 24050190 */ addiu $a1, $zero, 0x0190 ## $a1 = 00000190
|
||||
/* 00508 808B7C18 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 0050C 808B7C1C 2406000F */ addiu $a2, $zero, 0x000F ## $a2 = 0000000F
|
||||
/* 00510 808B7C20 8619020E */ lh $t9, 0x020E($s0) ## 0000020E
|
||||
/* 00514 808B7C24 8608020C */ lh $t0, 0x020C($s0) ## 0000020C
|
||||
/* 00518 808B7C28 03284821 */ addu $t1, $t9, $t0
|
||||
/* 0051C 808B7C2C A609020E */ sh $t1, 0x020E($s0) ## 0000020E
|
||||
/* 00520 808B7C30 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00524 808B7C34 8604020E */ lh $a0, 0x020E($s0) ## 0000020E
|
||||
/* 00528 808B7C38 C6040208 */ lwc1 $f4, 0x0208($s0) ## 00000208
|
||||
/* 0052C 808B7C3C C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008
|
||||
/* 00530 808B7C40 8604020E */ lh $a0, 0x020E($s0) ## 0000020E
|
||||
/* 00534 808B7C44 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00538 808B7C48 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0053C 808B7C4C 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 00540 808B7C50 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 00544 808B7C54 C6100208 */ lwc1 $f16, 0x0208($s0) ## 00000208
|
||||
/* 00548 808B7C58 C6040010 */ lwc1 $f4, 0x0010($s0) ## 00000010
|
||||
/* 0054C 808B7C5C 920A0175 */ lbu $t2, 0x0175($s0) ## 00000175
|
||||
/* 00550 808B7C60 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 00554 808B7C64 314B0002 */ andi $t3, $t2, 0x0002 ## $t3 = 00000000
|
||||
/* 00558 808B7C68 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0055C 808B7C6C 1160002A */ beq $t3, $zero, .L808B7D18
|
||||
/* 00560 808B7C70 E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 00564 808B7C74 8E03016C */ lw $v1, 0x016C($s0) ## 0000016C
|
||||
/* 00568 808B7C78 50600028 */ beql $v1, $zero, .L808B7D1C
|
||||
/* 0056C 808B7C7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00570 808B7C80 C4680028 */ lwc1 $f8, 0x0028($v1) ## 00000028
|
||||
/* 00574 808B7C84 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
|
||||
/* 00578 808B7C88 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
||||
/* 0057C 808B7C8C 44818000 */ mtc1 $at, $f16 ## $f16 = 120.00
|
||||
/* 00580 808B7C90 460A4001 */ sub.s $f0, $f8, $f10
|
||||
/* 00584 808B7C94 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00588 808B7C98 4600803C */ c.lt.s $f16, $f0
|
||||
/* 0058C 808B7C9C 00000000 */ nop
|
||||
/* 00590 808B7CA0 4502001E */ bc1fl .L808B7D1C
|
||||
/* 00594 808B7CA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00598 808B7CA8 44819000 */ mtc1 $at, $f18 ## $f18 = 200.00
|
||||
/* 0059C 808B7CAC 00000000 */ nop
|
||||
/* 005A0 808B7CB0 4612003C */ c.lt.s $f0, $f18
|
||||
/* 005A4 808B7CB4 00000000 */ nop
|
||||
/* 005A8 808B7CB8 45020018 */ bc1fl .L808B7D1C
|
||||
/* 005AC 808B7CBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 005B0 808B7CC0 C46C002C */ lwc1 $f12, 0x002C($v1) ## 0000002C
|
||||
/* 005B4 808B7CC4 C46E0024 */ lwc1 $f14, 0x0024($v1) ## 00000024
|
||||
/* 005B8 808B7CC8 8E06002C */ lw $a2, 0x002C($s0) ## 0000002C
|
||||
/* 005BC 808B7CCC 0C032D65 */ jal Math3D_Dist2DSq
|
||||
/* 005C0 808B7CD0 8E070024 */ lw $a3, 0x0024($s0) ## 00000024
|
||||
/* 005C4 808B7CD4 3C014480 */ lui $at, 0x4480 ## $at = 44800000
|
||||
/* 005C8 808B7CD8 44812000 */ mtc1 $at, $f4 ## $f4 = 1024.00
|
||||
/* 005CC 808B7CDC 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 005D0 808B7CE0 24051072 */ addiu $a1, $zero, 0x1072 ## $a1 = 00001072
|
||||
/* 005D4 808B7CE4 4604003C */ c.lt.s $f0, $f4
|
||||
/* 005D8 808B7CE8 240600F0 */ addiu $a2, $zero, 0x00F0 ## $a2 = 000000F0
|
||||
/* 005DC 808B7CEC 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 005E0 808B7CF0 4502000A */ bc1fl .L808B7D1C
|
||||
/* 005E4 808B7CF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 005E8 808B7CF8 0C02003E */ jal func_800800F8
|
||||
/* 005EC 808B7CFC AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 005F0 808B7D00 0C22DF4E */ jal func_808B7D38
|
||||
/* 005F4 808B7D04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 005F8 808B7D08 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 005FC 808B7D0C 8E06014C */ lw $a2, 0x014C($s0) ## 0000014C
|
||||
/* 00600 808B7D10 0C00FAFE */ jal func_8003EBF8
|
||||
/* 00604 808B7D14 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
.L808B7D18:
|
||||
/* 00608 808B7D18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L808B7D1C:
|
||||
/* 0060C 808B7D1C 0C00BE5D */ jal func_8002F974
|
||||
/* 00610 808B7D20 24052024 */ addiu $a1, $zero, 0x2024 ## $a1 = 00002024
|
||||
/* 00614 808B7D24 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00618 808B7D28 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0061C 808B7D2C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00620 808B7D30 03E00008 */ jr $ra
|
||||
/* 00624 808B7D34 00000000 */ nop
|
|
@ -1,7 +0,0 @@
|
|||
glabel func_808B7D38
|
||||
/* 00628 808B7D38 3C0E808B */ lui $t6, %hi(func_808B7D50) ## $t6 = 808B0000
|
||||
/* 0062C 808B7D3C 25CE7D50 */ addiu $t6, $t6, %lo(func_808B7D50) ## $t6 = 808B7D50
|
||||
/* 00630 808B7D40 AC8E0204 */ sw $t6, 0x0204($a0) ## 00000204
|
||||
/* 00634 808B7D44 A4800216 */ sh $zero, 0x0216($a0) ## 00000216
|
||||
/* 00638 808B7D48 03E00008 */ jr $ra
|
||||
/* 0063C 808B7D4C A4800214 */ sh $zero, 0x0214($a0) ## 00000214
|
|
@ -1,163 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808B8640
|
||||
.word 0x3A1D4952
|
||||
|
||||
.text
|
||||
glabel func_808B7D50
|
||||
/* 00640 808B7D50 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00644 808B7D54 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00648 808B7D58 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0064C 808B7D5C AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00650 808B7D60 848E0216 */ lh $t6, 0x0216($a0) ## 00000216
|
||||
/* 00654 808B7D64 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00658 808B7D68 29C10079 */ slti $at, $t6, 0x0079
|
||||
/* 0065C 808B7D6C 14200006 */ bne $at, $zero, .L808B7D88
|
||||
/* 00660 808B7D70 24840210 */ addiu $a0, $a0, 0x0210 ## $a0 = 00000210
|
||||
/* 00664 808B7D74 240503E8 */ addiu $a1, $zero, 0x03E8 ## $a1 = 000003E8
|
||||
/* 00668 808B7D78 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 0066C 808B7D7C 24060032 */ addiu $a2, $zero, 0x0032 ## $a2 = 00000032
|
||||
/* 00670 808B7D80 10000006 */ beq $zero, $zero, .L808B7D9C
|
||||
/* 00674 808B7D84 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
|
||||
.L808B7D88:
|
||||
/* 00678 808B7D88 26040210 */ addiu $a0, $s0, 0x0210 ## $a0 = 00000210
|
||||
/* 0067C 808B7D8C 24050BB8 */ addiu $a1, $zero, 0x0BB8 ## $a1 = 00000BB8
|
||||
/* 00680 808B7D90 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 00684 808B7D94 24060064 */ addiu $a2, $zero, 0x0064 ## $a2 = 00000064
|
||||
/* 00688 808B7D98 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
|
||||
.L808B7D9C:
|
||||
/* 0068C 808B7D9C 86180210 */ lh $t8, 0x0210($s0) ## 00000210
|
||||
/* 00690 808B7DA0 86080216 */ lh $t0, 0x0216($s0) ## 00000216
|
||||
/* 00694 808B7DA4 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 00698 808B7DA8 29010046 */ slti $at, $t0, 0x0046
|
||||
/* 0069C 808B7DAC 10200007 */ beq $at, $zero, .L808B7DCC
|
||||
/* 006A0 808B7DB0 A61900B6 */ sh $t9, 0x00B6($s0) ## 000000B6
|
||||
/* 006A4 808B7DB4 26040208 */ addiu $a0, $s0, 0x0208 ## $a0 = 00000208
|
||||
/* 006A8 808B7DB8 3C0542C8 */ lui $a1, 0x42C8 ## $a1 = 42C80000
|
||||
/* 006AC 808B7DBC 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 006B0 808B7DC0 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
|
||||
/* 006B4 808B7DC4 10000006 */ beq $zero, $zero, .L808B7DE0
|
||||
/* 006B8 808B7DC8 2604020C */ addiu $a0, $s0, 0x020C ## $a0 = 0000020C
|
||||
.L808B7DCC:
|
||||
/* 006BC 808B7DCC 26040208 */ addiu $a0, $s0, 0x0208 ## $a0 = 00000208
|
||||
/* 006C0 808B7DD0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 006C4 808B7DD4 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 006C8 808B7DD8 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
|
||||
/* 006CC 808B7DDC 2604020C */ addiu $a0, $s0, 0x020C ## $a0 = 0000020C
|
||||
.L808B7DE0:
|
||||
/* 006D0 808B7DE0 240503E8 */ addiu $a1, $zero, 0x03E8 ## $a1 = 000003E8
|
||||
/* 006D4 808B7DE4 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 006D8 808B7DE8 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 006DC 808B7DEC 8609020E */ lh $t1, 0x020E($s0) ## 0000020E
|
||||
/* 006E0 808B7DF0 860A020C */ lh $t2, 0x020C($s0) ## 0000020C
|
||||
/* 006E4 808B7DF4 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 006E8 808B7DF8 A60B020E */ sh $t3, 0x020E($s0) ## 0000020E
|
||||
/* 006EC 808B7DFC 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 006F0 808B7E00 8604020E */ lh $a0, 0x020E($s0) ## 0000020E
|
||||
/* 006F4 808B7E04 C6040208 */ lwc1 $f4, 0x0208($s0) ## 00000208
|
||||
/* 006F8 808B7E08 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008
|
||||
/* 006FC 808B7E0C 8604020E */ lh $a0, 0x020E($s0) ## 0000020E
|
||||
/* 00700 808B7E10 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00704 808B7E14 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00708 808B7E18 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 0070C 808B7E1C E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 00710 808B7E20 C6100208 */ lwc1 $f16, 0x0208($s0) ## 00000208
|
||||
/* 00714 808B7E24 C6040010 */ lwc1 $f4, 0x0010($s0) ## 00000010
|
||||
/* 00718 808B7E28 860C0212 */ lh $t4, 0x0212($s0) ## 00000212
|
||||
/* 0071C 808B7E2C 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 00720 808B7E30 26040214 */ addiu $a0, $s0, 0x0214 ## $a0 = 00000214
|
||||
/* 00724 808B7E34 258D0BB8 */ addiu $t5, $t4, 0x0BB8 ## $t5 = 00000BB8
|
||||
/* 00728 808B7E38 A60D0212 */ sh $t5, 0x0212($s0) ## 00000212
|
||||
/* 0072C 808B7E3C 240505DC */ addiu $a1, $zero, 0x05DC ## $a1 = 000005DC
|
||||
/* 00730 808B7E40 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E
|
||||
/* 00734 808B7E44 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00738 808B7E48 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 0073C 808B7E4C E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 00740 808B7E50 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 00744 808B7E54 86040212 */ lh $a0, 0x0212($s0) ## 00000212
|
||||
/* 00748 808B7E58 860E0214 */ lh $t6, 0x0214($s0) ## 00000214
|
||||
/* 0074C 808B7E5C 86040212 */ lh $a0, 0x0212($s0) ## 00000212
|
||||
/* 00750 808B7E60 448E4000 */ mtc1 $t6, $f8 ## $f8 = 0.00
|
||||
/* 00754 808B7E64 00000000 */ nop
|
||||
/* 00758 808B7E68 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 0075C 808B7E6C 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 00760 808B7E70 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00764 808B7E74 44189000 */ mfc1 $t8, $f18
|
||||
/* 00768 808B7E78 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 0076C 808B7E7C A61800B4 */ sh $t8, 0x00B4($s0) ## 000000B4
|
||||
/* 00770 808B7E80 86190214 */ lh $t9, 0x0214($s0) ## 00000214
|
||||
/* 00774 808B7E84 46000107 */ neg.s $f4, $f0
|
||||
/* 00778 808B7E88 86020216 */ lh $v0, 0x0216($s0) ## 00000216
|
||||
/* 0077C 808B7E8C 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
|
||||
/* 00780 808B7E90 2841008D */ slti $at, $v0, 0x008D
|
||||
/* 00784 808B7E94 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 00788 808B7E98 46082282 */ mul.s $f10, $f4, $f8
|
||||
/* 0078C 808B7E9C 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 00790 808B7EA0 44098000 */ mfc1 $t1, $f16
|
||||
/* 00794 808B7EA4 14200004 */ bne $at, $zero, .L808B7EB8
|
||||
/* 00798 808B7EA8 A60900B8 */ sh $t1, 0x00B8($s0) ## 000000B8
|
||||
/* 0079C 808B7EAC 0C22DFDD */ jal func_808B7F74
|
||||
/* 007A0 808B7EB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007A4 808B7EB4 86020216 */ lh $v0, 0x0216($s0) ## 00000216
|
||||
.L808B7EB8:
|
||||
/* 007A8 808B7EB8 28410050 */ slti $at, $v0, 0x0050
|
||||
/* 007AC 808B7EBC 10200007 */ beq $at, $zero, .L808B7EDC
|
||||
/* 007B0 808B7EC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007B4 808B7EC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007B8 808B7EC8 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 007BC 808B7ECC 0C22DDDC */ jal func_808B7770
|
||||
/* 007C0 808B7ED0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 007C4 808B7ED4 10000006 */ beq $zero, $zero, .L808B7EF0
|
||||
/* 007C8 808B7ED8 860A0210 */ lh $t2, 0x0210($s0) ## 00000210
|
||||
.L808B7EDC:
|
||||
/* 007CC 808B7EDC 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 007D0 808B7EE0 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 007D4 808B7EE4 0C22DDDC */ jal func_808B7770
|
||||
/* 007D8 808B7EE8 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 007DC 808B7EEC 860A0210 */ lh $t2, 0x0210($s0) ## 00000210
|
||||
.L808B7EF0:
|
||||
/* 007E0 808B7EF0 3C01808C */ lui $at, %hi(D_808B8640) ## $at = 808C0000
|
||||
/* 007E4 808B7EF4 C4248640 */ lwc1 $f4, %lo(D_808B8640)($at)
|
||||
/* 007E8 808B7EF8 254BFE0C */ addiu $t3, $t2, 0xFE0C ## $t3 = FFFFFE0C
|
||||
/* 007EC 808B7EFC 448B9000 */ mtc1 $t3, $f18 ## $f18 = NaN
|
||||
/* 007F0 808B7F00 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 007F4 808B7F04 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 007F8 808B7F08 468091A0 */ cvt.s.w $f6, $f18
|
||||
/* 007FC 808B7F0C 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4
|
||||
/* 00800 808B7F10 46043002 */ mul.s $f0, $f6, $f4
|
||||
/* 00804 808B7F14 4602003C */ c.lt.s $f0, $f2
|
||||
/* 00808 808B7F18 00000000 */ nop
|
||||
/* 0080C 808B7F1C 45020004 */ bc1fl .L808B7F30
|
||||
/* 00810 808B7F20 44816000 */ mtc1 $at, $f12 ## $f12 = 1.50
|
||||
/* 00814 808B7F24 1000000B */ beq $zero, $zero, .L808B7F54
|
||||
/* 00818 808B7F28 46001006 */ mov.s $f0, $f2
|
||||
/* 0081C 808B7F2C 44816000 */ mtc1 $at, $f12 ## $f12 = 1.50
|
||||
.L808B7F30:
|
||||
/* 00820 808B7F30 00000000 */ nop
|
||||
/* 00824 808B7F34 4600603C */ c.lt.s $f12, $f0
|
||||
/* 00828 808B7F38 00000000 */ nop
|
||||
/* 0082C 808B7F3C 45020004 */ bc1fl .L808B7F50
|
||||
/* 00830 808B7F40 46000086 */ mov.s $f2, $f0
|
||||
/* 00834 808B7F44 10000002 */ beq $zero, $zero, .L808B7F50
|
||||
/* 00838 808B7F48 46006086 */ mov.s $f2, $f12
|
||||
/* 0083C 808B7F4C 46000086 */ mov.s $f2, $f0
|
||||
.L808B7F50:
|
||||
/* 00840 808B7F50 46001006 */ mov.s $f0, $f2
|
||||
.L808B7F54:
|
||||
/* 00844 808B7F54 44060000 */ mfc1 $a2, $f0
|
||||
/* 00848 808B7F58 0C03D0DB */ jal func_800F436C
|
||||
/* 0084C 808B7F5C 240500CB */ addiu $a1, $zero, 0x00CB ## $a1 = 000000CB
|
||||
/* 00850 808B7F60 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00854 808B7F64 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00858 808B7F68 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 0085C 808B7F6C 03E00008 */ jr $ra
|
||||
/* 00860 808B7F70 00000000 */ nop
|
|
@ -1,24 +0,0 @@
|
|||
glabel func_808B7F74
|
||||
/* 00864 808B7F74 848200B6 */ lh $v0, 0x00B6($a0) ## 000000B6
|
||||
/* 00868 808B7F78 3C0E808B */ lui $t6, %hi(func_808B7FC0) ## $t6 = 808B0000
|
||||
/* 0086C 808B7F7C 25CE7FC0 */ addiu $t6, $t6, %lo(func_808B7FC0) ## $t6 = 808B7FC0
|
||||
/* 00870 808B7F80 2841D16D */ slti $at, $v0, 0xD16D
|
||||
/* 00874 808B7F84 14200003 */ bne $at, $zero, .L808B7F94
|
||||
/* 00878 808B7F88 AC8E0204 */ sw $t6, 0x0204($a0) ## 00000204
|
||||
/* 0087C 808B7F8C 28417C19 */ slti $at, $v0, 0x7C19
|
||||
/* 00880 808B7F90 14200003 */ bne $at, $zero, .L808B7FA0
|
||||
.L808B7F94:
|
||||
/* 00884 808B7F94 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002
|
||||
/* 00888 808B7F98 10000007 */ beq $zero, $zero, .L808B7FB8
|
||||
/* 0088C 808B7F9C A48F0218 */ sh $t7, 0x0218($a0) ## 00000218
|
||||
.L808B7FA0:
|
||||
/* 00890 808B7FA0 284126C2 */ slti $at, $v0, 0x26C2
|
||||
/* 00894 808B7FA4 10200003 */ beq $at, $zero, .L808B7FB4
|
||||
/* 00898 808B7FA8 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 0089C 808B7FAC 10000002 */ beq $zero, $zero, .L808B7FB8
|
||||
/* 008A0 808B7FB0 A4980218 */ sh $t8, 0x0218($a0) ## 00000218
|
||||
.L808B7FB4:
|
||||
/* 008A4 808B7FB4 A4800218 */ sh $zero, 0x0218($a0) ## 00000218
|
||||
.L808B7FB8:
|
||||
/* 008A8 808B7FB8 03E00008 */ jr $ra
|
||||
/* 008AC 808B7FBC A4800216 */ sh $zero, 0x0216($a0) ## 00000216
|
|
@ -1,133 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808B8644
|
||||
.word 0x3A1D4952, 0x00000000, 0x00000000
|
||||
|
||||
.text
|
||||
glabel func_808B7FC0
|
||||
/* 008B0 808B7FC0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 008B4 808B7FC4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 008B8 808B7FC8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 008BC 808B7FCC AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 008C0 808B7FD0 848E0212 */ lh $t6, 0x0212($a0) ## 00000212
|
||||
/* 008C4 808B7FD4 84980216 */ lh $t8, 0x0216($a0) ## 00000216
|
||||
/* 008C8 808B7FD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 008CC 808B7FDC 25CF0BB8 */ addiu $t7, $t6, 0x0BB8 ## $t7 = 00000BB8
|
||||
/* 008D0 808B7FE0 2B01000D */ slti $at, $t8, 0x000D
|
||||
/* 008D4 808B7FE4 14200007 */ bne $at, $zero, .L808B8004
|
||||
/* 008D8 808B7FE8 A48F0212 */ sh $t7, 0x0212($a0) ## 00000212
|
||||
/* 008DC 808B7FEC 24840214 */ addiu $a0, $a0, 0x0214 ## $a0 = 00000214
|
||||
/* 008E0 808B7FF0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 008E4 808B7FF4 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 008E8 808B7FF8 24060037 */ addiu $a2, $zero, 0x0037 ## $a2 = 00000037
|
||||
/* 008EC 808B7FFC 10000002 */ beq $zero, $zero, .L808B8008
|
||||
/* 008F0 808B8000 AFA20020 */ sw $v0, 0x0020($sp)
|
||||
.L808B8004:
|
||||
/* 008F4 808B8004 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
.L808B8008:
|
||||
/* 008F8 808B8008 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 008FC 808B800C 86040212 */ lh $a0, 0x0212($s0) ## 00000212
|
||||
/* 00900 808B8010 86190214 */ lh $t9, 0x0214($s0) ## 00000214
|
||||
/* 00904 808B8014 86040212 */ lh $a0, 0x0212($s0) ## 00000212
|
||||
/* 00908 808B8018 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
|
||||
/* 0090C 808B801C 00000000 */ nop
|
||||
/* 00910 808B8020 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00914 808B8024 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00918 808B8028 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 0091C 808B802C 44095000 */ mfc1 $t1, $f10
|
||||
/* 00920 808B8030 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00924 808B8034 A60900B4 */ sh $t1, 0x00B4($s0) ## 000000B4
|
||||
/* 00928 808B8038 860A0214 */ lh $t2, 0x0214($s0) ## 00000214
|
||||
/* 0092C 808B803C 46000407 */ neg.s $f16, $f0
|
||||
/* 00930 808B8040 26040210 */ addiu $a0, $s0, 0x0210 ## $a0 = 00000210
|
||||
/* 00934 808B8044 448A9000 */ mtc1 $t2, $f18 ## $f18 = 0.00
|
||||
/* 00938 808B8048 240501F4 */ addiu $a1, $zero, 0x01F4 ## $a1 = 000001F4
|
||||
/* 0093C 808B804C 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00940 808B8050 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 00944 808B8054 46048182 */ mul.s $f6, $f16, $f4
|
||||
/* 00948 808B8058 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 0094C 808B805C 440C4000 */ mfc1 $t4, $f8
|
||||
/* 00950 808B8060 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 00954 808B8064 A60C00B8 */ sh $t4, 0x00B8($s0) ## 000000B8
|
||||
/* 00958 808B8068 860D00B6 */ lh $t5, 0x00B6($s0) ## 000000B6
|
||||
/* 0095C 808B806C 860E0210 */ lh $t6, 0x0210($s0) ## 00000210
|
||||
/* 00960 808B8070 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 00964 808B8074 A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6
|
||||
/* 00968 808B8078 8FB80020 */ lw $t8, 0x0020($sp)
|
||||
/* 0096C 808B807C 53000014 */ beql $t8, $zero, .L808B80D0
|
||||
/* 00970 808B8080 860D0216 */ lh $t5, 0x0216($s0) ## 00000216
|
||||
/* 00974 808B8084 86190218 */ lh $t9, 0x0218($s0) ## 00000218
|
||||
/* 00978 808B8088 3C02808C */ lui $v0, %hi(D_808B85C8) ## $v0 = 808C0000
|
||||
/* 0097C 808B808C 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
|
||||
/* 00980 808B8090 00194040 */ sll $t0, $t9, 1
|
||||
/* 00984 808B8094 00481021 */ addu $v0, $v0, $t0
|
||||
/* 00988 808B8098 844285C8 */ lh $v0, %lo(D_808B85C8)($v0)
|
||||
/* 0098C 808B809C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00990 808B80A0 01225023 */ subu $t2, $t1, $v0
|
||||
/* 00994 808B80A4 000A5C00 */ sll $t3, $t2, 16
|
||||
/* 00998 808B80A8 000B6403 */ sra $t4, $t3, 16
|
||||
/* 0099C 808B80AC 05820008 */ bltzl $t4, .L808B80D0
|
||||
/* 009A0 808B80B0 860D0216 */ lh $t5, 0x0216($s0) ## 00000216
|
||||
/* 009A4 808B80B4 0C22E063 */ jal func_808B818C
|
||||
/* 009A8 808B80B8 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
|
||||
/* 009AC 808B80BC 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 009B0 808B80C0 8E06014C */ lw $a2, 0x014C($s0) ## 0000014C
|
||||
/* 009B4 808B80C4 0C00FB14 */ jal func_8003EC50
|
||||
/* 009B8 808B80C8 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 009BC 808B80CC 860D0216 */ lh $t5, 0x0216($s0) ## 00000216
|
||||
.L808B80D0:
|
||||
/* 009C0 808B80D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009C4 808B80D4 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 009C8 808B80D8 29A1001E */ slti $at, $t5, 0x001E
|
||||
/* 009CC 808B80DC 10200007 */ beq $at, $zero, .L808B80FC
|
||||
/* 009D0 808B80E0 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
|
||||
/* 009D4 808B80E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009D8 808B80E8 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 009DC 808B80EC 0C22DDDC */ jal func_808B7770
|
||||
/* 009E0 808B80F0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
|
||||
/* 009E4 808B80F4 10000004 */ beq $zero, $zero, .L808B8108
|
||||
/* 009E8 808B80F8 860E0210 */ lh $t6, 0x0210($s0) ## 00000210
|
||||
.L808B80FC:
|
||||
/* 009EC 808B80FC 0C22DDDC */ jal func_808B7770
|
||||
/* 009F0 808B8100 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 0000999A
|
||||
/* 009F4 808B8104 860E0210 */ lh $t6, 0x0210($s0) ## 00000210
|
||||
.L808B8108:
|
||||
/* 009F8 808B8108 3C01808C */ lui $at, %hi(D_808B8644) ## $at = 808C0000
|
||||
/* 009FC 808B810C C4308644 */ lwc1 $f16, %lo(D_808B8644)($at)
|
||||
/* 00A00 808B8110 25CFFE0C */ addiu $t7, $t6, 0xFE0C ## $t7 = FFFFFE0C
|
||||
/* 00A04 808B8114 448F5000 */ mtc1 $t7, $f10 ## $f10 = NaN
|
||||
/* 00A08 808B8118 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00A0C 808B811C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 00A10 808B8120 468054A0 */ cvt.s.w $f18, $f10
|
||||
/* 00A14 808B8124 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4
|
||||
/* 00A18 808B8128 46109002 */ mul.s $f0, $f18, $f16
|
||||
/* 00A1C 808B812C 4602003C */ c.lt.s $f0, $f2
|
||||
/* 00A20 808B8130 00000000 */ nop
|
||||
/* 00A24 808B8134 45020004 */ bc1fl .L808B8148
|
||||
/* 00A28 808B8138 44816000 */ mtc1 $at, $f12 ## $f12 = 1.50
|
||||
/* 00A2C 808B813C 1000000B */ beq $zero, $zero, .L808B816C
|
||||
/* 00A30 808B8140 46001006 */ mov.s $f0, $f2
|
||||
/* 00A34 808B8144 44816000 */ mtc1 $at, $f12 ## $f12 = 1.50
|
||||
.L808B8148:
|
||||
/* 00A38 808B8148 00000000 */ nop
|
||||
/* 00A3C 808B814C 4600603C */ c.lt.s $f12, $f0
|
||||
/* 00A40 808B8150 00000000 */ nop
|
||||
/* 00A44 808B8154 45020004 */ bc1fl .L808B8168
|
||||
/* 00A48 808B8158 46000086 */ mov.s $f2, $f0
|
||||
/* 00A4C 808B815C 10000002 */ beq $zero, $zero, .L808B8168
|
||||
/* 00A50 808B8160 46006086 */ mov.s $f2, $f12
|
||||
/* 00A54 808B8164 46000086 */ mov.s $f2, $f0
|
||||
.L808B8168:
|
||||
/* 00A58 808B8168 46001006 */ mov.s $f0, $f2
|
||||
.L808B816C:
|
||||
/* 00A5C 808B816C 44060000 */ mfc1 $a2, $f0
|
||||
/* 00A60 808B8170 0C03D0DB */ jal func_800F436C
|
||||
/* 00A64 808B8174 240500CB */ addiu $a1, $zero, 0x00CB ## $a1 = 000000CB
|
||||
/* 00A68 808B8178 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00A6C 808B817C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00A70 808B8180 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00A74 808B8184 03E00008 */ jr $ra
|
||||
/* 00A78 808B8188 00000000 */ nop
|
|
@ -1,6 +0,0 @@
|
|||
glabel func_808B818C
|
||||
/* 00A7C 808B818C 3C0E808C */ lui $t6, %hi(func_808B81A0) ## $t6 = 808C0000
|
||||
/* 00A80 808B8190 25CE81A0 */ addiu $t6, $t6, %lo(func_808B81A0) ## $t6 = 808B81A0
|
||||
/* 00A84 808B8194 AC8E0204 */ sw $t6, 0x0204($a0) ## 00000204
|
||||
/* 00A88 808B8198 03E00008 */ jr $ra
|
||||
/* 00A8C 808B819C A4800216 */ sh $zero, 0x0216($a0) ## 00000216
|
|
@ -1,190 +0,0 @@
|
|||
glabel func_808B81A0
|
||||
/* 00A90 808B81A0 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
|
||||
/* 00A94 808B81A4 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 00A98 808B81A8 AFB40030 */ sw $s4, 0x0030($sp)
|
||||
/* 00A9C 808B81AC AFB3002C */ sw $s3, 0x002C($sp)
|
||||
/* 00AA0 808B81B0 AFB20028 */ sw $s2, 0x0028($sp)
|
||||
/* 00AA4 808B81B4 AFB10024 */ sw $s1, 0x0024($sp)
|
||||
/* 00AA8 808B81B8 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00AAC 808B81BC F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 00AB0 808B81C0 84820216 */ lh $v0, 0x0216($a0) ## 00000216
|
||||
/* 00AB4 808B81C4 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
|
||||
/* 00AB8 808B81C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00ABC 808B81CC 1462007E */ bne $v1, $v0, .L808B83C8
|
||||
/* 00AC0 808B81D0 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
|
||||
/* 00AC4 808B81D4 C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
|
||||
/* 00AC8 808B81D8 3C01432A */ lui $at, 0x432A ## $at = 432A0000
|
||||
/* 00ACC 808B81DC 44814000 */ mtc1 $at, $f8 ## $f8 = 170.00
|
||||
/* 00AD0 808B81E0 E7A40044 */ swc1 $f4, 0x0044($sp)
|
||||
/* 00AD4 808B81E4 C4860028 */ lwc1 $f6, 0x0028($a0) ## 00000028
|
||||
/* 00AD8 808B81E8 3C12808C */ lui $s2, %hi(D_808B85E4) ## $s2 = 808C0000
|
||||
/* 00ADC 808B81EC 265285E4 */ addiu $s2, $s2, %lo(D_808B85E4) ## $s2 = 808B85E4
|
||||
/* 00AE0 808B81F0 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00AE4 808B81F4 3C014130 */ lui $at, 0x4130 ## $at = 41300000
|
||||
/* 00AE8 808B81F8 27B30044 */ addiu $s3, $sp, 0x0044 ## $s3 = FFFFFFEC
|
||||
/* 00AEC 808B81FC 24110003 */ addiu $s1, $zero, 0x0003 ## $s1 = 00000003
|
||||
/* 00AF0 808B8200 E7AA0048 */ swc1 $f10, 0x0048($sp)
|
||||
/* 00AF4 808B8204 C490002C */ lwc1 $f16, 0x002C($a0) ## 0000002C
|
||||
/* 00AF8 808B8208 E7B0004C */ swc1 $f16, 0x004C($sp)
|
||||
/* 00AFC 808B820C 84820218 */ lh $v0, 0x0218($a0) ## 00000218
|
||||
/* 00B00 808B8210 14400012 */ bne $v0, $zero, .L808B825C
|
||||
/* 00B04 808B8214 00000000 */ nop
|
||||
/* 00B08 808B8218 4481A000 */ mtc1 $at, $f20 ## $f20 = 11.00
|
||||
/* 00B0C 808B821C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00B10 808B8220 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
.L808B8224:
|
||||
/* 00B14 808B8224 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFEC
|
||||
/* 00B18 808B8228 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 00B1C 808B822C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 00B20 808B8230 10400005 */ beq $v0, $zero, .L808B8248
|
||||
/* 00B24 808B8234 00107040 */ sll $t6, $s0, 1
|
||||
/* 00B28 808B8238 E4540060 */ swc1 $f20, 0x0060($v0) ## 00000060
|
||||
/* 00B2C 808B823C 024E7821 */ addu $t7, $s2, $t6
|
||||
/* 00B30 808B8240 85F80000 */ lh $t8, 0x0000($t7) ## 00000000
|
||||
/* 00B34 808B8244 A4580032 */ sh $t8, 0x0032($v0) ## 00000032
|
||||
.L808B8248:
|
||||
/* 00B38 808B8248 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00B3C 808B824C 5611FFF5 */ bnel $s0, $s1, .L808B8224
|
||||
/* 00B40 808B8250 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00B44 808B8254 1000006F */ beq $zero, $zero, .L808B8414
|
||||
/* 00B48 808B8258 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L808B825C:
|
||||
/* 00B4C 808B825C 14620016 */ bne $v1, $v0, .L808B82B8
|
||||
/* 00B50 808B8260 3C014130 */ lui $at, 0x4130 ## $at = 41300000
|
||||
/* 00B54 808B8264 3C12808C */ lui $s2, %hi(D_808B85E4) ## $s2 = 808C0000
|
||||
/* 00B58 808B8268 4481A000 */ mtc1 $at, $f20 ## $f20 = 11.00
|
||||
/* 00B5C 808B826C 265285E4 */ addiu $s2, $s2, %lo(D_808B85E4) ## $s2 = 808B85E4
|
||||
/* 00B60 808B8270 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00B64 808B8274 27B30044 */ addiu $s3, $sp, 0x0044 ## $s3 = FFFFFFEC
|
||||
/* 00B68 808B8278 24110003 */ addiu $s1, $zero, 0x0003 ## $s1 = 00000003
|
||||
/* 00B6C 808B827C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
.L808B8280:
|
||||
/* 00B70 808B8280 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFEC
|
||||
/* 00B74 808B8284 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 00B78 808B8288 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00B7C 808B828C 10400005 */ beq $v0, $zero, .L808B82A4
|
||||
/* 00B80 808B8290 0010C840 */ sll $t9, $s0, 1
|
||||
/* 00B84 808B8294 E4540060 */ swc1 $f20, 0x0060($v0) ## 00000060
|
||||
/* 00B88 808B8298 02594021 */ addu $t0, $s2, $t9
|
||||
/* 00B8C 808B829C 85090000 */ lh $t1, 0x0000($t0) ## 00000000
|
||||
/* 00B90 808B82A0 A4490032 */ sh $t1, 0x0032($v0) ## 00000032
|
||||
.L808B82A4:
|
||||
/* 00B94 808B82A4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00B98 808B82A8 5611FFF5 */ bnel $s0, $s1, .L808B8280
|
||||
/* 00B9C 808B82AC 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00BA0 808B82B0 10000058 */ beq $zero, $zero, .L808B8414
|
||||
/* 00BA4 808B82B4 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L808B82B8:
|
||||
/* 00BA8 808B82B8 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
/* 00BAC 808B82BC 54620055 */ bnel $v1, $v0, .L808B8414
|
||||
/* 00BB0 808B82C0 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00BB4 808B82C4 920A021A */ lbu $t2, 0x021A($s0) ## 0000021B
|
||||
/* 00BB8 808B82C8 55400007 */ bnel $t2, $zero, .L808B82E8
|
||||
/* 00BBC 808B82CC 27B30044 */ addiu $s3, $sp, 0x0044 ## $s3 = FFFFFFEC
|
||||
/* 00BC0 808B82D0 8605001C */ lh $a1, 0x001C($s0) ## 0000001D
|
||||
/* 00BC4 808B82D4 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00BC8 808B82D8 0C00B35B */ jal Flags_GetCollectible
|
||||
|
||||
/* 00BCC 808B82DC 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00BD0 808B82E0 1040000F */ beq $v0, $zero, .L808B8320
|
||||
/* 00BD4 808B82E4 27B30044 */ addiu $s3, $sp, 0x0044 ## $s3 = FFFFFFEC
|
||||
.L808B82E8:
|
||||
/* 00BD8 808B82E8 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFEC
|
||||
/* 00BDC 808B82EC 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00BE0 808B82F0 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 00BE4 808B82F4 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 00BE8 808B82F8 10400007 */ beq $v0, $zero, .L808B8318
|
||||
/* 00BEC 808B82FC 3C014130 */ lui $at, 0x4130 ## $at = 41300000
|
||||
/* 00BF0 808B8300 4481A000 */ mtc1 $at, $f20 ## $f20 = 11.00
|
||||
/* 00BF4 808B8304 3C12808C */ lui $s2, %hi(D_808B85E4) ## $s2 = 808C0000
|
||||
/* 00BF8 808B8308 265285E4 */ addiu $s2, $s2, %lo(D_808B85E4) ## $s2 = 808B85E4
|
||||
/* 00BFC 808B830C E4540060 */ swc1 $f20, 0x0060($v0) ## 00000060
|
||||
/* 00C00 808B8310 864B0002 */ lh $t3, 0x0002($s2) ## 808B85E6
|
||||
/* 00C04 808B8314 A44B0032 */ sh $t3, 0x0032($v0) ## 00000032
|
||||
.L808B8318:
|
||||
/* 00C08 808B8318 10000016 */ beq $zero, $zero, .L808B8374
|
||||
/* 00C0C 808B831C 3C014130 */ lui $at, 0x4130 ## $at = 41300000
|
||||
.L808B8320:
|
||||
/* 00C10 808B8320 8606001C */ lh $a2, 0x001C($s0) ## 0000001D
|
||||
/* 00C14 808B8324 27B30044 */ addiu $s3, $sp, 0x0044 ## $s3 = FFFFFFEC
|
||||
/* 00C18 808B8328 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFEC
|
||||
/* 00C1C 808B832C 30C6003F */ andi $a2, $a2, 0x003F ## $a2 = 00000000
|
||||
/* 00C20 808B8330 00063200 */ sll $a2, $a2, 8
|
||||
/* 00C24 808B8334 34C60006 */ ori $a2, $a2, 0x0006 ## $a2 = 00000006
|
||||
/* 00C28 808B8338 00063400 */ sll $a2, $a2, 16
|
||||
/* 00C2C 808B833C 00063403 */ sra $a2, $a2, 16
|
||||
/* 00C30 808B8340 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 00C34 808B8344 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00C38 808B8348 10400009 */ beq $v0, $zero, .L808B8370
|
||||
/* 00C3C 808B834C 3C014130 */ lui $at, 0x4130 ## $at = 41300000
|
||||
/* 00C40 808B8350 4481A000 */ mtc1 $at, $f20 ## $f20 = 11.00
|
||||
/* 00C44 808B8354 3C12808C */ lui $s2, %hi(D_808B85E4) ## $s2 = 808C0000
|
||||
/* 00C48 808B8358 265285E4 */ addiu $s2, $s2, %lo(D_808B85E4) ## $s2 = 808B85E4
|
||||
/* 00C4C 808B835C E4540060 */ swc1 $f20, 0x0060($v0) ## 00000060
|
||||
/* 00C50 808B8360 864C0002 */ lh $t4, 0x0002($s2) ## 808B85E6
|
||||
/* 00C54 808B8364 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
||||
/* 00C58 808B8368 A44C0032 */ sh $t4, 0x0032($v0) ## 00000032
|
||||
/* 00C5C 808B836C A20D021A */ sb $t5, 0x021A($s0) ## 0000021B
|
||||
.L808B8370:
|
||||
/* 00C60 808B8370 3C014130 */ lui $at, 0x4130 ## $at = 41300000
|
||||
.L808B8374:
|
||||
/* 00C64 808B8374 4481A000 */ mtc1 $at, $f20 ## $f20 = 11.00
|
||||
/* 00C68 808B8378 3C12808C */ lui $s2, %hi(D_808B85E4) ## $s2 = 808C0000
|
||||
/* 00C6C 808B837C 265285E4 */ addiu $s2, $s2, %lo(D_808B85E4) ## $s2 = 808B85E4
|
||||
/* 00C70 808B8380 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00C74 808B8384 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFEC
|
||||
/* 00C78 808B8388 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 00C7C 808B838C 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00C80 808B8390 10400004 */ beq $v0, $zero, .L808B83A4
|
||||
/* 00C84 808B8394 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00C88 808B8398 E4540060 */ swc1 $f20, 0x0060($v0) ## 00000060
|
||||
/* 00C8C 808B839C 864E0000 */ lh $t6, 0x0000($s2) ## 808B85E4
|
||||
/* 00C90 808B83A0 A44E0032 */ sh $t6, 0x0032($v0) ## 00000032
|
||||
.L808B83A4:
|
||||
/* 00C94 808B83A4 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFEC
|
||||
/* 00C98 808B83A8 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 00C9C 808B83AC 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00CA0 808B83B0 50400018 */ beql $v0, $zero, .L808B8414
|
||||
/* 00CA4 808B83B4 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00CA8 808B83B8 E4540060 */ swc1 $f20, 0x0060($v0) ## 00000060
|
||||
/* 00CAC 808B83BC 864F0004 */ lh $t7, 0x0004($s2) ## 808B85E8
|
||||
/* 00CB0 808B83C0 10000013 */ beq $zero, $zero, .L808B8410
|
||||
/* 00CB4 808B83C4 A44F0032 */ sh $t7, 0x0032($v0) ## 00000032
|
||||
.L808B83C8:
|
||||
/* 00CB8 808B83C8 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
/* 00CBC 808B83CC 1462000C */ bne $v1, $v0, .L808B8400
|
||||
/* 00CC0 808B83D0 240100C8 */ addiu $at, $zero, 0x00C8 ## $at = 000000C8
|
||||
/* 00CC4 808B83D4 86180218 */ lh $t8, 0x0218($s0) ## 00000219
|
||||
/* 00CC8 808B83D8 14780005 */ bne $v1, $t8, .L808B83F0
|
||||
/* 00CCC 808B83DC 00000000 */ nop
|
||||
/* 00CD0 808B83E0 0C01E221 */ jal func_80078884
|
||||
/* 00CD4 808B83E4 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 00CD8 808B83E8 1000000A */ beq $zero, $zero, .L808B8414
|
||||
/* 00CDC 808B83EC 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L808B83F0:
|
||||
/* 00CE0 808B83F0 0C01E221 */ jal func_80078884
|
||||
/* 00CE4 808B83F4 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
|
||||
/* 00CE8 808B83F8 10000006 */ beq $zero, $zero, .L808B8414
|
||||
/* 00CEC 808B83FC 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L808B8400:
|
||||
/* 00CF0 808B8400 54410004 */ bnel $v0, $at, .L808B8414
|
||||
/* 00CF4 808B8404 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00CF8 808B8408 0C22DEEC */ jal func_808B7BB0
|
||||
/* 00CFC 808B840C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
|
||||
.L808B8410:
|
||||
/* 00D00 808B8410 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L808B8414:
|
||||
/* 00D04 808B8414 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 00D08 808B8418 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00D0C 808B841C 8FB10024 */ lw $s1, 0x0024($sp)
|
||||
/* 00D10 808B8420 8FB20028 */ lw $s2, 0x0028($sp)
|
||||
/* 00D14 808B8424 8FB3002C */ lw $s3, 0x002C($sp)
|
||||
/* 00D18 808B8428 8FB40030 */ lw $s4, 0x0030($sp)
|
||||
/* 00D1C 808B842C 03E00008 */ jr $ra
|
||||
/* 00D20 808B8430 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
|
|
@ -1,31 +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 Bg_Spot18_Basket_InitVars
|
||||
.word 0x015C0600, 0x00000010, 0x00AF0000, 0x0000021C
|
||||
.word BgSpot18Basket_Init
|
||||
.word BgSpot18Basket_Destroy
|
||||
.word BgSpot18Basket_Update
|
||||
.word BgSpot18Basket_Draw
|
||||
glabel D_808B8570
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x07F80000, 0x00360064, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000000, 0x00010000, 0x01000000, 0x05780000, 0x000D0064
|
||||
glabel D_808B85B8
|
||||
.word 0x0A000909, 0x20000000, 0x00000002
|
||||
.word D_808B8570
|
||||
glabel D_808B85C8
|
||||
.word 0x80002AAA, 0xD5550000
|
||||
glabel D_808B85D0
|
||||
.word 0x00000000
|
||||
glabel D_808B85D4
|
||||
.word 0xC8500064, 0xB0F403E8, 0xB0F801F4, 0x30FC03E8
|
||||
glabel D_808B85E4
|
||||
.word 0xF0600320, 0x0FA00000, 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_808B8650
|
||||
.incbin "baserom/ovl_Bg_Spot18_Basket", 0xF40, 0x00000130
|
3
spec
3
spec
|
@ -1318,8 +1318,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Spot18_Basket"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.o"
|
||||
include "build/data/overlays/actors/z_bg_spot18_basket.data.o"
|
||||
include "build/data/overlays/actors/z_bg_spot18_basket.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot18_Basket/ovl_Bg_Spot18_Basket_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "z_bg_spot18_basket.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
|
@ -9,7 +10,22 @@ void BgSpot18Basket_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void BgSpot18Basket_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgSpot18Basket_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void func_808B7BCC(BgSpot18Basket* this, GlobalContext* globalCtx);
|
||||
void func_808B7AEC(BgSpot18Basket* this);
|
||||
void func_808B7B58(BgSpot18Basket* this);
|
||||
void func_808B7BB0(BgSpot18Basket* this);
|
||||
void func_808B7D38(BgSpot18Basket* this);
|
||||
void func_808B7F74(BgSpot18Basket* this);
|
||||
void func_808B818C(BgSpot18Basket* this);
|
||||
void func_808B7AFC(BgSpot18Basket* this, GlobalContext* globalCtx);
|
||||
void func_808B7B6C(BgSpot18Basket* this, GlobalContext* globalCtx);
|
||||
void func_808B7D50(BgSpot18Basket* this, GlobalContext* globalCtx);
|
||||
void func_808B7FC0(BgSpot18Basket* this, GlobalContext* globalCtx);
|
||||
void func_808B81A0(BgSpot18Basket* this, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_06002154;
|
||||
extern Gfx D_060018B0[];
|
||||
|
||||
const ActorInit Bg_Spot18_Basket_InitVars = {
|
||||
ACTOR_BG_SPOT18_BASKET,
|
||||
ACTORTYPE_PROP,
|
||||
|
@ -21,39 +37,397 @@ const ActorInit Bg_Spot18_Basket_InitVars = {
|
|||
(ActorFunc)BgSpot18Basket_Update,
|
||||
(ActorFunc)BgSpot18Basket_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7710.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7770.s")
|
||||
static ColliderJntSphItemInit sJntSphItemsInit[2] = {
|
||||
{
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
|
||||
{ 0, { { 0, 2040, 0 }, 54 }, 100 },
|
||||
},
|
||||
{
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
|
||||
{ 1, { { 0, 1400, 0 }, 13 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/BgSpot18Basket_Init.s")
|
||||
static ColliderJntSphInit sJntSphInit = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x09, 0x09, 0x20, COLSHAPE_JNTSPH },
|
||||
2,
|
||||
sJntSphItemsInit,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/BgSpot18Basket_Destroy.s")
|
||||
static s16 D_808B85C8[] = { 0x8000, 0x2AAA, 0xD555, 0x0000 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7AEC.s")
|
||||
void func_808B7710(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot18Basket* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7AFC.s")
|
||||
Collider_InitJntSph(globalCtx, &this->colliderJntSph);
|
||||
Collider_SetJntSph(globalCtx, &this->colliderJntSph, &this->dyna.actor, &sJntSphInit, &this->colliderJntSphItems);
|
||||
this->dyna.actor.colChkInfo.mass = 0xFF;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7B58.s")
|
||||
void func_808B7770(BgSpot18Basket* this, GlobalContext* globalCtx, f32 arg2) {
|
||||
static s16 D_808B85D0 = 0;
|
||||
Vec3f acceleration;
|
||||
Vec3f velocity;
|
||||
Vec3f position;
|
||||
f32 cosValue;
|
||||
s32 i;
|
||||
f32 randomValue;
|
||||
f32 sinValue;
|
||||
s32 count;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7B6C.s")
|
||||
for (i = 0, count = 2; i != count; i++) {
|
||||
if (globalCtx) {}
|
||||
if (!(arg2 < Math_Rand_ZeroOne())) {
|
||||
D_808B85D0 += 0x7530;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7BB0.s")
|
||||
sinValue = Math_Sins(D_808B85D0);
|
||||
cosValue = Math_Coss(D_808B85D0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7BCC.s")
|
||||
randomValue = (Math_Rand_ZeroOne() * 35.0f) + 35.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7D38.s")
|
||||
position.x = (randomValue * sinValue) + this->dyna.actor.posRot.pos.x;
|
||||
position.y = this->dyna.actor.posRot.pos.y + 10.0f;
|
||||
position.z = (randomValue * cosValue) + this->dyna.actor.posRot.pos.z;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7D50.s")
|
||||
velocity.x = sinValue;
|
||||
velocity.y = 0.0f;
|
||||
velocity.z = cosValue;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7F74.s")
|
||||
acceleration.x = 0.0f;
|
||||
acceleration.y = 0.5f;
|
||||
acceleration.z = 0.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B7FC0.s")
|
||||
func_800286CC(globalCtx, &position, &velocity, &acceleration, ((Math_Rand_ZeroOne() * 16) + 80),
|
||||
((Math_Rand_ZeroOne() * 30) + 80));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/func_808B818C.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_Spot18_Basket/func_808B81A0.s")
|
||||
void BgSpot18Basket_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot18Basket* this = THIS;
|
||||
Actor* actor = &this->dyna.actor;
|
||||
ColHeader* colHeader = NULL;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/BgSpot18Basket_Update.s")
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, DPM_UNK3);
|
||||
func_808B7710(this, globalCtx);
|
||||
DynaPolyInfo_Alloc(&D_06002154, &colHeader);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot18_Basket/BgSpot18Basket_Draw.s")
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, actor, colHeader);
|
||||
|
||||
Actor_ProcessInitChain(actor, sInitChain);
|
||||
ActorShape_Init(&actor->shape, 0.0f, ActorShadow_DrawFunc_Circle, 15.0f);
|
||||
actor->initPosRot.pos.y += 0.01f;
|
||||
actor->posRot.pos.y = actor->initPosRot.pos.y;
|
||||
|
||||
if (Flags_GetSwitch(globalCtx, (actor->params >> 8) & 0x3F)) {
|
||||
func_808B7BB0(this);
|
||||
return;
|
||||
}
|
||||
|
||||
func_808B7AEC(this);
|
||||
Actor_SpawnAsChild(&globalCtx->actorCtx, actor, globalCtx, ACTOR_BG_SPOT18_FUTA, actor->posRot.pos.x,
|
||||
actor->posRot.pos.y, actor->posRot.pos.z, actor->shape.rot.x, actor->shape.rot.y + 0x1555,
|
||||
actor->shape.rot.z, -1);
|
||||
|
||||
if (actor->child == NULL) {
|
||||
osSyncPrintf(VT_FGCOL(RED));
|
||||
osSyncPrintf("Error : 変化壷蓋発生失敗(%s %d)\n", "../z_bg_spot18_basket.c", 351);
|
||||
osSyncPrintf(VT_RST);
|
||||
Actor_Kill(actor);
|
||||
}
|
||||
}
|
||||
|
||||
void BgSpot18Basket_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot18Basket* this = THIS;
|
||||
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
Collider_DestroyJntSph(globalCtx, &this->colliderJntSph);
|
||||
}
|
||||
|
||||
void func_808B7AEC(BgSpot18Basket* this) {
|
||||
this->actionFunc = func_808B7AFC;
|
||||
}
|
||||
|
||||
void func_808B7AFC(BgSpot18Basket* this, GlobalContext* globalCtx) {
|
||||
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0x3F)) {
|
||||
func_800800F8(globalCtx, 4220, 80, this, 0);
|
||||
func_808B7B58(this);
|
||||
}
|
||||
}
|
||||
|
||||
void func_808B7B58(BgSpot18Basket* this) {
|
||||
this->actionFunc = func_808B7B6C;
|
||||
this->unk_216 = 0;
|
||||
}
|
||||
|
||||
void func_808B7B6C(BgSpot18Basket* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_216 > 20) {
|
||||
func_808B7BB0(this);
|
||||
this->dyna.actor.child->parent = NULL;
|
||||
this->dyna.actor.child = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void func_808B7BB0(BgSpot18Basket* this) {
|
||||
this->actionFunc = func_808B7BCC;
|
||||
this->unk_210 = this->unk_20C = 0;
|
||||
}
|
||||
|
||||
void func_808B7BCC(BgSpot18Basket* this, GlobalContext* globalCtx) {
|
||||
f32 positionDiff;
|
||||
Actor* colliderBaseAc;
|
||||
|
||||
Math_ApproxS(&this->unk_210, 0x1F4, 0x1E);
|
||||
|
||||
this->dyna.actor.shape.rot.y += this->unk_210;
|
||||
|
||||
Math_ApproxF(&this->unk_208, 50.0f, 1.5f);
|
||||
Math_ApproxS(&this->unk_20C, 400, 15);
|
||||
|
||||
this->unk_20E += this->unk_20C;
|
||||
|
||||
this->dyna.actor.posRot.pos.x = (Math_Sins(this->unk_20E) * this->unk_208) + this->dyna.actor.initPosRot.pos.x;
|
||||
this->dyna.actor.posRot.pos.z = (Math_Coss(this->unk_20E) * this->unk_208) + this->dyna.actor.initPosRot.pos.z;
|
||||
|
||||
if (this->colliderJntSph.base.acFlags & 2) {
|
||||
colliderBaseAc = this->colliderJntSph.base.ac;
|
||||
|
||||
if (colliderBaseAc != NULL) {
|
||||
positionDiff = colliderBaseAc->posRot.pos.y - this->dyna.actor.posRot.pos.y;
|
||||
|
||||
if (positionDiff > 120.0f && positionDiff < 200.0f) {
|
||||
if (Math3D_Dist2DSq(colliderBaseAc->posRot.pos.z, this->colliderJntSph.base.ac->posRot.pos.x,
|
||||
this->dyna.actor.posRot.pos.z, this->dyna.actor.posRot.pos.x) < SQ(32.0f)) {
|
||||
func_800800F8(globalCtx, 4210, 240, this, 0);
|
||||
func_808B7D38(this);
|
||||
func_8003EBF8(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
func_8002F974(this, NA_SE_EV_ELEVATOR_MOVE - SFX_FLAG);
|
||||
}
|
||||
|
||||
void func_808B7D38(BgSpot18Basket* this) {
|
||||
this->actionFunc = func_808B7D50;
|
||||
this->unk_216 = 0;
|
||||
this->unk_214 = 0;
|
||||
}
|
||||
|
||||
void func_808B7D50(BgSpot18Basket* this, GlobalContext* globalCtx) {
|
||||
f32 tempValue2;
|
||||
f32 tempValue;
|
||||
|
||||
if (this->unk_216 > 120) {
|
||||
Math_ApproxS(&this->unk_210, 0x3E8, 0x32);
|
||||
} else {
|
||||
Math_ApproxS(&this->unk_210, 0xBB8, 0x64);
|
||||
}
|
||||
|
||||
this->dyna.actor.shape.rot.y = this->dyna.actor.shape.rot.y + this->unk_210;
|
||||
|
||||
if (this->unk_216 < 70) {
|
||||
Math_ApproxF(&this->unk_208, 100.0f, 2.0f);
|
||||
} else {
|
||||
Math_ApproxF(&this->unk_208, 0.0f, 2.0f);
|
||||
}
|
||||
|
||||
Math_ApproxS(&this->unk_20C, 1000, 20);
|
||||
|
||||
this->unk_20E += this->unk_20C;
|
||||
|
||||
this->dyna.actor.posRot.pos.x = (Math_Sins(this->unk_20E) * this->unk_208) + this->dyna.actor.initPosRot.pos.x;
|
||||
this->dyna.actor.posRot.pos.z = (Math_Coss(this->unk_20E) * this->unk_208) + this->dyna.actor.initPosRot.pos.z;
|
||||
|
||||
this->unk_212 += 0xBB8;
|
||||
|
||||
Math_ApproxS(&this->unk_214, 0x5DC, 0x1E);
|
||||
|
||||
this->dyna.actor.shape.rot.x = Math_Coss(this->unk_212) * this->unk_214;
|
||||
this->dyna.actor.shape.rot.z = -Math_Sins(this->unk_212) * this->unk_214;
|
||||
|
||||
if (this->unk_216 > 140) {
|
||||
func_808B7F74(this);
|
||||
}
|
||||
|
||||
if (this->unk_216 < 80) {
|
||||
func_808B7770(this, globalCtx, 1.0f);
|
||||
} else {
|
||||
func_808B7770(this, globalCtx, 0.8f);
|
||||
}
|
||||
|
||||
tempValue2 = (this->unk_210 - 500) * 0.0006f;
|
||||
|
||||
tempValue = CLAMP(tempValue2, 0.0f, 1.5f);
|
||||
|
||||
func_800F436C(&this->dyna.actor.projectedPos, NA_SE_EV_WALL_MOVE_SP - SFX_FLAG, tempValue);
|
||||
}
|
||||
|
||||
void func_808B7F74(BgSpot18Basket* this) {
|
||||
s16 shapeRotY;
|
||||
|
||||
shapeRotY = this->dyna.actor.shape.rot.y;
|
||||
this->actionFunc = func_808B7FC0;
|
||||
|
||||
if ((shapeRotY < -0x2E93) || (shapeRotY >= 0x7C19)) {
|
||||
this->unk_218 = 2;
|
||||
} else if (shapeRotY < 0x26C2) {
|
||||
this->unk_218 = 1;
|
||||
} else {
|
||||
this->unk_218 = 0;
|
||||
}
|
||||
|
||||
this->unk_216 = 0;
|
||||
}
|
||||
|
||||
void func_808B7FC0(BgSpot18Basket* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s32 tempUnk214;
|
||||
f32 tempUnk210;
|
||||
s16 arrayValue;
|
||||
f32 clampedTempUnk210;
|
||||
|
||||
this->unk_212 += 0xBB8;
|
||||
|
||||
if (this->unk_216 >= 13) {
|
||||
tempUnk214 = Math_ApproxS(&this->unk_214, 0, 55);
|
||||
} else {
|
||||
tempUnk214 = 0;
|
||||
}
|
||||
|
||||
this->dyna.actor.shape.rot.x = Math_Coss(this->unk_212) * this->unk_214;
|
||||
this->dyna.actor.shape.rot.z = -Math_Sins(this->unk_212) * this->unk_214;
|
||||
|
||||
Math_ApproxS(&this->unk_210, 0x1F4, 0xA);
|
||||
this->dyna.actor.shape.rot.y += this->unk_210;
|
||||
|
||||
if (tempUnk214 != 0) {
|
||||
arrayValue = D_808B85C8[this->unk_218];
|
||||
|
||||
if ((s16)(this->dyna.actor.shape.rot.y - arrayValue) >= 0) {
|
||||
this->dyna.actor.shape.rot.y = arrayValue;
|
||||
|
||||
func_808B818C(this);
|
||||
func_8003EC50(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
}
|
||||
|
||||
if (this->unk_216 < 30) {
|
||||
func_808B7770(this, globalCtx, 0.5f);
|
||||
} else {
|
||||
func_808B7770(this, globalCtx, 0.3f);
|
||||
}
|
||||
|
||||
tempUnk210 = (this->unk_210 - 500) * 0.0006f;
|
||||
|
||||
clampedTempUnk210 = CLAMP(tempUnk210, 0.0f, 1.5f);
|
||||
|
||||
func_800F436C(&this->dyna.actor.projectedPos, NA_SE_EV_WALL_MOVE_SP - SFX_FLAG, clampedTempUnk210);
|
||||
}
|
||||
|
||||
void func_808B818C(BgSpot18Basket* this) {
|
||||
this->actionFunc = func_808B81A0;
|
||||
this->unk_216 = 0;
|
||||
}
|
||||
|
||||
static s16 D_808B85E4[] = { -0x0FA0, 0x0320, 0x0FA0 };
|
||||
|
||||
void func_808B81A0(BgSpot18Basket* this, GlobalContext* globalCtx) {
|
||||
s32 i;
|
||||
Actor* actor = &this->dyna.actor;
|
||||
Vec3f tempVector;
|
||||
EnItem00* collectible;
|
||||
|
||||
if (this->unk_216 == 1) {
|
||||
tempVector.x = actor->posRot.pos.x;
|
||||
tempVector.y = actor->posRot.pos.y + 170.0f;
|
||||
tempVector.z = actor->posRot.pos.z;
|
||||
|
||||
if (this->unk_218 == 0) {
|
||||
for (i = 0; i < ARRAY_COUNT(D_808B85E4); i++) {
|
||||
collectible = Item_DropCollectible(globalCtx, &tempVector, ITEM00_BOMBS_A);
|
||||
if (collectible != NULL) {
|
||||
collectible->actor.velocity.y = 11.0f;
|
||||
collectible->actor.posRot.rot.y = D_808B85E4[i];
|
||||
}
|
||||
}
|
||||
} else if (this->unk_218 == 1) {
|
||||
for (i = 0; i < ARRAY_COUNT(D_808B85E4); i++) {
|
||||
collectible = Item_DropCollectible(globalCtx, &tempVector, ITEM00_RUPEE_GREEN);
|
||||
if (collectible != NULL) {
|
||||
collectible->actor.velocity.y = 11.0f;
|
||||
collectible->actor.posRot.rot.y = D_808B85E4[i];
|
||||
}
|
||||
}
|
||||
} else if (this->unk_218 == 2) {
|
||||
if ((this->unk_21A != 0) || Flags_GetCollectible(globalCtx, (actor->params & 0x3F))) {
|
||||
collectible = Item_DropCollectible(globalCtx, &tempVector, ITEM00_RUPEE_PURPLE);
|
||||
if (collectible != NULL) {
|
||||
collectible->actor.velocity.y = 11.0f;
|
||||
collectible->actor.posRot.rot.y = D_808B85E4[1];
|
||||
}
|
||||
} else {
|
||||
collectible =
|
||||
Item_DropCollectible(globalCtx, &tempVector, ((actor->params & 0x3F) << 8) | ITEM00_HEART_PIECE);
|
||||
if (collectible != NULL) {
|
||||
collectible->actor.velocity.y = 11.0f;
|
||||
collectible->actor.posRot.rot.y = D_808B85E4[1];
|
||||
this->unk_21A = 1;
|
||||
}
|
||||
}
|
||||
|
||||
collectible = Item_DropCollectible(globalCtx, &tempVector, ITEM00_RUPEE_RED);
|
||||
if (collectible != NULL) {
|
||||
collectible->actor.velocity.y = 11.0f;
|
||||
collectible->actor.posRot.rot.y = D_808B85E4[0];
|
||||
}
|
||||
|
||||
collectible = Item_DropCollectible(globalCtx, &tempVector, ITEM00_RUPEE_BLUE);
|
||||
if (collectible != NULL) {
|
||||
collectible->actor.velocity.y = 11.0f;
|
||||
collectible->actor.posRot.rot.y = D_808B85E4[2];
|
||||
}
|
||||
}
|
||||
} else if (this->unk_216 == 2) {
|
||||
if (this->unk_218 == 2) {
|
||||
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||
} else {
|
||||
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
}
|
||||
} else if (this->unk_216 == 200) {
|
||||
func_808B7BB0(this);
|
||||
}
|
||||
}
|
||||
|
||||
void BgSpot18Basket_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot18Basket* this = THIS;
|
||||
Vec3s temp;
|
||||
|
||||
this->unk_216++;
|
||||
this->actionFunc(this, globalCtx);
|
||||
this->dyna.actor.groundY = func_8003C9A4(&globalCtx->colCtx, &this->dyna.actor.floorPoly, &temp, &this->dyna.actor,
|
||||
&this->dyna.actor.posRot);
|
||||
if (this->actionFunc != func_808B7AFC) {
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderJntSph);
|
||||
if (this->actionFunc != func_808B7B6C) {
|
||||
this->colliderJntSph.base.acFlags &= ~2;
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliderJntSph);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BgSpot18Basket_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot18Basket* this = THIS;
|
||||
|
||||
func_800628A4(0, &this->colliderJntSph);
|
||||
func_800628A4(1, &this->colliderJntSph);
|
||||
Gfx_DrawDListOpa(globalCtx, D_060018B0);
|
||||
}
|
||||
|
|
|
@ -6,11 +6,26 @@
|
|||
|
||||
struct BgSpot18Basket;
|
||||
|
||||
typedef void (*BgSpot18BasketActionFunc)(struct BgSpot18Basket*, GlobalContext*);
|
||||
|
||||
typedef struct BgSpot18Basket {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0xD0];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ColliderJntSph colliderJntSph;
|
||||
/* 0x0184 */ ColliderJntSphItem colliderJntSphItems[2];
|
||||
/* 0x0204 */ BgSpot18BasketActionFunc actionFunc;
|
||||
/* 0x0208 */ f32 unk_208;
|
||||
/* 0x020C */ s16 unk_20C;
|
||||
/* 0x020E */ s16 unk_20E;
|
||||
/* 0x0210 */ s16 unk_210;
|
||||
/* 0x0212 */ s16 unk_212;
|
||||
/* 0x0214 */ s16 unk_214;
|
||||
/* 0x0216 */ s16 unk_216;
|
||||
/* 0x0218 */ s16 unk_218;
|
||||
/* 0x021A */ u8 unk_21A;
|
||||
/* 0x021B */ u8 unk_21B;
|
||||
} BgSpot18Basket; // size = 0x021C
|
||||
|
||||
extern const ActorInit Bg_Spot18_Basket_InitVars;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -324,6 +324,10 @@ D_0600238C = 0x0600238C;
|
|||
D_06000348 = 0x06000348;
|
||||
D_06000180 = 0x06000180;
|
||||
|
||||
// z_Bg_spot18_basket
|
||||
D_06002154 = 0x06002154;
|
||||
D_060018B0 = 0x060018B0;
|
||||
|
||||
// z_bg_spot18_futa
|
||||
D_06000368 = 0x06000368;
|
||||
D_06000150 = 0x06000150;
|
||||
|
|
Loading…
Add table
Reference in a new issue