7 Matches, 1 near miss, and a few attempts (#359)

* Minor documenting

* Match func_80009558

* Rename func

* WIP func_8000974C

* Match func_8000974C

* Match func_8000A2E8

* WIP func_80009B7C

* WIP on func_80008174

* Match func_800090C0

* Match func_800095E8

* func_800098A4

* Match func_800098A4

* Nearly match func_80009968

* Match func_800099EC

* Better match

* Fix NON_EQUIVALENT builds

* WIP func_8000A184, and clean up func_8000A414

* Fix NON_EQUIVALENT builds

* Mark unused funcs properly

Co-authored-by: Ryan Myers <foldor@gmail.com>
This commit is contained in:
Ryan Myers
2023-01-22 15:33:18 -05:00
committed by GitHub
co-authored by Ryan Myers
parent 808cb3fd49
commit 8141fada09
28 changed files with 553 additions and 739 deletions
+1 -1
View File
@@ -81,7 +81,7 @@ glabel func_800113CC
/* 0120F4 800114F4 8E270014 */ lw $a3, 0x14($s1)
/* 0120F8 800114F8 AFA00014 */ sw $zero, 0x14($sp)
/* 0120FC 800114FC AFAD0010 */ sw $t5, 0x10($sp)
/* 012100 80011500 0C002556 */ jal func_80009558
/* 012100 80011500 0C002556 */ jal play_sound_at_position
/* 012104 80011504 3044FFFF */ andi $a0, $v0, 0xffff
/* 012108 80011508 26030001 */ addiu $v1, $s0, 1
/* 01210C 8001150C 02408025 */ move $s0, $s2
@@ -1,133 +0,0 @@
glabel func_800090C0
/* 009CC0 800090C0 460E7482 */ mul.s $f18, $f14, $f14
/* 009CC4 800090C4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 009CC8 800090C8 E7AC0028 */ swc1 $f12, 0x28($sp)
/* 009CCC 800090CC C7B00028 */ lwc1 $f16, 0x28($sp)
/* 009CD0 800090D0 AFBF0014 */ sw $ra, 0x14($sp)
/* 009CD4 800090D4 46108402 */ mul.s $f16, $f16, $f16
/* 009CD8 800090D8 AFA60030 */ sw $a2, 0x30($sp)
/* 009CDC 800090DC E7AE002C */ swc1 $f14, 0x2c($sp)
/* 009CE0 800090E0 0C0326B4 */ jal sqrtf
/* 009CE4 800090E4 46128300 */ add.s $f12, $f16, $f18
/* 009CE8 800090E8 C7AE002C */ lwc1 $f14, 0x2c($sp)
/* 009CEC 800090EC C7AC0028 */ lwc1 $f12, 0x28($sp)
/* 009CF0 800090F0 0C01C1D4 */ jal arctan2_f
/* 009CF4 800090F4 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 009CF8 800090F8 8FA60030 */ lw $a2, 0x30($sp)
/* 009CFC 800090FC 340EFFFF */ li $t6, 65535
/* 009D00 80009100 01C21823 */ subu $v1, $t6, $v0
/* 009D04 80009104 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 009D08 80009108 0066082A */ slt $at, $v1, $a2
/* 009D0C 8000910C 1020002F */ beqz $at, .L800091CC
/* 009D10 80009110 00602825 */ move $a1, $v1
/* 009D14 80009114 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 009D18 80009118 44815000 */ mtc1 $at, $f10
/* 009D1C 8000911C 00C52023 */ subu $a0, $a2, $a1
/* 009D20 80009120 460A103E */ c.le.s $f2, $f10
/* 009D24 80009124 00044C00 */ sll $t1, $a0, 0x10
/* 009D28 80009128 4500001F */ bc1f .L800091A8
/* 009D2C 8000912C 00000000 */ nop
/* 009D30 80009130 00C32023 */ subu $a0, $a2, $v1
/* 009D34 80009134 00047C00 */ sll $t7, $a0, 0x10
/* 009D38 80009138 000F2403 */ sra $a0, $t7, 0x10
/* 009D3C 8000913C 0C01C20C */ jal sins
/* 009D40 80009140 E7A2001C */ swc1 $f2, 0x1c($sp)
/* 009D44 80009144 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 009D48 80009148 04410003 */ bgez $v0, .L80009158
/* 009D4C 8000914C 0002CA83 */ sra $t9, $v0, 0xa
/* 009D50 80009150 244103FF */ addiu $at, $v0, 0x3ff
/* 009D54 80009154 0001CA83 */ sra $t9, $at, 0xa
.L80009158:
/* 009D58 80009158 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 009D5C 8000915C 44812000 */ mtc1 $at, $f4
/* 009D60 80009160 44998000 */ mtc1 $t9, $f16
/* 009D64 80009164 46041182 */ mul.s $f6, $f2, $f4
/* 009D68 80009168 3C014280 */ li $at, 0x42800000 # 64.000000
/* 009D6C 8000916C 44815000 */ mtc1 $at, $f10
/* 009D70 80009170 468084A0 */ cvt.s.w $f18, $f16
/* 009D74 80009174 46069202 */ mul.s $f8, $f18, $f6
/* 009D78 80009178 46085401 */ sub.s $f16, $f10, $f8
/* 009D7C 8000917C 4448F800 */ cfc1 $t0, $31
/* 009D80 80009180 00000000 */ nop
/* 009D84 80009184 35010003 */ ori $at, $t0, 3
/* 009D88 80009188 38210002 */ xori $at, $at, 2
/* 009D8C 8000918C 44C1F800 */ ctc1 $at, $31
/* 009D90 80009190 00000000 */ nop
/* 009D94 80009194 46008124 */ cvt.w.s $f4, $f16
/* 009D98 80009198 44032000 */ mfc1 $v1, $f4
/* 009D9C 8000919C 44C8F800 */ ctc1 $t0, $31
/* 009DA0 800091A0 10000036 */ b .L8000927C
/* 009DA4 800091A4 00000000 */ nop
.L800091A8:
/* 009DA8 800091A8 0C01C224 */ jal sins_2
/* 009DAC 800091AC 00092403 */ sra $a0, $t1, 0x10
/* 009DB0 800091B0 04410003 */ bgez $v0, .L800091C0
/* 009DB4 800091B4 00025A83 */ sra $t3, $v0, 0xa
/* 009DB8 800091B8 244103FF */ addiu $at, $v0, 0x3ff
/* 009DBC 800091BC 00015A83 */ sra $t3, $at, 0xa
.L800091C0:
/* 009DC0 800091C0 240C0040 */ li $t4, 64
/* 009DC4 800091C4 1000002D */ b .L8000927C
/* 009DC8 800091C8 018B1823 */ subu $v1, $t4, $t3
.L800091CC:
/* 009DCC 800091CC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 009DD0 800091D0 44819000 */ mtc1 $at, $f18
/* 009DD4 800091D4 00A62023 */ subu $a0, $a1, $a2
/* 009DD8 800091D8 4612103E */ c.le.s $f2, $f18
/* 009DDC 800091DC 0004CC00 */ sll $t9, $a0, 0x10
/* 009DE0 800091E0 4500001F */ bc1f .L80009260
/* 009DE4 800091E4 00000000 */ nop
/* 009DE8 800091E8 00A62023 */ subu $a0, $a1, $a2
/* 009DEC 800091EC 00046C00 */ sll $t5, $a0, 0x10
/* 009DF0 800091F0 000D2403 */ sra $a0, $t5, 0x10
/* 009DF4 800091F4 0C01C20C */ jal sins
/* 009DF8 800091F8 E7A2001C */ swc1 $f2, 0x1c($sp)
/* 009DFC 800091FC C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 009E00 80009200 04410003 */ bgez $v0, .L80009210
/* 009E04 80009204 00027A83 */ sra $t7, $v0, 0xa
/* 009E08 80009208 244103FF */ addiu $at, $v0, 0x3ff
/* 009E0C 8000920C 00017A83 */ sra $t7, $at, 0xa
.L80009210:
/* 009E10 80009210 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 009E14 80009214 44814000 */ mtc1 $at, $f8
/* 009E18 80009218 448F3000 */ mtc1 $t7, $f6
/* 009E1C 8000921C 46081402 */ mul.s $f16, $f2, $f8
/* 009E20 80009220 3C014280 */ li $at, 0x42800000 # 64.000000
/* 009E24 80009224 44819000 */ mtc1 $at, $f18
/* 009E28 80009228 468032A0 */ cvt.s.w $f10, $f6
/* 009E2C 8000922C 46105102 */ mul.s $f4, $f10, $f16
/* 009E30 80009230 46122180 */ add.s $f6, $f4, $f18
/* 009E34 80009234 4458F800 */ cfc1 $t8, $31
/* 009E38 80009238 00000000 */ nop
/* 009E3C 8000923C 37010003 */ ori $at, $t8, 3
/* 009E40 80009240 38210002 */ xori $at, $at, 2
/* 009E44 80009244 44C1F800 */ ctc1 $at, $31
/* 009E48 80009248 00000000 */ nop
/* 009E4C 8000924C 46003224 */ cvt.w.s $f8, $f6
/* 009E50 80009250 44034000 */ mfc1 $v1, $f8
/* 009E54 80009254 44D8F800 */ ctc1 $t8, $31
/* 009E58 80009258 10000008 */ b .L8000927C
/* 009E5C 8000925C 00000000 */ nop
.L80009260:
/* 009E60 80009260 0C01C224 */ jal sins_2
/* 009E64 80009264 00192403 */ sra $a0, $t9, 0x10
/* 009E68 80009268 04410003 */ bgez $v0, .L80009278
/* 009E6C 8000926C 00021A83 */ sra $v1, $v0, 0xa
/* 009E70 80009270 244103FF */ addiu $at, $v0, 0x3ff
/* 009E74 80009274 00011A83 */ sra $v1, $at, 0xa
.L80009278:
/* 009E78 80009278 24630040 */ addiu $v1, $v1, 0x40
.L8000927C:
/* 009E7C 8000927C 0C0270C3 */ jal get_filtered_cheats
/* 009E80 80009280 AFA30020 */ sw $v1, 0x20($sp)
/* 009E84 80009284 8FA30020 */ lw $v1, 0x20($sp)
/* 009E88 80009288 30490004 */ andi $t1, $v0, 4
/* 009E8C 8000928C 11200002 */ beqz $t1, .L80009298
/* 009E90 80009290 240A0080 */ li $t2, 128
/* 009E94 80009294 01431823 */ subu $v1, $t2, $v1
.L80009298:
/* 009E98 80009298 8FBF0014 */ lw $ra, 0x14($sp)
/* 009E9C 8000929C 27BD0028 */ addiu $sp, $sp, 0x28
/* 009EA0 800092A0 03E00008 */ jr $ra
/* 009EA4 800092A4 00601025 */ move $v0, $v1
@@ -1,38 +0,0 @@
glabel func_80009558
/* 00A158 80009558 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 00A15C 8000955C AFA40038 */ sw $a0, 0x38($sp)
/* 00A160 80009560 97AF003A */ lhu $t7, 0x3a($sp)
/* 00A164 80009564 3C0E8012 */ lui $t6, %hi(D_80119C40) # $t6, 0x8012
/* 00A168 80009568 000FC080 */ sll $t8, $t7, 2
/* 00A16C 8000956C 8DCE9C40 */ lw $t6, %lo(D_80119C40)($t6)
/* 00A170 80009570 030FC021 */ addu $t8, $t8, $t7
/* 00A174 80009574 0018C040 */ sll $t8, $t8, 1
/* 00A178 80009578 93B9004B */ lbu $t9, 0x4b($sp)
/* 00A17C 8000957C AFBF0034 */ sw $ra, 0x34($sp)
/* 00A180 80009580 AFA70044 */ sw $a3, 0x44($sp)
/* 00A184 80009584 01D81021 */ addu $v0, $t6, $t8
/* 00A188 80009588 94440000 */ lhu $a0, ($v0)
/* 00A18C 8000958C AFB90010 */ sw $t9, 0x10($sp)
/* 00A190 80009590 90480003 */ lbu $t0, 3($v0)
/* 00A194 80009594 44856000 */ mtc1 $a1, $f12
/* 00A198 80009598 AFA80014 */ sw $t0, 0x14($sp)
/* 00A19C 8000959C 90490002 */ lbu $t1, 2($v0)
/* 00A1A0 800095A0 44867000 */ mtc1 $a2, $f14
/* 00A1A4 800095A4 AFA90018 */ sw $t1, 0x18($sp)
/* 00A1A8 800095A8 944A0006 */ lhu $t2, 6($v0)
/* 00A1AC 800095AC AFA00020 */ sw $zero, 0x20($sp)
/* 00A1B0 800095B0 AFAA001C */ sw $t2, 0x1c($sp)
/* 00A1B4 800095B4 904B0004 */ lbu $t3, 4($v0)
/* 00A1B8 800095B8 8FAD004C */ lw $t5, 0x4c($sp)
/* 00A1BC 800095BC AFAB0024 */ sw $t3, 0x24($sp)
/* 00A1C0 800095C0 904C0008 */ lbu $t4, 8($v0)
/* 00A1C4 800095C4 44056000 */ mfc1 $a1, $f12
/* 00A1C8 800095C8 44067000 */ mfc1 $a2, $f14
/* 00A1CC 800095CC AFAD002C */ sw $t5, 0x2c($sp)
/* 00A1D0 800095D0 0C0025D3 */ jal func_8000974C
/* 00A1D4 800095D4 AFAC0028 */ sw $t4, 0x28($sp)
/* 00A1D8 800095D8 8FBF0034 */ lw $ra, 0x34($sp)
/* 00A1DC 800095DC 27BD0038 */ addiu $sp, $sp, 0x38
/* 00A1E0 800095E0 03E00008 */ jr $ra
/* 00A1E4 800095E4 00000000 */ nop
@@ -1,65 +0,0 @@
glabel func_800095E8
/* 00A1E8 800095E8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 00A1EC 800095EC 4449F800 */ cfc1 $t1, $31
/* 00A1F0 800095F0 240A0001 */ li $t2, 1
/* 00A1F4 800095F4 44CAF800 */ ctc1 $t2, $31
/* 00A1F8 800095F8 C7A40050 */ lwc1 $f4, 0x50($sp)
/* 00A1FC 800095FC 44856000 */ mtc1 $a1, $f12
/* 00A200 80009600 460021A4 */ cvt.w.s $f6, $f4
/* 00A204 80009604 44867000 */ mtc1 $a2, $f14
/* 00A208 80009608 444AF800 */ cfc1 $t2, $31
/* 00A20C 8000960C 93AF004B */ lbu $t7, 0x4b($sp)
/* 00A210 80009610 93B9004F */ lbu $t9, 0x4f($sp)
/* 00A214 80009614 AFA40038 */ sw $a0, 0x38($sp)
/* 00A218 80009618 308EFFFF */ andi $t6, $a0, 0xffff
/* 00A21C 8000961C 24180064 */ li $t8, 100
/* 00A220 80009620 24083A98 */ li $t0, 15000
/* 00A224 80009624 44056000 */ mfc1 $a1, $f12
/* 00A228 80009628 44067000 */ mfc1 $a2, $f14
/* 00A22C 8000962C 314A0078 */ andi $t2, $t2, 0x78
/* 00A230 80009630 01C02025 */ move $a0, $t6
/* 00A234 80009634 AFBF0034 */ sw $ra, 0x34($sp)
/* 00A238 80009638 AFA70044 */ sw $a3, 0x44($sp)
/* 00A23C 8000963C AFA8001C */ sw $t0, 0x1c($sp)
/* 00A240 80009640 AFB80014 */ sw $t8, 0x14($sp)
/* 00A244 80009644 AFA00020 */ sw $zero, 0x20($sp)
/* 00A248 80009648 AFAF0010 */ sw $t7, 0x10($sp)
/* 00A24C 8000964C 11400013 */ beqz $t2, .L8000969C
/* 00A250 80009650 AFB90018 */ sw $t9, 0x18($sp)
/* 00A254 80009654 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 00A258 80009658 44813000 */ mtc1 $at, $f6
/* 00A25C 8000965C 240A0001 */ li $t2, 1
/* 00A260 80009660 46062181 */ sub.s $f6, $f4, $f6
/* 00A264 80009664 3C018000 */ lui $at, 0x8000
/* 00A268 80009668 44CAF800 */ ctc1 $t2, $31
/* 00A26C 8000966C 00000000 */ nop
/* 00A270 80009670 460031A4 */ cvt.w.s $f6, $f6
/* 00A274 80009674 444AF800 */ cfc1 $t2, $31
/* 00A278 80009678 00000000 */ nop
/* 00A27C 8000967C 314A0078 */ andi $t2, $t2, 0x78
/* 00A280 80009680 15400004 */ bnez $t2, .L80009694
/* 00A284 80009684 00000000 */ nop
/* 00A288 80009688 440A3000 */ mfc1 $t2, $f6
/* 00A28C 8000968C 10000007 */ b .L800096AC
/* 00A290 80009690 01415025 */ or $t2, $t2, $at
.L80009694:
/* 00A294 80009694 10000005 */ b .L800096AC
/* 00A298 80009698 240AFFFF */ li $t2, -1
.L8000969C:
/* 00A29C 8000969C 440A3000 */ mfc1 $t2, $f6
/* 00A2A0 800096A0 00000000 */ nop
/* 00A2A4 800096A4 0540FFFB */ bltz $t2, .L80009694
/* 00A2A8 800096A8 00000000 */ nop
.L800096AC:
/* 00A2AC 800096AC 8FAC0054 */ lw $t4, 0x54($sp)
/* 00A2B0 800096B0 44C9F800 */ ctc1 $t1, $31
/* 00A2B4 800096B4 240B003F */ li $t3, 63
/* 00A2B8 800096B8 AFAB0028 */ sw $t3, 0x28($sp)
/* 00A2BC 800096BC AFAA0024 */ sw $t2, 0x24($sp)
/* 00A2C0 800096C0 0C0025D3 */ jal func_8000974C
/* 00A2C4 800096C4 AFAC002C */ sw $t4, 0x2c($sp)
/* 00A2C8 800096C8 8FBF0034 */ lw $ra, 0x34($sp)
/* 00A2CC 800096CC 27BD0038 */ addiu $sp, $sp, 0x38
/* 00A2D0 800096D0 03E00008 */ jr $ra
/* 00A2D4 800096D4 00000000 */ nop
@@ -1,93 +0,0 @@
glabel func_8000974C
/* 00A34C 8000974C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 00A350 80009750 AFA5001C */ sw $a1, 0x1c($sp)
/* 00A354 80009754 8FA50044 */ lw $a1, 0x44($sp)
/* 00A358 80009758 AFBF0014 */ sw $ra, 0x14($sp)
/* 00A35C 8000975C AFA40018 */ sw $a0, 0x18($sp)
/* 00A360 80009760 AFA60020 */ sw $a2, 0x20($sp)
/* 00A364 80009764 10A00009 */ beqz $a1, .L8000978C
/* 00A368 80009768 AFA70024 */ sw $a3, 0x24($sp)
/* 00A36C 8000976C 97A4001A */ lhu $a0, 0x1a($sp)
/* 00A370 80009770 00000000 */ nop
/* 00A374 80009774 348EE000 */ ori $t6, $a0, 0xe000
/* 00A378 80009778 000E7C00 */ sll $t7, $t6, 0x10
/* 00A37C 8000977C 0C00916D */ jal func_800245B4
/* 00A380 80009780 000F2403 */ sra $a0, $t7, 0x10
/* 00A384 80009784 8FA50044 */ lw $a1, 0x44($sp)
/* 00A388 80009788 00000000 */ nop
.L8000978C:
/* 00A38C 8000978C 3C04800E */ lui $a0, %hi(D_800DC6E0) # $a0, 0x800e
/* 00A390 80009790 2484C6E0 */ addiu $a0, %lo(D_800DC6E0) # addiu $a0, $a0, -0x3920
/* 00A394 80009794 94990000 */ lhu $t9, ($a0)
/* 00A398 80009798 24010028 */ li $at, 40
/* 00A39C 8000979C 17210008 */ bne $t9, $at, .L800097C0
/* 00A3A0 800097A0 3C068012 */ lui $a2, %hi(D_80119C4C) # $a2, 0x8012
/* 00A3A4 800097A4 10A00002 */ beqz $a1, .L800097B0
/* 00A3A8 800097A8 00000000 */ nop
/* 00A3AC 800097AC ACA00000 */ sw $zero, ($a1)
.L800097B0:
/* 00A3B0 800097B0 0C00916D */ jal func_800245B4
/* 00A3B4 800097B4 2404AA55 */ li $a0, -21931
/* 00A3B8 800097B8 10000037 */ b .L80009898
/* 00A3BC 800097BC 8FBF0014 */ lw $ra, 0x14($sp)
.L800097C0:
/* 00A3C0 800097C0 24C69C4C */ addiu $a2, %lo(D_80119C4C) # addiu $a2, $a2, -0x63b4
/* 00A3C4 800097C4 90C30000 */ lbu $v1, ($a2)
/* 00A3C8 800097C8 3C088012 */ lui $t0, %hi(D_80119C50) # $t0, 0x8012
/* 00A3CC 800097CC 8D089C50 */ lw $t0, %lo(D_80119C50)($t0)
/* 00A3D0 800097D0 00034880 */ sll $t1, $v1, 2
/* 00A3D4 800097D4 01095021 */ addu $t2, $t0, $t1
/* 00A3D8 800097D8 8D420000 */ lw $v0, ($t2)
/* 00A3DC 800097DC C7A4001C */ lwc1 $f4, 0x1c($sp)
/* 00A3E0 800097E0 246BFFFF */ addiu $t3, $v1, -1
/* 00A3E4 800097E4 A0CB0000 */ sb $t3, ($a2)
/* 00A3E8 800097E8 E4440000 */ swc1 $f4, ($v0)
/* 00A3EC 800097EC C7A60020 */ lwc1 $f6, 0x20($sp)
/* 00A3F0 800097F0 3C0A8012 */ lui $t2, %hi(D_80119C44) # $t2, 0x8012
/* 00A3F4 800097F4 E4460004 */ swc1 $f6, 4($v0)
/* 00A3F8 800097F8 C7A80024 */ lwc1 $f8, 0x24($sp)
/* 00A3FC 800097FC 00000000 */ nop
/* 00A400 80009800 E4480008 */ swc1 $f8, 8($v0)
/* 00A404 80009804 97AC001A */ lhu $t4, 0x1a($sp)
/* 00A408 80009808 00000000 */ nop
/* 00A40C 8000980C A44C000C */ sh $t4, 0xc($v0)
/* 00A410 80009810 93AD002B */ lbu $t5, 0x2b($sp)
/* 00A414 80009814 00000000 */ nop
/* 00A418 80009818 A04D0011 */ sb $t5, 0x11($v0)
/* 00A41C 8000981C 93AE002F */ lbu $t6, 0x2f($sp)
/* 00A420 80009820 00000000 */ nop
/* 00A424 80009824 A04E0010 */ sb $t6, 0x10($v0)
/* 00A428 80009828 93AF0033 */ lbu $t7, 0x33($sp)
/* 00A42C 8000982C 00000000 */ nop
/* 00A430 80009830 A04F000E */ sb $t7, 0xe($v0)
/* 00A434 80009834 93B8003F */ lbu $t8, 0x3f($sp)
/* 00A438 80009838 00000000 */ nop
/* 00A43C 8000983C A058000F */ sb $t8, 0xf($v0)
/* 00A440 80009840 97B90036 */ lhu $t9, 0x36($sp)
/* 00A444 80009844 00000000 */ nop
/* 00A448 80009848 AC590014 */ sw $t9, 0x14($v0)
/* 00A44C 8000984C 93A8003B */ lbu $t0, 0x3b($sp)
/* 00A450 80009850 00000000 */ nop
/* 00A454 80009854 A0480020 */ sb $t0, 0x20($v0)
/* 00A458 80009858 93A90043 */ lbu $t1, 0x43($sp)
/* 00A45C 8000985C A0400022 */ sb $zero, 0x22($v0)
/* 00A460 80009860 AC45001C */ sw $a1, 0x1c($v0)
/* 00A464 80009864 A0490021 */ sb $t1, 0x21($v0)
/* 00A468 80009868 948B0000 */ lhu $t3, ($a0)
/* 00A46C 8000986C 8D4A9C44 */ lw $t2, %lo(D_80119C44)($t2)
/* 00A470 80009870 000B6080 */ sll $t4, $t3, 2
/* 00A474 80009874 014C6821 */ addu $t5, $t2, $t4
/* 00A478 80009878 ADA20000 */ sw $v0, ($t5)
/* 00A47C 8000987C 948E0000 */ lhu $t6, ($a0)
/* 00A480 80009880 00000000 */ nop
/* 00A484 80009884 25CF0001 */ addiu $t7, $t6, 1
/* 00A488 80009888 10A00002 */ beqz $a1, .L80009894
/* 00A48C 8000988C A48F0000 */ sh $t7, ($a0)
/* 00A490 80009890 ACA20000 */ sw $v0, ($a1)
.L80009894:
/* 00A494 80009894 8FBF0014 */ lw $ra, 0x14($sp)
.L80009898:
/* 00A498 80009898 27BD0018 */ addiu $sp, $sp, 0x18
/* 00A49C 8000989C 03E00008 */ jr $ra
/* 00A4A0 800098A0 00000000 */ nop
@@ -1,53 +0,0 @@
glabel func_800098A4
/* 00A4A4 800098A4 44866000 */ mtc1 $a2, $f12
/* 00A4A8 800098A8 93A6002F */ lbu $a2, 0x2f($sp)
/* 00A4AC 800098AC AFA40000 */ sw $a0, ($sp)
/* 00A4B0 800098B0 44877000 */ mtc1 $a3, $f14
/* 00A4B4 800098B4 93A70003 */ lbu $a3, 3($sp)
/* 00A4B8 800098B8 28C10007 */ slti $at, $a2, 7
/* 00A4BC 800098BC AFA50004 */ sw $a1, 4($sp)
/* 00A4C0 800098C0 10200027 */ beqz $at, .L80009960
/* 00A4C4 800098C4 30AEFFFF */ andi $t6, $a1, 0xffff
/* 00A4C8 800098C8 93A20033 */ lbu $v0, 0x33($sp)
/* 00A4CC 800098CC 00067880 */ sll $t7, $a2, 2
/* 00A4D0 800098D0 2841001E */ slti $at, $v0, 0x1e
/* 00A4D4 800098D4 10200022 */ beqz $at, .L80009960
/* 00A4D8 800098D8 01E67823 */ subu $t7, $t7, $a2
/* 00A4DC 800098DC 3C188012 */ lui $t8, %hi(D_80119C58) # $t8, 0x8012
/* 00A4E0 800098E0 0002C880 */ sll $t9, $v0, 2
/* 00A4E4 800098E4 0322C823 */ subu $t9, $t9, $v0
/* 00A4E8 800098E8 27189C58 */ addiu $t8, %lo(D_80119C58) # addiu $t8, $t8, -0x63a8
/* 00A4EC 800098EC 000F79C0 */ sll $t7, $t7, 7
/* 00A4F0 800098F0 01F81821 */ addu $v1, $t7, $t8
/* 00A4F4 800098F4 00194080 */ sll $t0, $t9, 2
/* 00A4F8 800098F8 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 00A4FC 800098FC 00682021 */ addu $a0, $v1, $t0
/* 00A500 80009900 E48C0004 */ swc1 $f12, 4($a0)
/* 00A504 80009904 E48E0008 */ swc1 $f14, 8($a0)
/* 00A508 80009908 1440000F */ bnez $v0, .L80009948
/* 00A50C 8000990C E484000C */ swc1 $f4, 0xc($a0)
/* 00A510 80009910 AC6E016C */ sw $t6, 0x16c($v1)
/* 00A514 80009914 97A90026 */ lhu $t1, 0x26($sp)
/* 00A518 80009918 93AA002B */ lbu $t2, 0x2b($sp)
/* 00A51C 8000991C 93AB001B */ lbu $t3, 0x1b($sp)
/* 00A520 80009920 93AC0017 */ lbu $t4, 0x17($sp)
/* 00A524 80009924 93AD001F */ lbu $t5, 0x1f($sp)
/* 00A528 80009928 93AE0023 */ lbu $t6, 0x23($sp)
/* 00A52C 8000992C A0670000 */ sb $a3, ($v1)
/* 00A530 80009930 AC690170 */ sw $t1, 0x170($v1)
/* 00A534 80009934 A06A017D */ sb $t2, 0x17d($v1)
/* 00A538 80009938 A06B0174 */ sb $t3, 0x174($v1)
/* 00A53C 8000993C A06C0175 */ sb $t4, 0x175($v1)
/* 00A540 80009940 A06D0176 */ sb $t5, 0x176($v1)
/* 00A544 80009944 A06E017E */ sb $t6, 0x17e($v1)
.L80009948:
/* 00A548 80009948 806F017C */ lb $t7, 0x17c($v1)
/* 00A54C 8000994C 00000000 */ nop
/* 00A550 80009950 01E2082A */ slt $at, $t7, $v0
/* 00A554 80009954 10200002 */ beqz $at, .L80009960
/* 00A558 80009958 00000000 */ nop
/* 00A55C 8000995C A062017C */ sb $v0, 0x17c($v1)
.L80009960:
/* 00A560 80009960 03E00008 */ jr $ra
/* 00A564 80009964 00000000 */ nop
@@ -1,63 +0,0 @@
.late_rodata
glabel D_800E4F18
.double -100000.0
.text
glabel func_800099EC
/* 00A5EC 800099EC 308E00FF */ andi $t6, $a0, 0xff
/* 00A5F0 800099F0 000E7880 */ sll $t7, $t6, 2
/* 00A5F4 800099F4 01EE7823 */ subu $t7, $t7, $t6
/* 00A5F8 800099F8 3C188012 */ lui $t8, %hi(D_80119C58) # $t8, 0x8012
/* 00A5FC 800099FC 27189C58 */ addiu $t8, %lo(D_80119C58) # addiu $t8, $t8, -0x63a8
/* 00A600 80009A00 000F79C0 */ sll $t7, $t7, 7
/* 00A604 80009A04 AFA40000 */ sw $a0, ($sp)
/* 00A608 80009A08 01F81021 */ addu $v0, $t7, $t8
/* 00A60C 80009A0C 8047017C */ lb $a3, 0x17c($v0)
/* 00A610 80009A10 24030001 */ li $v1, 1
/* 00A614 80009A14 1CE00003 */ bgtz $a3, .L80009A24
/* 00A618 80009A18 24460004 */ addiu $a2, $v0, 4
/* 00A61C 80009A1C 03E00008 */ jr $ra
/* 00A620 80009A20 00001025 */ move $v0, $zero
.L80009A24:
/* 00A624 80009A24 18E00020 */ blez $a3, .L80009AA8
/* 00A628 80009A28 00002025 */ move $a0, $zero
/* 00A62C 80009A2C 3C014000 */ li $at, 0x40000000 # 2.000000
/* 00A630 80009A30 44817000 */ mtc1 $at, $f14
/* 00A634 80009A34 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 00A638 80009A38 44816000 */ mtc1 $at, $f12
/* 00A63C 80009A3C 3C01800E */ lui $at, %hi(D_800E4F18 + 4) # $at, 0x800e
/* 00A640 80009A40 C4234F18 */ lwc1 $f3, %lo(D_800E4F18)($at)
/* 00A644 80009A44 C4224F1C */ lwc1 $f2, %lo(D_800E4F18 + 4)($at)
/* 00A648 80009A48 8045017C */ lb $a1, 0x17c($v0)
/* 00A64C 80009A4C 00000000 */ nop
.L80009A50:
/* 00A650 80009A50 C4C00000 */ lwc1 $f0, ($a2)
/* 00A654 80009A54 24840001 */ addiu $a0, $a0, 1
/* 00A658 80009A58 46000121 */ cvt.d.s $f4, $f0
/* 00A65C 80009A5C 46241032 */ c.eq.d $f2, $f4
/* 00A660 80009A60 0085082A */ slt $at, $a0, $a1
/* 00A664 80009A64 4501000D */ bc1t .L80009A9C
/* 00A668 80009A68 00000000 */ nop
/* 00A66C 80009A6C 460C0180 */ add.s $f6, $f0, $f12
/* 00A670 80009A70 46003221 */ cvt.d.s $f8, $f6
/* 00A674 80009A74 46281032 */ c.eq.d $f2, $f8
/* 00A678 80009A78 00000000 */ nop
/* 00A67C 80009A7C 45010007 */ bc1t .L80009A9C
/* 00A680 80009A80 00000000 */ nop
/* 00A684 80009A84 460E0280 */ add.s $f10, $f0, $f14
/* 00A688 80009A88 46005421 */ cvt.d.s $f16, $f10
/* 00A68C 80009A8C 46301032 */ c.eq.d $f2, $f16
/* 00A690 80009A90 00000000 */ nop
/* 00A694 80009A94 45000002 */ bc1f .L80009AA0
/* 00A698 80009A98 00000000 */ nop
.L80009A9C:
/* 00A69C 80009A9C 00001825 */ move $v1, $zero
.L80009AA0:
/* 00A6A0 80009AA0 1420FFEB */ bnez $at, .L80009A50
/* 00A6A4 80009AA4 24C6000C */ addiu $a2, $a2, 0xc
.L80009AA8:
/* 00A6A8 80009AA8 00601025 */ move $v0, $v1
/* 00A6AC 80009AAC 03E00008 */ jr $ra
/* 00A6B0 80009AB0 00000000 */ nop
@@ -1,80 +0,0 @@
glabel func_8000A2E8
/* 00AEE8 8000A2E8 3C07800E */ lui $a3, %hi(D_800DC6E0) # $a3, 0x800e
/* 00AEEC 8000A2EC 24E7C6E0 */ addiu $a3, %lo(D_800DC6E0) # addiu $a3, $a3, -0x3920
/* 00AEF0 8000A2F0 94EE0000 */ lhu $t6, ($a3)
/* 00AEF4 8000A2F4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00AEF8 8000A2F8 11C00042 */ beqz $t6, .L8000A404
/* 00AEFC 8000A2FC AFBF0014 */ sw $ra, 0x14($sp)
/* 00AF00 8000A300 3C0F8012 */ lui $t7, %hi(D_80119C44) # $t7, 0x8012
/* 00AF04 8000A304 8DEF9C44 */ lw $t7, %lo(D_80119C44)($t7)
/* 00AF08 8000A308 00042880 */ sll $a1, $a0, 2
/* 00AF0C 8000A30C 01E51821 */ addu $v1, $t7, $a1
/* 00AF10 8000A310 8C620000 */ lw $v0, ($v1)
/* 00AF14 8000A314 00000000 */ nop
/* 00AF18 8000A318 8C440018 */ lw $a0, 0x18($v0)
/* 00AF1C 8000A31C 00000000 */ nop
/* 00AF20 8000A320 1080000A */ beqz $a0, .L8000A34C
/* 00AF24 8000A324 00000000 */ nop
/* 00AF28 8000A328 0C001223 */ jal func_8000488C
/* 00AF2C 8000A32C AFA5001C */ sw $a1, 0x1c($sp)
/* 00AF30 8000A330 3C188012 */ lui $t8, %hi(D_80119C44) # $t8, 0x8012
/* 00AF34 8000A334 8F189C44 */ lw $t8, %lo(D_80119C44)($t8)
/* 00AF38 8000A338 8FA5001C */ lw $a1, 0x1c($sp)
/* 00AF3C 8000A33C 3C07800E */ lui $a3, %hi(D_800DC6E0) # $a3, 0x800e
/* 00AF40 8000A340 03051821 */ addu $v1, $t8, $a1
/* 00AF44 8000A344 8C620000 */ lw $v0, ($v1)
/* 00AF48 8000A348 24E7C6E0 */ addiu $a3, %lo(D_800DC6E0) # addiu $a3, $a3, -0x3920
.L8000A34C:
/* 00AF4C 8000A34C 8C46001C */ lw $a2, 0x1c($v0)
/* 00AF50 8000A350 3C198012 */ lui $t9, %hi(D_80119C44) # $t9, 0x8012
/* 00AF54 8000A354 10C00013 */ beqz $a2, .L8000A3A4
/* 00AF58 8000A358 00000000 */ nop
/* 00AF5C 8000A35C ACC00000 */ sw $zero, ($a2)
/* 00AF60 8000A360 8F399C44 */ lw $t9, %lo(D_80119C44)($t9)
/* 00AF64 8000A364 00000000 */ nop
/* 00AF68 8000A368 03254021 */ addu $t0, $t9, $a1
/* 00AF6C 8000A36C 8D090000 */ lw $t1, ($t0)
/* 00AF70 8000A370 00000000 */ nop
/* 00AF74 8000A374 9524000C */ lhu $a0, 0xc($t1)
/* 00AF78 8000A378 AFA5001C */ sw $a1, 0x1c($sp)
/* 00AF7C 8000A37C 348A5000 */ ori $t2, $a0, 0x5000
/* 00AF80 8000A380 000A5C00 */ sll $t3, $t2, 0x10
/* 00AF84 8000A384 0C00916D */ jal func_800245B4
/* 00AF88 8000A388 000B2403 */ sra $a0, $t3, 0x10
/* 00AF8C 8000A38C 3C0D8012 */ lui $t5, %hi(D_80119C44) # $t5, 0x8012
/* 00AF90 8000A390 8DAD9C44 */ lw $t5, %lo(D_80119C44)($t5)
/* 00AF94 8000A394 8FA5001C */ lw $a1, 0x1c($sp)
/* 00AF98 8000A398 3C07800E */ lui $a3, %hi(D_800DC6E0) # $a3, 0x800e
/* 00AF9C 8000A39C 24E7C6E0 */ addiu $a3, %lo(D_800DC6E0) # addiu $a3, $a3, -0x3920
/* 00AFA0 8000A3A0 01A51821 */ addu $v1, $t5, $a1
.L8000A3A4:
/* 00AFA4 8000A3A4 3C048012 */ lui $a0, %hi(D_80119C4C) # $a0, 0x8012
/* 00AFA8 8000A3A8 24849C4C */ addiu $a0, %lo(D_80119C4C) # addiu $a0, $a0, -0x63b4
/* 00AFAC 8000A3AC 908E0000 */ lbu $t6, ($a0)
/* 00AFB0 8000A3B0 3C198012 */ lui $t9, %hi(D_80119C50) # $t9, 0x8012
/* 00AFB4 8000A3B4 25CF0001 */ addiu $t7, $t6, 1
/* 00AFB8 8000A3B8 A08F0000 */ sb $t7, ($a0)
/* 00AFBC 8000A3BC 8F399C50 */ lw $t9, %lo(D_80119C50)($t9)
/* 00AFC0 8000A3C0 31E800FF */ andi $t0, $t7, 0xff
/* 00AFC4 8000A3C4 8C780000 */ lw $t8, ($v1)
/* 00AFC8 8000A3C8 00084880 */ sll $t1, $t0, 2
/* 00AFCC 8000A3CC 03295021 */ addu $t2, $t9, $t1
/* 00AFD0 8000A3D0 AD580000 */ sw $t8, ($t2)
/* 00AFD4 8000A3D4 94EB0000 */ lhu $t3, ($a3)
/* 00AFD8 8000A3D8 3C028012 */ lui $v0, %hi(D_80119C44) # $v0, 0x8012
/* 00AFDC 8000A3DC 8C429C44 */ lw $v0, %lo(D_80119C44)($v0)
/* 00AFE0 8000A3E0 000B6080 */ sll $t4, $t3, 2
/* 00AFE4 8000A3E4 004C6821 */ addu $t5, $v0, $t4
/* 00AFE8 8000A3E8 8DAEFFFC */ lw $t6, -4($t5)
/* 00AFEC 8000A3EC 00457821 */ addu $t7, $v0, $a1
/* 00AFF0 8000A3F0 ADEE0000 */ sw $t6, ($t7)
/* 00AFF4 8000A3F4 94E80000 */ lhu $t0, ($a3)
/* 00AFF8 8000A3F8 00000000 */ nop
/* 00AFFC 8000A3FC 2519FFFF */ addiu $t9, $t0, -1
/* 00B000 8000A400 A4F90000 */ sh $t9, ($a3)
.L8000A404:
/* 00B004 8000A404 8FBF0014 */ lw $ra, 0x14($sp)
/* 00B008 8000A408 27BD0020 */ addiu $sp, $sp, 0x20
/* 00B00C 8000A40C 03E00008 */ jr $ra
/* 00B010 8000A410 00000000 */ nop
@@ -324,7 +324,7 @@ glabel func_8003F2E8
/* 040380 8003F780 AFAD0010 */ sw $t5, 0x10($sp)
/* 040384 8003F784 AFA80038 */ sw $t0, 0x38($sp)
/* 040388 8003F788 AFA00014 */ sw $zero, 0x14($sp)
/* 04038C 8003F78C 0C002556 */ jal func_80009558
/* 04038C 8003F78C 0C002556 */ jal play_sound_at_position
/* 040390 8003F790 24040155 */ li $a0, 341
/* 040394 8003F794 8FA80038 */ lw $t0, 0x38($sp)
/* 040398 8003F798 00000000 */ nop
@@ -508,7 +508,7 @@ glabel func_8003F2E8
/* 040638 8003FA38 AFA80038 */ sw $t0, 0x38($sp)
/* 04063C 8003FA3C AFA00014 */ sw $zero, 0x14($sp)
/* 040640 8003FA40 AFAC0010 */ sw $t4, 0x10($sp)
/* 040644 8003FA44 0C002556 */ jal func_80009558
/* 040644 8003FA44 0C002556 */ jal play_sound_at_position
/* 040648 8003FA48 24040155 */ li $a0, 341
/* 04064C 8003FA4C 8FA80038 */ lw $t0, 0x38($sp)
/* 040650 8003FA50 8FA90068 */ lw $t1, 0x68($sp)
@@ -524,7 +524,7 @@ glabel func_8003F2E8
/* 040674 8003FA74 AFAF0014 */ sw $t7, 0x14($sp)
/* 040678 8003FA78 AFAD0010 */ sw $t5, 0x10($sp)
/* 04067C 8003FA7C AFA90068 */ sw $t1, 0x68($sp)
/* 040680 8003FA80 0C002556 */ jal func_80009558
/* 040680 8003FA80 0C002556 */ jal play_sound_at_position
/* 040684 8003FA84 AFA80038 */ sw $t0, 0x38($sp)
/* 040688 8003FA88 8FA80038 */ lw $t0, 0x38($sp)
/* 04068C 8003FA8C 8FA90068 */ lw $t1, 0x68($sp)
@@ -624,7 +624,7 @@ glabel func_8003F2E8
/* 0407E4 8003FBE4 240E0004 */ li $t6, 4
/* 0407E8 8003FBE8 AFAE0010 */ sw $t6, 0x10($sp)
/* 0407EC 8003FBEC AFA00014 */ sw $zero, 0x14($sp)
/* 0407F0 8003FBF0 0C002556 */ jal func_80009558
/* 0407F0 8003FBF0 0C002556 */ jal play_sound_at_position
/* 0407F4 8003FBF4 24040155 */ li $a0, 341
/* 0407F8 8003FBF8 1000000F */ b .L8003FC38
/* 0407FC 8003FBFC 8FBF002C */ lw $ra, 0x2c($sp)
@@ -461,7 +461,7 @@ glabel obj_loop_door
/* 03CC10 8003C010 AFB80014 */ sw $t8, 0x14($sp)
/* 03CC14 8003C014 AFA90040 */ sw $t1, 0x40($sp)
/* 03CC18 8003C018 AFA80044 */ sw $t0, 0x44($sp)
/* 03CC1C 8003C01C 0C002556 */ jal func_80009558
/* 03CC1C 8003C01C 0C002556 */ jal play_sound_at_position
/* 03CC20 8003C020 AFAE0010 */ sw $t6, 0x10($sp)
/* 03CC24 8003C024 8FA80044 */ lw $t0, 0x44($sp)
/* 03CC28 8003C028 8FA90040 */ lw $t1, 0x40($sp)
@@ -234,7 +234,7 @@ glabel obj_loop_weaponballoon
/* 03F078 8003E478 8E070014 */ lw $a3, 0x14($s0)
/* 03F07C 8003E47C 240F0004 */ li $t7, 4
/* 03F080 8003E480 AFAF0010 */ sw $t7, 0x10($sp)
/* 03F084 8003E484 0C002556 */ jal func_80009558
/* 03F084 8003E484 0C002556 */ jal play_sound_at_position
/* 03F088 8003E488 AFA00014 */ sw $zero, 0x14($sp)
/* 03F08C 8003E48C 1000003D */ b .L8003E584
/* 03F090 8003E490 240D0001 */ li $t5, 1
@@ -277,7 +277,7 @@ glabel obj_loop_weaponballoon
/* 03F118 8003E518 8E060010 */ lw $a2, 0x10($s0)
/* 03F11C 8003E51C 8E070014 */ lw $a3, 0x14($s0)
/* 03F120 8003E520 AFA00014 */ sw $zero, 0x14($sp)
/* 03F124 8003E524 0C002556 */ jal func_80009558
/* 03F124 8003E524 0C002556 */ jal play_sound_at_position
/* 03F128 8003E528 AFAA0010 */ sw $t2, 0x10($sp)
/* 03F12C 8003E52C 10000015 */ b .L8003E584
/* 03F130 8003E530 240D0001 */ li $t5, 1
+1 -1
View File
@@ -1254,7 +1254,7 @@ typedef struct Object_Trigger {
} Object_Trigger;
typedef struct Object_Audio {
/* 0x00 */ u16 unk0;
/* 0x00 */ u16 soundId;
/* 0x02 */ u16 unk2;
/* 0x04 */ u8 unk4;
/* 0x05 */ u8 unk5;
+5 -9
View File
@@ -29,7 +29,7 @@ s32 D_800DC658 = 0;
u8 D_800DC65C = 0;
u8 D_800DC660 = 0;
UNUSED s32 D_800DC664 = 0;
UNUSED s32 D_800DC668 = 0; // Currently unknown, might be a different type.
UNUSED s32 D_800DC668 = 0;
s32 sMusicVolumeMultiplier = 256; // This is never not 256...
u8 D_800DC670 = 0;
@@ -269,8 +269,7 @@ void set_sndfx_player_voice_limit(u8 voiceLimit) {
set_voice_limit(gSndFxPlayer, voiceLimit);
}
/* Unused? */
void func_80000C68(u8 arg0) {
UNUSED void func_80000C68(u8 arg0) {
func_80063A90(gMusicPlayer, arg0);
}
@@ -406,8 +405,7 @@ void musicSetChlVol(u8 chan, u8 vol) {
}
}
/* Unused?*/
u8 musicGetChlVol(u8 chan) {
UNUSED u8 musicGetChlVol(u8 chan) {
if (chan >= 16) {
return 0;
} else {
@@ -573,8 +571,7 @@ u8 func_80001918(void) {
return 0;
}
// Unused?
u8 func_80001954(void) {
UNUSED u8 func_80001954(void) {
if (D_800DC65C != 0) {
return D_800DC65C;
}
@@ -766,8 +763,7 @@ void func_80002128(unk80115D18 **arg0, s32 *arg1, s32 *arg2) {
}
}
/* Unused? */
void func_8000216C(unk80115D1C **arg0, s32 *arg1, s32 *arg2) {
UNUSED void func_8000216C(unk80115D1C **arg0, s32 *arg1, s32 *arg2) {
if (arg0 != NULL) {
*arg0 = sMusicPool;
}
+1 -1
View File
@@ -24,6 +24,7 @@ typedef struct unk80115D18 {
u8 unk9;
} unk80115D18;
/* Size: 0x03 bytes */
typedef struct unk80115D1C {
u8 unk0;
@@ -129,6 +130,5 @@ void func_8000232C(ALSeqPlayer* arg0, void* arg1, u8* arg2, ALCSeq* arg3);
void play_sound_global(u16 soundID, s32* soundMask); //Non matching.
f32 audio_get_chr_select_anim_frac(void);
void func_80009B7C(s32 *arg0, f32 x, f32 y, f32 z); // Non Matching
void func_8000974C(s32, f32, f32, f32, s32, s32, s32, s32, s32, s32, s32, s32 *);
#endif
+16 -16
View File
@@ -96,7 +96,7 @@ s8 D_800DD390 = 0;
s16 gLevelLoadTimer = 0;
s8 D_800DD398 = 0;
s8 D_800DD39C = 0;
s8 D_800DD3A0 = FALSE;
s8 gDmemInvalid = FALSE;
UNUSED s32 D_800DD3A4 = 0;
UNUSED s32 D_800DD3A8 = 0;
UNUSED s32 D_800DD3AC = 0;
@@ -893,7 +893,7 @@ void thread3_main(UNUSED void *unused) {
* This includes the memory pool. controllers, video, audio, core assets and more.
*/
void init_game(void) {
s32 mode;
s32 viMode;
init_main_memory_pool();
func_800C6170(); // Initialise gzip decompression related things
@@ -905,17 +905,17 @@ void init_game(void) {
gLevelDefaultVehicleID = VEHICLE_CAR;
if (osTvType == TV_TYPE_PAL) {
mode = 14;
viMode = OS_VI_PAL_LPN1;
} else if (osTvType == TV_TYPE_NTSC) {
mode = 0;
viMode = OS_VI_NTSC_LPN1;
} else if (osTvType == TV_TYPE_MPAL) {
mode = 28;
viMode = OS_VI_MPAL_LPN1;
}
osCreateScheduler(&gMainSched, &gSchedStack[0x400], /*priority*/ 13, (u8) mode, 1);
D_800DD3A0 = FALSE;
if (!func_8006EFB8()) {
D_800DD3A0 = TRUE;
osCreateScheduler(&gMainSched, &gSchedStack[0x400], /*priority*/ 13, viMode, 1);
gDmemInvalid = FALSE;
if (check_dmem_validity() == FALSE) {
gDmemInvalid = TRUE;
}
init_video(VIDEO_MODE_LOWRES_LPN, &gMainSched);
init_PI_mesg_queue();
@@ -994,12 +994,12 @@ void main_game_loop(void) {
render_epc_lock_up_display();
sRenderContext = DRAW_CRASH_SCREEN;
}
if (D_800DD3A0) {
if (gDmemInvalid) {
debugLoopCounter = 0;
while (debugLoopCounter != 10000000) {
debugLoopCounter += 1;
debugLoopCounter++;
}
if (debugLoopCounter >= 20000001) { // This shouldn't ever be true?
if (debugLoopCounter > 20000000) { // This shouldn't ever be true?
render_printf(D_800E7134 /* "BBB\n" */);
}
}
@@ -1955,8 +1955,10 @@ void func_8006ECE0(void) {
GLOBAL_ASM("asm/non_matchings/game/func_8006ECFC.s")
s32 func_8006EFB8(void) {
//Could be SP_DMEM_START / CACHERR_EE / SR_FR / M_K0 / LEO_STATUS_BUFFER_MANAGER_INTERRUPT
/**
* Returns FALSE if dmem doesn't begin with a -1. This is checked on every main game loop iteration.
*/
s32 check_dmem_validity(void) {
if (IO_READ(SP_DMEM_START) != -1U) {
return FALSE;
}
@@ -2119,8 +2121,6 @@ s32 is_controller_missing(void) {
* A false read, meaning you're caught running an illegitimate copy, will force the game to pause when you enter the world.
*/
s32 check_imem_validity(void) {
/*(SP_STATUS_HALT | SP_STATUS_BROKE | SP_STATUS_DMA_BUSY | SP_STATUS_IO_FULL | SP_STATUS_INTR_BREAK | SP_STATUS_YIELD |
SP_STATUS_YIELDED | SP_STATUS_TASKDONE | SP_STATUS_TASKDONE | SP_STATUS_RSPSIGNAL | SP_STATUS_SIG5))*/
if (IO_READ(SP_IMEM_START) != 0x17D7) {
return FALSE;
}
+1 -1
View File
@@ -101,7 +101,7 @@ void func_8006EC48(s32 saveFileIndex);
void func_8006ECAC(s32 arg0);
void func_8006ECC4(void);
void func_8006ECE0(void);
s32 func_8006EFB8(void);
s32 check_dmem_validity(void);
void func_8006F140(s32 arg0);
void func_8006F20C(void);
void func_8006F254(void);
+1
View File
@@ -19,6 +19,7 @@
#include "unknown_078050.h"
#include "unknown_003260.h"
#include "printf.h"
#include "unknown_008C40.h"
extern u32 osTvType;
-1
View File
@@ -329,7 +329,6 @@ void func_800A277C(s32, Object*, s32);
void func_800A6254(Object_64* obj, s32 updateRate);
void func_800A6E30(Object_64* obj, s32 updateRate);
void func_800A7A60(Object*, Gfx**);
void func_800095E8(s32, f32, f32, f32, s32, s32, f32, s32*);
void func_800A0BD4(s32);
void func_800A19A4(Object_Racer*, s32 updateRate);
void func_800A1E48(s32, s32);
+1
View File
@@ -26,6 +26,7 @@ f32 coss_f(s16 angle);
f32 sins_f(s16 angle);
s32 coss(s16 angle);
s32 sins(s16 angle);
s32 sins_2(s16 angle);
void set_rng_seed(s32 num);
void save_rng_seed(s32 num);
void load_rng_seed(s32 num);
+26 -26
View File
@@ -166,7 +166,7 @@ void obj_loop_scenery(Object *obj, s32 updateRate) {
obj78->unk4 -= updateRate;
}
if ((obj->interactObj->unk14 & 0x40) && ((s32) obj78->unk4 <= 0)) {
func_80009558(SOUND_TWANG, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_TWANG, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
obj78->unk0 = (s32*) obj->interactObj->obj;
obj78->unk6 = 1820;
obj78->unk4 = 10;
@@ -313,7 +313,7 @@ void obj_loop_fireball_octoweapon(Object *obj, s32 updateRate) {
if (temp != 0) {
func_8000488C(temp);
}
func_80009558(SOUND_POP, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_POP, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
gParticlePtrList_addObject(obj);
}
}
@@ -384,7 +384,7 @@ void obj_loop_lasergun(Object *obj, s32 updateRate) {
spawnObj.z = obj->segment.trans.z_position;
spawnObj.size = 8;
spawnObj.objectID = 0xC6;
func_80009558(SOUND_LASER_GUN, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_LASER_GUN, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
laserBoltObj = spawn_object(&spawnObj, 1);
if (laserBoltObj != NULL) {
laserBoltObj->segment.unk3C_a.level_entry = NULL;
@@ -1605,7 +1605,7 @@ void obj_loop_wizpigship(Object *wizShipObj, s32 updateRate) {
newObj->segment.trans.x_rotation = -wizShipObj->segment.trans.x_rotation;
newObj->unk78 = 0x3C;
guMtxXFMF(laserMtx, 0.0f, 0.0f, -30.0f, &newObj->segment.x_velocity, &newObj->segment.y_velocity, &newObj->segment.z_velocity);
func_80009558(SOUND_LASER_GUN, wizShipObj->segment.trans.x_position, wizShipObj->segment.trans.y_position, wizShipObj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_LASER_GUN, wizShipObj->segment.trans.x_position, wizShipObj->segment.trans.y_position, wizShipObj->segment.trans.z_position, 4, NULL);
}
}
}
@@ -1674,7 +1674,7 @@ void obj_loop_snowball(Object *obj, s32 updateRate) {
}
if (obj64->unk24 != 0) {
if (obj64->soundMask == 0) {
func_80009558(obj64->unk24, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, &obj64->soundMask);
play_sound_at_position(obj64->unk24, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, &obj64->soundMask);
} else {
update_spatial_audio_position(obj64->soundMask, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position);
}
@@ -1991,7 +1991,7 @@ void obj_loop_dino_whale(Object *obj, s32 updateRate) {
if (obj->interactObj->distance < 0xFF) {
if (obj->unk78 == 0) {
obj->unk78 = 0x3C;
func_80009558(SOUND_VOICE_BRONTO_ROAR, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_VOICE_BRONTO_ROAR, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
}
}
}
@@ -2799,7 +2799,7 @@ void obj_loop_bonus(Object *obj, UNUSED s32 updateRate) {
if (temp < 0.0f) {
if ((s32) racer->bananas < 10) {
racer->bananas = 10;
func_80009558(SOUND_SELECT, racerObj->segment.trans.x_position, racerObj->segment.trans.y_position, racerObj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_SELECT, racerObj->segment.trans.x_position, racerObj->segment.trans.y_position, racerObj->segment.trans.z_position, 4, NULL);
play_sound_spatial(racer->characterId + SOUND_UNK_7B, racerObj->segment.trans.x_position, racerObj->segment.trans.y_position, racerObj->segment.trans.z_position, NULL);
}
}
@@ -3071,7 +3071,7 @@ void obj_loop_ttdoor(Object *obj, s32 updateRate) {
}
if (openDoor) {
if (ttDoor->soundMask == NULL) {
func_80009558(SOUND_DOOR_OPEN, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, &ttDoor->soundMask);
play_sound_at_position(SOUND_DOOR_OPEN, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, &ttDoor->soundMask);
}
} else {
if (ttDoor->soundMask) {
@@ -3248,7 +3248,7 @@ void obj_loop_bridge_whaleramp(Object *obj, s32 updateRate) {
if (whaleRamp->unk4 == 0) {
whaleRamp = whaleRamp;
func_8001E36C(entry->unkA, &sp50, &sp4C, &sp48);
func_80009558(SOUND_DRAWBRIDGE_BELL, sp50, sp4C, sp48, 1, &whaleRamp->unk4);
play_sound_at_position(SOUND_DRAWBRIDGE_BELL, sp50, sp4C, sp48, 1, &whaleRamp->unk4);
}
} else {
if (obj->segment.trans.x_rotation < 0) {
@@ -3256,7 +3256,7 @@ void obj_loop_bridge_whaleramp(Object *obj, s32 updateRate) {
if (whaleRamp->unk4 == 0) {
whaleRamp = whaleRamp;
func_8001E36C(entry->unkA, &sp44, &sp40, &sp3C);
func_80009558(SOUND_DRAWBRIDGE_BELL, sp44, sp40, sp3C, 1, &whaleRamp->unk4);
play_sound_at_position(SOUND_DRAWBRIDGE_BELL, sp44, sp40, sp3C, 1, &whaleRamp->unk4);
}
} else {
obj->segment.trans.x_rotation = 0;
@@ -3615,7 +3615,7 @@ void obj_loop_banana(Object *obj, s32 updateRate) {
racer = (Object_Racer *) racerObj->unk64;
if ((get_current_level_race_type() != RACETYPE_CHALLENGE_BANANAS) || racer->bananas < 2) {
racerPrevUnk180 = racer->unk180;
func_80009558( SOUND_SELECT, racerObj->segment.trans.x_position, racerObj->segment.trans.y_position, racerObj->segment.trans.z_position, 4, &racer->unk180);
play_sound_at_position( SOUND_SELECT, racerObj->segment.trans.x_position, racerObj->segment.trans.y_position, racerObj->segment.trans.z_position, 4, &racer->unk180);
if (racerPrevUnk180 != 0) {
func_800096F8(racerPrevUnk180);
}
@@ -3900,7 +3900,7 @@ void obj_loop_weaponballoon(Object *obj, s32 updateRate) {
obj->unk7C.word = 0x10;
}
if (racer->playerIndex == PLAYER_COMPUTER) {
func_80009558(SOUND_BALLOON_POP, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_BALLOON_POP, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
} else {
if (levelMask == racer->balloon_level) {
if (racer->raceFinished == FALSE) {
@@ -3912,7 +3912,7 @@ void obj_loop_weaponballoon(Object *obj, s32 updateRate) {
}
play_sound_global(SOUND_COLLECT_ITEM + newvar, NULL);
} else {
func_80009558(SOUND_BALLOON_POP, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_BALLOON_POP, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
}
}
} else if (racer->raceFinished == FALSE) {
@@ -4155,7 +4155,7 @@ void func_8003F0F8(Object *obj, struct Object_Weapon *weapon, u16 soundID) {
if (var_s4) {
if (weapon->unk1C == 0) {
if (D_8011D4DC < 8) {
func_80009558(soundID, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, &weapon->unk1C);
play_sound_at_position(soundID, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, &weapon->unk1C);
D_8011D4DC += 1;
}
} else {
@@ -4191,7 +4191,7 @@ void func_8003FC44(f32 x, f32 y, f32 z, s32 objectID, s32 arg4, f32 scale, s32 a
newObj->segment.trans.scale = newObj->segment.trans.scale * 3.5 * scale;
}
if (arg4 != 0) {
func_80009558(arg4, x, y, z, 4, NULL);
play_sound_at_position(arg4, x, y, z, 4, NULL);
}
}
@@ -4199,7 +4199,7 @@ void obj_init_audio(Object *obj, LevelObjectEntry_Audio *entry) {
Object_Audio *obj64;
obj64 = &obj->unk64->audio;
obj64->unk0 = entry->unk8;
obj64->soundId = entry->unk8;
obj64->unk2 = entry->unkA;
obj64->unkC = entry->unkF;
obj64->unk6 = entry->unkE;
@@ -4207,12 +4207,12 @@ void obj_init_audio(Object *obj, LevelObjectEntry_Audio *entry) {
obj64->unk5 = entry->unkD;
obj64->unkD = entry->unk10;
obj64->unk8 = 0;
if (ALBankFile_80115D14_GetSoundDecayTime(obj64->unk0)) {
func_8000974C(obj64->unk0, entry->common.x, entry->common.y, entry->common.z,
if (ALBankFile_80115D14_GetSoundDecayTime(obj64->soundId)) {
func_8000974C(obj64->soundId, entry->common.x, entry->common.y, entry->common.z,
9, obj64->unk5, obj64->unk4, obj64->unk2, obj64->unkC,
obj64->unk6, obj64->unkD, &obj64->unk8);
} else {
func_8000974C(obj64->unk0, entry->common.x, entry->common.y, entry->common.z,
func_8000974C(obj64->soundId, entry->common.x, entry->common.y, entry->common.z,
10, obj64->unk5, obj64->unk4, obj64->unk2, obj64->unkC,
obj64->unk6, obj64->unkD, &obj64->unk8);
}
@@ -4666,7 +4666,7 @@ void obj_loop_frog(Object *obj, s32 updateRate) {
diffZ = obj->segment.trans.z_position - racerObj->segment.trans.z_position;
if (frog->unk19 <= 0 && (diffX * diffX) + (diffY * diffY) + (diffZ * diffZ) < 40.0f * 40.0f) {
if (frog->unk15 != 0) {
func_80009558(SOUND_VOICE_DRUMSTICK_POSITIVE2, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_VOICE_DRUMSTICK_POSITIVE2, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
set_eeprom_settings_value(2);
set_magic_code_flags(CHEAT_CONTROL_DRUMSTICK);
func_8006D8A4();
@@ -4674,7 +4674,7 @@ void obj_loop_frog(Object *obj, s32 updateRate) {
break;
} else {
frog->unk14 = 2;
func_80009558(SOUND_SPLAT, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_SPLAT, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
}
} else {
frog->unk1C = 72.0f;
@@ -4710,9 +4710,9 @@ void obj_loop_frog(Object *obj, s32 updateRate) {
frog->unk1A = arctan2_f(diffX, diffZ);
}
if (frog->unk15 != 0) {
func_80009558(SOUND_VOICE_DRUMSTICK_POSITIVE6, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_VOICE_DRUMSTICK_POSITIVE6, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
} else {
func_80009558(SOUND_RIBBIT, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_RIBBIT, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
}
frog->unk14 = 1;
frog->unk20 = obj->segment.trans.x_position;
@@ -4748,14 +4748,14 @@ void obj_loop_frog(Object *obj, s32 updateRate) {
if (frog->unk19 <= 0 && (frog->unk18 < 6 || frog->unk18 >= 27)) {
if (func_80016DE8(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 40.0f, 0, (unk80042178 *) &racerObj) != 0) {
if (frog->unk15 != 0) {
func_80009558(SOUND_VOICE_DRUMSTICK_POSITIVE2, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_VOICE_DRUMSTICK_POSITIVE2, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
set_eeprom_settings_value(2);
set_magic_code_flags(CHEAT_CONTROL_DRUMSTICK);
func_8006D8A4();
gParticlePtrList_addObject(obj);
} else {
frog->unk14 = 2;
func_80009558(SOUND_SPLAT, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_SPLAT, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
}
}
}
@@ -4772,7 +4772,7 @@ void obj_loop_frog(Object *obj, s32 updateRate) {
frog->unk16 -= updateRate;
if (frog->unk16 < 0) {
frog->unk14 = 4;
func_80009558(SOUND_PLOP2, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
play_sound_at_position(SOUND_PLOP2, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
}
break;
case 4:

Some files were not shown because too many files have changed in this diff Show More