Decompile scenarioPickUpBriefcase

This commit is contained in:
Ryan Dwyer
2022-01-07 20:26:27 +10:00
parent c2ddf5dc62
commit 7b723f3032
6 changed files with 234 additions and 2108 deletions
+2 -2
View File
@@ -1035,7 +1035,7 @@ u32 botPickupProp(struct prop *prop, struct chrdata *chr)
u32 qty;
if (weapon->weaponnum == WEAPON_BRIEFCASE2) {
result = chrGiveBriefcase(chr, prop);
result = scenarioPickUpBriefcase(chr, prop);
} else if (weapon->weaponnum == WEAPON_DATAUPLINK) {
result = chrGiveUplink(chr, prop);
} else {
@@ -1353,7 +1353,7 @@ glabel var7f1b3480nb
/* f18ab2c: 02402025 */ or $a0,$s2,$zero
/* f18ab30: 54a10006 */ bnel $a1,$at,.NB0f18ab4c
/* f18ab34: 24010036 */ addiu $at,$zero,0x36
/* f18ab38: 0fc60340 */ jal chrGiveBriefcase
/* f18ab38: 0fc60340 */ jal scenarioPickUpBriefcase
/* f18ab3c: 8fa50080 */ lw $a1,0x80($sp)
/* f18ab40: 10000062 */ beqz $zero,.NB0f18accc
/* f18ab44: 8fbf0054 */ lw $ra,0x54($sp)
+213 -2095
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -62713,7 +62713,7 @@ glabel var7f1aae70
/* f088a54: 24010036 */ addiu $at,$zero,0x36
/* f088a58: 8c4a00bc */ lw $t2,0xbc($v0)
/* f088a5c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088a60: 0fc61a26 */ jal chrGiveBriefcase
/* f088a60: 0fc61a26 */ jal scenarioPickUpBriefcase
/* f088a64: 8d440004 */ lw $a0,0x4($t2)
/* f088a68: 10400006 */ beqz $v0,.L0f088a84
/* f088a6c: 00401825 */ or $v1,$v0,$zero
@@ -63360,7 +63360,7 @@ glabel var7f1aae70
/* f088a54: 24010036 */ addiu $at,$zero,0x36
/* f088a58: 8c4a00bc */ lw $t2,0xbc($v0)
/* f088a5c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088a60: 0fc61a26 */ jal chrGiveBriefcase
/* f088a60: 0fc61a26 */ jal scenarioPickUpBriefcase
/* f088a64: 8d440004 */ lw $a0,0x4($t2)
/* f088a68: 10400006 */ beqz $v0,.L0f088a84
/* f088a6c: 00401825 */ or $v1,$v0,$zero
@@ -64007,7 +64007,7 @@ glabel var7f1aae70
/* f088a54: 24010036 */ addiu $at,$zero,0x36
/* f088a58: 8c4a00bc */ lw $t2,0xbc($v0)
/* f088a5c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088a60: 0fc61a26 */ jal chrGiveBriefcase
/* f088a60: 0fc61a26 */ jal scenarioPickUpBriefcase
/* f088a64: 8d440004 */ lw $a0,0x4($t2)
/* f088a68: 10400006 */ beqz $v0,.L0f088a84
/* f088a6c: 00401825 */ or $v1,$v0,$zero
@@ -64490,7 +64490,7 @@ glabel var7f1aae70
//
// if (g_Vars.normmplayerisrunning) {
// if (weapon->weaponnum == WEAPON_BRIEFCASE2) {
// result = chrGiveBriefcase(g_Vars.currentplayer->prop->chr, prop);
// result = scenarioPickUpBriefcase(g_Vars.currentplayer->prop->chr, prop);
//
// if (result) {
// weaponPlayPickupSound(weapon->weaponnum);
+1
View File
@@ -29,6 +29,7 @@
#define CRASH() *(u8 *)0 = 69
#define IS4MB() (g_Is4Mb == true)
#define IS8MB() (g_Is4Mb != true)
#define MPCHR(index) ((index) < 4 ? &g_PlayerConfigsArray[index].base : &g_BotConfigsArray[(index) - 4].base)
#define PLAYERCOUNT() ((g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0) + (g_Vars.players[3] ? 1 : 0))
#define PLAYERCOUNT3012() ((g_Vars.players[3] ? 1 : 0) + (g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0))
#define SECSTOTIME240(secs) (secs * 240)
+1 -1
View File
@@ -112,7 +112,7 @@ void mpPrepareScenario(void);
struct prop *scenarioCreateObj(s32 modelnum, s16 padnum, f32 arg2, u32 flags, u32 flags2, u32 flags3);
void mpCreateScenarioHudmsg(s32 playernum, char *message);
bool mpChrsAreSameTeam(s32 arg0, s32 arg1);
u32 chrGiveBriefcase(struct chrdata *chr, struct prop *prop);
s32 scenarioPickUpBriefcase(struct chrdata *chr, struct prop *prop);
void scenarioReleaseToken(struct chrdata *chr, struct prop *prop);
s32 chrGiveUplink(struct chrdata *chr, struct prop *prop);
void scenarioHtmActivateUplink(struct chrdata *chr, struct prop *prop);
+13 -6
View File
@@ -1717,12 +1717,19 @@ struct weaponobj { // objtype 0x08
/*0x60*/ s8 fadeouttimer60;
/*0x61*/ s8 dualweaponnum;
/**
* timer240 is used for activation of proxy Dragons, grenades and proxy
* mines. It ticks down to 1 where it becomes active, and set to 0 when the
* item should explode.
*/
/*0x62*/ s16 timer240;
union {
/**
* timer240 is used for activation of proxy Dragons, grenades and proxy
* mines. It ticks down to 1 where it becomes active, and set to 0 when the
* item should explode.
*/
/*0x62*/ s16 timer240;
/**
* team is used for MP briefcases (Capture The Case bases).
*/
/*0x62*/ s16 team;
};
/*0x64*/ struct weaponobj *dualweapon; // other weapon when dual wielding
};