mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
object function matches and a lot of cleanup (#329)
* match obj_loop_bridge_whaleramp * ya * document main.c * document font.c * Update font.c * match obj_loop_banana * match obj_loop_frog and obj_loop_levelname * Update object_functions.c * fix object.c warnings * label some render flags * finish font.c for now * move struct * font.c finished * match obj_loop_trigger * quick fixes * Update src/font.h Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.h Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.c Co-authored-by: David Benepe <benepe96@gmail.com> * Update src/object_functions.h Co-authored-by: David Benepe <benepe96@gmail.com> Co-authored-by: David Benepe <benepe96@gmail.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -194,14 +194,14 @@ glabel render_track_select_setup_ui
|
||||
/* 091DEC 800911EC 8F39F4A0 */ lw $t9, %lo(gMenuText)($t9)
|
||||
/* 091DF0 800911F0 00002825 */ move $a1, $zero
|
||||
/* 091DF4 800911F4 8F240248 */ lw $a0, 0x248($t9)
|
||||
/* 091DF8 800911F8 0C031368 */ jal func_800C4DA0
|
||||
/* 091DF8 800911F8 0C031368 */ jal get_text_width
|
||||
/* 091DFC 800911FC 00003025 */ move $a2, $zero
|
||||
/* 091E00 80091200 3C08800E */ lui $t0, %hi(gMenuText) # $t0, 0x800e
|
||||
/* 091E04 80091204 8D08F4A0 */ lw $t0, %lo(gMenuText)($t0)
|
||||
/* 091E08 80091208 0040A025 */ move $s4, $v0
|
||||
/* 091E0C 8009120C 8D04024C */ lw $a0, 0x24c($t0)
|
||||
/* 091E10 80091210 00002825 */ move $a1, $zero
|
||||
/* 091E14 80091214 0C031368 */ jal func_800C4DA0
|
||||
/* 091E14 80091214 0C031368 */ jal get_text_width
|
||||
/* 091E18 80091218 00003025 */ move $a2, $zero
|
||||
/* 091E1C 8009121C 0282082A */ slt $at, $s4, $v0
|
||||
/* 091E20 80091220 10200002 */ beqz $at, .L8009122C
|
||||
@@ -921,7 +921,7 @@ glabel render_track_select_setup_ui
|
||||
/* 0928AC 80091CAC 8DADF4A0 */ lw $t5, %lo(gMenuText)($t5)
|
||||
/* 0928B0 80091CB0 00002825 */ move $a1, $zero
|
||||
/* 0928B4 80091CB4 8DA40220 */ lw $a0, 0x220($t5)
|
||||
/* 0928B8 80091CB8 0C031368 */ jal func_800C4DA0
|
||||
/* 0928B8 80091CB8 0C031368 */ jal get_text_width
|
||||
/* 0928BC 80091CBC 00003025 */ move $a2, $zero
|
||||
/* 0928C0 80091CC0 3C12800E */ lui $s2, %hi(gTwoPlayerRacerCountMenu) # $s2, 0x800e
|
||||
/* 0928C4 80091CC4 265206E4 */ addiu $s2, %lo(gTwoPlayerRacerCountMenu) # addiu $s2, $s2, 0x6e4
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
glabel init_particle_assets
|
||||
/* 0AF130 800AE530 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 0AF134 800AE534 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0AF138 800AE538 AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* 0AF13C 800AE53C AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* 0AF140 800AE540 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 0AF144 800AE544 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 0AF148 800AE548 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 0AF14C 800AE54C 0C02B924 */ jal func_800AE490
|
||||
/* 0AF150 800AE550 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 0AF154 800AE554 0C01DB16 */ jal load_asset_section_from_rom
|
||||
/* 0AF158 800AE558 24040028 */ li $a0, 40
|
||||
/* 0AF15C 800AE55C 3C05800E */ lui $a1, %hi(gParticlesAssetTableCount) # $a1, 0x800e
|
||||
/* 0AF160 800AE560 2406FFFF */ li $a2, -1
|
||||
/* 0AF164 800AE564 3C12800E */ lui $s2, %hi(gParticlesAssetTable) # $s2, 0x800e
|
||||
/* 0AF168 800AE568 26522CF0 */ addiu $s2, %lo(gParticlesAssetTable) # addiu $s2, $s2, 0x2cf0
|
||||
/* 0AF16C 800AE56C 24A52CE8 */ addiu $a1, %lo(gParticlesAssetTableCount) # addiu $a1, $a1, 0x2ce8
|
||||
/* 0AF170 800AE570 00067080 */ sll $t6, $a2, 2
|
||||
/* 0AF174 800AE574 AE420000 */ sw $v0, ($s2)
|
||||
/* 0AF178 800AE578 ACA60000 */ sw $a2, ($a1)
|
||||
/* 0AF17C 800AE57C 004E7821 */ addu $t7, $v0, $t6
|
||||
/* 0AF180 800AE580 8DF80004 */ lw $t8, 4($t7)
|
||||
/* 0AF184 800AE584 00C01825 */ move $v1, $a2
|
||||
/* 0AF188 800AE588 10D80009 */ beq $a2, $t8, .L800AE5B0
|
||||
/* 0AF18C 800AE58C 00402025 */ move $a0, $v0
|
||||
/* 0AF190 800AE590 24790001 */ addiu $t9, $v1, 1
|
||||
.L800AE594:
|
||||
/* 0AF194 800AE594 00194080 */ sll $t0, $t9, 2
|
||||
/* 0AF198 800AE598 00884821 */ addu $t1, $a0, $t0
|
||||
/* 0AF19C 800AE59C ACB90000 */ sw $t9, ($a1)
|
||||
/* 0AF1A0 800AE5A0 8D2A0004 */ lw $t2, 4($t1)
|
||||
/* 0AF1A4 800AE5A4 03201825 */ move $v1, $t9
|
||||
/* 0AF1A8 800AE5A8 14CAFFFA */ bne $a2, $t2, .L800AE594
|
||||
/* 0AF1AC 800AE5AC 24790001 */ addiu $t9, $v1, 1
|
||||
.L800AE5B0:
|
||||
/* 0AF1B0 800AE5B0 0C01DB16 */ jal load_asset_section_from_rom
|
||||
/* 0AF1B4 800AE5B4 24040029 */ li $a0, 41
|
||||
/* 0AF1B8 800AE5B8 3C05800E */ lui $a1, %hi(gParticlesAssetTableCount) # $a1, 0x800e
|
||||
/* 0AF1BC 800AE5BC 24A52CE8 */ addiu $a1, %lo(gParticlesAssetTableCount) # addiu $a1, $a1, 0x2ce8
|
||||
/* 0AF1C0 800AE5C0 8CAB0000 */ lw $t3, ($a1)
|
||||
/* 0AF1C4 800AE5C4 3C03800E */ lui $v1, %hi(gParticlesAssets) # $v1, 0x800e
|
||||
/* 0AF1C8 800AE5C8 24632CEC */ addiu $v1, %lo(gParticlesAssets) # addiu $v1, $v1, 0x2cec
|
||||
/* 0AF1CC 800AE5CC AC620000 */ sw $v0, ($v1)
|
||||
/* 0AF1D0 800AE5D0 1960000F */ blez $t3, .L800AE610
|
||||
/* 0AF1D4 800AE5D4 00008825 */ move $s1, $zero
|
||||
/* 0AF1D8 800AE5D8 00008025 */ move $s0, $zero
|
||||
.L800AE5DC:
|
||||
/* 0AF1DC 800AE5DC 8E4C0000 */ lw $t4, ($s2)
|
||||
/* 0AF1E0 800AE5E0 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0AF1E4 800AE5E4 01901021 */ addu $v0, $t4, $s0
|
||||
/* 0AF1E8 800AE5E8 8C4D0000 */ lw $t5, ($v0)
|
||||
/* 0AF1EC 800AE5EC 26310001 */ addiu $s1, $s1, 1
|
||||
/* 0AF1F0 800AE5F0 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 0AF1F4 800AE5F4 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 0AF1F8 800AE5F8 8CB80000 */ lw $t8, ($a1)
|
||||
/* 0AF1FC 800AE5FC 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0AF200 800AE600 0238082A */ slt $at, $s1, $t8
|
||||
/* 0AF204 800AE604 1420FFF5 */ bnez $at, .L800AE5DC
|
||||
/* 0AF208 800AE608 00000000 */ nop
|
||||
/* 0AF20C 800AE60C 00008825 */ move $s1, $zero
|
||||
.L800AE610:
|
||||
/* 0AF210 800AE610 0C01DB16 */ jal load_asset_section_from_rom
|
||||
/* 0AF214 800AE614 2404002A */ li $a0, 42
|
||||
/* 0AF218 800AE618 2406FFFF */ li $a2, -1
|
||||
/* 0AF21C 800AE61C 3C12800E */ lui $s2, %hi(gParticleBehavioursAssetTableCount) # $s2, 0x800e
|
||||
/* 0AF220 800AE620 3C13800E */ lui $s3, %hi(gParticleBehavioursAssetTable) # $s3, 0x800e
|
||||
/* 0AF224 800AE624 26732CFC */ addiu $s3, %lo(gParticleBehavioursAssetTable) # addiu $s3, $s3, 0x2cfc
|
||||
/* 0AF228 800AE628 26522CF4 */ addiu $s2, %lo(gParticleBehavioursAssetTableCount) # addiu $s2, $s2, 0x2cf4
|
||||
/* 0AF22C 800AE62C 0006C880 */ sll $t9, $a2, 2
|
||||
/* 0AF230 800AE630 AE620000 */ sw $v0, ($s3)
|
||||
/* 0AF234 800AE634 AE460000 */ sw $a2, ($s2)
|
||||
/* 0AF238 800AE638 00594021 */ addu $t0, $v0, $t9
|
||||
/* 0AF23C 800AE63C 8D090004 */ lw $t1, 4($t0)
|
||||
/* 0AF240 800AE640 00C01825 */ move $v1, $a2
|
||||
/* 0AF244 800AE644 10C90009 */ beq $a2, $t1, .L800AE66C
|
||||
/* 0AF248 800AE648 00402025 */ move $a0, $v0
|
||||
/* 0AF24C 800AE64C 246A0001 */ addiu $t2, $v1, 1
|
||||
.L800AE650:
|
||||
/* 0AF250 800AE650 000A5880 */ sll $t3, $t2, 2
|
||||
/* 0AF254 800AE654 008B6021 */ addu $t4, $a0, $t3
|
||||
/* 0AF258 800AE658 AE4A0000 */ sw $t2, ($s2)
|
||||
/* 0AF25C 800AE65C 8D8D0004 */ lw $t5, 4($t4)
|
||||
/* 0AF260 800AE660 01401825 */ move $v1, $t2
|
||||
/* 0AF264 800AE664 14CDFFFA */ bne $a2, $t5, .L800AE650
|
||||
/* 0AF268 800AE668 246A0001 */ addiu $t2, $v1, 1
|
||||
.L800AE66C:
|
||||
/* 0AF26C 800AE66C 0C01DB16 */ jal load_asset_section_from_rom
|
||||
/* 0AF270 800AE670 2404002B */ li $a0, 43
|
||||
/* 0AF274 800AE674 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 0AF278 800AE678 3C15800E */ lui $s5, %hi(gParticleBehavioursAssets) # $s5, 0x800e
|
||||
/* 0AF27C 800AE67C 26B52CF8 */ addiu $s5, %lo(gParticleBehavioursAssets) # addiu $s5, $s5, 0x2cf8
|
||||
/* 0AF280 800AE680 19C00020 */ blez $t6, .L800AE704
|
||||
/* 0AF284 800AE684 AEA20000 */ sw $v0, ($s5)
|
||||
/* 0AF288 800AE688 00008025 */ move $s0, $zero
|
||||
/* 0AF28C 800AE68C 2414FFFF */ li $s4, -1
|
||||
.L800AE690:
|
||||
/* 0AF290 800AE690 8E6F0000 */ lw $t7, ($s3)
|
||||
/* 0AF294 800AE694 8EB90000 */ lw $t9, ($s5)
|
||||
/* 0AF298 800AE698 01F01021 */ addu $v0, $t7, $s0
|
||||
/* 0AF29C 800AE69C 8C580000 */ lw $t8, ($v0)
|
||||
/* 0AF2A0 800AE6A0 00000000 */ nop
|
||||
/* 0AF2A4 800AE6A4 03194021 */ addu $t0, $t8, $t9
|
||||
/* 0AF2A8 800AE6A8 AC480000 */ sw $t0, ($v0)
|
||||
/* 0AF2AC 800AE6AC 8E690000 */ lw $t1, ($s3)
|
||||
/* 0AF2B0 800AE6B0 00000000 */ nop
|
||||
/* 0AF2B4 800AE6B4 01305021 */ addu $t2, $t1, $s0
|
||||
/* 0AF2B8 800AE6B8 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 0AF2BC 800AE6BC 00000000 */ nop
|
||||
/* 0AF2C0 800AE6C0 8D63009C */ lw $v1, 0x9c($t3)
|
||||
/* 0AF2C4 800AE6C4 00000000 */ nop
|
||||
/* 0AF2C8 800AE6C8 12830009 */ beq $s4, $v1, .L800AE6F0
|
||||
/* 0AF2CC 800AE6CC 00000000 */ nop
|
||||
/* 0AF2D0 800AE6D0 0C0078A7 */ jal get_misc_asset
|
||||
/* 0AF2D4 800AE6D4 00602025 */ move $a0, $v1
|
||||
/* 0AF2D8 800AE6D8 8E6C0000 */ lw $t4, ($s3)
|
||||
/* 0AF2DC 800AE6DC 00000000 */ nop
|
||||
/* 0AF2E0 800AE6E0 01906821 */ addu $t5, $t4, $s0
|
||||
/* 0AF2E4 800AE6E4 8DAE0000 */ lw $t6, ($t5)
|
||||
/* 0AF2E8 800AE6E8 00000000 */ nop
|
||||
/* 0AF2EC 800AE6EC ADC2009C */ sw $v0, 0x9c($t6)
|
||||
.L800AE6F0:
|
||||
/* 0AF2F0 800AE6F0 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 0AF2F4 800AE6F4 26310001 */ addiu $s1, $s1, 1
|
||||
/* 0AF2F8 800AE6F8 022F082A */ slt $at, $s1, $t7
|
||||
/* 0AF2FC 800AE6FC 1420FFE4 */ bnez $at, .L800AE690
|
||||
/* 0AF300 800AE700 26100004 */ addiu $s0, $s0, 4
|
||||
.L800AE704:
|
||||
/* 0AF304 800AE704 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 0AF308 800AE708 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 0AF30C 800AE70C 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 0AF310 800AE710 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 0AF314 800AE714 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 0AF318 800AE718 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* 0AF31C 800AE71C 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* 0AF320 800AE720 03E00008 */ jr $ra
|
||||
/* 0AF324 800AE724 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
@@ -1,415 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E6190
|
||||
.double 1.2
|
||||
glabel D_800E6198
|
||||
.double 0.95
|
||||
glabel D_800E61A0
|
||||
.float -10000.0
|
||||
|
||||
.text
|
||||
glabel obj_loop_banana
|
||||
/* 03E1A0 8003D5A0 44852000 */ mtc1 $a1, $f4
|
||||
/* 03E1A4 8003D5A4 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000
|
||||
/* 03E1A8 8003D5A8 468020A0 */ cvt.s.w $f2, $f4
|
||||
/* 03E1AC 8003D5AC 8DEF0300 */ lw $t7, %lo(osTvType)($t7)
|
||||
/* 03E1B0 8003D5B0 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* 03E1B4 8003D5B4 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 03E1B8 8003D5B8 00808025 */ move $s0, $a0
|
||||
/* 03E1BC 8003D5BC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 03E1C0 8003D5C0 AFA50074 */ sw $a1, 0x74($sp)
|
||||
/* 03E1C4 8003D5C4 15E00007 */ bnez $t7, .L8003D5E4
|
||||
/* 03E1C8 8003D5C8 46001006 */ mov.s $f0, $f2
|
||||
/* 03E1CC 8003D5CC 3C01800E */ lui $at, %hi(D_800E6190 + 4) # $at, 0x800e
|
||||
/* 03E1D0 8003D5D0 C4296190 */ lwc1 $f9, %lo(D_800E6190)($at)
|
||||
/* 03E1D4 8003D5D4 C4286194 */ lwc1 $f8, %lo(D_800E6190 + 4)($at)
|
||||
/* 03E1D8 8003D5D8 460011A1 */ cvt.d.s $f6, $f2
|
||||
/* 03E1DC 8003D5DC 46283282 */ mul.d $f10, $f6, $f8
|
||||
/* 03E1E0 8003D5E0 46205020 */ cvt.s.d $f0, $f10
|
||||
.L8003D5E4:
|
||||
/* 03E1E4 8003D5E4 8E180064 */ lw $t8, 0x64($s0)
|
||||
/* 03E1E8 8003D5E8 8FAA0074 */ lw $t2, 0x74($sp)
|
||||
/* 03E1EC 8003D5EC AFB8003C */ sw $t8, 0x3c($sp)
|
||||
/* 03E1F0 8003D5F0 86190018 */ lh $t9, 0x18($s0)
|
||||
/* 03E1F4 8003D5F4 8E0D0078 */ lw $t5, 0x78($s0)
|
||||
/* 03E1F8 8003D5F8 000A58C0 */ sll $t3, $t2, 3
|
||||
/* 03E1FC 8003D5FC 2401FFFF */ li $at, -1
|
||||
/* 03E200 8003D600 032B6021 */ addu $t4, $t9, $t3
|
||||
/* 03E204 8003D604 15A10019 */ bne $t5, $at, .L8003D66C
|
||||
/* 03E208 8003D608 A60C0018 */ sh $t4, 0x18($s0)
|
||||
/* 03E20C 8003D60C 860E0006 */ lh $t6, 6($s0)
|
||||
/* 03E210 8003D610 26090078 */ addiu $t1, $s0, 0x78
|
||||
/* 03E214 8003D614 35CF4000 */ ori $t7, $t6, 0x4000
|
||||
/* 03E218 8003D618 A60F0006 */ sh $t7, 6($s0)
|
||||
/* 03E21C 8003D61C 8FAA0074 */ lw $t2, 0x74($sp)
|
||||
/* 03E220 8003D620 85380006 */ lh $t8, 6($t1)
|
||||
/* 03E224 8003D624 240B0001 */ li $t3, 1
|
||||
/* 03E228 8003D628 030AC823 */ subu $t9, $t8, $t2
|
||||
/* 03E22C 8003D62C A5390006 */ sh $t9, 6($t1)
|
||||
/* 03E230 8003D630 AE0B0074 */ sw $t3, 0x74($s0)
|
||||
/* 03E234 8003D634 8FA50074 */ lw $a1, 0x74($sp)
|
||||
/* 03E238 8003D638 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E23C 8003D63C 0C02BF0F */ jal func_800AFC3C
|
||||
/* 03E240 8003D640 02002025 */ move $a0, $s0
|
||||
/* 03E244 8003D644 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E248 8003D648 00000000 */ nop
|
||||
/* 03E24C 8003D64C 852C0006 */ lh $t4, 6($t1)
|
||||
/* 03E250 8003D650 00000000 */ nop
|
||||
/* 03E254 8003D654 1D80014F */ bgtz $t4, .L8003DB94
|
||||
/* 03E258 8003D658 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 03E25C 8003D65C 0C003FEE */ jal gParticlePtrList_addObject
|
||||
/* 03E260 8003D660 02002025 */ move $a0, $s0
|
||||
/* 03E264 8003D664 1000014B */ b .L8003DB94
|
||||
/* 03E268 8003D668 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8003D66C:
|
||||
/* 03E26C 8003D66C 8FAD003C */ lw $t5, 0x3c($sp)
|
||||
/* 03E270 8003D670 8FAE0074 */ lw $t6, 0x74($sp)
|
||||
/* 03E274 8003D674 81A20008 */ lb $v0, 8($t5)
|
||||
/* 03E278 8003D678 8FB8003C */ lw $t8, 0x3c($sp)
|
||||
/* 03E27C 8003D67C 18400004 */ blez $v0, .L8003D690
|
||||
/* 03E280 8003D680 26090078 */ addiu $t1, $s0, 0x78
|
||||
/* 03E284 8003D684 004E7823 */ subu $t7, $v0, $t6
|
||||
/* 03E288 8003D688 10000003 */ b .L8003D698
|
||||
/* 03E28C 8003D68C A1AF0008 */ sb $t7, 8($t5)
|
||||
.L8003D690:
|
||||
/* 03E290 8003D690 A3000008 */ sb $zero, 8($t8)
|
||||
/* 03E294 8003D694 AF000000 */ sw $zero, ($t8)
|
||||
.L8003D698:
|
||||
/* 03E298 8003D698 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 03E29C 8003D69C 24010001 */ li $at, 1
|
||||
/* 03E2A0 8003D6A0 1541009B */ bne $t2, $at, .L8003D910
|
||||
/* 03E2A4 8003D6A4 8FAD003C */ lw $t5, 0x3c($sp)
|
||||
/* 03E2A8 8003D6A8 C612001C */ lwc1 $f18, 0x1c($s0)
|
||||
/* 03E2AC 8003D6AC C610000C */ lwc1 $f16, 0xc($s0)
|
||||
/* 03E2B0 8003D6B0 46009102 */ mul.s $f4, $f18, $f0
|
||||
/* 03E2B4 8003D6B4 3C014100 */ li $at, 0x41000000 # 8.000000
|
||||
/* 03E2B8 8003D6B8 2605000C */ addiu $a1, $s0, 0xc
|
||||
/* 03E2BC 8003D6BC 24040001 */ li $a0, 1
|
||||
/* 03E2C0 8003D6C0 46048180 */ add.s $f6, $f16, $f4
|
||||
/* 03E2C4 8003D6C4 27A6005C */ addiu $a2, $sp, 0x5c
|
||||
/* 03E2C8 8003D6C8 E7A6005C */ swc1 $f6, 0x5c($sp)
|
||||
/* 03E2CC 8003D6CC C60A0020 */ lwc1 $f10, 0x20($s0)
|
||||
/* 03E2D0 8003D6D0 C6080010 */ lwc1 $f8, 0x10($s0)
|
||||
/* 03E2D4 8003D6D4 46005482 */ mul.s $f18, $f10, $f0
|
||||
/* 03E2D8 8003D6D8 2407FFFF */ li $a3, -1
|
||||
/* 03E2DC 8003D6DC 46124400 */ add.s $f16, $f8, $f18
|
||||
/* 03E2E0 8003D6E0 44819000 */ mtc1 $at, $f18
|
||||
/* 03E2E4 8003D6E4 E7B00060 */ swc1 $f16, 0x60($sp)
|
||||
/* 03E2E8 8003D6E8 C6060024 */ lwc1 $f6, 0x24($s0)
|
||||
/* 03E2EC 8003D6EC C6040014 */ lwc1 $f4, 0x14($s0)
|
||||
/* 03E2F0 8003D6F0 46003282 */ mul.s $f10, $f6, $f0
|
||||
/* 03E2F4 8003D6F4 E7A00054 */ swc1 $f0, 0x54($sp)
|
||||
/* 03E2F8 8003D6F8 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E2FC 8003D6FC AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 03E300 8003D700 460A2200 */ add.s $f8, $f4, $f10
|
||||
/* 03E304 8003D704 E7B20058 */ swc1 $f18, 0x58($sp)
|
||||
/* 03E308 8003D708 0C00C44C */ jal func_80031130
|
||||
/* 03E30C 8003D70C E7A80064 */ swc1 $f8, 0x64($sp)
|
||||
/* 03E310 8003D710 8FA4002C */ lw $a0, 0x2c($sp)
|
||||
/* 03E314 8003D714 24190001 */ li $t9, 1
|
||||
/* 03E318 8003D718 27AB0048 */ addiu $t3, $sp, 0x48
|
||||
/* 03E31C 8003D71C AFA00048 */ sw $zero, 0x48($sp)
|
||||
/* 03E320 8003D720 AFAB0014 */ sw $t3, 0x14($sp)
|
||||
/* 03E324 8003D724 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 03E328 8003D728 27A5005C */ addiu $a1, $sp, 0x5c
|
||||
/* 03E32C 8003D72C 27A60058 */ addiu $a2, $sp, 0x58
|
||||
/* 03E330 8003D730 0C00C580 */ jal func_80031600
|
||||
/* 03E334 8003D734 27A70043 */ addiu $a3, $sp, 0x43
|
||||
/* 03E338 8003D738 C7B0005C */ lwc1 $f16, 0x5c($sp)
|
||||
/* 03E33C 8003D73C C606000C */ lwc1 $f6, 0xc($s0)
|
||||
/* 03E340 8003D740 C7A00054 */ lwc1 $f0, 0x54($sp)
|
||||
/* 03E344 8003D744 46068101 */ sub.s $f4, $f16, $f6
|
||||
/* 03E348 8003D748 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E34C 8003D74C 46002283 */ div.s $f10, $f4, $f0
|
||||
/* 03E350 8003D750 C6120010 */ lwc1 $f18, 0x10($s0)
|
||||
/* 03E354 8003D754 24010002 */ li $at, 2
|
||||
/* 03E358 8003D758 44806800 */ mtc1 $zero, $f13
|
||||
/* 03E35C 8003D75C 02002025 */ move $a0, $s0
|
||||
/* 03E360 8003D760 27A50058 */ addiu $a1, $sp, 0x58
|
||||
/* 03E364 8003D764 00003025 */ move $a2, $zero
|
||||
/* 03E368 8003D768 24070001 */ li $a3, 1
|
||||
/* 03E36C 8003D76C E60A001C */ swc1 $f10, 0x1c($s0)
|
||||
/* 03E370 8003D770 C7A80060 */ lwc1 $f8, 0x60($sp)
|
||||
/* 03E374 8003D774 C60A0014 */ lwc1 $f10, 0x14($s0)
|
||||
/* 03E378 8003D778 46124401 */ sub.s $f16, $f8, $f18
|
||||
/* 03E37C 8003D77C 00000000 */ nop
|
||||
/* 03E380 8003D780 46008183 */ div.s $f6, $f16, $f0
|
||||
/* 03E384 8003D784 E6060020 */ swc1 $f6, 0x20($s0)
|
||||
/* 03E388 8003D788 C7A40064 */ lwc1 $f4, 0x64($sp)
|
||||
/* 03E38C 8003D78C 00000000 */ nop
|
||||
/* 03E390 8003D790 460A2201 */ sub.s $f8, $f4, $f10
|
||||
/* 03E394 8003D794 00000000 */ nop
|
||||
/* 03E398 8003D798 46004483 */ div.s $f18, $f8, $f0
|
||||
/* 03E39C 8003D79C E6120024 */ swc1 $f18, 0x24($s0)
|
||||
/* 03E3A0 8003D7A0 C7B0005C */ lwc1 $f16, 0x5c($sp)
|
||||
/* 03E3A4 8003D7A4 00000000 */ nop
|
||||
/* 03E3A8 8003D7A8 E610000C */ swc1 $f16, 0xc($s0)
|
||||
/* 03E3AC 8003D7AC C7A60060 */ lwc1 $f6, 0x60($sp)
|
||||
/* 03E3B0 8003D7B0 00000000 */ nop
|
||||
/* 03E3B4 8003D7B4 E6060010 */ swc1 $f6, 0x10($s0)
|
||||
/* 03E3B8 8003D7B8 C7A40064 */ lwc1 $f4, 0x64($sp)
|
||||
/* 03E3BC 8003D7BC 00000000 */ nop
|
||||
/* 03E3C0 8003D7C0 E6040014 */ swc1 $f4, 0x14($s0)
|
||||
/* 03E3C4 8003D7C4 8FAC003C */ lw $t4, 0x3c($sp)
|
||||
/* 03E3C8 8003D7C8 00000000 */ nop
|
||||
/* 03E3CC 8003D7CC 818E0009 */ lb $t6, 9($t4)
|
||||
/* 03E3D0 8003D7D0 00000000 */ nop
|
||||
/* 03E3D4 8003D7D4 11C10016 */ beq $t6, $at, .L8003D830
|
||||
/* 03E3D8 8003D7D8 3C01800E */ lui $at, %hi(D_800E6198 + 4) # $at, 0x800e
|
||||
/* 03E3DC 8003D7DC C4216198 */ lwc1 $f1, %lo(D_800E6198)($at)
|
||||
/* 03E3E0 8003D7E0 C420619C */ lwc1 $f0, %lo(D_800E6198 + 4)($at)
|
||||
/* 03E3E4 8003D7E4 C60A0020 */ lwc1 $f10, 0x20($s0)
|
||||
/* 03E3E8 8003D7E8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
||||
/* 03E3EC 8003D7EC 44819800 */ mtc1 $at, $f19
|
||||
/* 03E3F0 8003D7F0 44809000 */ mtc1 $zero, $f18
|
||||
/* 03E3F4 8003D7F4 46005221 */ cvt.d.s $f8, $f10
|
||||
/* 03E3F8 8003D7F8 46324401 */ sub.d $f16, $f8, $f18
|
||||
/* 03E3FC 8003D7FC C604001C */ lwc1 $f4, 0x1c($s0)
|
||||
/* 03E400 8003D800 462081A0 */ cvt.s.d $f6, $f16
|
||||
/* 03E404 8003D804 C6100024 */ lwc1 $f16, 0x24($s0)
|
||||
/* 03E408 8003D808 460022A1 */ cvt.d.s $f10, $f4
|
||||
/* 03E40C 8003D80C 46205202 */ mul.d $f8, $f10, $f0
|
||||
/* 03E410 8003D810 E6060020 */ swc1 $f6, 0x20($s0)
|
||||
/* 03E414 8003D814 460081A1 */ cvt.d.s $f6, $f16
|
||||
/* 03E418 8003D818 46203102 */ mul.d $f4, $f6, $f0
|
||||
/* 03E41C 8003D81C 462044A0 */ cvt.s.d $f18, $f8
|
||||
/* 03E420 8003D820 E612001C */ swc1 $f18, 0x1c($s0)
|
||||
/* 03E424 8003D824 462022A0 */ cvt.s.d $f10, $f4
|
||||
/* 03E428 8003D828 10000006 */ b .L8003D844
|
||||
/* 03E42C 8003D82C E60A0024 */ swc1 $f10, 0x24($s0)
|
||||
.L8003D830:
|
||||
/* 03E430 8003D830 44800000 */ mtc1 $zero, $f0
|
||||
/* 03E434 8003D834 00000000 */ nop
|
||||
/* 03E438 8003D838 E600001C */ swc1 $f0, 0x1c($s0)
|
||||
/* 03E43C 8003D83C E6000020 */ swc1 $f0, 0x20($s0)
|
||||
/* 03E440 8003D840 E6000024 */ swc1 $f0, 0x24($s0)
|
||||
.L8003D844:
|
||||
/* 03E444 8003D844 C602001C */ lwc1 $f2, 0x1c($s0)
|
||||
/* 03E448 8003D848 44806000 */ mtc1 $zero, $f12
|
||||
/* 03E44C 8003D84C 46001221 */ cvt.d.s $f8, $f2
|
||||
/* 03E450 8003D850 462C403C */ c.lt.d $f8, $f12
|
||||
/* 03E454 8003D854 8FAF0048 */ lw $t7, 0x48($sp)
|
||||
/* 03E458 8003D858 45000002 */ bc1f .L8003D864
|
||||
/* 03E45C 8003D85C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
|
||||
/* 03E460 8003D860 46001087 */ neg.s $f2, $f2
|
||||
.L8003D864:
|
||||
/* 03E464 8003D864 C6000024 */ lwc1 $f0, 0x24($s0)
|
||||
/* 03E468 8003D868 00000000 */ nop
|
||||
/* 03E46C 8003D86C 460004A1 */ cvt.d.s $f18, $f0
|
||||
/* 03E470 8003D870 462C903C */ c.lt.d $f18, $f12
|
||||
/* 03E474 8003D874 00000000 */ nop
|
||||
/* 03E478 8003D878 45000002 */ bc1f .L8003D884
|
||||
/* 03E47C 8003D87C 00000000 */ nop
|
||||
/* 03E480 8003D880 46000007 */ neg.s $f0, $f0
|
||||
.L8003D884:
|
||||
/* 03E484 8003D884 19E0000E */ blez $t7, .L8003D8C0
|
||||
/* 03E488 8003D888 00000000 */ nop
|
||||
/* 03E48C 8003D88C 44816800 */ mtc1 $at, $f13
|
||||
/* 03E490 8003D890 44806000 */ mtc1 $zero, $f12
|
||||
/* 03E494 8003D894 46001421 */ cvt.d.s $f16, $f2
|
||||
/* 03E498 8003D898 462C803C */ c.lt.d $f16, $f12
|
||||
/* 03E49C 8003D89C 00000000 */ nop
|
||||
/* 03E4A0 8003D8A0 45000007 */ bc1f .L8003D8C0
|
||||
/* 03E4A4 8003D8A4 00000000 */ nop
|
||||
/* 03E4A8 8003D8A8 460001A1 */ cvt.d.s $f6, $f0
|
||||
/* 03E4AC 8003D8AC 462C303C */ c.lt.d $f6, $f12
|
||||
/* 03E4B0 8003D8B0 00000000 */ nop
|
||||
/* 03E4B4 8003D8B4 45000002 */ bc1f .L8003D8C0
|
||||
/* 03E4B8 8003D8B8 00000000 */ nop
|
||||
/* 03E4BC 8003D8BC AD200000 */ sw $zero, ($t1)
|
||||
.L8003D8C0:
|
||||
/* 03E4C0 8003D8C0 3C01800E */ lui $at, %hi(D_800E61A0) # $at, 0x800e
|
||||
/* 03E4C4 8003D8C4 C42461A0 */ lwc1 $f4, %lo(D_800E61A0)($at)
|
||||
/* 03E4C8 8003D8C8 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E4CC 8003D8CC 0C00AE6F */ jal func_8002B9BC
|
||||
/* 03E4D0 8003D8D0 E7A40058 */ swc1 $f4, 0x58($sp)
|
||||
/* 03E4D4 8003D8D4 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E4D8 8003D8D8 1040000D */ beqz $v0, .L8003D910
|
||||
/* 03E4DC 8003D8DC 8FAD003C */ lw $t5, 0x3c($sp)
|
||||
/* 03E4E0 8003D8E0 C60A0010 */ lwc1 $f10, 0x10($s0)
|
||||
/* 03E4E4 8003D8E4 C7A80058 */ lwc1 $f8, 0x58($sp)
|
||||
/* 03E4E8 8003D8E8 00000000 */ nop
|
||||
/* 03E4EC 8003D8EC 4608503C */ c.lt.s $f10, $f8
|
||||
/* 03E4F0 8003D8F0 00000000 */ nop
|
||||
/* 03E4F4 8003D8F4 45000006 */ bc1f .L8003D910
|
||||
/* 03E4F8 8003D8F8 8FAD003C */ lw $t5, 0x3c($sp)
|
||||
/* 03E4FC 8003D8FC AD200000 */ sw $zero, ($t1)
|
||||
/* 03E500 8003D900 C7B20058 */ lwc1 $f18, 0x58($sp)
|
||||
/* 03E504 8003D904 00000000 */ nop
|
||||
/* 03E508 8003D908 E6120010 */ swc1 $f18, 0x10($s0)
|
||||
/* 03E50C 8003D90C 8FAD003C */ lw $t5, 0x3c($sp)
|
||||
.L8003D910:
|
||||
/* 03E510 8003D910 24010002 */ li $at, 2
|
||||
/* 03E514 8003D914 81B80009 */ lb $t8, 9($t5)
|
||||
/* 03E518 8003D918 8FAA0074 */ lw $t2, 0x74($sp)
|
||||
/* 03E51C 8003D91C 13010002 */ beq $t8, $at, .L8003D928
|
||||
/* 03E520 8003D920 24040046 */ li $a0, 70
|
||||
/* 03E524 8003D924 24040037 */ li $a0, 55
|
||||
.L8003D928:
|
||||
/* 03E528 8003D928 85220004 */ lh $v0, 4($t1)
|
||||
/* 03E52C 8003D92C 00000000 */ nop
|
||||
/* 03E530 8003D930 18400003 */ blez $v0, .L8003D940
|
||||
/* 03E534 8003D934 004AC823 */ subu $t9, $v0, $t2
|
||||
/* 03E538 8003D938 10000002 */ b .L8003D944
|
||||
/* 03E53C 8003D93C A5390004 */ sh $t9, 4($t1)
|
||||
.L8003D940:
|
||||
/* 03E540 8003D940 A5200004 */ sh $zero, 4($t1)
|
||||
.L8003D944:
|
||||
/* 03E544 8003D944 8E0B004C */ lw $t3, 0x4c($s0)
|
||||
/* 03E548 8003D948 00000000 */ nop
|
||||
/* 03E54C 8003D94C 916C0013 */ lbu $t4, 0x13($t3)
|
||||
/* 03E550 8003D950 00000000 */ nop
|
||||
/* 03E554 8003D954 29810078 */ slti $at, $t4, 0x78
|
||||
/* 03E558 8003D958 1020001C */ beqz $at, .L8003D9CC
|
||||
/* 03E55C 8003D95C 00000000 */ nop
|
||||
/* 03E560 8003D960 AFA40044 */ sw $a0, 0x44($sp)
|
||||
/* 03E564 8003D964 0C01AF66 */ jal get_current_level_race_type
|
||||
/* 03E568 8003D968 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E56C 8003D96C 8FA40044 */ lw $a0, 0x44($sp)
|
||||
/* 03E570 8003D970 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E574 8003D974 24010041 */ li $at, 65
|
||||
/* 03E578 8003D978 14410014 */ bne $v0, $at, .L8003D9CC
|
||||
/* 03E57C 8003D97C 00000000 */ nop
|
||||
/* 03E580 8003D980 8E0E004C */ lw $t6, 0x4c($s0)
|
||||
/* 03E584 8003D984 00000000 */ nop
|
||||
/* 03E588 8003D988 8DC30000 */ lw $v1, ($t6)
|
||||
/* 03E58C 8003D98C 00000000 */ nop
|
||||
/* 03E590 8003D990 1060000E */ beqz $v1, .L8003D9CC
|
||||
/* 03E594 8003D994 00000000 */ nop
|
||||
/* 03E598 8003D998 8C6F0040 */ lw $t7, 0x40($v1)
|
||||
/* 03E59C 8003D99C 24010001 */ li $at, 1
|
||||
/* 03E5A0 8003D9A0 81ED0054 */ lb $t5, 0x54($t7)
|
||||
/* 03E5A4 8003D9A4 00000000 */ nop
|
||||
/* 03E5A8 8003D9A8 15A10008 */ bne $t5, $at, .L8003D9CC
|
||||
/* 03E5AC 8003D9AC 00000000 */ nop
|
||||
/* 03E5B0 8003D9B0 8C680064 */ lw $t0, 0x64($v1)
|
||||
/* 03E5B4 8003D9B4 2401FFFF */ li $at, -1
|
||||
/* 03E5B8 8003D9B8 85180000 */ lh $t8, ($t0)
|
||||
/* 03E5BC 8003D9BC 00000000 */ nop
|
||||
/* 03E5C0 8003D9C0 17010002 */ bne $t8, $at, .L8003D9CC
|
||||
/* 03E5C4 8003D9C4 00000000 */ nop
|
||||
/* 03E5C8 8003D9C8 2484001E */ addiu $a0, $a0, 0x1e
|
||||
.L8003D9CC:
|
||||
/* 03E5CC 8003D9CC 8E02004C */ lw $v0, 0x4c($s0)
|
||||
/* 03E5D0 8003D9D0 00000000 */ nop
|
||||
/* 03E5D4 8003D9D4 904A0013 */ lbu $t2, 0x13($v0)
|
||||
/* 03E5D8 8003D9D8 00000000 */ nop
|
||||
/* 03E5DC 8003D9DC 0144082A */ slt $at, $t2, $a0
|
||||
/* 03E5E0 8003D9E0 1020006C */ beqz $at, .L8003DB94
|
||||
/* 03E5E4 8003D9E4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 03E5E8 8003D9E8 85390004 */ lh $t9, 4($t1)
|
||||
/* 03E5EC 8003D9EC 00000000 */ nop
|
||||
/* 03E5F0 8003D9F0 17200068 */ bnez $t9, .L8003DB94
|
||||
/* 03E5F4 8003D9F4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 03E5F8 8003D9F8 8C430000 */ lw $v1, ($v0)
|
||||
/* 03E5FC 8003D9FC 00000000 */ nop
|
||||
/* 03E600 8003DA00 10600064 */ beqz $v1, .L8003DB94
|
||||
/* 03E604 8003DA04 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 03E608 8003DA08 8C6B0040 */ lw $t3, 0x40($v1)
|
||||
/* 03E60C 8003DA0C 24010001 */ li $at, 1
|
||||
/* 03E610 8003DA10 816C0054 */ lb $t4, 0x54($t3)
|
||||
/* 03E614 8003DA14 00000000 */ nop
|
||||
/* 03E618 8003DA18 1581005E */ bne $t4, $at, .L8003DB94
|
||||
/* 03E61C 8003DA1C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 03E620 8003DA20 8C680064 */ lw $t0, 0x64($v1)
|
||||
/* 03E624 8003DA24 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E628 8003DA28 AFA3006C */ sw $v1, 0x6c($sp)
|
||||
/* 03E62C 8003DA2C 0C01AF66 */ jal get_current_level_race_type
|
||||
/* 03E630 8003DA30 AFA80068 */ sw $t0, 0x68($sp)
|
||||
/* 03E634 8003DA34 8FA3006C */ lw $v1, 0x6c($sp)
|
||||
/* 03E638 8003DA38 8FA80068 */ lw $t0, 0x68($sp)
|
||||
/* 03E63C 8003DA3C 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E640 8003DA40 24010041 */ li $at, 65
|
||||
/* 03E644 8003DA44 14410006 */ bne $v0, $at, .L8003DA60
|
||||
/* 03E648 8003DA48 24040022 */ li $a0, 34
|
||||
/* 03E64C 8003DA4C 810E0185 */ lb $t6, 0x185($t0)
|
||||
/* 03E650 8003DA50 00000000 */ nop
|
||||
/* 03E654 8003DA54 29C10002 */ slti $at, $t6, 2
|
||||
/* 03E658 8003DA58 1020004E */ beqz $at, .L8003DB94
|
||||
/* 03E65C 8003DA5C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8003DA60:
|
||||
/* 03E660 8003DA60 8D0F0180 */ lw $t7, 0x180($t0)
|
||||
/* 03E664 8003DA64 240D0004 */ li $t5, 4
|
||||
/* 03E668 8003DA68 AFAF0034 */ sw $t7, 0x34($sp)
|
||||
/* 03E66C 8003DA6C 8C670014 */ lw $a3, 0x14($v1)
|
||||
/* 03E670 8003DA70 8C660010 */ lw $a2, 0x10($v1)
|
||||
/* 03E674 8003DA74 8C65000C */ lw $a1, 0xc($v1)
|
||||
/* 03E678 8003DA78 25180180 */ addiu $t8, $t0, 0x180
|
||||
/* 03E67C 8003DA7C AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* 03E680 8003DA80 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E684 8003DA84 AFA80068 */ sw $t0, 0x68($sp)
|
||||
/* 03E688 8003DA88 AFA3006C */ sw $v1, 0x6c($sp)
|
||||
/* 03E68C 8003DA8C 0C002556 */ jal func_80009558
|
||||
/* 03E690 8003DA90 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 03E694 8003DA94 8FA40034 */ lw $a0, 0x34($sp)
|
||||
/* 03E698 8003DA98 8FA3006C */ lw $v1, 0x6c($sp)
|
||||
/* 03E69C 8003DA9C 8FA80068 */ lw $t0, 0x68($sp)
|
||||
/* 03E6A0 8003DAA0 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E6A4 8003DAA4 10800009 */ beqz $a0, .L8003DACC
|
||||
/* 03E6A8 8003DAA8 00000000 */ nop
|
||||
/* 03E6AC 8003DAAC AFA3006C */ sw $v1, 0x6c($sp)
|
||||
/* 03E6B0 8003DAB0 AFA80068 */ sw $t0, 0x68($sp)
|
||||
/* 03E6B4 8003DAB4 0C0025BE */ jal func_800096F8
|
||||
/* 03E6B8 8003DAB8 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E6BC 8003DABC 8FA3006C */ lw $v1, 0x6c($sp)
|
||||
/* 03E6C0 8003DAC0 8FA80068 */ lw $t0, 0x68($sp)
|
||||
/* 03E6C4 8003DAC4 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E6C8 8003DAC8 00000000 */ nop
|
||||
.L8003DACC:
|
||||
/* 03E6CC 8003DACC 850A0000 */ lh $t2, ($t0)
|
||||
/* 03E6D0 8003DAD0 2401FFFF */ li $at, -1
|
||||
/* 03E6D4 8003DAD4 11410013 */ beq $t2, $at, .L8003DB24
|
||||
/* 03E6D8 8003DAD8 00000000 */ nop
|
||||
/* 03E6DC 8003DADC 81190185 */ lb $t9, 0x185($t0)
|
||||
/* 03E6E0 8003DAE0 24010009 */ li $at, 9
|
||||
/* 03E6E4 8003DAE4 1721000F */ bne $t9, $at, .L8003DB24
|
||||
/* 03E6E8 8003DAE8 00000000 */ nop
|
||||
/* 03E6EC 8003DAEC 81040003 */ lb $a0, 3($t0)
|
||||
/* 03E6F0 8003DAF0 8C65000C */ lw $a1, 0xc($v1)
|
||||
/* 03E6F4 8003DAF4 8C660010 */ lw $a2, 0x10($v1)
|
||||
/* 03E6F8 8003DAF8 8C670014 */ lw $a3, 0x14($v1)
|
||||
/* 03E6FC 8003DAFC 2484007B */ addiu $a0, $a0, 0x7b
|
||||
/* 03E700 8003DB00 308BFFFF */ andi $t3, $a0, 0xffff
|
||||
/* 03E704 8003DB04 01602025 */ move $a0, $t3
|
||||
/* 03E708 8003DB08 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E70C 8003DB0C AFA80068 */ sw $t0, 0x68($sp)
|
||||
/* 03E710 8003DB10 0C0007AA */ jal play_sound_spatial
|
||||
/* 03E714 8003DB14 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 03E718 8003DB18 8FA80068 */ lw $t0, 0x68($sp)
|
||||
/* 03E71C 8003DB1C 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E720 8003DB20 00000000 */ nop
|
||||
.L8003DB24:
|
||||
/* 03E724 8003DB24 810C0185 */ lb $t4, 0x185($t0)
|
||||
/* 03E728 8003DB28 240D0001 */ li $t5, 1
|
||||
/* 03E72C 8003DB2C 258E0001 */ addiu $t6, $t4, 1
|
||||
/* 03E730 8003DB30 A10E0185 */ sb $t6, 0x185($t0)
|
||||
/* 03E734 8003DB34 8FAF003C */ lw $t7, 0x3c($sp)
|
||||
/* 03E738 8003DB38 00000000 */ nop
|
||||
/* 03E73C 8003DB3C 8DE20004 */ lw $v0, 4($t7)
|
||||
/* 03E740 8003DB40 00000000 */ nop
|
||||
/* 03E744 8003DB44 10400002 */ beqz $v0, .L8003DB50
|
||||
/* 03E748 8003DB48 00000000 */ nop
|
||||
/* 03E74C 8003DB4C AC4D007C */ sw $t5, 0x7c($v0)
|
||||
.L8003DB50:
|
||||
/* 03E750 8003DB50 0C0270F2 */ jal get_number_of_active_players
|
||||
/* 03E754 8003DB54 AFA90030 */ sw $t1, 0x30($sp)
|
||||
/* 03E758 8003DB58 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 03E75C 8003DB5C 28410002 */ slti $at, $v0, 2
|
||||
/* 03E760 8003DB60 14200005 */ bnez $at, .L8003DB78
|
||||
/* 03E764 8003DB64 2418FFFF */ li $t8, -1
|
||||
/* 03E768 8003DB68 0C003FEE */ jal gParticlePtrList_addObject
|
||||
/* 03E76C 8003DB6C 02002025 */ move $a0, $s0
|
||||
/* 03E770 8003DB70 10000008 */ b .L8003DB94
|
||||
/* 03E774 8003DB74 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8003DB78:
|
||||
/* 03E778 8003DB78 AD380000 */ sw $t8, ($t1)
|
||||
/* 03E77C 8003DB7C 240A0001 */ li $t2, 1
|
||||
/* 03E780 8003DB80 AE0A0074 */ sw $t2, 0x74($s0)
|
||||
/* 03E784 8003DB84 8FA50074 */ lw $a1, 0x74($sp)
|
||||
/* 03E788 8003DB88 0C02BF0F */ jal func_800AFC3C
|
||||
/* 03E78C 8003DB8C 02002025 */ move $a0, $s0
|
||||
/* 03E790 8003DB90 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8003DB94:
|
||||
/* 03E794 8003DB94 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 03E798 8003DB98 03E00008 */ jr $ra
|
||||
/* 03E79C 8003DB9C 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
|
||||
@@ -1,283 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E6178
|
||||
.double 1.2
|
||||
|
||||
.text
|
||||
glabel obj_loop_bridge_whaleramp
|
||||
/* 03D668 8003CA68 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* 03D66C 8003CA6C 44852000 */ mtc1 $a1, $f4
|
||||
/* 03D670 8003CA70 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 03D674 8003CA74 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 03D678 8003CA78 AFA50074 */ sw $a1, 0x74($sp)
|
||||
/* 03D67C 8003CA7C 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000
|
||||
/* 03D680 8003CA80 46802020 */ cvt.s.w $f0, $f4
|
||||
/* 03D684 8003CA84 8DEF0300 */ lw $t7, %lo(osTvType)($t7)
|
||||
/* 03D688 8003CA88 8C830064 */ lw $v1, 0x64($a0)
|
||||
/* 03D68C 8003CA8C 8C88003C */ lw $t0, 0x3c($a0)
|
||||
/* 03D690 8003CA90 00808025 */ move $s0, $a0
|
||||
/* 03D694 8003CA94 15E00007 */ bnez $t7, .L8003CAB4
|
||||
/* 03D698 8003CA98 46000306 */ mov.s $f12, $f0
|
||||
/* 03D69C 8003CA9C 3C01800E */ lui $at, %hi(D_800E6178 + 4) # $at, 0x800e
|
||||
/* 03D6A0 8003CAA0 C4296178 */ lwc1 $f9, %lo(D_800E6178)($at)
|
||||
/* 03D6A4 8003CAA4 C428617C */ lwc1 $f8, %lo(D_800E6178 + 4)($at)
|
||||
/* 03D6A8 8003CAA8 460001A1 */ cvt.d.s $f6, $f0
|
||||
/* 03D6AC 8003CAAC 46283282 */ mul.d $f10, $f6, $f8
|
||||
/* 03D6B0 8003CAB0 46205320 */ cvt.s.d $f12, $f10
|
||||
.L8003CAB4:
|
||||
/* 03D6B4 8003CAB4 9118000B */ lbu $t8, 0xb($t0)
|
||||
/* 03D6B8 8003CAB8 24010003 */ li $at, 3
|
||||
/* 03D6BC 8003CABC 1301004B */ beq $t8, $at, .L8003CBEC
|
||||
/* 03D6C0 8003CAC0 00000000 */ nop
|
||||
/* 03D6C4 8003CAC4 8E190078 */ lw $t9, 0x78($s0)
|
||||
/* 03D6C8 8003CAC8 00000000 */ nop
|
||||
/* 03D6CC 8003CACC 13200029 */ beqz $t9, .L8003CB74
|
||||
/* 03D6D0 8003CAD0 00000000 */ nop
|
||||
/* 03D6D4 8003CAD4 8109000E */ lb $t1, 0xe($t0)
|
||||
/* 03D6D8 8003CAD8 44803000 */ mtc1 $zero, $f6
|
||||
/* 03D6DC 8003CADC 44898000 */ mtc1 $t1, $f16
|
||||
/* 03D6E0 8003CAE0 00000000 */ nop
|
||||
/* 03D6E4 8003CAE4 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 03D6E8 8003CAE8 46009021 */ cvt.d.s $f0, $f18
|
||||
/* 03D6EC 8003CAEC 46200100 */ add.d $f4, $f0, $f0
|
||||
/* 03D6F0 8003CAF0 462020A0 */ cvt.s.d $f2, $f4
|
||||
/* 03D6F4 8003CAF4 4602303C */ c.lt.s $f6, $f2
|
||||
/* 03D6F8 8003CAF8 00000000 */ nop
|
||||
/* 03D6FC 8003CAFC 4500000F */ bc1f .L8003CB3C
|
||||
/* 03D700 8003CB00 00000000 */ nop
|
||||
/* 03D704 8003CB04 C4680000 */ lwc1 $f8, ($v1)
|
||||
/* 03D708 8003CB08 C6000010 */ lwc1 $f0, 0x10($s0)
|
||||
/* 03D70C 8003CB0C 46024280 */ add.s $f10, $f8, $f2
|
||||
/* 03D710 8003CB10 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 03D714 8003CB14 460A003C */ c.lt.s $f0, $f10
|
||||
/* 03D718 8003CB18 00000000 */ nop
|
||||
/* 03D71C 8003CB1C 45000080 */ bc1f .L8003CD20
|
||||
/* 03D720 8003CB20 00000000 */ nop
|
||||
/* 03D724 8003CB24 44818000 */ mtc1 $at, $f16
|
||||
/* 03D728 8003CB28 00000000 */ nop
|
||||
/* 03D72C 8003CB2C 46106482 */ mul.s $f18, $f12, $f16
|
||||
/* 03D730 8003CB30 46120100 */ add.s $f4, $f0, $f18
|
||||
/* 03D734 8003CB34 1000007A */ b .L8003CD20
|
||||
/* 03D738 8003CB38 E6040010 */ swc1 $f4, 0x10($s0)
|
||||
.L8003CB3C:
|
||||
/* 03D73C 8003CB3C C4660000 */ lwc1 $f6, ($v1)
|
||||
/* 03D740 8003CB40 C6000010 */ lwc1 $f0, 0x10($s0)
|
||||
/* 03D744 8003CB44 46023200 */ add.s $f8, $f6, $f2
|
||||
/* 03D748 8003CB48 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 03D74C 8003CB4C 4600403C */ c.lt.s $f8, $f0
|
||||
/* 03D750 8003CB50 00000000 */ nop
|
||||
/* 03D754 8003CB54 45000072 */ bc1f .L8003CD20
|
||||
/* 03D758 8003CB58 00000000 */ nop
|
||||
/* 03D75C 8003CB5C 44815000 */ mtc1 $at, $f10
|
||||
/* 03D760 8003CB60 00000000 */ nop
|
||||
/* 03D764 8003CB64 460A6402 */ mul.s $f16, $f12, $f10
|
||||
/* 03D768 8003CB68 46100481 */ sub.s $f18, $f0, $f16
|
||||
/* 03D76C 8003CB6C 1000006C */ b .L8003CD20
|
||||
/* 03D770 8003CB70 E6120010 */ swc1 $f18, 0x10($s0)
|
||||
.L8003CB74:
|
||||
/* 03D774 8003CB74 910A000C */ lbu $t2, 0xc($t0)
|
||||
/* 03D778 8003CB78 00000000 */ nop
|
||||
/* 03D77C 8003CB7C 1940000E */ blez $t2, .L8003CBB8
|
||||
/* 03D780 8003CB80 00000000 */ nop
|
||||
/* 03D784 8003CB84 C6000010 */ lwc1 $f0, 0x10($s0)
|
||||
/* 03D788 8003CB88 C4640000 */ lwc1 $f4, ($v1)
|
||||
/* 03D78C 8003CB8C 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 03D790 8003CB90 4600203C */ c.lt.s $f4, $f0
|
||||
/* 03D794 8003CB94 00000000 */ nop
|
||||
/* 03D798 8003CB98 45000061 */ bc1f .L8003CD20
|
||||
/* 03D79C 8003CB9C 00000000 */ nop
|
||||
/* 03D7A0 8003CBA0 44813000 */ mtc1 $at, $f6
|
||||
/* 03D7A4 8003CBA4 00000000 */ nop
|
||||
/* 03D7A8 8003CBA8 46066202 */ mul.s $f8, $f12, $f6
|
||||
/* 03D7AC 8003CBAC 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 03D7B0 8003CBB0 1000005B */ b .L8003CD20
|
||||
/* 03D7B4 8003CBB4 E60A0010 */ swc1 $f10, 0x10($s0)
|
||||
.L8003CBB8:
|
||||
/* 03D7B8 8003CBB8 C6000010 */ lwc1 $f0, 0x10($s0)
|
||||
/* 03D7BC 8003CBBC C4700000 */ lwc1 $f16, ($v1)
|
||||
/* 03D7C0 8003CBC0 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 03D7C4 8003CBC4 4610003C */ c.lt.s $f0, $f16
|
||||
/* 03D7C8 8003CBC8 00000000 */ nop
|
||||
/* 03D7CC 8003CBCC 45000054 */ bc1f .L8003CD20
|
||||
/* 03D7D0 8003CBD0 00000000 */ nop
|
||||
/* 03D7D4 8003CBD4 44819000 */ mtc1 $at, $f18
|
||||
/* 03D7D8 8003CBD8 00000000 */ nop
|
||||
/* 03D7DC 8003CBDC 46126102 */ mul.s $f4, $f12, $f18
|
||||
/* 03D7E0 8003CBE0 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 03D7E4 8003CBE4 1000004E */ b .L8003CD20
|
||||
/* 03D7E8 8003CBE8 E6060010 */ swc1 $f6, 0x10($s0)
|
||||
.L8003CBEC:
|
||||
/* 03D7EC 8003CBEC 8E0B0078 */ lw $t3, 0x78($s0)
|
||||
/* 03D7F0 8003CBF0 00000000 */ nop
|
||||
/* 03D7F4 8003CBF4 11600023 */ beqz $t3, .L8003CC84
|
||||
/* 03D7F8 8003CBF8 00000000 */ nop
|
||||
/* 03D7FC 8003CBFC 86020002 */ lh $v0, 2($s0)
|
||||
/* 03D800 8003CC00 8FAC0074 */ lw $t4, 0x74($sp)
|
||||
/* 03D804 8003CC04 2841ED01 */ slti $at, $v0, -0x12ff
|
||||
/* 03D808 8003CC08 14200008 */ bnez $at, .L8003CC2C
|
||||
/* 03D80C 8003CC0C 000C6880 */ sll $t5, $t4, 2
|
||||
/* 03D810 8003CC10 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 03D814 8003CC14 000D6880 */ sll $t5, $t5, 2
|
||||
/* 03D818 8003CC18 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 03D81C 8003CC1C 000D6880 */ sll $t5, $t5, 2
|
||||
/* 03D820 8003CC20 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 03D824 8003CC24 004D7023 */ subu $t6, $v0, $t5
|
||||
/* 03D828 8003CC28 A60E0002 */ sh $t6, 2($s0)
|
||||
.L8003CC2C:
|
||||
/* 03D82C 8003CC2C 8C6F0004 */ lw $t7, 4($v1)
|
||||
/* 03D830 8003CC30 27A50050 */ addiu $a1, $sp, 0x50
|
||||
/* 03D834 8003CC34 15E0003A */ bnez $t7, .L8003CD20
|
||||
/* 03D838 8003CC38 27A6004C */ addiu $a2, $sp, 0x4c
|
||||
/* 03D83C 8003CC3C 9104000A */ lbu $a0, 0xa($t0)
|
||||
/* 03D840 8003CC40 AFA8005C */ sw $t0, 0x5c($sp)
|
||||
/* 03D844 8003CC44 AFA30060 */ sw $v1, 0x60($sp)
|
||||
/* 03D848 8003CC48 0C0078DB */ jal func_8001E36C
|
||||
/* 03D84C 8003CC4C 27A70048 */ addiu $a3, $sp, 0x48
|
||||
/* 03D850 8003CC50 8FA30060 */ lw $v1, 0x60($sp)
|
||||
/* 03D854 8003CC54 8FA50050 */ lw $a1, 0x50($sp)
|
||||
/* 03D858 8003CC58 8FA6004C */ lw $a2, 0x4c($sp)
|
||||
/* 03D85C 8003CC5C 8FA70048 */ lw $a3, 0x48($sp)
|
||||
/* 03D860 8003CC60 24180001 */ li $t8, 1
|
||||
/* 03D864 8003CC64 24790004 */ addiu $t9, $v1, 4
|
||||
/* 03D868 8003CC68 AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* 03D86C 8003CC6C AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 03D870 8003CC70 0C002556 */ jal func_80009558
|
||||
/* 03D874 8003CC74 24040249 */ li $a0, 585
|
||||
/* 03D878 8003CC78 8FA8005C */ lw $t0, 0x5c($sp)
|
||||
/* 03D87C 8003CC7C 10000029 */ b .L8003CD24
|
||||
/* 03D880 8003CC80 9103000B */ lbu $v1, 0xb($t0)
|
||||
.L8003CC84:
|
||||
/* 03D884 8003CC84 86020002 */ lh $v0, 2($s0)
|
||||
/* 03D888 8003CC88 8FA90074 */ lw $t1, 0x74($sp)
|
||||
/* 03D88C 8003CC8C 0441001B */ bgez $v0, .L8003CCFC
|
||||
/* 03D890 8003CC90 00095080 */ sll $t2, $t1, 2
|
||||
/* 03D894 8003CC94 01495021 */ addu $t2, $t2, $t1
|
||||
/* 03D898 8003CC98 000A50C0 */ sll $t2, $t2, 3
|
||||
/* 03D89C 8003CC9C 004A5821 */ addu $t3, $v0, $t2
|
||||
/* 03D8A0 8003CCA0 A60B0002 */ sh $t3, 2($s0)
|
||||
/* 03D8A4 8003CCA4 8C6C0004 */ lw $t4, 4($v1)
|
||||
/* 03D8A8 8003CCA8 27A50044 */ addiu $a1, $sp, 0x44
|
||||
/* 03D8AC 8003CCAC 1580001C */ bnez $t4, .L8003CD20
|
||||
/* 03D8B0 8003CCB0 27A60040 */ addiu $a2, $sp, 0x40
|
||||
/* 03D8B4 8003CCB4 9104000A */ lbu $a0, 0xa($t0)
|
||||
/* 03D8B8 8003CCB8 AFA8005C */ sw $t0, 0x5c($sp)
|
||||
/* 03D8BC 8003CCBC AFA30060 */ sw $v1, 0x60($sp)
|
||||
/* 03D8C0 8003CCC0 0C0078DB */ jal func_8001E36C
|
||||
/* 03D8C4 8003CCC4 27A7003C */ addiu $a3, $sp, 0x3c
|
||||
/* 03D8C8 8003CCC8 8FA30060 */ lw $v1, 0x60($sp)
|
||||
/* 03D8CC 8003CCCC 8FA50044 */ lw $a1, 0x44($sp)
|
||||
/* 03D8D0 8003CCD0 8FA60040 */ lw $a2, 0x40($sp)
|
||||
/* 03D8D4 8003CCD4 8FA7003C */ lw $a3, 0x3c($sp)
|
||||
/* 03D8D8 8003CCD8 240D0001 */ li $t5, 1
|
||||
/* 03D8DC 8003CCDC 246E0004 */ addiu $t6, $v1, 4
|
||||
/* 03D8E0 8003CCE0 AFAE0014 */ sw $t6, 0x14($sp)
|
||||
/* 03D8E4 8003CCE4 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 03D8E8 8003CCE8 0C002556 */ jal func_80009558
|
||||
/* 03D8EC 8003CCEC 24040249 */ li $a0, 585
|
||||
/* 03D8F0 8003CCF0 8FA8005C */ lw $t0, 0x5c($sp)
|
||||
/* 03D8F4 8003CCF4 1000000B */ b .L8003CD24
|
||||
/* 03D8F8 8003CCF8 9103000B */ lbu $v1, 0xb($t0)
|
||||
.L8003CCFC:
|
||||
/* 03D8FC 8003CCFC A6000002 */ sh $zero, 2($s0)
|
||||
/* 03D900 8003CD00 8C640004 */ lw $a0, 4($v1)
|
||||
/* 03D904 8003CD04 00000000 */ nop
|
||||
/* 03D908 8003CD08 10800005 */ beqz $a0, .L8003CD20
|
||||
/* 03D90C 8003CD0C 00000000 */ nop
|
||||
/* 03D910 8003CD10 0C0025BE */ jal func_800096F8
|
||||
/* 03D914 8003CD14 AFA8005C */ sw $t0, 0x5c($sp)
|
||||
/* 03D918 8003CD18 8FA8005C */ lw $t0, 0x5c($sp)
|
||||
/* 03D91C 8003CD1C 00000000 */ nop
|
||||
.L8003CD20:
|
||||
/* 03D920 8003CD20 9103000B */ lbu $v1, 0xb($t0)
|
||||
.L8003CD24:
|
||||
/* 03D924 8003CD24 24010002 */ li $at, 2
|
||||
/* 03D928 8003CD28 10600005 */ beqz $v1, .L8003CD40
|
||||
/* 03D92C 8003CD2C 00000000 */ nop
|
||||
/* 03D930 8003CD30 1061000E */ beq $v1, $at, .L8003CD6C
|
||||
/* 03D934 8003CD34 24090001 */ li $t1, 1
|
||||
/* 03D938 8003CD38 10000029 */ b .L8003CDE0
|
||||
/* 03D93C 8003CD3C 9104000A */ lbu $a0, 0xa($t0)
|
||||
.L8003CD40:
|
||||
/* 03D940 8003CD40 8E02004C */ lw $v0, 0x4c($s0)
|
||||
/* 03D944 8003CD44 AE000078 */ sw $zero, 0x78($s0)
|
||||
/* 03D948 8003CD48 9118000C */ lbu $t8, 0xc($t0)
|
||||
/* 03D94C 8003CD4C 904F0013 */ lbu $t7, 0x13($v0)
|
||||
/* 03D950 8003CD50 24190001 */ li $t9, 1
|
||||
/* 03D954 8003CD54 01F8082A */ slt $at, $t7, $t8
|
||||
/* 03D958 8003CD58 10200034 */ beqz $at, .L8003CE2C
|
||||
/* 03D95C 8003CD5C 241800FF */ li $t8, 255
|
||||
/* 03D960 8003CD60 8E02004C */ lw $v0, 0x4c($s0)
|
||||
/* 03D964 8003CD64 10000030 */ b .L8003CE28
|
||||
/* 03D968 8003CD68 AE190078 */ sw $t9, 0x78($s0)
|
||||
.L8003CD6C:
|
||||
/* 03D96C 8003CD6C AE090078 */ sw $t1, 0x78($s0)
|
||||
/* 03D970 8003CD70 AFA8005C */ sw $t0, 0x5c($sp)
|
||||
/* 03D974 8003CD74 0C006EB2 */ jal get_racer_object
|
||||
/* 03D978 8003CD78 00002025 */ move $a0, $zero
|
||||
/* 03D97C 8003CD7C 8FA8005C */ lw $t0, 0x5c($sp)
|
||||
/* 03D980 8003CD80 10400013 */ beqz $v0, .L8003CDD0
|
||||
/* 03D984 8003CD84 00000000 */ nop
|
||||
/* 03D988 8003CD88 8C440064 */ lw $a0, 0x64($v0)
|
||||
/* 03D98C 8003CD8C 24010001 */ li $at, 1
|
||||
/* 03D990 8003CD90 808301D6 */ lb $v1, 0x1d6($a0)
|
||||
/* 03D994 8003CD94 00000000 */ nop
|
||||
/* 03D998 8003CD98 10610005 */ beq $v1, $at, .L8003CDB0
|
||||
/* 03D99C 8003CD9C 24010002 */ li $at, 2
|
||||
/* 03D9A0 8003CDA0 10610005 */ beq $v1, $at, .L8003CDB8
|
||||
/* 03D9A4 8003CDA4 24020004 */ li $v0, 4
|
||||
/* 03D9A8 8003CDA8 10000003 */ b .L8003CDB8
|
||||
/* 03D9AC 8003CDAC 24020001 */ li $v0, 1
|
||||
.L8003CDB0:
|
||||
/* 03D9B0 8003CDB0 10000001 */ b .L8003CDB8
|
||||
/* 03D9B4 8003CDB4 24020002 */ li $v0, 2
|
||||
.L8003CDB8:
|
||||
/* 03D9B8 8003CDB8 910A000F */ lbu $t2, 0xf($t0)
|
||||
/* 03D9BC 8003CDBC 00000000 */ nop
|
||||
/* 03D9C0 8003CDC0 01425824 */ and $t3, $t2, $v0
|
||||
/* 03D9C4 8003CDC4 11600002 */ beqz $t3, .L8003CDD0
|
||||
/* 03D9C8 8003CDC8 00000000 */ nop
|
||||
/* 03D9CC 8003CDCC AE000078 */ sw $zero, 0x78($s0)
|
||||
.L8003CDD0:
|
||||
/* 03D9D0 8003CDD0 8E02004C */ lw $v0, 0x4c($s0)
|
||||
/* 03D9D4 8003CDD4 10000015 */ b .L8003CE2C
|
||||
/* 03D9D8 8003CDD8 241800FF */ li $t8, 255
|
||||
/* 03D9DC 8003CDDC 9104000A */ lbu $a0, 0xa($t0)
|
||||
.L8003CDE0:
|
||||
/* 03D9E0 8003CDE0 0C0078BB */ jal func_8001E2EC
|
||||
/* 03D9E4 8003CDE4 AFA8005C */ sw $t0, 0x5c($sp)
|
||||
/* 03D9E8 8003CDE8 8FA8005C */ lw $t0, 0x5c($sp)
|
||||
/* 03D9EC 8003CDEC 10400005 */ beqz $v0, .L8003CE04
|
||||
/* 03D9F0 8003CDF0 00000000 */ nop
|
||||
/* 03D9F4 8003CDF4 910C000D */ lbu $t4, 0xd($t0)
|
||||
/* 03D9F8 8003CDF8 00000000 */ nop
|
||||
/* 03D9FC 8003CDFC 000C6840 */ sll $t5, $t4, 1
|
||||
/* 03DA00 8003CE00 AE0D0078 */ sw $t5, 0x78($s0)
|
||||
.L8003CE04:
|
||||
/* 03DA04 8003CE04 8E020078 */ lw $v0, 0x78($s0)
|
||||
/* 03DA08 8003CE08 8FAE0074 */ lw $t6, 0x74($sp)
|
||||
/* 03DA0C 8003CE0C 18400003 */ blez $v0, .L8003CE1C
|
||||
/* 03DA10 8003CE10 004E7823 */ subu $t7, $v0, $t6
|
||||
/* 03DA14 8003CE14 10000002 */ b .L8003CE20
|
||||
/* 03DA18 8003CE18 AE0F0078 */ sw $t7, 0x78($s0)
|
||||
.L8003CE1C:
|
||||
/* 03DA1C 8003CE1C AE000078 */ sw $zero, 0x78($s0)
|
||||
.L8003CE20:
|
||||
/* 03DA20 8003CE20 8E02004C */ lw $v0, 0x4c($s0)
|
||||
/* 03DA24 8003CE24 00000000 */ nop
|
||||
.L8003CE28:
|
||||
/* 03DA28 8003CE28 241800FF */ li $t8, 255
|
||||
.L8003CE2C:
|
||||
/* 03DA2C 8003CE2C A0580013 */ sb $t8, 0x13($v0)
|
||||
/* 03DA30 8003CE30 8E19004C */ lw $t9, 0x4c($s0)
|
||||
/* 03DA34 8003CE34 00000000 */ nop
|
||||
/* 03DA38 8003CE38 AF200000 */ sw $zero, ($t9)
|
||||
/* 03DA3C 8003CE3C 8E02004C */ lw $v0, 0x4c($s0)
|
||||
/* 03DA40 8003CE40 00000000 */ nop
|
||||
/* 03DA44 8003CE44 84490014 */ lh $t1, 0x14($v0)
|
||||
/* 03DA48 8003CE48 00000000 */ nop
|
||||
/* 03DA4C 8003CE4C 312AFFF7 */ andi $t2, $t1, 0xfff7
|
||||
/* 03DA50 8003CE50 A44A0014 */ sh $t2, 0x14($v0)
|
||||
/* 03DA54 8003CE54 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 03DA58 8003CE58 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 03DA5C 8003CE5C 03E00008 */ jr $ra
|
||||
/* 03DA60 8003CE60 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
|
||||
@@ -1,471 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E6250
|
||||
.double 1.2
|
||||
glabel jpt_800E6258
|
||||
.word L80042378, L800426B8, L80042898, L800428E8, L8004292C
|
||||
glabel D_800E626C
|
||||
.float 1.34
|
||||
glabel D_800E6270
|
||||
.float 0.05
|
||||
glabel D_800E6274
|
||||
.float 0.15
|
||||
glabel D_800E6278
|
||||
.float 0.15
|
||||
|
||||
.text
|
||||
glabel obj_loop_frog
|
||||
/* 042EF0 800422F0 27BDFEF0 */ addiu $sp, $sp, -0x110
|
||||
/* 042EF4 800422F4 44852000 */ mtc1 $a1, $f4
|
||||
/* 042EF8 800422F8 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000
|
||||
/* 042EFC 800422FC 46802020 */ cvt.s.w $f0, $f4
|
||||
/* 042F00 80042300 8DCE0300 */ lw $t6, %lo(osTvType)($t6)
|
||||
/* 042F04 80042304 AFB10030 */ sw $s1, 0x30($sp)
|
||||
/* 042F08 80042308 00808825 */ move $s1, $a0
|
||||
/* 042F0C 8004230C AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 042F10 80042310 AFB0002C */ sw $s0, 0x2c($sp)
|
||||
/* 042F14 80042314 E7B70020 */ swc1 $f23, 0x20($sp)
|
||||
/* 042F18 80042318 E7B60024 */ swc1 $f22, 0x24($sp)
|
||||
/* 042F1C 8004231C E7B50018 */ swc1 $f21, 0x18($sp)
|
||||
/* 042F20 80042320 E7B4001C */ swc1 $f20, 0x1c($sp)
|
||||
/* 042F24 80042324 15C00007 */ bnez $t6, .L80042344
|
||||
/* 042F28 80042328 46000086 */ mov.s $f2, $f0
|
||||
/* 042F2C 8004232C 3C01800E */ lui $at, %hi(D_800E6250 + 4) # $at, 0x800e
|
||||
/* 042F30 80042330 C4296250 */ lwc1 $f9, %lo(D_800E6250)($at)
|
||||
/* 042F34 80042334 C4286254 */ lwc1 $f8, %lo(D_800E6250 + 4)($at)
|
||||
/* 042F38 80042338 460001A1 */ cvt.d.s $f6, $f0
|
||||
/* 042F3C 8004233C 46283282 */ mul.d $f10, $f6, $f8
|
||||
/* 042F40 80042340 462050A0 */ cvt.s.d $f2, $f10
|
||||
.L80042344:
|
||||
/* 042F44 80042344 8E300064 */ lw $s0, 0x64($s1)
|
||||
/* 042F48 80042348 00000000 */ nop
|
||||
/* 042F4C 8004234C 920F0014 */ lbu $t7, 0x14($s0)
|
||||
/* 042F50 80042350 00000000 */ nop
|
||||
/* 042F54 80042354 2DE10005 */ sltiu $at, $t7, 5
|
||||
/* 042F58 80042358 10200186 */ beqz $at, .L80042974
|
||||
/* 042F5C 8004235C 000F7880 */ sll $t7, $t7, 2
|
||||
/* 042F60 80042360 3C01800E */ lui $at, %hi(jpt_800E6258) # $at, 0x800e
|
||||
/* 042F64 80042364 002F0821 */ addu $at, $at, $t7
|
||||
/* 042F68 80042368 8C2F6258 */ lw $t7, %lo(jpt_800E6258)($at)
|
||||
/* 042F6C 8004236C 00000000 */ nop
|
||||
/* 042F70 80042370 01E00008 */ jr $t7
|
||||
/* 042F74 80042374 00000000 */ nop
|
||||
glabel L80042378
|
||||
/* 042F78 80042378 AFA00104 */ sw $zero, 0x104($sp)
|
||||
/* 042F7C 8004237C 82020019 */ lb $v0, 0x19($s0)
|
||||
/* 042F80 80042380 3C0742C0 */ lui $a3, 0x42c0
|
||||
/* 042F84 80042384 18400003 */ blez $v0, .L80042394
|
||||
/* 042F88 80042388 24190001 */ li $t9, 1
|
||||
/* 042F8C 8004238C 0045C023 */ subu $t8, $v0, $a1
|
||||
/* 042F90 80042390 A2180019 */ sb $t8, 0x19($s0)
|
||||
.L80042394:
|
||||
/* 042F94 80042394 C62C000C */ lwc1 $f12, 0xc($s1)
|
||||
/* 042F98 80042398 C62E0010 */ lwc1 $f14, 0x10($s1)
|
||||
/* 042F9C 8004239C 8E260014 */ lw $a2, 0x14($s1)
|
||||
/* 042FA0 800423A0 27A80044 */ addiu $t0, $sp, 0x44
|
||||
/* 042FA4 800423A4 AFA80014 */ sw $t0, 0x14($sp)
|
||||
/* 042FA8 800423A8 AFA50114 */ sw $a1, 0x114($sp)
|
||||
/* 042FAC 800423AC 0C005B7A */ jal func_80016DE8
|
||||
/* 042FB0 800423B0 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 042FB4 800423B4 8FA50114 */ lw $a1, 0x114($sp)
|
||||
/* 042FB8 800423B8 1840004E */ blez $v0, .L800424F4
|
||||
/* 042FBC 800423BC 00000000 */ nop
|
||||
/* 042FC0 800423C0 8FA90044 */ lw $t1, 0x44($sp)
|
||||
/* 042FC4 800423C4 C620000C */ lwc1 $f0, 0xc($s1)
|
||||
/* 042FC8 800423C8 C62C0010 */ lwc1 $f12, 0x10($s1)
|
||||
/* 042FCC 800423CC C6220014 */ lwc1 $f2, 0x14($s1)
|
||||
/* 042FD0 800423D0 820A0019 */ lb $t2, 0x19($s0)
|
||||
/* 042FD4 800423D4 C530000C */ lwc1 $f16, 0xc($t1)
|
||||
/* 042FD8 800423D8 C5320010 */ lwc1 $f18, 0x10($t1)
|
||||
/* 042FDC 800423DC C5240014 */ lwc1 $f4, 0x14($t1)
|
||||
/* 042FE0 800423E0 46100501 */ sub.s $f20, $f0, $f16
|
||||
/* 042FE4 800423E4 46126381 */ sub.s $f14, $f12, $f18
|
||||
/* 042FE8 800423E8 1D40002E */ bgtz $t2, .L800424A4
|
||||
/* 042FEC 800423EC 46041581 */ sub.s $f22, $f2, $f4
|
||||
/* 042FF0 800423F0 4614A182 */ mul.s $f6, $f20, $f20
|
||||
/* 042FF4 800423F4 3C0144C8 */ li $at, 0x44C80000 # 1600.000000
|
||||
/* 042FF8 800423F8 44812000 */ mtc1 $at, $f4
|
||||
/* 042FFC 800423FC 460E7202 */ mul.s $f8, $f14, $f14
|
||||
/* 043000 80042400 00000000 */ nop
|
||||
/* 043004 80042404 4616B402 */ mul.s $f16, $f22, $f22
|
||||
/* 043008 80042408 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 04300C 8004240C 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 043010 80042410 4604903C */ c.lt.s $f18, $f4
|
||||
/* 043014 80042414 00000000 */ nop
|
||||
/* 043018 80042418 45000022 */ bc1f .L800424A4
|
||||
/* 04301C 8004241C 00000000 */ nop
|
||||
/* 043020 80042420 920B0015 */ lbu $t3, 0x15($s0)
|
||||
/* 043024 80042424 240D0002 */ li $t5, 2
|
||||
/* 043028 80042428 11600014 */ beqz $t3, .L8004247C
|
||||
/* 04302C 8004242C 2404013F */ li $a0, 319
|
||||
/* 043030 80042430 44050000 */ mfc1 $a1, $f0
|
||||
/* 043034 80042434 44066000 */ mfc1 $a2, $f12
|
||||
/* 043038 80042438 44071000 */ mfc1 $a3, $f2
|
||||
/* 04303C 8004243C 240C0004 */ li $t4, 4
|
||||
/* 043040 80042440 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 043044 80042444 24040174 */ li $a0, 372
|
||||
/* 043048 80042448 0C002556 */ jal func_80009558
|
||||
/* 04304C 8004244C AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 043050 80042450 24040000 */ li $a0, 0
|
||||
/* 043054 80042454 0C027A9E */ jal set_eeprom_settings_value
|
||||
/* 043058 80042458 24050002 */ li $a1, 2
|
||||
/* 04305C 8004245C 0C0270B8 */ jal set_magic_code_flags
|
||||
/* 043060 80042460 24040002 */ li $a0, 2
|
||||
/* 043064 80042464 0C01B629 */ jal func_8006D8A4
|
||||
/* 043068 80042468 00000000 */ nop
|
||||
/* 04306C 8004246C 0C003FEE */ jal gParticlePtrList_addObject
|
||||
/* 043070 80042470 02202025 */ move $a0, $s1
|
||||
/* 043074 80042474 10000140 */ b .L80042978
|
||||
/* 043078 80042478 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L8004247C:
|
||||
/* 04307C 8004247C A20D0014 */ sb $t5, 0x14($s0)
|
||||
/* 043080 80042480 8E270014 */ lw $a3, 0x14($s1)
|
||||
/* 043084 80042484 8E260010 */ lw $a2, 0x10($s1)
|
||||
/* 043088 80042488 8E25000C */ lw $a1, 0xc($s1)
|
||||
/* 04308C 8004248C 240E0004 */ li $t6, 4
|
||||
/* 043090 80042490 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 043094 80042494 0C002556 */ jal func_80009558
|
||||
/* 043098 80042498 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 04309C 8004249C 1000002A */ b .L80042548
|
||||
/* 0430A0 800424A0 8FAE0104 */ lw $t6, 0x104($sp)
|
||||
.L800424A4:
|
||||
/* 0430A4 800424A4 3C014290 */ li $at, 0x42900000 # 72.000000
|
||||
/* 0430A8 800424A8 44813000 */ mtc1 $at, $f6
|
||||
/* 0430AC 800424AC 920F0015 */ lbu $t7, 0x15($s0)
|
||||
/* 0430B0 800424B0 4600A307 */ neg.s $f12, $f20
|
||||
/* 0430B4 800424B4 11E00007 */ beqz $t7, .L800424D4
|
||||
/* 0430B8 800424B8 E606001C */ swc1 $f6, 0x1c($s0)
|
||||
/* 0430BC 800424BC 3C01800E */ lui $at, %hi(D_800E626C) # $at, 0x800e
|
||||
/* 0430C0 800424C0 C42A626C */ lwc1 $f10, %lo(D_800E626C)($at)
|
||||
/* 0430C4 800424C4 C608001C */ lwc1 $f8, 0x1c($s0)
|
||||
/* 0430C8 800424C8 00000000 */ nop
|
||||
/* 0430CC 800424CC 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 0430D0 800424D0 E610001C */ swc1 $f16, 0x1c($s0)
|
||||
.L800424D4:
|
||||
/* 0430D4 800424D4 0C01C1D4 */ jal arctan2_f
|
||||
/* 0430D8 800424D8 4600B387 */ neg.s $f14, $f22
|
||||
/* 0430DC 800424DC 34018000 */ li $at, 32768
|
||||
/* 0430E0 800424E0 0041C021 */ addu $t8, $v0, $at
|
||||
/* 0430E4 800424E4 A618001A */ sh $t8, 0x1a($s0)
|
||||
/* 0430E8 800424E8 24190001 */ li $t9, 1
|
||||
/* 0430EC 800424EC 10000015 */ b .L80042544
|
||||
/* 0430F0 800424F0 AFB90104 */ sw $t9, 0x104($sp)
|
||||
.L800424F4:
|
||||
/* 0430F4 800424F4 86080016 */ lh $t0, 0x16($s0)
|
||||
/* 0430F8 800424F8 240B0001 */ li $t3, 1
|
||||
/* 0430FC 800424FC 01054823 */ subu $t1, $t0, $a1
|
||||
/* 043100 80042500 A6090016 */ sh $t1, 0x16($s0)
|
||||
/* 043104 80042504 860A0016 */ lh $t2, 0x16($s0)
|
||||
/* 043108 80042508 24050048 */ li $a1, 72
|
||||
/* 04310C 8004250C 0541000D */ bgez $t2, .L80042544
|
||||
/* 043110 80042510 24040028 */ li $a0, 40
|
||||
/* 043114 80042514 0C01BE53 */ jal get_random_number_from_range
|
||||
/* 043118 80042518 AFAB0104 */ sw $t3, 0x104($sp)
|
||||
/* 04311C 8004251C 44829000 */ mtc1 $v0, $f18
|
||||
/* 043120 80042520 2404C000 */ li $a0, -16384
|
||||
/* 043124 80042524 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 043128 80042528 24054000 */ li $a1, 16384
|
||||
/* 04312C 8004252C 0C01BE53 */ jal get_random_number_from_range
|
||||
/* 043130 80042530 E604001C */ swc1 $f4, 0x1c($s0)
|
||||
/* 043134 80042534 862C0000 */ lh $t4, ($s1)
|
||||
/* 043138 80042538 00000000 */ nop
|
||||
/* 04313C 8004253C 004C6821 */ addu $t5, $v0, $t4
|
||||
/* 043140 80042540 A60D001A */ sh $t5, 0x1a($s0)
|
||||
.L80042544:
|
||||
/* 043144 80042544 8FAE0104 */ lw $t6, 0x104($sp)
|
||||
.L80042548:
|
||||
/* 043148 80042548 00001025 */ move $v0, $zero
|
||||
/* 04314C 8004254C 11C00109 */ beqz $t6, .L80042974
|
||||
/* 043150 80042550 00001825 */ move $v1, $zero
|
||||
.L80042554:
|
||||
/* 043154 80042554 8604001A */ lh $a0, 0x1a($s0)
|
||||
/* 043158 80042558 AFA30100 */ sw $v1, 0x100($sp)
|
||||
/* 04315C 8004255C 0C01C1F1 */ jal sins_f
|
||||
/* 043160 80042560 AFA20108 */ sw $v0, 0x108($sp)
|
||||
/* 043164 80042564 C606001C */ lwc1 $f6, 0x1c($s0)
|
||||
/* 043168 80042568 8604001A */ lh $a0, 0x1a($s0)
|
||||
/* 04316C 8004256C 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 043170 80042570 0C01C1FE */ jal coss_f
|
||||
/* 043174 80042574 E6080028 */ swc1 $f8, 0x28($s0)
|
||||
/* 043178 80042578 C60A001C */ lwc1 $f10, 0x1c($s0)
|
||||
/* 04317C 8004257C 8FA20108 */ lw $v0, 0x108($sp)
|
||||
/* 043180 80042580 46005407 */ neg.s $f16, $f10
|
||||
/* 043184 80042584 46100082 */ mul.s $f2, $f0, $f16
|
||||
/* 043188 80042588 8FA30100 */ lw $v1, 0x100($sp)
|
||||
/* 04318C 8004258C C6040028 */ lwc1 $f4, 0x28($s0)
|
||||
/* 043190 80042590 C6080000 */ lwc1 $f8, ($s0)
|
||||
/* 043194 80042594 E602002C */ swc1 $f2, 0x2c($s0)
|
||||
/* 043198 80042598 C632000C */ lwc1 $f18, 0xc($s1)
|
||||
/* 04319C 8004259C C62A0014 */ lwc1 $f10, 0x14($s1)
|
||||
/* 0431A0 800425A0 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0431A4 800425A4 C6120008 */ lwc1 $f18, 8($s0)
|
||||
/* 0431A8 800425A8 46083501 */ sub.s $f20, $f6, $f8
|
||||
/* 0431AC 800425AC 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0431B0 800425B0 46025400 */ add.s $f16, $f10, $f2
|
||||
/* 0431B4 800425B4 C60A0010 */ lwc1 $f10, 0x10($s0)
|
||||
/* 0431B8 800425B8 4614A102 */ mul.s $f4, $f20, $f20
|
||||
/* 0431BC 800425BC 46128581 */ sub.s $f22, $f16, $f18
|
||||
/* 0431C0 800425C0 28410004 */ slti $at, $v0, 4
|
||||
/* 0431C4 800425C4 4616B182 */ mul.s $f6, $f22, $f22
|
||||
/* 0431C8 800425C8 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 0431CC 800425CC 460A403C */ c.lt.s $f8, $f10
|
||||
/* 0431D0 800425D0 00000000 */ nop
|
||||
/* 0431D4 800425D4 45000003 */ bc1f .L800425E4
|
||||
/* 0431D8 800425D8 00000000 */ nop
|
||||
/* 0431DC 800425DC 10000005 */ b .L800425F4
|
||||
/* 0431E0 800425E0 24030001 */ li $v1, 1
|
||||
.L800425E4:
|
||||
/* 0431E4 800425E4 860F001A */ lh $t7, 0x1a($s0)
|
||||
/* 0431E8 800425E8 00000000 */ nop
|
||||
/* 0431EC 800425EC 25F84000 */ addiu $t8, $t7, 0x4000
|
||||
/* 0431F0 800425F0 A618001A */ sh $t8, 0x1a($s0)
|
||||
.L800425F4:
|
||||
/* 0431F4 800425F4 10200003 */ beqz $at, .L80042604
|
||||
/* 0431F8 800425F8 00000000 */ nop
|
||||
/* 0431FC 800425FC 1060FFD5 */ beqz $v1, .L80042554
|
||||
/* 043200 80042600 00000000 */ nop
|
||||
.L80042604:
|
||||
/* 043204 80042604 C620000C */ lwc1 $f0, 0xc($s1)
|
||||
/* 043208 80042608 C6220014 */ lwc1 $f2, 0x14($s1)
|
||||
/* 04320C 8004260C 1460000A */ bnez $v1, .L80042638
|
||||
/* 043210 80042610 00000000 */ nop
|
||||
/* 043214 80042614 C6100000 */ lwc1 $f16, ($s0)
|
||||
/* 043218 80042618 C6120008 */ lwc1 $f18, 8($s0)
|
||||
/* 04321C 8004261C 46008301 */ sub.s $f12, $f16, $f0
|
||||
/* 043220 80042620 0C01C1D4 */ jal arctan2_f
|
||||
/* 043224 80042624 46029381 */ sub.s $f14, $f18, $f2
|
||||
/* 043228 80042628 A602001A */ sh $v0, 0x1a($s0)
|
||||
/* 04322C 8004262C C6220014 */ lwc1 $f2, 0x14($s1)
|
||||
/* 043230 80042630 C620000C */ lwc1 $f0, 0xc($s1)
|
||||
/* 043234 80042634 00000000 */ nop
|
||||
.L80042638:
|
||||
/* 043238 80042638 92190015 */ lbu $t9, 0x15($s0)
|
||||
/* 04323C 8004263C 2404002B */ li $a0, 43
|
||||
/* 043240 80042640 1320000B */ beqz $t9, .L80042670
|
||||
/* 043244 80042644 24090004 */ li $t1, 4
|
||||
/* 043248 80042648 8E260010 */ lw $a2, 0x10($s1)
|
||||
/* 04324C 8004264C 44050000 */ mfc1 $a1, $f0
|
||||
/* 043250 80042650 44071000 */ mfc1 $a3, $f2
|
||||
/* 043254 80042654 24080004 */ li $t0, 4
|
||||
/* 043258 80042658 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* 04325C 8004265C AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 043260 80042660 0C002556 */ jal func_80009558
|
||||
/* 043264 80042664 240401A4 */ li $a0, 420
|
||||
/* 043268 80042668 10000008 */ b .L8004268C
|
||||
/* 04326C 8004266C 240A0001 */ li $t2, 1
|
||||
.L80042670:
|
||||
/* 043270 80042670 8E260010 */ lw $a2, 0x10($s1)
|
||||
/* 043274 80042674 44050000 */ mfc1 $a1, $f0
|
||||
/* 043278 80042678 44071000 */ mfc1 $a3, $f2
|
||||
/* 04327C 8004267C AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 043280 80042680 0C002556 */ jal func_80009558
|
||||
/* 043284 80042684 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 043288 80042688 240A0001 */ li $t2, 1
|
||||
.L8004268C:
|
||||
/* 04328C 8004268C A20A0014 */ sb $t2, 0x14($s0)
|
||||
/* 043290 80042690 C624000C */ lwc1 $f4, 0xc($s1)
|
||||
/* 043294 80042694 860C001A */ lh $t4, 0x1a($s0)
|
||||
/* 043298 80042698 E6040020 */ swc1 $f4, 0x20($s0)
|
||||
/* 04329C 8004269C C6260014 */ lwc1 $f6, 0x14($s1)
|
||||
/* 0432A0 800426A0 240B0020 */ li $t3, 32
|
||||
/* 0432A4 800426A4 A20B0018 */ sb $t3, 0x18($s0)
|
||||
/* 0432A8 800426A8 000C6823 */ negu $t5, $t4
|
||||
/* 0432AC 800426AC E6060024 */ swc1 $f6, 0x24($s0)
|
||||
/* 0432B0 800426B0 100000B0 */ b .L80042974
|
||||
/* 0432B4 800426B4 A62D0000 */ sh $t5, ($s1)
|
||||
glabel L800426B8
|
||||
/* 0432B8 800426B8 820E0018 */ lb $t6, 0x18($s0)
|
||||
/* 0432BC 800426BC 82020019 */ lb $v0, 0x19($s0)
|
||||
/* 0432C0 800426C0 01C57823 */ subu $t7, $t6, $a1
|
||||
/* 0432C4 800426C4 18400003 */ blez $v0, .L800426D4
|
||||
/* 0432C8 800426C8 A20F0018 */ sb $t7, 0x18($s0)
|
||||
/* 0432CC 800426CC 0045C023 */ subu $t8, $v0, $a1
|
||||
/* 0432D0 800426D0 A2180019 */ sb $t8, 0x19($s0)
|
||||
.L800426D4:
|
||||
/* 0432D4 800426D4 82030018 */ lb $v1, 0x18($s0)
|
||||
/* 0432D8 800426D8 00002025 */ move $a0, $zero
|
||||
/* 0432DC 800426DC 04610006 */ bgez $v1, .L800426F8
|
||||
/* 0432E0 800426E0 2405012C */ li $a1, 300
|
||||
/* 0432E4 800426E4 0C01BE53 */ jal get_random_number_from_range
|
||||
/* 0432E8 800426E8 A2000014 */ sb $zero, 0x14($s0)
|
||||
/* 0432EC 800426EC A2000018 */ sb $zero, 0x18($s0)
|
||||
/* 0432F0 800426F0 82030018 */ lb $v1, 0x18($s0)
|
||||
/* 0432F4 800426F4 A6020016 */ sh $v0, 0x16($s0)
|
||||
.L800426F8:
|
||||
/* 0432F8 800426F8 24190020 */ li $t9, 32
|
||||
/* 0432FC 800426FC 03234023 */ subu $t0, $t9, $v1
|
||||
/* 043300 80042700 000848C0 */ sll $t1, $t0, 3
|
||||
/* 043304 80042704 24010003 */ li $at, 3
|
||||
/* 043308 80042708 0121001A */ div $zero, $t1, $at
|
||||
/* 04330C 8004270C 00005012 */ mflo $t2
|
||||
/* 043310 80042710 A62A0018 */ sh $t2, 0x18($s1)
|
||||
/* 043314 80042714 820B0018 */ lb $t3, 0x18($s0)
|
||||
/* 043318 80042718 00000000 */ nop
|
||||
/* 04331C 8004271C 000B6680 */ sll $t4, $t3, 0x1a
|
||||
/* 043320 80042720 0C01C1FE */ jal coss_f
|
||||
/* 043324 80042724 000C2403 */ sra $a0, $t4, 0x10
|
||||
/* 043328 80042728 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 04332C 8004272C 44816000 */ mtc1 $at, $f12
|
||||
/* 043330 80042730 C6080020 */ lwc1 $f8, 0x20($s0)
|
||||
/* 043334 80042734 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
||||
/* 043338 80042738 44819000 */ mtc1 $at, $f18
|
||||
/* 04333C 8004273C 460C0400 */ add.s $f16, $f0, $f12
|
||||
/* 043340 80042740 E628000C */ swc1 $f8, 0xc($s1)
|
||||
/* 043344 80042744 C60A0024 */ lwc1 $f10, 0x24($s0)
|
||||
/* 043348 80042748 46128082 */ mul.s $f2, $f16, $f18
|
||||
/* 04334C 8004274C E62A0014 */ swc1 $f10, 0x14($s1)
|
||||
/* 043350 80042750 C6040028 */ lwc1 $f4, 0x28($s0)
|
||||
/* 043354 80042754 00000000 */ nop
|
||||
/* 043358 80042758 46022182 */ mul.s $f6, $f4, $f2
|
||||
/* 04335C 8004275C E626001C */ swc1 $f6, 0x1c($s1)
|
||||
/* 043360 80042760 C608002C */ lwc1 $f8, 0x2c($s0)
|
||||
/* 043364 80042764 00000000 */ nop
|
||||
/* 043368 80042768 46024282 */ mul.s $f10, $f8, $f2
|
||||
/* 04336C 8004276C 0C004558 */ jal func_80011560
|
||||
/* 043370 80042770 E62A0024 */ swc1 $f10, 0x24($s1)
|
||||
/* 043374 80042774 4480A000 */ mtc1 $zero, $f20
|
||||
/* 043378 80042778 8E25001C */ lw $a1, 0x1c($s1)
|
||||
/* 04337C 8004277C 8E270024 */ lw $a3, 0x24($s1)
|
||||
/* 043380 80042780 4406A000 */ mfc1 $a2, $f20
|
||||
/* 043384 80042784 0C00455C */ jal func_80011570
|
||||
/* 043388 80042788 02202025 */ move $a0, $s1
|
||||
/* 04338C 8004278C 8624002E */ lh $a0, 0x2e($s1)
|
||||
/* 043390 80042790 8E25000C */ lw $a1, 0xc($s1)
|
||||
/* 043394 80042794 8E260014 */ lw $a2, 0x14($s1)
|
||||
/* 043398 80042798 0C00AEAC */ jal func_8002BAB0
|
||||
/* 04339C 8004279C 27A7006C */ addiu $a3, $sp, 0x6c
|
||||
/* 0433A0 800427A0 10400008 */ beqz $v0, .L800427C4
|
||||
/* 0433A4 800427A4 00000000 */ nop
|
||||
/* 0433A8 800427A8 0C004558 */ jal func_80011560
|
||||
/* 0433AC 800427AC E6340010 */ swc1 $f20, 0x10($s1)
|
||||
/* 0433B0 800427B0 4405A000 */ mfc1 $a1, $f20
|
||||
/* 0433B4 800427B4 8FA6006C */ lw $a2, 0x6c($sp)
|
||||
/* 0433B8 800427B8 4407A000 */ mfc1 $a3, $f20
|
||||
/* 0433BC 800427BC 0C00455C */ jal func_80011570
|
||||
/* 0433C0 800427C0 02202025 */ move $a0, $s1
|
||||
.L800427C4:
|
||||
/* 0433C4 800427C4 820E0019 */ lb $t6, 0x19($s0)
|
||||
/* 0433C8 800427C8 00000000 */ nop
|
||||
/* 0433CC 800427CC 1DC0006A */ bgtz $t6, .L80042978
|
||||
/* 0433D0 800427D0 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 0433D4 800427D4 82030018 */ lb $v1, 0x18($s0)
|
||||
/* 0433D8 800427D8 3C074220 */ lui $a3, 0x4220
|
||||
/* 0433DC 800427DC 28610006 */ slti $at, $v1, 6
|
||||
/* 0433E0 800427E0 14200004 */ bnez $at, .L800427F4
|
||||
/* 0433E4 800427E4 27AF0044 */ addiu $t7, $sp, 0x44
|
||||
/* 0433E8 800427E8 2861001B */ slti $at, $v1, 0x1b
|
||||
/* 0433EC 800427EC 14200062 */ bnez $at, .L80042978
|
||||
/* 0433F0 800427F0 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L800427F4:
|
||||
/* 0433F4 800427F4 C62C000C */ lwc1 $f12, 0xc($s1)
|
||||
/* 0433F8 800427F8 C62E0010 */ lwc1 $f14, 0x10($s1)
|
||||
/* 0433FC 800427FC 8E260014 */ lw $a2, 0x14($s1)
|
||||
/* 043400 80042800 AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* 043404 80042804 0C005B7A */ jal func_80016DE8
|
||||
/* 043408 80042808 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 04340C 8004280C 1040005A */ beqz $v0, .L80042978
|
||||
/* 043410 80042810 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 043414 80042814 92180015 */ lbu $t8, 0x15($s0)
|
||||
/* 043418 80042818 24080002 */ li $t0, 2
|
||||
/* 04341C 8004281C 13000014 */ beqz $t8, .L80042870
|
||||
/* 043420 80042820 2404013F */ li $a0, 319
|
||||
/* 043424 80042824 8E25000C */ lw $a1, 0xc($s1)
|
||||
/* 043428 80042828 8E260010 */ lw $a2, 0x10($s1)
|
||||
/* 04342C 8004282C 8E270014 */ lw $a3, 0x14($s1)
|
||||
/* 043430 80042830 24190004 */ li $t9, 4
|
||||
/* 043434 80042834 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 043438 80042838 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 04343C 8004283C 0C002556 */ jal func_80009558
|
||||
/* 043440 80042840 24040174 */ li $a0, 372
|
||||
/* 043444 80042844 24040000 */ li $a0, 0
|
||||
/* 043448 80042848 0C027A9E */ jal set_eeprom_settings_value
|
||||
/* 04344C 8004284C 24050002 */ li $a1, 2
|
||||
/* 043450 80042850 0C0270B8 */ jal set_magic_code_flags
|
||||
/* 043454 80042854 24040002 */ li $a0, 2
|
||||
/* 043458 80042858 0C01B629 */ jal func_8006D8A4
|
||||
/* 04345C 8004285C 00000000 */ nop
|
||||
/* 043460 80042860 0C003FEE */ jal gParticlePtrList_addObject
|
||||
/* 043464 80042864 02202025 */ move $a0, $s1
|
||||
/* 043468 80042868 10000043 */ b .L80042978
|
||||
/* 04346C 8004286C 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L80042870:
|
||||
/* 043470 80042870 A2080014 */ sb $t0, 0x14($s0)
|
||||
/* 043474 80042874 8E270014 */ lw $a3, 0x14($s1)
|
||||
/* 043478 80042878 8E260010 */ lw $a2, 0x10($s1)
|
||||
/* 04347C 8004287C 8E25000C */ lw $a1, 0xc($s1)
|
||||
/* 043480 80042880 24090004 */ li $t1, 4
|
||||
/* 043484 80042884 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 043488 80042888 0C002556 */ jal func_80009558
|
||||
/* 04348C 8004288C AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 043490 80042890 10000039 */ b .L80042978
|
||||
/* 043494 80042894 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L80042898
|
||||
/* 043498 80042898 3C01800E */ lui $at, %hi(D_800E6270) # $at, 0x800e
|
||||
/* 04349C 8004289C C4206270 */ lwc1 $f0, %lo(D_800E6270)($at)
|
||||
/* 0434A0 800428A0 3C01800E */ lui $at, %hi(D_800E6274) # $at, 0x800e
|
||||
/* 0434A4 800428A4 C4326274 */ lwc1 $f18, %lo(D_800E6274)($at)
|
||||
/* 0434A8 800428A8 C6100030 */ lwc1 $f16, 0x30($s0)
|
||||
/* 0434AC 800428AC 46029102 */ mul.s $f4, $f18, $f2
|
||||
/* 0434B0 800428B0 240A0003 */ li $t2, 3
|
||||
/* 0434B4 800428B4 240B0028 */ li $t3, 40
|
||||
/* 0434B8 800428B8 46048181 */ sub.s $f6, $f16, $f4
|
||||
/* 0434BC 800428BC E6060030 */ swc1 $f6, 0x30($s0)
|
||||
/* 0434C0 800428C0 C6080030 */ lwc1 $f8, 0x30($s0)
|
||||
/* 0434C4 800428C4 00000000 */ nop
|
||||
/* 0434C8 800428C8 4600403C */ c.lt.s $f8, $f0
|
||||
/* 0434CC 800428CC 00000000 */ nop
|
||||
/* 0434D0 800428D0 45000029 */ bc1f .L80042978
|
||||
/* 0434D4 800428D4 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 0434D8 800428D8 E6000030 */ swc1 $f0, 0x30($s0)
|
||||
/* 0434DC 800428DC A20A0014 */ sb $t2, 0x14($s0)
|
||||
/* 0434E0 800428E0 10000024 */ b .L80042974
|
||||
/* 0434E4 800428E4 A60B0016 */ sh $t3, 0x16($s0)
|
||||
glabel L800428E8
|
||||
/* 0434E8 800428E8 860C0016 */ lh $t4, 0x16($s0)
|
||||
/* 0434EC 800428EC 240F0004 */ li $t7, 4
|
||||
/* 0434F0 800428F0 01856823 */ subu $t5, $t4, $a1
|
||||
/* 0434F4 800428F4 A60D0016 */ sh $t5, 0x16($s0)
|
||||
/* 0434F8 800428F8 860E0016 */ lh $t6, 0x16($s0)
|
||||
/* 0434FC 800428FC 24040140 */ li $a0, 320
|
||||
/* 043500 80042900 05C1001C */ bgez $t6, .L80042974
|
||||
/* 043504 80042904 24180004 */ li $t8, 4
|
||||
/* 043508 80042908 A20F0014 */ sb $t7, 0x14($s0)
|
||||
/* 04350C 8004290C 8E270014 */ lw $a3, 0x14($s1)
|
||||
/* 043510 80042910 8E260010 */ lw $a2, 0x10($s1)
|
||||
/* 043514 80042914 8E25000C */ lw $a1, 0xc($s1)
|
||||
/* 043518 80042918 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 04351C 8004291C 0C002556 */ jal func_80009558
|
||||
/* 043520 80042920 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 043524 80042924 10000014 */ b .L80042978
|
||||
/* 043528 80042928 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L8004292C
|
||||
/* 04352C 8004292C 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 043530 80042930 44816000 */ mtc1 $at, $f12
|
||||
/* 043534 80042934 C6000030 */ lwc1 $f0, 0x30($s0)
|
||||
/* 043538 80042938 2419003C */ li $t9, 60
|
||||
/* 04353C 8004293C 4600603C */ c.lt.s $f12, $f0
|
||||
/* 043540 80042940 3C01800E */ lui $at, %hi(D_800E6278) # $at, 0x800e
|
||||
/* 043544 80042944 45000006 */ bc1f .L80042960
|
||||
/* 043548 80042948 00000000 */ nop
|
||||
/* 04354C 8004294C E60C0030 */ swc1 $f12, 0x30($s0)
|
||||
/* 043550 80042950 A2000014 */ sb $zero, 0x14($s0)
|
||||
/* 043554 80042954 A6000016 */ sh $zero, 0x16($s0)
|
||||
/* 043558 80042958 10000006 */ b .L80042974
|
||||
/* 04355C 8004295C A2190019 */ sb $t9, 0x19($s0)
|
||||
.L80042960:
|
||||
/* 043560 80042960 C42A6278 */ lwc1 $f10, %lo(D_800E6278)($at)
|
||||
/* 043564 80042964 00000000 */ nop
|
||||
/* 043568 80042968 46025482 */ mul.s $f18, $f10, $f2
|
||||
/* 04356C 8004296C 46120400 */ add.s $f16, $f0, $f18
|
||||
/* 043570 80042970 E6100030 */ swc1 $f16, 0x30($s0)
|
||||
.L80042974:
|
||||
/* 043574 80042974 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L80042978:
|
||||
/* 043578 80042978 C7B50018 */ lwc1 $f21, 0x18($sp)
|
||||
/* 04357C 8004297C C7B4001C */ lwc1 $f20, 0x1c($sp)
|
||||
/* 043580 80042980 C7B70020 */ lwc1 $f23, 0x20($sp)
|
||||
/* 043584 80042984 C7B60024 */ lwc1 $f22, 0x24($sp)
|
||||
/* 043588 80042988 8FB0002C */ lw $s0, 0x2c($sp)
|
||||
/* 04358C 8004298C 8FB10030 */ lw $s1, 0x30($sp)
|
||||
/* 043590 80042990 03E00008 */ jr $ra
|
||||
/* 043594 80042994 27BD0110 */ addiu $sp, $sp, 0x110
|
||||
|
||||
@@ -1,151 +0,0 @@
|
||||
glabel obj_loop_levelname
|
||||
/* 043690 80042A90 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* 043694 80042A94 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 043698 80042A98 00803025 */ move $a2, $a0
|
||||
/* 04369C 80042A9C AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 0436A0 80042AA0 AFA5005C */ sw $a1, 0x5c($sp)
|
||||
/* 0436A4 80042AA4 AFA60058 */ sw $a2, 0x58($sp)
|
||||
/* 0436A8 80042AA8 0C006EC6 */ jal get_racer_object_by_port
|
||||
/* 0436AC 80042AAC 00002025 */ move $a0, $zero
|
||||
/* 0436B0 80042AB0 8FA3005C */ lw $v1, 0x5c($sp)
|
||||
/* 0436B4 80042AB4 8FA60058 */ lw $a2, 0x58($sp)
|
||||
/* 0436B8 80042AB8 10400082 */ beqz $v0, .L80042CC4
|
||||
/* 0436BC 80042ABC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 0436C0 80042AC0 C4C4000C */ lwc1 $f4, 0xc($a2)
|
||||
/* 0436C4 80042AC4 C446000C */ lwc1 $f6, 0xc($v0)
|
||||
/* 0436C8 80042AC8 C4C80014 */ lwc1 $f8, 0x14($a2)
|
||||
/* 0436CC 80042ACC 46062001 */ sub.s $f0, $f4, $f6
|
||||
/* 0436D0 80042AD0 C44A0014 */ lwc1 $f10, 0x14($v0)
|
||||
/* 0436D4 80042AD4 46000402 */ mul.s $f16, $f0, $f0
|
||||
/* 0436D8 80042AD8 460A4081 */ sub.s $f2, $f8, $f10
|
||||
/* 0436DC 80042ADC C4C60078 */ lwc1 $f6, 0x78($a2)
|
||||
/* 0436E0 80042AE0 24D00078 */ addiu $s0, $a2, 0x78
|
||||
/* 0436E4 80042AE4 46021482 */ mul.s $f18, $f2, $f2
|
||||
/* 0436E8 80042AE8 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0436EC 80042AEC 4606203C */ c.lt.s $f4, $f6
|
||||
/* 0436F0 80042AF0 00000000 */ nop
|
||||
/* 0436F4 80042AF4 4500000F */ bc1f .L80042B34
|
||||
/* 0436F8 80042AF8 00000000 */ nop
|
||||
/* 0436FC 80042AFC 24D00078 */ addiu $s0, $a2, 0x78
|
||||
/* 043700 80042B00 860E0006 */ lh $t6, 6($s0)
|
||||
/* 043704 80042B04 00037900 */ sll $t7, $v1, 4
|
||||
/* 043708 80042B08 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 04370C 80042B0C A6180006 */ sh $t8, 6($s0)
|
||||
/* 043710 80042B10 86020006 */ lh $v0, 6($s0)
|
||||
/* 043714 80042B14 24190100 */ li $t9, 256
|
||||
/* 043718 80042B18 28410101 */ slti $at, $v0, 0x101
|
||||
/* 04371C 80042B1C 14200010 */ bnez $at, .L80042B60
|
||||
/* 043720 80042B20 00000000 */ nop
|
||||
/* 043724 80042B24 A6190006 */ sh $t9, 6($s0)
|
||||
/* 043728 80042B28 86020006 */ lh $v0, 6($s0)
|
||||
/* 04372C 80042B2C 1000000C */ b .L80042B60
|
||||
/* 043730 80042B30 00000000 */ nop
|
||||
.L80042B34:
|
||||
/* 043734 80042B34 86080006 */ lh $t0, 6($s0)
|
||||
/* 043738 80042B38 00034900 */ sll $t1, $v1, 4
|
||||
/* 04373C 80042B3C 01095023 */ subu $t2, $t0, $t1
|
||||
/* 043740 80042B40 A60A0006 */ sh $t2, 6($s0)
|
||||
/* 043744 80042B44 86020006 */ lh $v0, 6($s0)
|
||||
/* 043748 80042B48 00000000 */ nop
|
||||
/* 04374C 80042B4C 04410004 */ bgez $v0, .L80042B60
|
||||
/* 043750 80042B50 00000000 */ nop
|
||||
/* 043754 80042B54 A6000006 */ sh $zero, 6($s0)
|
||||
/* 043758 80042B58 86020006 */ lh $v0, 6($s0)
|
||||
/* 04375C 80042B5C 00000000 */ nop
|
||||
.L80042B60:
|
||||
/* 043760 80042B60 18400058 */ blez $v0, .L80042CC4
|
||||
/* 043764 80042B64 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 043768 80042B68 86040004 */ lh $a0, 4($s0)
|
||||
/* 04376C 80042B6C 0C01AF77 */ jal get_level_name
|
||||
/* 043770 80042B70 00000000 */ nop
|
||||
/* 043774 80042B74 AFA2002C */ sw $v0, 0x2c($sp)
|
||||
/* 043778 80042B78 00402025 */ move $a0, $v0
|
||||
/* 04377C 80042B7C 00002825 */ move $a1, $zero
|
||||
/* 043780 80042B80 0C031368 */ jal func_800C4DA0
|
||||
/* 043784 80042B84 00003025 */ move $a2, $zero
|
||||
/* 043788 80042B88 24430018 */ addiu $v1, $v0, 0x18
|
||||
/* 04378C 80042B8C 00035843 */ sra $t3, $v1, 1
|
||||
/* 043790 80042B90 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000
|
||||
/* 043794 80042B94 8DEF0300 */ lw $t7, %lo(osTvType)($t7)
|
||||
/* 043798 80042B98 240C00A0 */ li $t4, 160
|
||||
/* 04379C 80042B9C 018B6823 */ subu $t5, $t4, $t3
|
||||
/* 0437A0 80042BA0 256E00A0 */ addiu $t6, $t3, 0xa0
|
||||
/* 0437A4 80042BA4 AFAD0050 */ sw $t5, 0x50($sp)
|
||||
/* 0437A8 80042BA8 15E00006 */ bnez $t7, .L80042BC4
|
||||
/* 0437AC 80042BAC AFAE0048 */ sw $t6, 0x48($sp)
|
||||
/* 0437B0 80042BB0 241800E0 */ li $t8, 224
|
||||
/* 0437B4 80042BB4 241900F8 */ li $t9, 248
|
||||
/* 0437B8 80042BB8 AFB8004C */ sw $t8, 0x4c($sp)
|
||||
/* 0437BC 80042BBC 10000005 */ b .L80042BD4
|
||||
/* 0437C0 80042BC0 AFB90044 */ sw $t9, 0x44($sp)
|
||||
.L80042BC4:
|
||||
/* 0437C4 80042BC4 240800CA */ li $t0, 202
|
||||
/* 0437C8 80042BC8 240900DE */ li $t1, 222
|
||||
/* 0437CC 80042BCC AFA8004C */ sw $t0, 0x4c($sp)
|
||||
/* 0437D0 80042BD0 AFA90044 */ sw $t1, 0x44($sp)
|
||||
.L80042BD4:
|
||||
/* 0437D4 80042BD4 0C031525 */ jal assign_dialogue_box_id
|
||||
/* 0437D8 80042BD8 24040004 */ li $a0, 4
|
||||
/* 0437DC 80042BDC 8FAA0044 */ lw $t2, 0x44($sp)
|
||||
/* 0437E0 80042BE0 8FA50050 */ lw $a1, 0x50($sp)
|
||||
/* 0437E4 80042BE4 8FA6004C */ lw $a2, 0x4c($sp)
|
||||
/* 0437E8 80042BE8 8FA70048 */ lw $a3, 0x48($sp)
|
||||
/* 0437EC 80042BEC 24040004 */ li $a0, 4
|
||||
/* 0437F0 80042BF0 0C0313B7 */ jal set_current_dialogue_box_coords
|
||||
/* 0437F4 80042BF4 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 0437F8 80042BF8 860B0006 */ lh $t3, 6($s0)
|
||||
/* 0437FC 80042BFC 24040004 */ li $a0, 4
|
||||
/* 043800 80042C00 000B6080 */ sll $t4, $t3, 2
|
||||
/* 043804 80042C04 018B6021 */ addu $t4, $t4, $t3
|
||||
/* 043808 80042C08 000C6140 */ sll $t4, $t4, 5
|
||||
/* 04380C 80042C0C 000C6A03 */ sra $t5, $t4, 8
|
||||
/* 043810 80042C10 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 043814 80042C14 24050080 */ li $a1, 128
|
||||
/* 043818 80042C18 24060040 */ li $a2, 64
|
||||
/* 04381C 80042C1C 0C0313EF */ jal set_current_dialogue_background_colour
|
||||
/* 043820 80042C20 24070080 */ li $a3, 128
|
||||
/* 043824 80042C24 24040004 */ li $a0, 4
|
||||
/* 043828 80042C28 00002825 */ move $a1, $zero
|
||||
/* 04382C 80042C2C 00003025 */ move $a2, $zero
|
||||
/* 043830 80042C30 00003825 */ move $a3, $zero
|
||||
/* 043834 80042C34 0C031414 */ jal set_current_text_background_colour
|
||||
/* 043838 80042C38 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 04383C 80042C3C 24040004 */ li $a0, 4
|
||||
/* 043840 80042C40 0C0313DF */ jal set_dialogue_font
|
||||
/* 043844 80042C44 00002825 */ move $a1, $zero
|
||||
/* 043848 80042C48 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 04384C 80042C4C 860E0006 */ lh $t6, 6($s0)
|
||||
/* 043850 80042C50 24040004 */ li $a0, 4
|
||||
/* 043854 80042C54 000E7A00 */ sll $t7, $t6, 8
|
||||
/* 043858 80042C58 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 04385C 80042C5C 000FC203 */ sra $t8, $t7, 8
|
||||
/* 043860 80042C60 AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* 043864 80042C64 240500FF */ li $a1, 255
|
||||
/* 043868 80042C68 240600FF */ li $a2, 255
|
||||
/* 04386C 80042C6C 0C031400 */ jal set_current_text_colour
|
||||
/* 043870 80042C70 240700FF */ li $a3, 255
|
||||
/* 043874 80042C74 8FB90048 */ lw $t9, 0x48($sp)
|
||||
/* 043878 80042C78 8FA80050 */ lw $t0, 0x50($sp)
|
||||
/* 04387C 80042C7C 8FAA0044 */ lw $t2, 0x44($sp)
|
||||
/* 043880 80042C80 8FAB004C */ lw $t3, 0x4c($sp)
|
||||
/* 043884 80042C84 03282823 */ subu $a1, $t9, $t0
|
||||
/* 043888 80042C88 014B3023 */ subu $a2, $t2, $t3
|
||||
/* 04388C 80042C8C 00066043 */ sra $t4, $a2, 1
|
||||
/* 043890 80042C90 00054843 */ sra $t1, $a1, 1
|
||||
/* 043894 80042C94 8FA7002C */ lw $a3, 0x2c($sp)
|
||||
/* 043898 80042C98 240D0001 */ li $t5, 1
|
||||
/* 04389C 80042C9C 240E000C */ li $t6, 12
|
||||
/* 0438A0 80042CA0 AFAE0014 */ sw $t6, 0x14($sp)
|
||||
/* 0438A4 80042CA4 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 0438A8 80042CA8 01202825 */ move $a1, $t1
|
||||
/* 0438AC 80042CAC 25860002 */ addiu $a2, $t4, 2
|
||||
/* 0438B0 80042CB0 0C03145A */ jal render_dialogue_text
|
||||
/* 0438B4 80042CB4 24040004 */ li $a0, 4
|
||||
/* 0438B8 80042CB8 0C03157D */ jal open_dialogue_box
|
||||
/* 0438BC 80042CBC 24040004 */ li $a0, 4
|
||||
/* 0438C0 80042CC0 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L80042CC4:
|
||||
/* 0438C4 80042CC4 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 0438C8 80042CC8 03E00008 */ jr $ra
|
||||
/* 0438CC 80042CCC 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
|
||||
@@ -1,162 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E6180
|
||||
.float 50625.0
|
||||
|
||||
.text
|
||||
glabel obj_loop_treasuresucker
|
||||
/* 03DC58 8003D058 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 03DC5C 8003D05C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 03DC60 8003D060 AFA5004C */ sw $a1, 0x4c($sp)
|
||||
/* 03DC64 8003D064 00803025 */ move $a2, $a0
|
||||
/* 03DC68 8003D068 8C840078 */ lw $a0, 0x78($a0)
|
||||
/* 03DC6C 8003D06C 0C006EB2 */ jal get_racer_object
|
||||
/* 03DC70 8003D070 AFA60048 */ sw $a2, 0x48($sp)
|
||||
/* 03DC74 8003D074 8FA60048 */ lw $a2, 0x48($sp)
|
||||
/* 03DC78 8003D078 10400088 */ beqz $v0, .L8003D29C
|
||||
/* 03DC7C 8003D07C 00401825 */ move $v1, $v0
|
||||
/* 03DC80 8003D080 8C470064 */ lw $a3, 0x64($v0)
|
||||
/* 03DC84 8003D084 00002025 */ move $a0, $zero
|
||||
/* 03DC88 8003D088 80EE0185 */ lb $t6, 0x185($a3)
|
||||
/* 03DC8C 8003D08C 00000000 */ nop
|
||||
/* 03DC90 8003D090 11C0001C */ beqz $t6, .L8003D104
|
||||
/* 03DC94 8003D094 00000000 */ nop
|
||||
/* 03DC98 8003D098 8CCF007C */ lw $t7, 0x7c($a2)
|
||||
/* 03DC9C 8003D09C 00000000 */ nop
|
||||
/* 03DCA0 8003D0A0 15E00018 */ bnez $t7, .L8003D104
|
||||
/* 03DCA4 8003D0A4 00000000 */ nop
|
||||
/* 03DCA8 8003D0A8 C4C4000C */ lwc1 $f4, 0xc($a2)
|
||||
/* 03DCAC 8003D0AC C446000C */ lwc1 $f6, 0xc($v0)
|
||||
/* 03DCB0 8003D0B0 C4C80010 */ lwc1 $f8, 0x10($a2)
|
||||
/* 03DCB4 8003D0B4 46062001 */ sub.s $f0, $f4, $f6
|
||||
/* 03DCB8 8003D0B8 C44A0010 */ lwc1 $f10, 0x10($v0)
|
||||
/* 03DCBC 8003D0BC 46000102 */ mul.s $f4, $f0, $f0
|
||||
/* 03DCC0 8003D0C0 460A4081 */ sub.s $f2, $f8, $f10
|
||||
/* 03DCC4 8003D0C4 C4D00014 */ lwc1 $f16, 0x14($a2)
|
||||
/* 03DCC8 8003D0C8 C4520014 */ lwc1 $f18, 0x14($v0)
|
||||
/* 03DCCC 8003D0CC 46021182 */ mul.s $f6, $f2, $f2
|
||||
/* 03DCD0 8003D0D0 46128301 */ sub.s $f12, $f16, $f18
|
||||
/* 03DCD4 8003D0D4 3C01800E */ lui $at, %hi(D_800E6180) # $at, 0x800e
|
||||
/* 03DCD8 8003D0D8 C4306180 */ lwc1 $f16, %lo(D_800E6180)($at)
|
||||
/* 03DCDC 8003D0DC 460C6282 */ mul.s $f10, $f12, $f12
|
||||
/* 03DCE0 8003D0E0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 03DCE4 8003D0E4 24180008 */ li $t8, 8
|
||||
/* 03DCE8 8003D0E8 460A4000 */ add.s $f0, $f8, $f10
|
||||
/* 03DCEC 8003D0EC 4610003C */ c.lt.s $f0, $f16
|
||||
/* 03DCF0 8003D0F0 00000000 */ nop
|
||||
/* 03DCF4 8003D0F4 45000003 */ bc1f .L8003D104
|
||||
/* 03DCF8 8003D0F8 00000000 */ nop
|
||||
/* 03DCFC 8003D0FC ACD8007C */ sw $t8, 0x7c($a2)
|
||||
/* 03DD00 8003D100 24040001 */ li $a0, 1
|
||||
.L8003D104:
|
||||
/* 03DD04 8003D104 8CC2007C */ lw $v0, 0x7c($a2)
|
||||
/* 03DD08 8003D108 8FB9004C */ lw $t9, 0x4c($sp)
|
||||
/* 03DD0C 8003D10C 18400010 */ blez $v0, .L8003D150
|
||||
/* 03DD10 8003D110 00594023 */ subu $t0, $v0, $t9
|
||||
/* 03DD14 8003D114 1D00000E */ bgtz $t0, .L8003D150
|
||||
/* 03DD18 8003D118 ACC8007C */ sw $t0, 0x7c($a2)
|
||||
/* 03DD1C 8003D11C 80E20185 */ lb $v0, 0x185($a3)
|
||||
/* 03DD20 8003D120 240C0008 */ li $t4, 8
|
||||
/* 03DD24 8003D124 18400009 */ blez $v0, .L8003D14C
|
||||
/* 03DD28 8003D128 244AFFFF */ addiu $t2, $v0, -1
|
||||
/* 03DD2C 8003D12C A0EA0185 */ sb $t2, 0x185($a3)
|
||||
/* 03DD30 8003D130 80EB0185 */ lb $t3, 0x185($a3)
|
||||
/* 03DD34 8003D134 00000000 */ nop
|
||||
/* 03DD38 8003D138 11600002 */ beqz $t3, .L8003D144
|
||||
/* 03DD3C 8003D13C 00000000 */ nop
|
||||
/* 03DD40 8003D140 24040001 */ li $a0, 1
|
||||
.L8003D144:
|
||||
/* 03DD44 8003D144 10000002 */ b .L8003D150
|
||||
/* 03DD48 8003D148 ACCC007C */ sw $t4, 0x7c($a2)
|
||||
.L8003D14C:
|
||||
/* 03DD4C 8003D14C ACC0007C */ sw $zero, 0x7c($a2)
|
||||
.L8003D150:
|
||||
/* 03DD50 8003D150 10800053 */ beqz $a0, .L8003D2A0
|
||||
/* 03DD54 8003D154 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 03DD58 8003D158 444DF800 */ cfc1 $t5, $31
|
||||
/* 03DD5C 8003D15C C472000C */ lwc1 $f18, 0xc($v1)
|
||||
/* 03DD60 8003D160 35A10003 */ ori $at, $t5, 3
|
||||
/* 03DD64 8003D164 38210002 */ xori $at, $at, 2
|
||||
/* 03DD68 8003D168 44C1F800 */ ctc1 $at, $31
|
||||
/* 03DD6C 8003D16C 240C0008 */ li $t4, 8
|
||||
/* 03DD70 8003D170 46009124 */ cvt.w.s $f4, $f18
|
||||
/* 03DD74 8003D174 27A40024 */ addiu $a0, $sp, 0x24
|
||||
/* 03DD78 8003D178 44CDF800 */ ctc1 $t5, $31
|
||||
/* 03DD7C 8003D17C 440E2000 */ mfc1 $t6, $f4
|
||||
/* 03DD80 8003D180 240D0061 */ li $t5, 97
|
||||
/* 03DD84 8003D184 444FF800 */ cfc1 $t7, $31
|
||||
/* 03DD88 8003D188 A7AE0026 */ sh $t6, 0x26($sp)
|
||||
/* 03DD8C 8003D18C 35E10003 */ ori $at, $t7, 3
|
||||
/* 03DD90 8003D190 38210002 */ xori $at, $at, 2
|
||||
/* 03DD94 8003D194 44C1F800 */ ctc1 $at, $31
|
||||
/* 03DD98 8003D198 C4660010 */ lwc1 $f6, 0x10($v1)
|
||||
/* 03DD9C 8003D19C 24050001 */ li $a1, 1
|
||||
/* 03DDA0 8003D1A0 46003224 */ cvt.w.s $f8, $f6
|
||||
/* 03DDA4 8003D1A4 44CFF800 */ ctc1 $t7, $31
|
||||
/* 03DDA8 8003D1A8 44084000 */ mfc1 $t0, $f8
|
||||
/* 03DDAC 8003D1AC 00000000 */ nop
|
||||
/* 03DDB0 8003D1B0 444AF800 */ cfc1 $t2, $31
|
||||
/* 03DDB4 8003D1B4 2509000A */ addiu $t1, $t0, 0xa
|
||||
/* 03DDB8 8003D1B8 A7A90028 */ sh $t1, 0x28($sp)
|
||||
/* 03DDBC 8003D1BC 35410003 */ ori $at, $t2, 3
|
||||
/* 03DDC0 8003D1C0 C46A0014 */ lwc1 $f10, 0x14($v1)
|
||||
/* 03DDC4 8003D1C4 38210002 */ xori $at, $at, 2
|
||||
/* 03DDC8 8003D1C8 44C1F800 */ ctc1 $at, $31
|
||||
/* 03DDCC 8003D1CC A3AC0025 */ sb $t4, 0x25($sp)
|
||||
/* 03DDD0 8003D1D0 46005424 */ cvt.w.s $f16, $f10
|
||||
/* 03DDD4 8003D1D4 A3AD0024 */ sb $t5, 0x24($sp)
|
||||
/* 03DDD8 8003D1D8 440B8000 */ mfc1 $t3, $f16
|
||||
/* 03DDDC 8003D1DC 44CAF800 */ ctc1 $t2, $31
|
||||
/* 03DDE0 8003D1E0 AFA7003C */ sw $a3, 0x3c($sp)
|
||||
/* 03DDE4 8003D1E4 AFA60048 */ sw $a2, 0x48($sp)
|
||||
/* 03DDE8 8003D1E8 AFA30044 */ sw $v1, 0x44($sp)
|
||||
/* 03DDEC 8003D1EC 0C003A95 */ jal spawn_object
|
||||
/* 03DDF0 8003D1F0 A7AB002A */ sh $t3, 0x2a($sp)
|
||||
/* 03DDF4 8003D1F4 8FA30044 */ lw $v1, 0x44($sp)
|
||||
/* 03DDF8 8003D1F8 8FA60048 */ lw $a2, 0x48($sp)
|
||||
/* 03DDFC 8003D1FC 8FA7003C */ lw $a3, 0x3c($sp)
|
||||
/* 03DE00 8003D200 10400026 */ beqz $v0, .L8003D29C
|
||||
/* 03DE04 8003D204 3C014120 */ li $at, 0x41200000 # 10.000000
|
||||
/* 03DE08 8003D208 44811000 */ mtc1 $at, $f2
|
||||
/* 03DE0C 8003D20C 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 03DE10 8003D210 44819000 */ mtc1 $at, $f18
|
||||
/* 03DE14 8003D214 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
|
||||
/* 03DE18 8003D218 46121102 */ mul.s $f4, $f2, $f18
|
||||
/* 03DE1C 8003D21C 44814800 */ mtc1 $at, $f9
|
||||
/* 03DE20 8003D220 44804000 */ mtc1 $zero, $f8
|
||||
/* 03DE24 8003D224 AC40003C */ sw $zero, 0x3c($v0)
|
||||
/* 03DE28 8003D228 460021A1 */ cvt.d.s $f6, $f4
|
||||
/* 03DE2C 8003D22C 00000000 */ nop
|
||||
/* 03DE30 8003D230 46283283 */ div.d $f10, $f6, $f8
|
||||
/* 03DE34 8003D234 E4420020 */ swc1 $f2, 0x20($v0)
|
||||
/* 03DE38 8003D238 C472000C */ lwc1 $f18, 0xc($v1)
|
||||
/* 03DE3C 8003D23C C4D0000C */ lwc1 $f16, 0xc($a2)
|
||||
/* 03DE40 8003D240 00000000 */ nop
|
||||
/* 03DE44 8003D244 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* 03DE48 8003D248 46205020 */ cvt.s.d $f0, $f10
|
||||
/* 03DE4C 8003D24C 00000000 */ nop
|
||||
/* 03DE50 8003D250 46002183 */ div.s $f6, $f4, $f0
|
||||
/* 03DE54 8003D254 E446001C */ swc1 $f6, 0x1c($v0)
|
||||
/* 03DE58 8003D258 C46A0014 */ lwc1 $f10, 0x14($v1)
|
||||
/* 03DE5C 8003D25C C4C80014 */ lwc1 $f8, 0x14($a2)
|
||||
/* 03DE60 8003D260 AC47007C */ sw $a3, 0x7c($v0)
|
||||
/* 03DE64 8003D264 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 03DE68 8003D268 00000000 */ nop
|
||||
/* 03DE6C 8003D26C 46008483 */ div.s $f18, $f16, $f0
|
||||
/* 03DE70 8003D270 444EF800 */ cfc1 $t6, $31
|
||||
/* 03DE74 8003D274 E4520024 */ swc1 $f18, 0x24($v0)
|
||||
/* 03DE78 8003D278 35C10003 */ ori $at, $t6, 3
|
||||
/* 03DE7C 8003D27C 38210002 */ xori $at, $at, 2
|
||||
/* 03DE80 8003D280 44C1F800 */ ctc1 $at, $31
|
||||
/* 03DE84 8003D284 00000000 */ nop
|
||||
/* 03DE88 8003D288 46000124 */ cvt.w.s $f4, $f0
|
||||
/* 03DE8C 8003D28C 440F2000 */ mfc1 $t7, $f4
|
||||
/* 03DE90 8003D290 44CEF800 */ ctc1 $t6, $31
|
||||
/* 03DE94 8003D294 AC4F0078 */ sw $t7, 0x78($v0)
|
||||
/* 03DE98 8003D298 00000000 */ nop
|
||||
.L8003D29C:
|
||||
/* 03DE9C 8003D29C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8003D2A0:
|
||||
/* 03DEA0 8003D2A0 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
/* 03DEA4 8003D2A4 03E00008 */ jr $ra
|
||||
/* 03DEA8 8003D2A8 00000000 */ nop
|
||||
|
||||
@@ -1,156 +0,0 @@
|
||||
glabel obj_loop_trigger
|
||||
/* 03D3A4 8003C7A4 27BDFF68 */ addiu $sp, $sp, -0x98
|
||||
/* 03D3A8 8003C7A8 AFBF004C */ sw $ra, 0x4c($sp)
|
||||
/* 03D3AC 8003C7AC AFBE0048 */ sw $fp, 0x48($sp)
|
||||
/* 03D3B0 8003C7B0 AFB70044 */ sw $s7, 0x44($sp)
|
||||
/* 03D3B4 8003C7B4 AFB60040 */ sw $s6, 0x40($sp)
|
||||
/* 03D3B8 8003C7B8 AFB5003C */ sw $s5, 0x3c($sp)
|
||||
/* 03D3BC 8003C7BC AFB40038 */ sw $s4, 0x38($sp)
|
||||
/* 03D3C0 8003C7C0 AFB30034 */ sw $s3, 0x34($sp)
|
||||
/* 03D3C4 8003C7C4 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 03D3C8 8003C7C8 AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 03D3CC 8003C7CC AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 03D3D0 8003C7D0 E7B70020 */ swc1 $f23, 0x20($sp)
|
||||
/* 03D3D4 8003C7D4 E7B60024 */ swc1 $f22, 0x24($sp)
|
||||
/* 03D3D8 8003C7D8 E7B50018 */ swc1 $f21, 0x18($sp)
|
||||
/* 03D3DC 8003C7DC E7B4001C */ swc1 $f20, 0x1c($sp)
|
||||
/* 03D3E0 8003C7E0 AFA5009C */ sw $a1, 0x9c($sp)
|
||||
/* 03D3E4 8003C7E4 8C9E003C */ lw $fp, 0x3c($a0)
|
||||
/* 03D3E8 8003C7E8 8C920064 */ lw $s2, 0x64($a0)
|
||||
/* 03D3EC 8003C7EC 0C01BAA4 */ jal get_settings
|
||||
/* 03D3F0 8003C7F0 0080A025 */ move $s4, $a0
|
||||
/* 03D3F4 8003C7F4 904F0049 */ lbu $t7, 0x49($v0)
|
||||
/* 03D3F8 8003C7F8 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 03D3FC 8003C7FC 000FC080 */ sll $t8, $t7, 2
|
||||
/* 03D400 8003C800 01D8C821 */ addu $t9, $t6, $t8
|
||||
/* 03D404 8003C804 8F300000 */ lw $s0, ($t9)
|
||||
/* 03D408 8003C808 0C01AF66 */ jal get_current_level_race_type
|
||||
/* 03D40C 8003C80C 0040B825 */ move $s7, $v0
|
||||
/* 03D410 8003C810 83C30009 */ lb $v1, 9($fp)
|
||||
/* 03D414 8003C814 00000000 */ nop
|
||||
/* 03D418 8003C818 04600065 */ bltz $v1, .L8003C9B0
|
||||
/* 03D41C 8003C81C 8FBF004C */ lw $ra, 0x4c($sp)
|
||||
/* 03D420 8003C820 8E89004C */ lw $t1, 0x4c($s4)
|
||||
/* 03D424 8003C824 8E450010 */ lw $a1, 0x10($s2)
|
||||
/* 03D428 8003C828 912A0013 */ lbu $t2, 0x13($t1)
|
||||
/* 03D42C 8003C82C 3C080001 */ lui $t0, 1
|
||||
/* 03D430 8003C830 0145082A */ slt $at, $t2, $a1
|
||||
/* 03D434 8003C834 1020005D */ beqz $at, .L8003C9AC
|
||||
/* 03D438 8003C838 00683004 */ sllv $a2, $t0, $v1
|
||||
/* 03D43C 8003C83C 304B00FF */ andi $t3, $v0, 0xff
|
||||
/* 03D440 8003C840 24010005 */ li $at, 5
|
||||
/* 03D444 8003C844 15610003 */ bne $t3, $at, .L8003C854
|
||||
/* 03D448 8003C848 02066024 */ and $t4, $s0, $a2
|
||||
/* 03D44C 8003C84C 15800058 */ bnez $t4, .L8003C9B0
|
||||
/* 03D450 8003C850 8FBF004C */ lw $ra, 0x4c($sp)
|
||||
.L8003C854:
|
||||
/* 03D454 8003C854 44852000 */ mtc1 $a1, $f4
|
||||
/* 03D458 8003C858 27A4008C */ addiu $a0, $sp, 0x8c
|
||||
/* 03D45C 8003C85C AFA60060 */ sw $a2, 0x60($sp)
|
||||
/* 03D460 8003C860 0C006E9D */ jal get_racer_objects
|
||||
/* 03D464 8003C864 468025A0 */ cvt.s.w $f22, $f4
|
||||
/* 03D468 8003C868 8FAD008C */ lw $t5, 0x8c($sp)
|
||||
/* 03D46C 8003C86C 00009825 */ move $s3, $zero
|
||||
/* 03D470 8003C870 19A0004E */ blez $t5, .L8003C9AC
|
||||
/* 03D474 8003C874 00408825 */ move $s1, $v0
|
||||
/* 03D478 8003C878 4480A000 */ mtc1 $zero, $f20
|
||||
/* 03D47C 8003C87C 241600FF */ li $s6, 255
|
||||
/* 03D480 8003C880 2415FFFF */ li $s5, -1
|
||||
.L8003C884:
|
||||
/* 03D484 8003C884 8E300000 */ lw $s0, ($s1)
|
||||
/* 03D488 8003C888 92430014 */ lbu $v1, 0x14($s2)
|
||||
/* 03D48C 8003C88C 8E020064 */ lw $v0, 0x64($s0)
|
||||
/* 03D490 8003C890 306F0001 */ andi $t7, $v1, 1
|
||||
/* 03D494 8003C894 15E00005 */ bnez $t7, .L8003C8AC
|
||||
/* 03D498 8003C898 30780002 */ andi $t8, $v1, 2
|
||||
/* 03D49C 8003C89C 844E0000 */ lh $t6, ($v0)
|
||||
/* 03D4A0 8003C8A0 00000000 */ nop
|
||||
/* 03D4A4 8003C8A4 12AE0007 */ beq $s5, $t6, .L8003C8C4
|
||||
/* 03D4A8 8003C8A8 00000000 */ nop
|
||||
.L8003C8AC:
|
||||
/* 03D4AC 8003C8AC 1700003B */ bnez $t8, .L8003C99C
|
||||
/* 03D4B0 8003C8B0 8FAF008C */ lw $t7, 0x8c($sp)
|
||||
/* 03D4B4 8003C8B4 84590000 */ lh $t9, ($v0)
|
||||
/* 03D4B8 8003C8B8 00000000 */ nop
|
||||
/* 03D4BC 8003C8BC 12B90037 */ beq $s5, $t9, .L8003C99C
|
||||
/* 03D4C0 8003C8C0 8FAF008C */ lw $t7, 0x8c($sp)
|
||||
.L8003C8C4:
|
||||
/* 03D4C4 8003C8C4 C606000C */ lwc1 $f6, 0xc($s0)
|
||||
/* 03D4C8 8003C8C8 C688000C */ lwc1 $f8, 0xc($s4)
|
||||
/* 03D4CC 8003C8CC C60A0010 */ lwc1 $f10, 0x10($s0)
|
||||
/* 03D4D0 8003C8D0 46083001 */ sub.s $f0, $f6, $f8
|
||||
/* 03D4D4 8003C8D4 C6900010 */ lwc1 $f16, 0x10($s4)
|
||||
/* 03D4D8 8003C8D8 46000182 */ mul.s $f6, $f0, $f0
|
||||
/* 03D4DC 8003C8DC 46105081 */ sub.s $f2, $f10, $f16
|
||||
/* 03D4E0 8003C8E0 C6120014 */ lwc1 $f18, 0x14($s0)
|
||||
/* 03D4E4 8003C8E4 C6840014 */ lwc1 $f4, 0x14($s4)
|
||||
/* 03D4E8 8003C8E8 46021202 */ mul.s $f8, $f2, $f2
|
||||
/* 03D4EC 8003C8EC 46049381 */ sub.s $f14, $f18, $f4
|
||||
/* 03D4F0 8003C8F0 460E7402 */ mul.s $f16, $f14, $f14
|
||||
/* 03D4F4 8003C8F4 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 03D4F8 8003C8F8 0C0326B4 */ jal sqrtf
|
||||
/* 03D4FC 8003C8FC 46105300 */ add.s $f12, $f10, $f16
|
||||
/* 03D500 8003C900 4616003C */ c.lt.s $f0, $f22
|
||||
/* 03D504 8003C904 00000000 */ nop
|
||||
/* 03D508 8003C908 45000024 */ bc1f .L8003C99C
|
||||
/* 03D50C 8003C90C 8FAF008C */ lw $t7, 0x8c($sp)
|
||||
/* 03D510 8003C910 C6520000 */ lwc1 $f18, ($s2)
|
||||
/* 03D514 8003C914 C604000C */ lwc1 $f4, 0xc($s0)
|
||||
/* 03D518 8003C918 C6480008 */ lwc1 $f8, 8($s2)
|
||||
/* 03D51C 8003C91C 46049182 */ mul.s $f6, $f18, $f4
|
||||
/* 03D520 8003C920 C60A0014 */ lwc1 $f10, 0x14($s0)
|
||||
/* 03D524 8003C924 C644000C */ lwc1 $f4, 0xc($s2)
|
||||
/* 03D528 8003C928 8FAC0060 */ lw $t4, 0x60($sp)
|
||||
/* 03D52C 8003C92C 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 03D530 8003C930 46103480 */ add.s $f18, $f6, $f16
|
||||
/* 03D534 8003C934 46049000 */ add.s $f0, $f18, $f4
|
||||
/* 03D538 8003C938 4614003C */ c.lt.s $f0, $f20
|
||||
/* 03D53C 8003C93C 00000000 */ nop
|
||||
/* 03D540 8003C940 45000016 */ bc1f .L8003C99C
|
||||
/* 03D544 8003C944 8FAF008C */ lw $t7, 0x8c($sp)
|
||||
/* 03D548 8003C948 92E90049 */ lbu $t1, 0x49($s7)
|
||||
/* 03D54C 8003C94C 8EE80004 */ lw $t0, 4($s7)
|
||||
/* 03D550 8003C950 00095080 */ sll $t2, $t1, 2
|
||||
/* 03D554 8003C954 010A1021 */ addu $v0, $t0, $t2
|
||||
/* 03D558 8003C958 8C4B0000 */ lw $t3, ($v0)
|
||||
/* 03D55C 8003C95C 00000000 */ nop
|
||||
/* 03D560 8003C960 016C6825 */ or $t5, $t3, $t4
|
||||
/* 03D564 8003C964 AC4D0000 */ sw $t5, ($v0)
|
||||
/* 03D568 8003C968 93C4000B */ lbu $a0, 0xb($fp)
|
||||
/* 03D56C 8003C96C 00000000 */ nop
|
||||
/* 03D570 8003C970 12C40003 */ beq $s6, $a0, .L8003C980
|
||||
/* 03D574 8003C974 00000000 */ nop
|
||||
/* 03D578 8003C978 0C030C7B */ jal func_800C31EC
|
||||
/* 03D57C 8003C97C 00000000 */ nop
|
||||
.L8003C980:
|
||||
/* 03D580 8003C980 93C2000C */ lbu $v0, 0xc($fp)
|
||||
/* 03D584 8003C984 00000000 */ nop
|
||||
/* 03D588 8003C988 12C20004 */ beq $s6, $v0, .L8003C99C
|
||||
/* 03D58C 8003C98C 8FAF008C */ lw $t7, 0x8c($sp)
|
||||
/* 03D590 8003C990 0C008500 */ jal func_80021400
|
||||
/* 03D594 8003C994 24440080 */ addiu $a0, $v0, 0x80
|
||||
/* 03D598 8003C998 8FAF008C */ lw $t7, 0x8c($sp)
|
||||
.L8003C99C:
|
||||
/* 03D59C 8003C99C 26730001 */ addiu $s3, $s3, 1
|
||||
/* 03D5A0 8003C9A0 026F082A */ slt $at, $s3, $t7
|
||||
/* 03D5A4 8003C9A4 1420FFB7 */ bnez $at, .L8003C884
|
||||
/* 03D5A8 8003C9A8 26310004 */ addiu $s1, $s1, 4
|
||||
.L8003C9AC:
|
||||
/* 03D5AC 8003C9AC 8FBF004C */ lw $ra, 0x4c($sp)
|
||||
.L8003C9B0:
|
||||
/* 03D5B0 8003C9B0 C7B50018 */ lwc1 $f21, 0x18($sp)
|
||||
/* 03D5B4 8003C9B4 C7B4001C */ lwc1 $f20, 0x1c($sp)
|
||||
/* 03D5B8 8003C9B8 C7B70020 */ lwc1 $f23, 0x20($sp)
|
||||
/* 03D5BC 8003C9BC C7B60024 */ lwc1 $f22, 0x24($sp)
|
||||
/* 03D5C0 8003C9C0 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 03D5C4 8003C9C4 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* 03D5C8 8003C9C8 8FB20030 */ lw $s2, 0x30($sp)
|
||||
/* 03D5CC 8003C9CC 8FB30034 */ lw $s3, 0x34($sp)
|
||||
/* 03D5D0 8003C9D0 8FB40038 */ lw $s4, 0x38($sp)
|
||||
/* 03D5D4 8003C9D4 8FB5003C */ lw $s5, 0x3c($sp)
|
||||
/* 03D5D8 8003C9D8 8FB60040 */ lw $s6, 0x40($sp)
|
||||
/* 03D5DC 8003C9DC 8FB70044 */ lw $s7, 0x44($sp)
|
||||
/* 03D5E0 8003C9E0 8FBE0048 */ lw $fp, 0x48($sp)
|
||||
/* 03D5E4 8003C9E4 03E00008 */ jr $ra
|
||||
/* 03D5E8 8003C9E8 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
|
||||
@@ -248,6 +248,12 @@ typedef struct LevelObjectEntry_Bridge_WhaleRamp {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ u8 unkA;
|
||||
/* 0x0B */ u8 unkB;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0D */ u8 unkD;
|
||||
/* 0x0E */ s8 unkE;
|
||||
/* 0x0F */ u8 unkF;
|
||||
} LevelObjectEntry_Bridge_WhaleRamp;
|
||||
|
||||
typedef struct LevelObjectEntry_RampSwitch {
|
||||
|
||||
+16
-6
@@ -913,12 +913,15 @@ typedef struct Object_Frog {
|
||||
/* 0x10 */ f32 unk10;
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x15 */ u8 unk15;
|
||||
/* 0x16 */ u8 pad16[3];
|
||||
/* 0x19 */ u8 unk19;
|
||||
/* 0x1A */ u8 pad1A[6];
|
||||
/* 0x16 */ s16 unk16;
|
||||
/* 0x18 */ s8 unk18;
|
||||
/* 0x19 */ s8 unk19;
|
||||
/* 0x1A */ s16 unk1A;
|
||||
/* 0x1C */ f32 unk1C;
|
||||
/* 0x20 */ f32 unk20;
|
||||
/* 0x24 */ f32 unk24;
|
||||
/* 0x28 */ u8 pad28[8];
|
||||
/* 0x28 */ f32 unk28;
|
||||
/* 0x2C */ f32 unk2C;
|
||||
/* 0x30 */ f32 unk30;
|
||||
} Object_Frog;
|
||||
|
||||
@@ -1204,7 +1207,7 @@ typedef struct Object_Trigger {
|
||||
/* 0x08 */ f32 unk8;
|
||||
/* 0x0C */ f32 unkC;
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x14 */ s8 unk14;
|
||||
/* 0x14 */ u8 unk14;
|
||||
} Object_Trigger;
|
||||
|
||||
typedef struct Object_Audio {
|
||||
@@ -1254,7 +1257,7 @@ typedef struct Object_PosArrow {
|
||||
} Object_PosArrow;
|
||||
|
||||
typedef struct Object_Banana {
|
||||
/* 0x0 */ u8 pad0[4];
|
||||
/* 0x0 */ s32 unk0;
|
||||
/* 0x4 */ struct Object *spawner;
|
||||
/* 0x8 */ s8 unk8;
|
||||
/* 0x9 */ s8 unk9;
|
||||
@@ -1635,4 +1638,11 @@ typedef struct ByteColour {
|
||||
u8 blue;
|
||||
} ByteColour;
|
||||
|
||||
typedef struct {
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
u8 a;
|
||||
} ColourRGBA;
|
||||
|
||||
#endif
|
||||
|
||||
+6
-6
@@ -993,7 +993,7 @@ s32 render_sprite_billboard(Gfx **dlist, Matrix **mtx, Vertex **vertexList, Obje
|
||||
s32 var_s2;
|
||||
|
||||
result = TRUE;
|
||||
if (flags & 1) {
|
||||
if (flags & RENDER_ANTI_ALIASING) {
|
||||
sp5C = D_80120D28[D_80120D20] - obj->segment.trans.x_position;
|
||||
sp58 = D_80120D40[D_80120D20] - obj->segment.trans.y_position;
|
||||
var_f20 = D_80120D58[D_80120D20] - obj->segment.trans.z_position;
|
||||
@@ -1066,12 +1066,12 @@ s32 render_sprite_billboard(Gfx **dlist, Matrix **mtx, Vertex **vertexList, Obje
|
||||
if (D_80120D0C == 0) {
|
||||
var_s2 = ((var_s2 & 0xFF) * arg4->unk0) >> 8;
|
||||
}
|
||||
flags &= ~1;
|
||||
if (flags & 4) {
|
||||
flags |= 1;
|
||||
flags &= ~RENDER_ANTI_ALIASING;
|
||||
if (flags & RENDER_SEMI_TRANSPARENT) {
|
||||
flags |= RENDER_ANTI_ALIASING;
|
||||
}
|
||||
func_8007BF34(dlist, arg4->unk6 | (flags & 0xF));
|
||||
if (!(flags & 0x100)) {
|
||||
func_8007BF34(dlist, arg4->unk6 | (flags & (RENDER_FOG_ACTIVE | RENDER_SEMI_TRANSPARENT | RENDER_Z_COMPARE | RENDER_ANTI_ALIASING)));
|
||||
if (!(flags & RENDER_Z_UPDATE)) {
|
||||
gDPSetPrimColor((*dlist)++, 0, 0, 255, 255, 255, 255);
|
||||
}
|
||||
gSPDisplayList((*dlist)++, arg4->unk8[var_s2 + 1]);
|
||||
|
||||
@@ -168,6 +168,8 @@ void func_80067D3C(Gfx **dlist, UNUSED Matrix **mats);
|
||||
void func_80068BF4(Gfx **arg0, Matrix **arg1, Vertex **arg2, ObjectSegment *arg3, unk80068BF4 *arg4, s32 arg5);
|
||||
s32 render_sprite_billboard(Gfx **dlist, Matrix **mtx, Vertex **vertexList, Object *obj, unk80068514_arg4 *arg4, s32 flags);
|
||||
void func_80069484(Gfx **arg0, Matrix **arg1, ObjectTransform *arg2, f32 arg3, f32 arg4);
|
||||
void func_80067A3C(Gfx **dlist);
|
||||
void func_80069A40(Gfx **dlist);
|
||||
|
||||
// Non Matching
|
||||
void func_80066610(void);
|
||||
|
||||
+253
-209
File diff suppressed because it is too large
Load Diff
+45
-58
@@ -27,10 +27,10 @@ typedef enum TextFonts {
|
||||
|
||||
enum DialogueFlags {
|
||||
DIALOGUE_BOX_UNUSED_01 = 0x0001,
|
||||
DIALOGUE_BOX_UNK_01 = 0x4000,
|
||||
DIALOGUE_BOX_CLOSED = 0x7FFF,
|
||||
DIALOGUE_BOX_OPEN = 0x8000,
|
||||
DIALOGUE_BOX_UNK_02 = 0xBFFF,
|
||||
DIALOGUE_BOX_VERTS = 0x4000,
|
||||
DIALOGUE_BOX_CLOSED = 0x7FFF,
|
||||
DIALOGUE_BOX_OPEN = 0x8000,
|
||||
DIALOGUE_BOX_UNK_02 = 0xBFFF,
|
||||
DIALOGUE_BOX_UNUSED_02 = 0xFFFE
|
||||
};
|
||||
|
||||
@@ -44,28 +44,28 @@ typedef struct unk800C54E8 {
|
||||
|
||||
/* Size: 8 bytes */
|
||||
typedef struct FontCharData {
|
||||
u8 unk0; // Texture Pointer Index?
|
||||
u8 unk1; // Upper Left Corner? Maybe only used when FontData->unk20 is 0 for some reason.
|
||||
u8 unk2; // Font Char Width?
|
||||
u8 unk3; // Font Char Height?
|
||||
u8 unk4; // Upper left coordinate for the texture derived from X?
|
||||
u8 unk5; // Upper left coordinate for the texture derived from Y?
|
||||
u8 unk6; // Related to the lower right X Coordinate.
|
||||
u8 unk7; // Related to the lower right Y Coordinate.
|
||||
u8 textureID; // Texture Pointer Index?
|
||||
u8 ulx; // Upper Left Corner? Maybe only used when FontData->unk20 is 0 for some reason.
|
||||
u8 width; // Font Char Width?
|
||||
u8 height; // Font Char Height?
|
||||
u8 s; // Upper left coordinate for the texture derived from X?
|
||||
u8 t; // Upper left coordinate for the texture derived from Y?
|
||||
u8 lrx; // Related to the lower right X Coordinate.
|
||||
u8 lry; // Related to the lower right Y Coordinate.
|
||||
} FontCharData;
|
||||
|
||||
/* Size: 0x400 bytes */
|
||||
typedef struct FontData {
|
||||
/* 0x000 */ s32 unk0;
|
||||
/* 0x004 */ char name[0x1C];
|
||||
/* 0x020 */ u16 unk20; // x1?
|
||||
/* 0x022 */ u16 unk22; // y1?
|
||||
/* 0x024 */ u16 unk24; // x2?
|
||||
/* 0x026 */ u16 unk26; // y2?
|
||||
/* 0x028 */ u8 unk28[24];
|
||||
/* 0x040 */ s16 unk40[32];
|
||||
/* 0x000 */ s32 unk0; // Unused
|
||||
/* 0x004 */ char name[28];
|
||||
/* 0x020 */ u16 x;
|
||||
/* 0x022 */ u16 y;
|
||||
/* 0x024 */ u16 charWidth;
|
||||
/* 0x026 */ u16 charHeight;
|
||||
/* 0x028 */ u8 loadedFonts[24];
|
||||
/* 0x040 */ s16 textureID[32];
|
||||
/* 0x080 */ TextureHeader *texturePointers[32];
|
||||
/* 0x100 */ FontCharData unk100[96];
|
||||
/* 0x100 */ FontCharData letter[96];
|
||||
} FontData;
|
||||
|
||||
/* Size: 0x20 bytes */
|
||||
@@ -93,16 +93,16 @@ typedef struct DialogueBox {
|
||||
|
||||
|
||||
/* Size: 0x20 bytes */
|
||||
typedef struct unk8012A7EC {
|
||||
typedef struct DialogueTextElement {
|
||||
/* 0x00 */ u8 unk0;
|
||||
/* 0x01 */ u8 unk1;
|
||||
/* 0x01 */ u8 number;
|
||||
/* 0x02 */ u8 unk2;
|
||||
/* 0x03 */ u8 unk3;
|
||||
/* 0x04 */ char *text; // Pointer to the text array
|
||||
/* 0x08 */ s16 posX;
|
||||
/* 0x0A */ s16 posY;
|
||||
/* 0x0C */ s16 unkC;
|
||||
/* 0x0E */ s16 unkE;
|
||||
/* 0x0C */ s16 offsetX;
|
||||
/* 0x0E */ s16 offsetY;
|
||||
/* 0x10 */ u8 textColourR;
|
||||
/* 0x11 */ u8 textColourG;
|
||||
/* 0x12 */ u8 textColourB;
|
||||
@@ -115,14 +115,7 @@ typedef struct unk8012A7EC {
|
||||
/* 0x19 */ u8 font;
|
||||
/* 0x1A */ u16 flags;
|
||||
/* 0x1C */ DialogueBox *nextBox;
|
||||
} unk8012A7EC;
|
||||
|
||||
typedef struct {
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
u8 a;
|
||||
} ColourRGBA;
|
||||
} DialogueTextElement;
|
||||
|
||||
/* Size: 0x28 bytes */
|
||||
// Dialogue Box background
|
||||
@@ -151,52 +144,46 @@ typedef struct DialogueBoxBackground {
|
||||
u8 opacity;
|
||||
u8 font;
|
||||
u16 flags;
|
||||
s16 unk20; // Functionally Unused
|
||||
s16 unk22; // Functionally Unused
|
||||
s16 textOffsetX; // Functionally Unused
|
||||
s16 textOffsetY; // Functionally Unused
|
||||
DialogueBox *textBox;
|
||||
} DialogueBoxBackground;
|
||||
|
||||
#define DIALOGUEBOXBACKGROUND_COUNT 8
|
||||
#define unk8012A7EC_COUNT 64
|
||||
#define DIALOGUETEXTELEMENT_COUNT 64
|
||||
#define DIALOGUEBOXBACKGROUND_TOTAL_SIZE (sizeof(DialogueBoxBackground) * DIALOGUEBOXBACKGROUND_COUNT)
|
||||
#define unk8012A7EC_TOTAL_SIZE (sizeof(unk8012A7EC) * unk8012A7EC_COUNT)
|
||||
#define DialogueTextElement_TOTAL_SIZE (sizeof(DialogueTextElement) * DIALOGUETEXTELEMENT_COUNT)
|
||||
|
||||
void load_fonts(void);
|
||||
void set_kerning(s32 arg0);
|
||||
void set_text_font(s32 arg0);
|
||||
void set_kerning(s32 setting);
|
||||
void set_text_font(s32 fontID);
|
||||
void set_text_colour(s32 red, s32 green, s32 blue, s32 alpha, s32 opacity);
|
||||
void set_text_background_colour(s32 red, s32 green, s32 blue, s32 alpha);
|
||||
void func_800C4404(Gfx** displayList, char *text, AlignmentFlags alignmentFlags);
|
||||
void draw_text(Gfx** displayList, s32 xpos, s32 ypos, char *text, AlignmentFlags alignmentFlags);
|
||||
void func_800C44C0(Gfx** displayList, s32 dialogueBoxID, char *text, AlignmentFlags alignmentFlags);
|
||||
void func_800C4510(Gfx** displayList, s32 dialogueBoxID, s32 xpos, s32 ypos, char *text, AlignmentFlags alignmentFlags);
|
||||
void draw_dialogue_text_unused(Gfx **displayList, s32 dialogueBoxID, char *text, AlignmentFlags alignmentFlags);
|
||||
void draw_dialogue_text_pos_unused(Gfx **displayList, s32 dialogueBoxID, s32 xpos, s32 ypos, char *text, AlignmentFlags alignmentFlags);
|
||||
void set_current_dialogue_box_coords(s32 dialogueBoxID, s32 x1, s32 y1, s32 x2, s32 y2);
|
||||
void set_dialogue_font(s32 dialogueBoxID, s32 font);
|
||||
void set_current_dialogue_background_colour(s32 dialogueBoxID, s32 red, s32 green, s32 blue, s32 alpha);
|
||||
void set_current_text_colour(s32 dialogueBoxID, s32 red, s32 green, s32 blue, s32 alpha, s32 opacity);
|
||||
void set_current_text_background_colour(s32 dialogueBoxID, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void func_800C5094(s32 dialogueBoxID, s32 arg1, s32 arg2);
|
||||
void func_800C50D8(s32 dialogueBoxID);
|
||||
void func_800C510C(s32 dialogueBoxID, char *text, s32 arg2, s32 arg3);
|
||||
void move_dialogue_box_to_front(s32 arg0, DialogueBox *arg1);
|
||||
void assign_dialogue_box_id(s32 arg0);
|
||||
void func_800C54E8(s32 arg0, unk800C54E8 *arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void set_current_text_background_colour(s32 dialogueBoxID, s32 red, s32 green, s32 blue, s32 alpha);
|
||||
void move_dialogue_box_to_front(s32 dialogueBoxID, DialogueBox *box);
|
||||
void assign_dialogue_box_id(s32 dialogueBoxID);
|
||||
void open_dialogue_box(s32 dialogueBoxID);
|
||||
void close_dialogue_box(s32 dialogueBoxID);
|
||||
UNUSED void func_800C564C(s32 dialogueBoxID);
|
||||
UNUSED void func_800C5678(s32 dialogueBoxID);
|
||||
UNUSED void func_800C56A4(s32 dialogueBoxID);
|
||||
UNUSED void set_dialogue_box_unused_flag(s32 dialogueBoxID);
|
||||
UNUSED void dialogue_box_clear_flags(s32 dialogueBoxID);
|
||||
UNUSED void enable_dialogue_box_vertices(s32 dialogueBoxID);
|
||||
void func_800C56D0(s32 dialogueBoxID);
|
||||
void render_dialogue_boxes(Gfx **dlist, Matrix **mat, VertexList **verts);
|
||||
void render_fill_rectangle(Gfx **dlist, s32 ulx, s32 uly, s32 lrx, s32 lry);
|
||||
void render_dialogue_box(Gfx **dlist, Matrix **mat, VertexList **verts, s32 dialogueBoxID);
|
||||
void parse_string_with_number(char *input, char *output, s32 number);
|
||||
void s32_to_string(char **outString, s32 number);
|
||||
|
||||
void load_font(s32 fontID); //Non Matching
|
||||
void unload_font(s32 arg0); //Non Matching
|
||||
void func_800C45A4(Gfx **dlist, DialogueBoxBackground *arg1, char *text, AlignmentFlags alignmentFlags, f32 arg4); //Non Matching
|
||||
s32 func_800C4DA0(char *text, s32 x, s32 font); //Non Matching
|
||||
void *render_dialogue_text(s32 dialogueBoxID, s32 posX, s32 posY, char *text, s32 arg4, s32 arg5); //Non Matching
|
||||
void load_font(s32 fontID);
|
||||
void unload_font(s32 fontID);
|
||||
void render_text_string(Gfx **dlist, DialogueBoxBackground *box, char *text, AlignmentFlags alignmentFlags, f32 scisScale);
|
||||
s32 get_text_width(char *text, s32 x, s32 font);
|
||||
void *render_dialogue_text(s32 dialogueBoxID, s32 posX, s32 posY, char *text, s32 number, s32 flags);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -641,7 +641,7 @@ UNUSED u8 get_total_level_header_count(void) {
|
||||
/**
|
||||
* Returns the name of the level from the passed ID
|
||||
*/
|
||||
u8 *get_level_name(MapId levelId) {
|
||||
char *get_level_name(MapId levelId) {
|
||||
u8 *levelName;
|
||||
u8 numberOfNullPointers = 0;
|
||||
|
||||
|
||||
+1
-1
@@ -95,7 +95,7 @@ MapId func_8006BD88(void);
|
||||
u8 get_current_level_race_type(void);
|
||||
LevelHeader *get_current_level_header(void);
|
||||
u8 get_total_level_header_count(void);
|
||||
u8 *get_level_name(MapId levelId);
|
||||
char *get_level_name(MapId levelId);
|
||||
void func_8006BEFC(void);
|
||||
void func_8006BFC8(s8 *arg0);
|
||||
void func_8006C164(void);
|
||||
|
||||
+19
-5
@@ -9,34 +9,48 @@
|
||||
/************ .bss ************/
|
||||
|
||||
u64 *gThread1StackPointer; // stack pointer for thread 1
|
||||
u64 gThread3Stack[1024];
|
||||
u64 gThread3Stack[0x400];
|
||||
u64 *gThread3StackPointer; // stack pointer for thread 3
|
||||
OSThread gThread1; // OSThread for thread 1
|
||||
OSThread gThread3; // OSThread for thread 3
|
||||
u64 D_8011FAC0[512]; //Thread1 stack?
|
||||
UNUSED u64 gUnusedThreadStack[0x200]; //Thread1 stack?
|
||||
|
||||
/******************************/
|
||||
|
||||
/**
|
||||
* Where it all begins.
|
||||
* Once the boot procedure is finished in IPL3, this function is run.
|
||||
* It kicks things off by initialising thread1, which serves as the top level
|
||||
*/
|
||||
void main(void) {
|
||||
osInitialize();
|
||||
osCreateThread(&gThread1, 1, &thread1_main, 0, &gThread1StackPointer, OS_PRIORITY_IDLE);
|
||||
osStartThread(&gThread1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialise the crash handler thread, then initialise the main game thread.
|
||||
* Reset the start and endpoint of the game thread stack, then set thread priority to zero, effectively
|
||||
* stopping this thread, as it's no longer needed.
|
||||
*/
|
||||
void thread1_main(UNUSED void *unused) {
|
||||
thread0_create();
|
||||
osCreateThread(&gThread3, 3, &thread3_main, 0, &gThread3StackPointer, 10);
|
||||
gThread3Stack[1024] = 0;
|
||||
gThread3Stack[0x400] = 0;
|
||||
gThread3Stack[0] = 0;
|
||||
osStartThread(&gThread3);
|
||||
osSetThreadPri(NULL, 0);
|
||||
while (1) {}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increments the start and endpoint of the stack.
|
||||
* They should have an equal value, so if they don't, that triggers a printout saying a stack wraparound has occured.
|
||||
*/
|
||||
void thread3_verify_stack(void) {
|
||||
gThread3Stack[1024]++;
|
||||
gThread3Stack[0x400]++;
|
||||
gThread3Stack[0]++;
|
||||
if ((gThread3Stack[1024] != gThread3Stack[0])) {
|
||||
if ((gThread3Stack[0x400] != gThread3Stack[0])) {
|
||||
rmonPrintf("WARNING: Stack overflow/underflow!!!\n");
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -6142,8 +6142,8 @@ void render_track_select_setup_ui(s32 updateRate) {
|
||||
}
|
||||
set_current_dialogue_background_colour(7, 255, sp84, 0, sMenuGuiOpacity);
|
||||
if ((D_801263E0 == -1) || ((D_801263E0 == 2) && (D_801269C8 == 4) && is_adventure_two_unlocked())) {
|
||||
s4 = func_800C4DA0(gMenuText[ASSET_MENU_TEXT_ADVENTURE2], 0, 0); // "ADVENTURE"
|
||||
temp = func_800C4DA0(gMenuText[ASSET_MENU_TEXT_ADVENTURETWO2], 0, 0); // "ADVENTURE TWO"
|
||||
s4 = get_text_width(gMenuText[ASSET_MENU_TEXT_ADVENTURE2], 0, 0); // "ADVENTURE"
|
||||
temp = get_text_width(gMenuText[ASSET_MENU_TEXT_ADVENTURETWO2], 0, 0); // "ADVENTURE TWO"
|
||||
if (s4 < temp) {
|
||||
s4 = temp;
|
||||
}
|
||||
@@ -6294,7 +6294,7 @@ void render_track_select_setup_ui(s32 updateRate) {
|
||||
}
|
||||
|
||||
if (sp74) {
|
||||
s32 temp_v0_12 = func_800C4DA0(gMenuText[ASSET_MENU_TEXT_NUMBEROFRACERS], 0, 0); // "NUMBER OF RACERS"
|
||||
s32 temp_v0_12 = get_text_width(gMenuText[ASSET_MENU_TEXT_NUMBEROFRACERS], 0, 0); // "NUMBER OF RACERS"
|
||||
if ((gTwoPlayerRacerCountMenu.width - 0xC) < temp_v0_12) {
|
||||
s4 = temp_v0_12 + 0xC;
|
||||
} else {
|
||||
@@ -6764,7 +6764,7 @@ void func_80093D40(UNUSED s32 updateRate) {
|
||||
s32 alpha;
|
||||
|
||||
for (i = 0, xPos = SCREEN_WIDTH_HALF; i < gMenuOptionCap; i++) {
|
||||
x = func_800C4DA0(gMenuOptionText[i], 0, 0) + 8;
|
||||
x = get_text_width(gMenuOptionText[i], 0, 0) + 8;
|
||||
if (xPos < x) {
|
||||
xPos = x;
|
||||
}
|
||||
|
||||
+586
-6
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user