Decompiled 13 functions from objects.c

This commit is contained in:
David Benepe
2022-04-29 16:31:30 -04:00
parent 2174a8ce89
commit d9bd7ff9bd
17 changed files with 227 additions and 514 deletions
+26 -26
View File
@@ -10,8 +10,8 @@ Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU
* `libcapstone-dev`
* `libssl-dev`
* `gcc`
* `make`
* `gcc`, Version 8.0 or higher
* `make`, Version 4.2 or higher
* `python3`
* `wget`
@@ -113,31 +113,31 @@ s32 is_drumstick_unlocked(void) {
}
```
As of April 6th, 2022, this is our current score:
As of April 29th, 2022, this is our current score:
```
========================================================
ADVENTURE ONE (ASM -> C Decompilation)
------------------- 22.11% Complete --------------------
# Decompiled functions: 1068
# GLOBAL_ASM remaining: 680
# NON_MATCHING functions: 8
# NON_EQUIVALENT WIP functions: 109
--------------------- Game Status ----------------------
Balloons: 12/47, Keys: 1/4, Trophies: 0/5
T.T. Amulets: 1/4, Wizpig Amulets: 0/4
--------------------------------------------------------
We are racing in the rematch against Trickytops.
========================================================
ADVENTURE TWO (Cleanup & Documentation)
------------------- 2.73% Complete --------------------
# Documented functions: 141
# Undocumented remaining: 1607
--------------------- Game Status ----------------------
Balloons: 1/47, Keys: 0/4, Trophies: 0/5
T.T. Amulets: 0/4, Wizpig Amulets: 0/4
--------------------------------------------------------
We are collecting the second balloon on Timber's Island.
========================================================
===================================================================
ADVENTURE ONE (ASM -> C Decompilation)
------------------------- 22.80% Complete -------------------------
# Decompiled functions: 1090
# GLOBAL_ASM remaining: 656
# NON_MATCHING functions: 8
# NON_EQUIVALENT WIP functions: 107
--------------------------- Game Status ---------------------------
Balloons: 12/47, Keys: 1/4, Trophies: 0/5
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
-------------------------------------------------------------------
We are participating in the Trophy Race of Dino Domain. (Round One)
===================================================================
ADVENTURE TWO (Cleanup & Documentation)
------------------------- 2.98% Complete -------------------------
# Documented functions: 146
# Undocumented remaining: 1600
--------------------------- Game Status ---------------------------
Balloons: 1/47, Keys: 0/4, Trophies: 0/5
T.T. Amulets: 0/4, Wizpig Amulets: 0/4
-------------------------------------------------------------------
We are collecting the second balloon on Timber's Island.
===================================================================
```
---
-16
View File
@@ -1,16 +0,0 @@
glabel func_8000CBF0
/* 00D7F0 8000CBF0 3C0F8012 */ lui $t7, %hi(D_8011AE08) # $t7, 0x8012
/* 00D7F4 8000CBF4 25EFAE08 */ addiu $t7, %lo(D_8011AE08) # addiu $t7, $t7, -0x51f8
/* 00D7F8 8000CBF8 00057080 */ sll $t6, $a1, 2
/* 00D7FC 8000CBFC 01CF1021 */ addu $v0, $t6, $t7
/* 00D800 8000CC00 8C430000 */ lw $v1, ($v0)
/* 00D804 8000CC04 00000000 */ nop
/* 00D808 8000CC08 14600003 */ bnez $v1, .L8000CC18
/* 00D80C 8000CC0C 00000000 */ nop
/* 00D810 8000CC10 03E00008 */ jr $ra
/* 00D814 8000CC14 AC440000 */ sw $a0, ($v0)
.L8000CC18:
/* 00D818 8000CC18 03E00008 */ jr $ra
/* 00D81C 8000CC1C 00000000 */ nop
-45
View File
@@ -1,45 +0,0 @@
glabel func_8000E558
/* 00F158 8000E558 8C82003C */ lw $v0, 0x3c($a0)
/* 00F15C 8000E55C 3C058012 */ lui $a1, %hi(D_8011AE98) # $a1, 0x8012
/* 00F160 8000E560 14400003 */ bnez $v0, .L8000E570
/* 00F164 8000E564 24A5AE98 */ addiu $a1, %lo(D_8011AE98) # addiu $a1, $a1, -0x5168
/* 00F168 8000E568 03E00008 */ jr $ra
/* 00F16C 8000E56C 24020001 */ li $v0, 1
.L8000E570:
/* 00F170 8000E570 8CA40000 */ lw $a0, ($a1)
/* 00F174 8000E574 00401825 */ move $v1, $v0
/* 00F178 8000E578 0044082A */ slt $at, $v0, $a0
/* 00F17C 8000E57C 1420000A */ bnez $at, .L8000E5A8
/* 00F180 8000E580 3C0E8012 */ lui $t6, %hi(D_8011AEA0) # $t6, 0x8012
/* 00F184 8000E584 8DCEAEA0 */ lw $t6, %lo(D_8011AEA0)($t6)
/* 00F188 8000E588 00000000 */ nop
/* 00F18C 8000E58C 000E78C0 */ sll $t7, $t6, 3
/* 00F190 8000E590 01E4C021 */ addu $t8, $t7, $a0
/* 00F194 8000E594 0302082A */ slt $at, $t8, $v0
/* 00F198 8000E598 14200003 */ bnez $at, .L8000E5A8
/* 00F19C 8000E59C 00000000 */ nop
/* 00F1A0 8000E5A0 03E00008 */ jr $ra
/* 00F1A4 8000E5A4 00001025 */ move $v0, $zero
.L8000E5A8:
/* 00F1A8 8000E5A8 8CA20004 */ lw $v0, 4($a1)
/* 00F1AC 8000E5AC 3C198012 */ lui $t9, %hi(D_8011AEA4) # $t9, 0x8012
/* 00F1B0 8000E5B0 0062082A */ slt $at, $v1, $v0
/* 00F1B4 8000E5B4 1420000A */ bnez $at, .L8000E5E0
/* 00F1B8 8000E5B8 00000000 */ nop
/* 00F1BC 8000E5BC 8F39AEA4 */ lw $t9, %lo(D_8011AEA4)($t9)
/* 00F1C0 8000E5C0 00000000 */ nop
/* 00F1C4 8000E5C4 001940C0 */ sll $t0, $t9, 3
/* 00F1C8 8000E5C8 01024821 */ addu $t1, $t0, $v0
/* 00F1CC 8000E5CC 0123082A */ slt $at, $t1, $v1
/* 00F1D0 8000E5D0 14200004 */ bnez $at, .L8000E5E4
/* 00F1D4 8000E5D4 24020001 */ li $v0, 1
/* 00F1D8 8000E5D8 03E00008 */ jr $ra
/* 00F1DC 8000E5DC 24020001 */ li $v0, 1
.L8000E5E0:
/* 00F1E0 8000E5E0 24020001 */ li $v0, 1
.L8000E5E4:
/* 00F1E4 8000E5E4 03E00008 */ jr $ra
/* 00F1E8 8000E5E8 00000000 */ nop
-41
View File
@@ -1,41 +0,0 @@
glabel func_8000F758
/* 010358 8000F758 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 01035C 8000F75C AFBF002C */ sw $ra, 0x2c($sp)
/* 010360 8000F760 AFB40028 */ sw $s4, 0x28($sp)
/* 010364 8000F764 AFB30024 */ sw $s3, 0x24($sp)
/* 010368 8000F768 AFB20020 */ sw $s2, 0x20($sp)
/* 01036C 8000F76C AFB1001C */ sw $s1, 0x1c($sp)
/* 010370 8000F770 AFB00018 */ sw $s0, 0x18($sp)
/* 010374 8000F774 8C900040 */ lw $s0, 0x40($a0)
/* 010378 8000F778 00809025 */ move $s2, $a0
/* 01037C 8000F77C 820E005A */ lb $t6, 0x5a($s0)
/* 010380 8000F780 00008825 */ move $s1, $zero
/* 010384 8000F784 19C00011 */ blez $t6, .L8000F7CC
/* 010388 8000F788 00009825 */ move $s3, $zero
/* 01038C 8000F78C 0000A025 */ move $s4, $zero
.L8000F790:
/* 010390 8000F790 8E0F0024 */ lw $t7, 0x24($s0)
/* 010394 8000F794 02402025 */ move $a0, $s2
/* 010398 8000F798 0C00C7E2 */ jal func_80031F88
/* 01039C 8000F79C 01F32821 */ addu $a1, $t7, $s3
/* 0103A0 8000F7A0 8E580070 */ lw $t8, 0x70($s2)
/* 0103A4 8000F7A4 26310001 */ addiu $s1, $s1, 1
/* 0103A8 8000F7A8 0314C821 */ addu $t9, $t8, $s4
/* 0103AC 8000F7AC AF220000 */ sw $v0, ($t9)
/* 0103B0 8000F7B0 8E500040 */ lw $s0, 0x40($s2)
/* 0103B4 8000F7B4 26940004 */ addiu $s4, $s4, 4
/* 0103B8 8000F7B8 8208005A */ lb $t0, 0x5a($s0)
/* 0103BC 8000F7BC 26730018 */ addiu $s3, $s3, 0x18
/* 0103C0 8000F7C0 0228082A */ slt $at, $s1, $t0
/* 0103C4 8000F7C4 1420FFF2 */ bnez $at, .L8000F790
/* 0103C8 8000F7C8 00000000 */ nop
.L8000F7CC:
/* 0103CC 8000F7CC 8FBF002C */ lw $ra, 0x2c($sp)
/* 0103D0 8000F7D0 8FB00018 */ lw $s0, 0x18($sp)
/* 0103D4 8000F7D4 8FB1001C */ lw $s1, 0x1c($sp)
/* 0103D8 8000F7D8 8FB20020 */ lw $s2, 0x20($sp)
/* 0103DC 8000F7DC 8FB30024 */ lw $s3, 0x24($sp)
/* 0103E0 8000F7E0 8FB40028 */ lw $s4, 0x28($sp)
/* 0103E4 8000F7E4 03E00008 */ jr $ra
/* 0103E8 8000F7E8 27BD0030 */ addiu $sp, $sp, 0x30
-72
View File
@@ -1,72 +0,0 @@
glabel func_8000FAC4
/* 0106C4 8000FAC4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0106C8 8000FAC8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0106CC 8000FACC AFB30028 */ sw $s3, 0x28($sp)
/* 0106D0 8000FAD0 AFB20024 */ sw $s2, 0x24($sp)
/* 0106D4 8000FAD4 AFB10020 */ sw $s1, 0x20($sp)
/* 0106D8 8000FAD8 AFB0001C */ sw $s0, 0x1c($sp)
/* 0106DC 8000FADC 8C820040 */ lw $v0, 0x40($a0)
/* 0106E0 8000FAE0 AC85006C */ sw $a1, 0x6c($a0)
/* 0106E4 8000FAE4 80430057 */ lb $v1, 0x57($v0)
/* 0106E8 8000FAE8 8C46001C */ lw $a2, 0x1c($v0)
/* 0106EC 8000FAEC 00809025 */ move $s2, $a0
/* 0106F0 8000FAF0 1860002A */ blez $v1, .L8000FB9C
/* 0106F4 8000FAF4 00008025 */ move $s0, $zero
/* 0106F8 8000FAF8 00C08825 */ move $s1, $a2
/* 0106FC 8000FAFC 3C13FFFF */ lui $s3, 0xffff
.L8000FB00:
/* 010700 8000FB00 8E220000 */ lw $v0, ($s1)
/* 010704 8000FB04 00104940 */ sll $t1, $s0, 5
/* 010708 8000FB08 00537024 */ and $t6, $v0, $s3
/* 01070C 8000FB0C 166E000B */ bne $s3, $t6, .L8000FB3C
/* 010710 8000FB10 00022E03 */ sra $a1, $v0, 0x18
/* 010714 8000FB14 8E4F006C */ lw $t7, 0x6c($s2)
/* 010718 8000FB18 00022A03 */ sra $a1, $v0, 8
/* 01071C 8000FB1C 30B900FF */ andi $t9, $a1, 0xff
/* 010720 8000FB20 0010C140 */ sll $t8, $s0, 5
/* 010724 8000FB24 03202825 */ move $a1, $t9
/* 010728 8000FB28 304600FF */ andi $a2, $v0, 0xff
/* 01072C 8000FB2C 0C02BC78 */ jal func_800AF1E0
/* 010730 8000FB30 01F82021 */ addu $a0, $t7, $t8
/* 010734 8000FB34 10000013 */ b .L8000FB84
/* 010738 8000FB38 8E590040 */ lw $t9, 0x40($s2)
.L8000FB3C:
/* 01073C 8000FB3C 8E230004 */ lw $v1, 4($s1)
/* 010740 8000FB40 8E48006C */ lw $t0, 0x6c($s2)
/* 010744 8000FB44 00023403 */ sra $a2, $v0, 0x10
/* 010748 8000FB48 00403825 */ move $a3, $v0
/* 01074C 8000FB4C 00037403 */ sra $t6, $v1, 0x10
/* 010750 8000FB50 31CFFFFF */ andi $t7, $t6, 0xffff
/* 010754 8000FB54 00076400 */ sll $t4, $a3, 0x10
/* 010758 8000FB58 30CB00FF */ andi $t3, $a2, 0xff
/* 01075C 8000FB5C 30AA00FF */ andi $t2, $a1, 0xff
/* 010760 8000FB60 3078FFFF */ andi $t8, $v1, 0xffff
/* 010764 8000FB64 AFB80014 */ sw $t8, 0x14($sp)
/* 010768 8000FB68 01402825 */ move $a1, $t2
/* 01076C 8000FB6C 01603025 */ move $a2, $t3
/* 010770 8000FB70 000C3C03 */ sra $a3, $t4, 0x10
/* 010774 8000FB74 AFAF0010 */ sw $t7, 0x10($sp)
/* 010778 8000FB78 0C02BCA7 */ jal func_800AF29C
/* 01077C 8000FB7C 01092021 */ addu $a0, $t0, $t1
/* 010780 8000FB80 8E590040 */ lw $t9, 0x40($s2)
.L8000FB84:
/* 010784 8000FB84 26100001 */ addiu $s0, $s0, 1
/* 010788 8000FB88 83230057 */ lb $v1, 0x57($t9)
/* 01078C 8000FB8C 26310008 */ addiu $s1, $s1, 8
/* 010790 8000FB90 0203082A */ slt $at, $s0, $v1
/* 010794 8000FB94 1420FFDA */ bnez $at, .L8000FB00
/* 010798 8000FB98 00000000 */ nop
.L8000FB9C:
/* 01079C 8000FB9C 00031140 */ sll $v0, $v1, 5
/* 0107A0 8000FBA0 8FBF002C */ lw $ra, 0x2c($sp)
/* 0107A4 8000FBA4 24420003 */ addiu $v0, $v0, 3
/* 0107A8 8000FBA8 2401FFFC */ li $at, -4
/* 0107AC 8000FBAC 00414024 */ and $t0, $v0, $at
/* 0107B0 8000FBB0 8FB0001C */ lw $s0, 0x1c($sp)
/* 0107B4 8000FBB4 8FB10020 */ lw $s1, 0x20($sp)
/* 0107B8 8000FBB8 8FB20024 */ lw $s2, 0x24($sp)
/* 0107BC 8000FBBC 8FB30028 */ lw $s3, 0x28($sp)
/* 0107C0 8000FBC0 27BD0030 */ addiu $sp, $sp, 0x30
/* 0107C4 8000FBC4 03E00008 */ jr $ra
/* 0107C8 8000FBC8 01001025 */ move $v0, $t0
-33
View File
@@ -1,33 +0,0 @@
glabel func_8001790C
/* 01850C 8001790C 3C068012 */ lui $a2, %hi(D_8011AFF4) # $a2, 0x8012
/* 018510 80017910 8CC6AFF4 */ lw $a2, %lo(D_8011AFF4)($a2)
/* 018514 80017914 00001025 */ move $v0, $zero
/* 018518 80017918 00027180 */ sll $t6, $v0, 6
.L8001791C:
/* 01851C 8001791C 01C61821 */ addu $v1, $t6, $a2
/* 018520 80017920 8C6F0000 */ lw $t7, ($v1)
/* 018524 80017924 24420001 */ addiu $v0, $v0, 1
/* 018528 80017928 11E0000C */ beqz $t7, .L8001795C
/* 01852C 8001792C 00024400 */ sll $t0, $v0, 0x10
/* 018530 80017930 8C780004 */ lw $t8, 4($v1)
/* 018534 80017934 00000000 */ nop
/* 018538 80017938 14980008 */ bne $a0, $t8, .L8001795C
/* 01853C 8001793C 00000000 */ nop
/* 018540 80017940 8C790008 */ lw $t9, 8($v1)
/* 018544 80017944 00000000 */ nop
/* 018548 80017948 14B90005 */ bne $a1, $t9, .L80017960
/* 01854C 8001794C 00081403 */ sra $v0, $t0, 0x10
/* 018550 80017950 AC600000 */ sw $zero, ($v1)
/* 018554 80017954 03E00008 */ jr $ra
/* 018558 80017958 00601025 */ move $v0, $v1
.L8001795C:
/* 01855C 8001795C 00081403 */ sra $v0, $t0, 0x10
.L80017960:
/* 018560 80017960 28410010 */ slti $at, $v0, 0x10
/* 018564 80017964 1420FFED */ bnez $at, .L8001791C
/* 018568 80017968 00027180 */ sll $t6, $v0, 6
/* 01856C 8001796C 00001025 */ move $v0, $zero
/* 018570 80017970 03E00008 */ jr $ra
/* 018574 80017974 00000000 */ nop
-27
View File
@@ -1,27 +0,0 @@
glabel func_80017978
/* 018578 80017978 3C068012 */ lui $a2, %hi(D_8011AFF4) # $a2, 0x8012
/* 01857C 8001797C 8CC6AFF4 */ lw $a2, %lo(D_8011AFF4)($a2)
/* 018580 80017980 00001025 */ move $v0, $zero
/* 018584 80017984 00027180 */ sll $t6, $v0, 6
.L80017988:
/* 018588 80017988 01C61821 */ addu $v1, $t6, $a2
/* 01858C 8001798C 8C6F0000 */ lw $t7, ($v1)
/* 018590 80017990 24420001 */ addiu $v0, $v0, 1
/* 018594 80017994 15E00007 */ bnez $t7, .L800179B4
/* 018598 80017998 0002CC00 */ sll $t9, $v0, 0x10
/* 01859C 8001799C 24180002 */ li $t8, 2
/* 0185A0 800179A0 AC640004 */ sw $a0, 4($v1)
/* 0185A4 800179A4 AC650008 */ sw $a1, 8($v1)
/* 0185A8 800179A8 AC780000 */ sw $t8, ($v1)
/* 0185AC 800179AC 03E00008 */ jr $ra
/* 0185B0 800179B0 00601025 */ move $v0, $v1
.L800179B4:
/* 0185B4 800179B4 00191403 */ sra $v0, $t9, 0x10
/* 0185B8 800179B8 28410010 */ slti $at, $v0, 0x10
/* 0185BC 800179BC 1420FFF2 */ bnez $at, .L80017988
/* 0185C0 800179C0 00027180 */ sll $t6, $v0, 6
/* 0185C4 800179C4 00001025 */ move $v0, $zero
/* 0185C8 800179C8 03E00008 */ jr $ra
/* 0185CC 800179CC 00000000 */ nop
-41
View File
@@ -1,41 +0,0 @@
glabel func_8001B7A8
/* 01C3A8 8001B7A8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 01C3AC 8001B7AC AFBF0014 */ sw $ra, 0x14($sp)
/* 01C3B0 8001B7B0 AFA60028 */ sw $a2, 0x28($sp)
/* 01C3B4 8001B7B4 848E01AA */ lh $t6, 0x1aa($a0)
/* 01C3B8 8001B7B8 3C0F8012 */ lui $t7, %hi(gObjectCount) # $t7, 0x8012
/* 01C3BC 8001B7BC 01C52823 */ subu $a1, $t6, $a1
/* 01C3C0 8001B7C0 24A5FFFF */ addiu $a1, $a1, -1
/* 01C3C4 8001B7C4 04A00006 */ bltz $a1, .L8001B7E0
/* 01C3C8 8001B7C8 00000000 */ nop
/* 01C3CC 8001B7CC 8DEFAEF0 */ lw $t7, %lo(gObjectCount)($t7)
/* 01C3D0 8001B7D0 3C188012 */ lui $t8, %hi(D_8011AEE8) # $t8, 0x8012
/* 01C3D4 8001B7D4 00AF082A */ slt $at, $a1, $t7
/* 01C3D8 8001B7D8 14200003 */ bnez $at, .L8001B7E8
/* 01C3DC 8001B7DC 00000000 */ nop
.L8001B7E0:
/* 01C3E0 8001B7E0 10000010 */ b .L8001B824
/* 01C3E4 8001B7E4 00001025 */ move $v0, $zero
.L8001B7E8:
/* 01C3E8 8001B7E8 8F18AEE8 */ lw $t8, %lo(D_8011AEE8)($t8)
/* 01C3EC 8001B7EC 0005C880 */ sll $t9, $a1, 2
/* 01C3F0 8001B7F0 03194021 */ addu $t0, $t8, $t9
/* 01C3F4 8001B7F4 8D030000 */ lw $v1, ($t0)
/* 01C3F8 8001B7F8 00000000 */ nop
/* 01C3FC 8001B7FC 14600003 */ bnez $v1, .L8001B80C
/* 01C400 8001B800 00000000 */ nop
/* 01C404 8001B804 10000007 */ b .L8001B824
/* 01C408 8001B808 00001025 */ move $v0, $zero
.L8001B80C:
/* 01C40C 8001B80C 8C650064 */ lw $a1, 0x64($v1)
/* 01C410 8001B810 0C006E0D */ jal func_8001B834
/* 01C414 8001B814 AFA30018 */ sw $v1, 0x18($sp)
/* 01C418 8001B818 8FA90028 */ lw $t1, 0x28($sp)
/* 01C41C 8001B81C 8FA20018 */ lw $v0, 0x18($sp)
/* 01C420 8001B820 E5200000 */ swc1 $f0, ($t1)
.L8001B824:
/* 01C424 8001B824 8FBF0014 */ lw $ra, 0x14($sp)
/* 01C428 8001B828 27BD0020 */ addiu $sp, $sp, 0x20
/* 01C42C 8001B82C 03E00008 */ jr $ra
/* 01C430 8001B830 00000000 */ nop
-26
View File
@@ -1,26 +0,0 @@
glabel func_8001BB18
/* 01C718 8001BB18 3C028012 */ lui $v0, %hi(gObjectCount) # $v0, 0x8012
/* 01C71C 8001BB1C 8C42AEF0 */ lw $v0, %lo(gObjectCount)($v0)
/* 01C720 8001BB20 00000000 */ nop
/* 01C724 8001BB24 14400003 */ bnez $v0, .L8001BB34
/* 01C728 8001BB28 00000000 */ nop
/* 01C72C 8001BB2C 03E00008 */ jr $ra
/* 01C730 8001BB30 00001025 */ move $v0, $zero
.L8001BB34:
/* 01C734 8001BB34 04800003 */ bltz $a0, .L8001BB44
/* 01C738 8001BB38 0082082A */ slt $at, $a0, $v0
/* 01C73C 8001BB3C 14200003 */ bnez $at, .L8001BB4C
/* 01C740 8001BB40 3C0E8012 */ lui $t6, %hi(D_8011AEEC) # $t6, 0x8012
.L8001BB44:
/* 01C744 8001BB44 03E00008 */ jr $ra
/* 01C748 8001BB48 00001025 */ move $v0, $zero
.L8001BB4C:
/* 01C74C 8001BB4C 8DCEAEEC */ lw $t6, %lo(D_8011AEEC)($t6)
/* 01C750 8001BB50 00047880 */ sll $t7, $a0, 2
/* 01C754 8001BB54 01CFC021 */ addu $t8, $t6, $t7
/* 01C758 8001BB58 8F020000 */ lw $v0, ($t8)
/* 01C75C 8001BB5C 00000000 */ nop
/* 01C760 8001BB60 03E00008 */ jr $ra
/* 01C764 8001BB64 00000000 */ nop
-38
View File
@@ -1,38 +0,0 @@
.late_rodata
glabel D_800E5640
.float -20000.0
.text
glabel func_8001C418
/* 01D018 8001C418 3C01800E */ lui $at, %hi(D_800E5640) # $at, 0x800e
/* 01D01C 8001C41C 3C048012 */ lui $a0, %hi(D_8011AF18) # $a0, 0x8012
/* 01D020 8001C420 C4225640 */ lwc1 $f2, %lo(D_800E5640)($at)
/* 01D024 8001C424 00001025 */ move $v0, $zero
/* 01D028 8001C428 00001825 */ move $v1, $zero
/* 01D02C 8001C42C 2484AF18 */ addiu $a0, %lo(D_8011AF18) # addiu $a0, $a0, -0x50e8
/* 01D030 8001C430 00027080 */ sll $t6, $v0, 2
.L8001C434:
/* 01D034 8001C434 008E7821 */ addu $t7, $a0, $t6
/* 01D038 8001C438 C5E00000 */ lwc1 $f0, ($t7)
/* 01D03C 8001C43C 00000000 */ nop
/* 01D040 8001C440 46001032 */ c.eq.s $f2, $f0
/* 01D044 8001C444 00000000 */ nop
/* 01D048 8001C448 45010008 */ bc1t .L8001C46C
/* 01D04C 8001C44C 00000000 */ nop
/* 01D050 8001C450 460C003C */ c.lt.s $f0, $f12
/* 01D054 8001C454 00000000 */ nop
/* 01D058 8001C458 45000004 */ bc1f .L8001C46C
/* 01D05C 8001C45C 00000000 */ nop
/* 01D060 8001C460 00021C00 */ sll $v1, $v0, 0x10
/* 01D064 8001C464 0003C403 */ sra $t8, $v1, 0x10
/* 01D068 8001C468 03001825 */ move $v1, $t8
.L8001C46C:
/* 01D06C 8001C46C 24420001 */ addiu $v0, $v0, 1
/* 01D070 8001C470 0002CC00 */ sll $t9, $v0, 0x10
/* 01D074 8001C474 00191403 */ sra $v0, $t9, 0x10
/* 01D078 8001C478 28410004 */ slti $at, $v0, 4
/* 01D07C 8001C47C 1420FFED */ bnez $at, .L8001C434
/* 01D080 8001C480 00027080 */ sll $t6, $v0, 2
/* 01D084 8001C484 03E00008 */ jr $ra
/* 01D088 8001C488 00601025 */ move $v0, $v1
-49
View File
@@ -1,49 +0,0 @@
glabel func_8001C48C
/* 01D08C 8001C48C 3C058012 */ lui $a1, %hi(D_8011AF04) # $a1, 0x8012
/* 01D090 8001C490 8CA5AF04 */ lw $a1, %lo(D_8011AF04)($a1)
/* 01D094 8001C494 00001825 */ move $v1, $zero
/* 01D098 8001C498 24020080 */ li $v0, 128
.L8001C49C:
/* 01D09C 8001C49C 8CAE0000 */ lw $t6, ($a1)
/* 01D0A0 8001C4A0 00000000 */ nop
/* 01D0A4 8001C4A4 15C00004 */ bnez $t6, .L8001C4B8
/* 01D0A8 8001C4A8 00000000 */ nop
/* 01D0AC 8001C4AC ACA40000 */ sw $a0, ($a1)
/* 01D0B0 8001C4B0 03E00008 */ jr $ra
/* 01D0B4 8001C4B4 00601025 */ move $v0, $v1
.L8001C4B8:
/* 01D0B8 8001C4B8 8CAF0004 */ lw $t7, 4($a1)
/* 01D0BC 8001C4BC 00000000 */ nop
/* 01D0C0 8001C4C0 15E00004 */ bnez $t7, .L8001C4D4
/* 01D0C4 8001C4C4 00000000 */ nop
/* 01D0C8 8001C4C8 ACA40004 */ sw $a0, 4($a1)
/* 01D0CC 8001C4CC 03E00008 */ jr $ra
/* 01D0D0 8001C4D0 24620001 */ addiu $v0, $v1, 1
.L8001C4D4:
/* 01D0D4 8001C4D4 8CB80008 */ lw $t8, 8($a1)
/* 01D0D8 8001C4D8 00000000 */ nop
/* 01D0DC 8001C4DC 17000004 */ bnez $t8, .L8001C4F0
/* 01D0E0 8001C4E0 00000000 */ nop
/* 01D0E4 8001C4E4 ACA40008 */ sw $a0, 8($a1)
/* 01D0E8 8001C4E8 03E00008 */ jr $ra
/* 01D0EC 8001C4EC 24620002 */ addiu $v0, $v1, 2
.L8001C4F0:
/* 01D0F0 8001C4F0 8CB9000C */ lw $t9, 0xc($a1)
/* 01D0F4 8001C4F4 00000000 */ nop
/* 01D0F8 8001C4F8 17200004 */ bnez $t9, .L8001C50C
/* 01D0FC 8001C4FC 00000000 */ nop
/* 01D100 8001C500 ACA4000C */ sw $a0, 0xc($a1)
/* 01D104 8001C504 03E00008 */ jr $ra
/* 01D108 8001C508 24620003 */ addiu $v0, $v1, 3
.L8001C50C:
/* 01D10C 8001C50C 24630004 */ addiu $v1, $v1, 4
/* 01D110 8001C510 1462FFE2 */ bne $v1, $v0, .L8001C49C
/* 01D114 8001C514 24A50010 */ addiu $a1, $a1, 0x10
/* 01D118 8001C518 2402FFFF */ li $v0, -1
/* 01D11C 8001C51C 03E00008 */ jr $ra
/* 01D120 8001C520 00000000 */ nop
-19
View File
@@ -1,19 +0,0 @@
glabel func_8001D258
/* 01DE58 8001D258 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 01DE5C 8001D25C AFA60028 */ sw $a2, 0x28($sp)
/* 01DE60 8001D260 AFA7002C */ sw $a3, 0x2c($sp)
/* 01DE64 8001D264 87AE002E */ lh $t6, 0x2e($sp)
/* 01DE68 8001D268 87AF0032 */ lh $t7, 0x32($sp)
/* 01DE6C 8001D26C 87A7002A */ lh $a3, 0x2a($sp)
/* 01DE70 8001D270 AFBF001C */ sw $ra, 0x1c($sp)
/* 01DE74 8001D274 44067000 */ mfc1 $a2, $f14
/* 01DE78 8001D278 3C048012 */ lui $a0, %hi(D_8011AF30) # $a0, 0x8012
/* 01DE7C 8001D27C 44056000 */ mfc1 $a1, $f12
/* 01DE80 8001D280 2484AF30 */ addiu $a0, %lo(D_8011AF30) # addiu $a0, $a0, -0x50d0
/* 01DE84 8001D284 AFAE0010 */ sw $t6, 0x10($sp)
/* 01DE88 8001D288 0C00752D */ jal func_8001D4B4
/* 01DE8C 8001D28C AFAF0014 */ sw $t7, 0x14($sp)
/* 01DE90 8001D290 8FBF001C */ lw $ra, 0x1c($sp)
/* 01DE94 8001D294 27BD0020 */ addiu $sp, $sp, 0x20
/* 01DE98 8001D298 03E00008 */ jr $ra
/* 01DE9C 8001D29C 00000000 */ nop
-32
View File
@@ -1,32 +0,0 @@
glabel func_8001F3EC
/* 01FFEC 8001F3EC 3C028012 */ lui $v0, %hi(D_8011AE78) # $v0, 0x8012
/* 01FFF0 8001F3F0 8442AE78 */ lh $v0, %lo(D_8011AE78)($v0)
/* 01FFF4 8001F3F4 00802825 */ move $a1, $a0
/* 01FFF8 8001F3F8 14400003 */ bnez $v0, .L8001F408
/* 01FFFC 8001F3FC 00000000 */ nop
/* 020000 8001F400 03E00008 */ jr $ra
/* 020004 8001F404 2402FFFF */ li $v0, -1
.L8001F408:
/* 020008 8001F408 1840000E */ blez $v0, .L8001F444
/* 02000C 8001F40C 00001825 */ move $v1, $zero
/* 020010 8001F410 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012
/* 020014 8001F414 8CC6AE74 */ lw $a2, %lo(D_8011AE74)($a2)
/* 020018 8001F418 00002025 */ move $a0, $zero
/* 02001C 8001F41C 00023880 */ sll $a3, $v0, 2
.L8001F420:
/* 020020 8001F420 8CCE0000 */ lw $t6, ($a2)
/* 020024 8001F424 24840004 */ addiu $a0, $a0, 4
/* 020028 8001F428 8DCF007C */ lw $t7, 0x7c($t6)
/* 02002C 8001F42C 0087082A */ slt $at, $a0, $a3
/* 020030 8001F430 14AF0002 */ bne $a1, $t7, .L8001F43C
/* 020034 8001F434 00000000 */ nop
/* 020038 8001F438 24630001 */ addiu $v1, $v1, 1
.L8001F43C:
/* 02003C 8001F43C 1420FFF8 */ bnez $at, .L8001F420
/* 020040 8001F440 24C60004 */ addiu $a2, $a2, 4
.L8001F444:
/* 020044 8001F444 00601025 */ move $v0, $v1
/* 020048 8001F448 03E00008 */ jr $ra
/* 02004C 8001F44C 00000000 */ nop
-12
View File
@@ -1,12 +0,0 @@
glabel func_800228B0
/* 0234B0 800228B0 00057080 */ sll $t6, $a1, 2
/* 0234B4 800228B4 AFA60008 */ sw $a2, 8($sp)
/* 0234B8 800228B8 008E1021 */ addu $v0, $a0, $t6
/* 0234BC 800228BC C44C0004 */ lwc1 $f12, 4($v0)
/* 0234C0 800228C0 C4440008 */ lwc1 $f4, 8($v0)
/* 0234C4 800228C4 C7A60008 */ lwc1 $f6, 8($sp)
/* 0234C8 800228C8 460C2081 */ sub.s $f2, $f4, $f12
/* 0234CC 800228CC 46061202 */ mul.s $f8, $f2, $f6
/* 0234D0 800228D0 E4E20000 */ swc1 $f2, ($a3)
/* 0234D4 800228D4 03E00008 */ jr $ra
/* 0234D8 800228D8 46086000 */ add.s $f0, $f12, $f8
+27 -3
View File
@@ -477,12 +477,28 @@ typedef enum {
OBJECT_MODEL_TYPE_UNKNOWN4
} ObjectModelType;
typedef struct ObjHeaderParticleEntry {
/* 0x00 */ s32 upper;
/* 0x04 */ s32 lower;
} ObjHeaderParticleEntry;
// Size: 0x18 bytes
typedef struct ObjectHeader24 {
u8 pad0[0x18];
} ObjectHeader24;
typedef struct ObjectHeader {
u8 pad0[0x4];
/* 0x04 */ f32 unk4;
/* 0x08 */ f32 unk8;
/* 0x0C */ f32 scale;
u8 pad10[0x20];
/* 0x10 */ s32 *modelIds;
/* 0x14 */ s32 *vehiclePartIds;
/* 0x18 */ s8 *vehiclePartIndices;
/* 0x1C */ ObjHeaderParticleEntry *objectParticles;
s32 pad20;
/* 0x24 */ ObjectHeader24 *unk24;
u8 pad28[8];
/* 0x30 */ u16 unk30;
/* 0x32 */ s16 unk32;
u8 pad34[9];
@@ -495,7 +511,9 @@ typedef struct ObjectHeader {
/* 0x55 */ s8 numberOfModelIds; // size of array pointed by Object->unk68
u8 pad56;
/* 0x57 */ s8 unk57;
u8 pad58[0x8];
u8 pad58[0x2];
/* 0x5A */ s8 unk5A;
u8 pad5B[0x5];
/* 0x60 */ char internalName[16];
/* 0x70 */ u8 unk70;
/* 0x71 */ u8 unk71;
@@ -1142,6 +1160,11 @@ typedef struct Object_80011AD0 {
/* 0xFC */ u8 unkFC;
} Object_80011AD0;
typedef struct Object_8001B7A8 {
u8 pad0[0x112];
/* 0x112 */ s16 unk112;
} Object_8001B7A8;
typedef struct Object_64 {
union {
Object_LaserGun laser_gun;
@@ -1184,6 +1207,7 @@ typedef struct Object_64 {
Object_TT tt;
Object_Bridge_WhaleRamp bridge_whale_ramp;
Object_80011AD0 obj80011AD0;
Object_8001B7A8 obj8001B7A8;
};
} Object_64;
@@ -1271,7 +1295,7 @@ typedef struct Object {
/* 0x0064 */ Object_64 *unk64; //player + 0x98
/* 0x0068 */ Object_68 **unk68; //player + 0x80
/* 0x006C */ Object_6C *unk6C; //player + 0x370
/* 0x0070 */ u32 unk70;
/* 0x0070 */ u32 *unk70;
/* 0x0074 */ u32 unk74;
+171 -33
View File
@@ -15,6 +15,7 @@
#include "menu.h"
#include "game.h"
#include "racer.h"
#include "particles.h"
/************ .data ************/
@@ -193,7 +194,7 @@ s32 D_8011AE64;
s32 *D_8011AE68;
s32 *D_8011AE6C;
s32 D_8011AE70;
s32 *D_8011AE74;
Object **D_8011AE74;
s16 D_8011AE78;
s16 D_8011AE7A;
s16 D_8011AE7C;
@@ -235,9 +236,12 @@ s32 D_8011AF00;
u32 (*D_8011AF04)[64]; // Not sure about the number of elements
s32 D_8011AF08[2];
s32 D_8011AF10[2];
s32 D_8011AF18[5];
f32 D_8011AF18[4];
s32 D_8011AF28;
s32 D_8011AF2C;
s32 D_8011AF30[12];
s32 D_8011AF30;
s32 D_8011AF34;
s32 D_8011AF38[10];
s32 D_8011AF60[2];
s32 D_8011AF68[32];
s32 D_8011AFE8;
@@ -325,7 +329,7 @@ void func_8000BF8C(void) {
D_8011AE68 = (s32 *)new_sub_memory_pool(0x15800, 0x200);
gParticlePtrList = (Object **)allocate_from_main_pool_safe(0x320, COLOUR_TAG_BLUE);
D_8011AE6C = (s32 *)allocate_from_main_pool_safe(0x50, COLOUR_TAG_BLUE);
D_8011AE74 = (s32 *)allocate_from_main_pool_safe(0x200, COLOUR_TAG_BLUE);
D_8011AE74 = (Object **)allocate_from_main_pool_safe(0x200, COLOUR_TAG_BLUE);
D_8011AECC = (unknown8011AECC *)allocate_from_main_pool_safe(0xE10, COLOUR_TAG_BLUE);
D_8011AEDC = (u32 *)allocate_from_main_pool_safe(0x50, COLOUR_TAG_BLUE);
gObjectStructArrayPtr = (Object *)allocate_from_main_pool_safe(0x28, COLOUR_TAG_BLUE);
@@ -496,20 +500,13 @@ void func_8000CBC0(void) {
}
}
#ifdef NON_EQUIVALENT
void func_8000CBF0(Object *arg0, s32 arg1) {
u32 **temp = &D_8011AE08[arg1];
u32 *temp2;
temp2 = *temp;
if (temp2 != NULL) {
return; // I can't get this second return to appear.
if (D_8011AE08[arg1] == NULL) {
D_8011AE08[arg1] = arg0;
} else {
if(D_8011AE08[arg1]){}
}
D_8011AE08[arg1] = arg0;
return;
}
#else
GLOBAL_ASM("asm/non_matchings/objects/func_8000CBF0.s")
#endif
s32 func_8000CC20(u32 *arg0) {
s32 i;
@@ -693,7 +690,26 @@ u8 func_8000E4D8(void) {
}
GLOBAL_ASM("asm/non_matchings/objects/func_8000E4E8.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8000E558.s")
s32 func_8000E558(Object *arg0){
s32 temp_v0;
s32 new_var, new_var2;
if (arg0->segment.unk3C_a.unk3C == 0) {
return TRUE;
}
temp_v0 = arg0->segment.unk3C_a.unk3C;
new_var2 = D_8011AE98[0];
if ((temp_v0 >= new_var2) && (((D_8011AEA0 * 8) + new_var2) >= temp_v0)) {
return FALSE;
}
new_var = D_8011AE98[1];
// Why even bother with this check?
if (temp_v0 >= new_var && temp_v0 <= ((D_8011AEA4 * 8) + new_var)) {
return TRUE;
}
return TRUE;
}
GLOBAL_ASM("asm/non_matchings/objects/func_8000E5EC.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8000E79C.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8000E898.s")
@@ -731,10 +747,39 @@ void func_8000E9D0(Object *arg0) {
GLOBAL_ASM("asm/non_matchings/objects/spawn_object.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8000F648.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8000F758.s")
void func_8000F758(Object *obj) {
s32 i;
for(i = 0; i < obj->segment.header->unk5A; i++) {
obj->unk70[i] = func_80031F88(obj, &obj->segment.header->unk24[i]);
}
}
GLOBAL_ASM("asm/non_matchings/objects/func_8000F7EC.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8000F99C.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8000FAC4.s")
s32 func_8000FAC4(Object *obj, s32 arg1) {
ObjHeaderParticleEntry *particleDataEntry;
s32 i;
obj->unk6C = arg1;
particleDataEntry = obj->segment.header->objectParticles;
for(i = 0; i < obj->segment.header->unk57; i++) {
if ((particleDataEntry[i].upper & 0xFFFF0000) == 0xFFFF0000) {
func_800AF1E0(&obj->unk6C[i], (particleDataEntry[i].upper >> 8) & 0xFF, particleDataEntry[i].upper & 0xFF);
} else {
func_800AF29C(&obj->unk6C[i],
(particleDataEntry[i].upper >> 0x18) & 0xFF,
(particleDataEntry[i].upper >> 0x10) & 0xFF,
particleDataEntry[i].upper & 0xFFFF,
(particleDataEntry[i].lower >> 0x10) & 0xFFFF,
particleDataEntry[i].lower & 0xFFFF
);
}
}
return ((obj->segment.header->unk57 << 5) + 3) & ~3;
}
GLOBAL_ASM("asm/non_matchings/objects/func_8000FBCC.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8000FC6C.s")
@@ -1039,9 +1084,36 @@ GLOBAL_ASM("asm/non_matchings/objects/func_80016C68.s")
GLOBAL_ASM("asm/non_matchings/objects/func_80016DE8.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001709C.s")
GLOBAL_ASM("asm/non_matchings/objects/func_80017248.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001790C.s")
GLOBAL_ASM("asm/non_matchings/objects/func_80017978.s")
unk800179D0 *func_8001790C(u32 *arg0, u32 *arg1) {
unk800179D0 *entry;
s16 i;
for(i = 0; i < 16; i++) {
entry = &D_8011AFF4[i];
if (entry->unk0 != 0 && entry->unk04 == arg0 && entry->unk08 == arg1) {
entry->unk0 = 0;
return entry;
}
}
return NULL;
}
unk800179D0 *func_80017978(s32 arg0, s32 arg1) {
unk800179D0 *entry;
s16 i;
for(i = 0; i < 16; i++) {
entry = &D_8011AFF4[i];
if (entry->unk0 == 0) {
entry->unk04 = arg0;
entry->unk08 = arg1;
entry->unk0 = 2;
return entry;
}
}
return NULL;
}
u32 func_800179D0(void) {
s16 i = 0;
@@ -1150,7 +1222,25 @@ void func_8001B790(void) {
D_800DC730 = 0;
}
GLOBAL_ASM("asm/non_matchings/objects/func_8001B7A8.s")
f32 func_8001B834(Object *arg0, s32);
Object *func_8001B7A8(Object *arg0, s32 arg1, f32 *arg2) {
s32 temp;
Object *temp_v1;
arg1 = (arg0->obj.obj8001B7A8.unk112 - arg1) - 1;
if ((arg1 < 0) || (arg1 >= gObjectCount)) {
return NULL;
}
temp_v1 = D_8011AEE8[arg1];
if (temp_v1 == NULL) {
return NULL;
}
*arg2 = func_8001B834(arg0, temp_v1->unk64);
return temp_v1;
}
//GLOBAL_ASM("asm/non_matchings/objects/func_8001B7A8.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001B834.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001B974.s")
@@ -1196,7 +1286,17 @@ Object *get_object_struct(s32 indx) {
return (*gObjectStructArrayPtr)[indx];
}
GLOBAL_ASM("asm/non_matchings/objects/func_8001BB18.s")
s32 func_8001BB18(s32 arg0) {
s32 temp_v0 = gObjectCount;
if (temp_v0 == 0) {
return 0;
}
if ((arg0 < 0) || (arg0 >= temp_v0)) {
return 0;
}
return D_8011AEEC[arg0];
}
GLOBAL_ASM("asm/non_matchings/objects/func_8001BB68.s")
UNUSED void func_8001BC40(UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
@@ -1213,8 +1313,29 @@ u32 func_8001BD94(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/objects/func_8001BDD4.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001BF20.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001C418.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001C48C.s")
s16 func_8001C418(f32 arg0) {
s16 i = 0;
s16 out = 0;
for(; i < 4; i++) {
if ((D_8011AF18[i] != -20000.0f) && (D_8011AF18[i] < arg0)) {
out = i;
}
}
return out;
}
s32 func_8001C48C(s32 arg0) {
s32 i;
for(i = 0; i < 128; i++) {
if ((*D_8011AF04)[i] == 0) {
(*D_8011AF04)[i] = arg0;
return i;
}
}
return -1;
}
GLOBAL_ASM("asm/non_matchings/objects/func_8001C524.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001C6C4.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001CC48.s")
@@ -1246,7 +1367,10 @@ u32 func_8001D214(s32 arg0) {
UNUSED void func_8001D23C(UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2) {
}
GLOBAL_ASM("asm/non_matchings/objects/func_8001D258.s")
void func_8001D258(f32 arg0, f32 arg1, s16 arg2, s16 arg3, s16 arg4) {
func_8001D4B4(&D_8011AF30, arg0, arg1, arg2, arg3, arg4);
}
GLOBAL_ASM("asm/non_matchings/objects/func_8001D2A0.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001D4B4.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001D5E0.s")
@@ -1379,7 +1503,22 @@ void func_8001F3C8(s32 arg0) {
D_8011ADD4 = arg0;
}
GLOBAL_ASM("asm/non_matchings/objects/func_8001F3EC.s")
s32 func_8001F3EC(s32 arg0){
s32 i;
s32 count;
if (D_8011AE78 == 0) {
return -1;
}
count = 0;
for (i = 0; i < D_8011AE78; i++) {
if (D_8011AE74[i]->unk7C.word == arg0){
count++;
}
}
return count;
}
void func_8001F450(void) {
D_8011AD53 = 1;
@@ -1414,19 +1553,18 @@ f32 lerp(f32 *arg0, u32 arg1, f32 arg2) {
return result;
}
#ifdef NON_EQUIVALENT
f32 func_800228B0(f32 *arg0, u32 arg1, f32 arg2, f32 *arg3) {
f32 new_var2;
f32 temp_f12;
f32 new_var;
f32 temp_f2;
// regalloc issues
temp_f2 = (arg0[arg1 + 2] - arg0[arg1 + 1]) * arg2;
new_var = arg0[arg1 + 2] - arg0[arg1 + 1];
temp_f2 = new_var * arg2;
temp_f12 = arg0[arg1 + 1];
new_var2 = temp_f12 + temp_f2;
*arg3 = arg0[arg1 + 2] - arg0[arg1 + 1];
return temp_f12 + temp_f2;
return new_var2;
}
#else
GLOBAL_ASM("asm/non_matchings/objects/func_800228B0.s")
#endif
UNUSED void func_800228DC(UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2) {
}
+3 -1
View File
@@ -194,6 +194,8 @@ void func_8001D1BC(s32 arg0);
u32 func_8001D1E4(s32 *arg0);
u32 func_8001D214(s32 arg0);
void func_8001D23C(s32 arg0, s32 arg1, s32 arg2);
void func_8001D258(f32 arg0, f32 arg1, s16 arg2, s16 arg3, s16 arg4);
void func_8001D4B4(s32*, f32, f32, s16, s16, s16);
void calc_dyn_light_and_env_map_for_object(ObjectModel *model, Object *object, s32 arg2, f32 arg3);
s32 *get_misc_asset(s32 index);
s32 func_8001E2EC(s32 arg0);
@@ -222,12 +224,12 @@ s16 *func_80024594(s32 *arg0, s32 *arg1);
void func_800245B4(s16 arg0);
void func_80012E28(Object *this);
f32 catmull_rom_interpolation(f32*, s32, f32);
s32 func_80031F88(Object*, s32);
//Non Matching
void calc_dynamic_lighting_for_object_1(Object *, ObjectModel *, s16, Object *, f32, f32);
void calc_dynamic_lighting_for_object_2(Object *, ObjectModel *, s16, f32);
void gParticlePtrList_flush(void);
void func_8001D258(f32, f32, s32, s32, s32);
void decrypt_magic_codes(u8 *arg0, s32 length);
void func_80011960(Object*, s32, u32, Object_64*, u32, u32, u32, u32, f32);
void func_80011AD0(Object *this);