Decompile bodyGetRace

This commit is contained in:
Ryan Dwyer
2020-03-07 13:00:27 +10:00
parent 0d69f6d4a1
commit 681b25cd64
5 changed files with 62 additions and 106 deletions
+1 -1
View File
@@ -30447,7 +30447,7 @@ glabel chrSpawnAtCoord
/* f04b3f0: 8fb90078 */ lw $t9,0x78($sp)
/* f04b3f4: a4790010 */ sh $t9,0x10($v1)
/* f04b3f8: 84640010 */ lh $a0,0x10($v1)
/* f04b3fc: 0fc0b378 */ jal func0f02cde0
/* f04b3fc: 0fc0b378 */ jal bodyGetRace
/* f04b400: afa3004c */ sw $v1,0x4c($sp)
/* f04b404: 8fa3004c */ lw $v1,0x4c($sp)
/* f04b408: 946e0192 */ lhu $t6,0x192($v1)
+1 -1
View File
@@ -162,7 +162,7 @@ glabel var7f1a82b4
/* f014980: a2090006 */ sb $t1,0x6($s0)
/* f014984: 8faa005c */ lw $t2,0x5c($sp)
/* f014988: a60a0010 */ sh $t2,0x10($s0)
/* f01498c: 0fc0b378 */ jal func0f02cde0
/* f01498c: 0fc0b378 */ jal bodyGetRace
/* f014990: 86040010 */ lh $a0,0x10($s0)
/* f014994: 240b0008 */ addiu $t3,$zero,0x8
/* f014998: a20202fe */ sb $v0,0x2fe($s0)
+58 -102
View File
@@ -26,107 +26,23 @@
#include "lib/lib_233c0.h"
#include "types.h"
const u32 var7f1a8990[] = {0x7f02ce04};
const u32 var7f1a8994[] = {0x7f02ce24};
const u32 var7f1a8998[] = {0x7f02ce24};
const u32 var7f1a899c[] = {0x7f02ce24};
const u32 var7f1a89a0[] = {0x7f02ce24};
const u32 var7f1a89a4[] = {0x7f02ce24};
const u32 var7f1a89a8[] = {0x7f02ce24};
const u32 var7f1a89ac[] = {0x7f02ce24};
const u32 var7f1a89b0[] = {0x7f02ce24};
const u32 var7f1a89b4[] = {0x7f02ce24};
const u32 var7f1a89b8[] = {0x7f02ce24};
const u32 var7f1a89bc[] = {0x7f02ce24};
const u32 var7f1a89c0[] = {0x7f02ce24};
const u32 var7f1a89c4[] = {0x7f02ce24};
const u32 var7f1a89c8[] = {0x7f02ce24};
const u32 var7f1a89cc[] = {0x7f02ce0c};
const u32 var7f1a89d0[] = {0x7f02ce14};
const u32 var7f1a89d4[] = {0x7f02ce24};
const u32 var7f1a89d8[] = {0x7f02ce24};
const u32 var7f1a89dc[] = {0x7f02ce24};
const u32 var7f1a89e0[] = {0x7f02ce24};
const u32 var7f1a89e4[] = {0x7f02ce24};
const u32 var7f1a89e8[] = {0x7f02ce24};
const u32 var7f1a89ec[] = {0x7f02ce24};
const u32 var7f1a89f0[] = {0x7f02ce24};
const u32 var7f1a89f4[] = {0x7f02ce24};
const u32 var7f1a89f8[] = {0x7f02ce1c};
const u32 var7f1a89fc[] = {0x7f02ce24};
const u32 var7f1a8a00[] = {0x7f02ce24};
const u32 var7f1a8a04[] = {0x7f02ce24};
const u32 var7f1a8a08[] = {0x7f02ce24};
const u32 var7f1a8a0c[] = {0x7f02ce04};
const u32 var7f1a8a10[] = {0x7f02ce24};
const u32 var7f1a8a14[] = {0x7f02ce24};
const u32 var7f1a8a18[] = {0x7f02ce24};
const u32 var7f1a8a1c[] = {0x7f02ce24};
const u32 var7f1a8a20[] = {0x7f02ce24};
const u32 var7f1a8a24[] = {0x7f02ce24};
const u32 var7f1a8a28[] = {0x7f02ce24};
const u32 var7f1a8a2c[] = {0x7f02ce24};
const u32 var7f1a8a30[] = {0x7f02ce24};
const u32 var7f1a8a34[] = {0x7f02ce24};
const u32 var7f1a8a38[] = {0x7f02ce24};
const u32 var7f1a8a3c[] = {0x7f02ce24};
const u32 var7f1a8a40[] = {0x7f02ce24};
const u32 var7f1a8a44[] = {0x7f02ce24};
const u32 var7f1a8a48[] = {0x7f02ce24};
const u32 var7f1a8a4c[] = {0x7f02ce24};
const u32 var7f1a8a50[] = {0x7f02ce24};
const u32 var7f1a8a54[] = {0x7f02ce24};
const u32 var7f1a8a58[] = {0x7f02ce24};
const u32 var7f1a8a5c[] = {0x7f02ce24};
const u32 var7f1a8a60[] = {0x7f02ce24};
const u32 var7f1a8a64[] = {0x7f02ce24};
const u32 var7f1a8a68[] = {0x7f02ce24};
const u32 var7f1a8a6c[] = {0x7f02ce04};
const u32 var7f1a8a70[] = {0x3dccccce};
const u32 var7f1a8a74[] = {0x3f4ccccd};
const u32 var7f1a8a78[] = {0x3d4ccccd};
const u32 var7f1a8a7c[] = {0x3ecccccd};
const u32 var7f1a8a80[] = {0x3ecccccd};
const u32 var7f1a8a84[] = {0x3dcccccd};
const u32 var7f1a8a88[] = {0x7f02de50};
const u32 var7f1a8a8c[] = {0x7f02de40};
const u32 var7f1a8a90[] = {0x7f02de68};
const u32 var7f1a8a94[] = {0x7f02de48};
const u32 var7f1a8a98[] = {0x7f02de60};
const u32 var7f1a8a9c[] = {0x7f02de58};
const u32 var7f1a8aa0[] = {0x7f02de94};
const u32 var7f1a8aa4[] = {0x7f02dea8};
const u32 var7f1a8aa8[] = {0x7f02dea4};
const u32 var7f1a8aac[] = {0x7f02de8c};
const u32 var7f1a8ab0[] = {0x7f02de9c};
const u32 var7f1a8ab4[] = {0x7f02dea8};
const u32 var7f1a8ab8[] = {0x00000000};
const u32 var7f1a8abc[] = {0x00000000};
u32 bodyGetRace(u32 bodynum)
{
switch (bodynum) {
case BODY_SKEDAR:
case BODY_MINISKEDAR:
case BODY_SKEDARKING:
return RACE_SKEDAR;
case BODY_DRCAROLL:
return RACE_DRCAROLL;
case BODY_EYESPY:
return RACE_EYESPY;
case BODY_CHICROB:
return RACE_ROBOT;
}
GLOBAL_ASM(
glabel func0f02cde0
/* f02cde0: 248effa4 */ addiu $t6,$a0,-92
/* f02cde4: 2dc10038 */ sltiu $at,$t6,0x38
/* f02cde8: 1020000e */ beqz $at,.L0f02ce24
/* f02cdec: 000e7080 */ sll $t6,$t6,0x2
/* f02cdf0: 3c017f1b */ lui $at,%hi(var7f1a8990)
/* f02cdf4: 002e0821 */ addu $at,$at,$t6
/* f02cdf8: 8c2e8990 */ lw $t6,%lo(var7f1a8990)($at)
/* f02cdfc: 01c00008 */ jr $t6
/* f02ce00: 00000000 */ sll $zero,$zero,0x0
/* f02ce04: 03e00008 */ jr $ra
/* f02ce08: 24020001 */ addiu $v0,$zero,0x1
/* f02ce0c: 03e00008 */ jr $ra
/* f02ce10: 24020002 */ addiu $v0,$zero,0x2
/* f02ce14: 03e00008 */ jr $ra
/* f02ce18: 24020003 */ addiu $v0,$zero,0x3
/* f02ce1c: 03e00008 */ jr $ra
/* f02ce20: 24020004 */ addiu $v0,$zero,0x4
.L0f02ce24:
/* f02ce24: 00001025 */ or $v0,$zero,$zero
/* f02ce28: 03e00008 */ jr $ra
/* f02ce2c: 00000000 */ sll $zero,$zero,0x0
);
return RACE_HUMAN;
}
bool bodyLoad(u32 bodynum)
{
@@ -140,6 +56,20 @@ bool bodyLoad(u32 bodynum)
GLOBAL_ASM(
glabel func0f02ce8c
.late_rodata
glabel var7f1a8a70
.word 0x3dccccce
glabel var7f1a8a74
.word 0x3f4ccccd
glabel var7f1a8a78
.word 0x3d4ccccd
glabel var7f1a8a7c
.word 0x3ecccccd
glabel var7f1a8a80
.word 0x3ecccccd
glabel var7f1a8a84
.word 0x3dcccccd
.text
/* f02ce8c: 00047880 */ sll $t7,$a0,0x2
/* f02ce90: 01e47821 */ addu $t7,$t7,$a0
/* f02ce94: 3c188008 */ lui $t8,%hi(g_Bodies)
@@ -757,7 +687,7 @@ glabel func0f02d4fc
/* f02d7dc: a0c90006 */ sb $t1,0x6($a2)
/* f02d7e0: 8faa004c */ lw $t2,0x4c($sp)
/* f02d7e4: a4ca0010 */ sh $t2,0x10($a2)
/* f02d7e8: 0fc0b378 */ jal func0f02cde0
/* f02d7e8: 0fc0b378 */ jal bodyGetRace
/* f02d7ec: 84c40010 */ lh $a0,0x10($a2)
/* f02d7f0: 8fa6005c */ lw $a2,0x5c($sp)
/* f02d7f4: 3c0e8008 */ lui $t6,0x8008
@@ -1097,7 +1027,7 @@ glabel func0f02dbac
/* f02dcb8: a2000006 */ sb $zero,0x6($s0)
/* f02dcbc: 86040010 */ lh $a0,0x10($s0)
/* f02dcc0: e60000f0 */ swc1 $f0,0xf0($s0)
/* f02dcc4: 0fc0b378 */ jal func0f02cde0
/* f02dcc4: 0fc0b378 */ jal bodyGetRace
/* f02dcc8: e60000dc */ swc1 $f0,0xdc($s0)
/* f02dccc: a20202fe */ sb $v0,0x2fe($s0)
/* f02dcd0: 27ad006c */ addiu $t5,$sp,0x6c
@@ -1165,6 +1095,32 @@ glabel func0f02dbac
GLOBAL_ASM(
glabel func0f02ddbc
.late_rodata
glabel var7f1a8a88
.word 0x7f02de50
glabel var7f1a8a8c
.word 0x7f02de40
glabel var7f1a8a90
.word 0x7f02de68
glabel var7f1a8a94
.word 0x7f02de48
glabel var7f1a8a98
.word 0x7f02de60
glabel var7f1a8a9c
.word 0x7f02de58
glabel var7f1a8aa0
.word 0x7f02de94
glabel var7f1a8aa4
.word 0x7f02dea8
glabel var7f1a8aa8
.word 0x7f02dea4
glabel var7f1a8aac
.word 0x7f02de8c
glabel var7f1a8ab0
.word 0x7f02de9c
glabel var7f1a8ab4
.word 0x7f02dea8
.text
/* f02ddbc: 27bdffb8 */ addiu $sp,$sp,-72
/* f02ddc0: afbf001c */ sw $ra,0x1c($sp)
/* f02ddc4: afb00018 */ sw $s0,0x18($sp)
+1 -1
View File
@@ -3460,7 +3460,7 @@ glabel var7f1ad5b4
/* f0b92b8: a04e0006 */ sb $t6,0x6($v0)
/* f0b92bc: 8fa80068 */ lw $t0,0x68($sp)
/* f0b92c0: a4480010 */ sh $t0,0x10($v0)
/* f0b92c4: 0fc0b378 */ jal func0f02cde0
/* f0b92c4: 0fc0b378 */ jal bodyGetRace
/* f0b92c8: 84440010 */ lh $a0,0x10($v0)
/* f0b92cc: 8fb80110 */ lw $t8,0x110($sp)
/* f0b92d0: 24050014 */ addiu $a1,$zero,0x14
+1 -1
View File
@@ -3,7 +3,7 @@
#include <ultra64.h>
#include "types.h"
u32 func0f02cde0(void);
u32 bodyGetRace(u32 bodynum);
bool bodyLoad(u32 bodynum);
u32 func0f02ce8c(void);
u32 func0f02d338(void);