Decompile dtEnd

This commit is contained in:
Ryan Dwyer
2020-04-10 20:06:30 +10:00
parent eb8ff4d80d
commit ff2cef63ce
4 changed files with 23 additions and 53 deletions
+18 -51
View File
@@ -5810,7 +5810,7 @@ struct trainingdata *getDeviceTrainingData(void)
return &g_DeviceTrainingData;
}
void dtSetUpPlayer(void)
void dtRestorePlayer(void)
{
playersSetPassiveMode(true);
@@ -5930,61 +5930,28 @@ void dtBegin(void)
{
g_DeviceTrainingData.intraining = true;
g_DeviceTrainingData.timetaken = 0;
chrUnsetStageFlag(NULL, 0x00000004);
chrUnsetStageFlag(NULL, 0x00000008);
chrUnsetStageFlag(NULL, 0x00000010);
chrUnsetStageFlag(NULL, STAGEFLAG_CI_DEVICE_ABORTING);
chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_SUCCESS);
chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE);
chrSetStageFlag(NULL, ciGetStageFlagByDeviceIndex(func0f1a1d68(var80088ad8)));
g_Vars.currentplayer->deadtimer = 1;
playersSetPassiveMode(false);
chrSetStageFlag(NULL, 0x00000001);
chrSetStageFlag(NULL, STAGEFLAG_CI_IN_TRAINING);
}
GLOBAL_ASM(
glabel dtEnd
/* f1a1bec: 3c02800b */ lui $v0,%hi(g_DeviceTrainingData)
/* f1a1bf0: 2442d1a0 */ addiu $v0,$v0,%lo(g_DeviceTrainingData)
/* f1a1bf4: 904e0000 */ lbu $t6,0x0($v0)
/* f1a1bf8: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a1bfc: afbf0014 */ sw $ra,0x14($sp)
/* f1a1c00: 31cfff7f */ andi $t7,$t6,0xff7f
/* f1a1c04: 0fc68609 */ jal dtSetUpPlayer
/* f1a1c08: a04f0000 */ sb $t7,0x0($v0)
/* f1a1c0c: 24040014 */ addiu $a0,$zero,0x14
/* f1a1c10: 0fc2a58a */ jal currentPlayerGiveAmmo
/* f1a1c14: 00002825 */ or $a1,$zero,$zero
/* f1a1c18: 00002025 */ or $a0,$zero,$zero
/* f1a1c1c: 0fc127cb */ jal chrSetStageFlag
/* f1a1c20: 24050004 */ addiu $a1,$zero,0x4
/* f1a1c24: 00002025 */ or $a0,$zero,$zero
/* f1a1c28: 0fc127d2 */ jal chrUnsetStageFlag
/* f1a1c2c: 24050010 */ addiu $a1,$zero,0x10
/* f1a1c30: 3c048009 */ lui $a0,%hi(var80088ad8)
/* f1a1c34: 0fc6875a */ jal func0f1a1d68
/* f1a1c38: 90848ad8 */ lbu $a0,%lo(var80088ad8)($a0)
/* f1a1c3c: 0fc6878e */ jal ciGetStageFlagByDeviceIndex
/* f1a1c40: 00402025 */ or $a0,$v0,$zero
/* f1a1c44: 00002025 */ or $a0,$zero,$zero
/* f1a1c48: 0fc127d2 */ jal chrUnsetStageFlag
/* f1a1c4c: 00402825 */ or $a1,$v0,$zero
/* f1a1c50: 3c18800a */ lui $t8,%hi(g_Vars+0x284)
/* f1a1c54: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8)
/* f1a1c58: 00002025 */ or $a0,$zero,$zero
/* f1a1c5c: 24050001 */ addiu $a1,$zero,0x1
/* f1a1c60: 0fc127d2 */ jal chrUnsetStageFlag
/* f1a1c64: af001c08 */ sw $zero,0x1c08($t8)
/* f1a1c68: 0fc2eda7 */ jal func0f0bb69c
/* f1a1c6c: 00000000 */ sll $zero,$zero,0x0
/* f1a1c70: 3c013f80 */ lui $at,0x3f80
/* f1a1c74: 3c19800a */ lui $t9,%hi(g_Vars+0x284)
/* f1a1c78: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9)
/* f1a1c7c: 44812000 */ mtc1 $at,$f4
/* f1a1c80: 00000000 */ sll $zero,$zero,0x0
/* f1a1c84: e72400dc */ swc1 $f4,0xdc($t9)
/* f1a1c88: 8fbf0014 */ lw $ra,0x14($sp)
/* f1a1c8c: 27bd0018 */ addiu $sp,$sp,0x18
/* f1a1c90: 03e00008 */ jr $ra
/* f1a1c94: 00000000 */ sll $zero,$zero,0x0
);
void dtEnd(void)
{
g_DeviceTrainingData.intraining = false;
dtRestorePlayer();
currentPlayerGiveAmmo(AMMOTYPE_CLOAK, 0);
chrSetStageFlag(NULL, STAGEFLAG_CI_DEVICE_ABORTING);
chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE);
chrUnsetStageFlag(NULL, ciGetStageFlagByDeviceIndex(func0f1a1d68(var80088ad8)));
g_Vars.currentplayer->deadtimer = 0;
chrUnsetStageFlag(NULL, STAGEFLAG_CI_IN_TRAINING);
func0f0bb69c();
g_Vars.currentplayer->bondhealth = 1;
}
GLOBAL_ASM(
glabel func0f1a1c98
+3
View File
@@ -2111,6 +2111,9 @@
#define STAGE_CREDITS 0x5c
#define STAGE_4MBMENU 0x5d
#define STAGEFLAG_CI_IN_TRAINING 0x00000001
#define STAGEFLAG_CI_HOLO_FAILED 0x00000002
#define STAGEFLAG_CI_DEVICE_ABORTING 0x00000004
#define STAGEFLAG_CI_TRIGGER_DEVICE_SUCCESS 0x00000008
#define STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE 0x00000010
#define STAGEFLAG_CI_TRIGGER_UPLINK 0x00000100
+1 -1
View File
@@ -41,7 +41,7 @@ void fadeDraw(Gfx *gdl, u32 r, u32 g, u32 b, f32 frac);
void currentPlayerDrawFade(Gfx *gdl);
u32 func0f0bb42c(void);
u32 func0f0bb5ec(void);
u32 func0f0bb69c(void);
void func0f0bb69c(void);
u32 func0f0bb814(void);
u32 func0f0bbf14(void);
u32 func0f0bbf78(void);
+1 -1
View File
@@ -75,7 +75,7 @@ u32 func0f1a1714(void);
u32 func0f1a176c(void);
u32 func0f1a17e4(void);
struct trainingdata *getDeviceTrainingData(void);
void dtSetUpPlayer(void);
void dtRestorePlayer(void);
void dtPushEndscreen(void);
void dtTick(void);
u32 func0f1a1ac0(void);