Decompile dtSetUpPlayer

This commit is contained in:
Ryan Dwyer
2020-04-10 19:17:33 +10:00
parent 068a52ec1f
commit b67ed7c291
3 changed files with 31 additions and 68 deletions
+28 -65
View File
@@ -5810,70 +5810,33 @@ struct trainingdata *getDeviceTrainingData(void)
return &g_DeviceTrainingData;
}
GLOBAL_ASM(
glabel func0f1a1824
/* f1a1824: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a1828: afbf0014 */ sw $ra,0x14($sp)
/* f1a182c: 0fc2a4ab */ jal playersSetPassiveMode
/* f1a1830: 24040001 */ addiu $a0,$zero,0x1
/* f1a1834: 3c04800b */ lui $a0,%hi(g_DeviceTrainingData+0x8)
/* f1a1838: 8c84d1a8 */ lw $a0,%lo(g_DeviceTrainingData+0x8)($a0)
/* f1a183c: 10800003 */ beqz $a0,.L0f1a184c
/* f1a1840: 00000000 */ sll $zero,$zero,0x0
/* f1a1844: 0fc1acd3 */ jal setupParseObjectWithArg2False
/* f1a1848: 24050001 */ addiu $a1,$zero,0x1
.L0f1a184c:
/* f1a184c: 3c01800b */ lui $at,%hi(g_DeviceTrainingData+0x8)
/* f1a1850: 3c048009 */ lui $a0,%hi(var80088ad8)
/* f1a1854: ac20d1a8 */ sw $zero,%lo(g_DeviceTrainingData+0x8)($at)
/* f1a1858: 0fc6875a */ jal func0f1a1d68
/* f1a185c: 90848ad8 */ lbu $a0,%lo(var80088ad8)($a0)
/* f1a1860: 0fc68778 */ jal func0f1a1de0
/* f1a1864: 00402025 */ or $a0,$v0,$zero
/* f1a1868: 24010035 */ addiu $at,$zero,0x35
/* f1a186c: 14410003 */ bne $v0,$at,.L0f1a187c
/* f1a1870: 24040020 */ addiu $a0,$zero,0x20
/* f1a1874: 0fc2a58a */ jal currentPlayerGiveAmmo
/* f1a1878: 00002825 */ or $a1,$zero,$zero
.L0f1a187c:
/* f1a187c: 3c07800a */ lui $a3,%hi(g_Vars)
/* f1a1880: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars)
/* f1a1884: 8cee0284 */ lw $t6,0x284($a3)
/* f1a1888: 8dc30480 */ lw $v1,0x480($t6)
/* f1a188c: 5060001c */ beqzl $v1,.L0f1a1900
/* f1a1890: 8fbf0014 */ lw $ra,0x14($sp)
/* f1a1894: 8c6f0000 */ lw $t7,0x0($v1)
/* f1a1898: 24180001 */ addiu $t8,$zero,0x1
/* f1a189c: 24050001 */ addiu $a1,$zero,0x1
/* f1a18a0: 8de20004 */ lw $v0,0x4($t7)
/* f1a18a4: a0600035 */ sb $zero,0x35($v1)
/* f1a18a8: 8cf90284 */ lw $t9,0x284($a3)
/* f1a18ac: 3406ffff */ dli $a2,0xffff
/* f1a18b0: 8f280480 */ lw $t0,0x480($t9)
/* f1a18b4: a1180034 */ sb $t8,0x34($t0)
/* f1a18b8: 8ce90284 */ lw $t1,0x284($a3)
/* f1a18bc: 8d2a0480 */ lw $t2,0x480($t1)
/* f1a18c0: a1400037 */ sb $zero,0x37($t2)
/* f1a18c4: 8c4b0018 */ lw $t3,0x18($v0)
/* f1a18c8: 356c0400 */ ori $t4,$t3,0x400
/* f1a18cc: ac4c0018 */ sw $t4,0x18($v0)
/* f1a18d0: 8ced0284 */ lw $t5,0x284($a3)
/* f1a18d4: 8dae0480 */ lw $t6,0x480($t5)
/* f1a18d8: 0fc249af */ jal func0f0926bc
/* f1a18dc: 8dc40000 */ lw $a0,0x0($t6)
/* f1a18e0: 3c07800a */ lui $a3,%hi(g_Vars)
/* f1a18e4: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars)
/* f1a18e8: 8ce20284 */ lw $v0,0x284($a3)
/* f1a18ec: 2401fffb */ addiu $at,$zero,-5
/* f1a18f0: 8c4f00c4 */ lw $t7,0xc4($v0)
/* f1a18f4: 01e1c824 */ and $t9,$t7,$at
/* f1a18f8: ac5900c4 */ sw $t9,0xc4($v0)
/* f1a18fc: 8fbf0014 */ lw $ra,0x14($sp)
.L0f1a1900:
/* f1a1900: 27bd0018 */ addiu $sp,$sp,0x18
/* f1a1904: 03e00008 */ jr $ra
/* f1a1908: 00000000 */ sll $zero,$zero,0x0
);
void dtSetUpPlayer(void)
{
playersSetPassiveMode(true);
if (g_DeviceTrainingData.obj) {
setupParseObjectWithArg2False(g_DeviceTrainingData.obj, true);
}
g_DeviceTrainingData.obj = NULL;
if (func0f1a1de0(func0f1a1d68(var80088ad8)) == WEAPON_ECMMINE) {
currentPlayerGiveAmmo(AMMOTYPE_ECM_MINE, 0);
}
if (g_Vars.currentplayer->eyespy) {
struct chrdata *chr = g_Vars.currentplayer->eyespy->prop->chr;
g_Vars.currentplayer->eyespy->initialised = false;
g_Vars.currentplayer->eyespy->init = true;
g_Vars.currentplayer->eyespy->active = false;
chr->chrflags |= CHRCFLAG_HIDDEN;
func0f0926bc(g_Vars.currentplayer->eyespy->prop, 1, 0xffff);
g_Vars.currentplayer->unk00c4 &= ~0x04;
}
}
void dtPushEndscreen(void)
{
@@ -6037,7 +6000,7 @@ glabel func0f1a1bec
/* f1a1bf8: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a1bfc: afbf0014 */ sw $ra,0x14($sp)
/* f1a1c00: 31cfff7f */ andi $t7,$t6,0xff7f
/* f1a1c04: 0fc68609 */ jal func0f1a1824
/* f1a1c04: 0fc68609 */ jal dtSetUpPlayer
/* f1a1c08: a04f0000 */ sb $t7,0x0($v0)
/* f1a1c0c: 24040014 */ addiu $a0,$zero,0x14
/* f1a1c10: 0fc2a58a */ jal currentPlayerGiveAmmo
+2 -2
View File
@@ -75,7 +75,7 @@ u32 func0f1a1714(void);
u32 func0f1a176c(void);
u32 func0f1a17e4(void);
struct trainingdata *getDeviceTrainingData(void);
u32 func0f1a1824(void);
void dtSetUpPlayer(void);
void dtPushEndscreen(void);
void func0f1a1998(void);
u32 func0f1a1ac0(void);
@@ -84,7 +84,7 @@ u32 func0f1a1bec(void);
u32 func0f1a1c98(void);
u32 func0f1a1d10(void);
u32 func0f1a1d68(u32 arg0);
u32 func0f1a1de0(void);
u32 func0f1a1de0(u32 arg0);
u32 ciGetStageFlagByDeviceIndex(u32 deviceindex);
u32 func0f1a1e90(void);
u32 func0f1a1f00(void);
+1 -1
View File
@@ -4102,7 +4102,7 @@ struct trainingdata {
u8 holographedpc : 1;
u8 unk01;
s32 timetaken;
u32 unk08;
struct defaultobj *obj;
u32 unk0c;
};