Decompile scenarioHtmHighlight
This commit is contained in:
parent
4e4d279775
commit
9a84387242
|
|
@ -10643,7 +10643,7 @@ s32 scenarioHtbRadar(s32 value)
|
|||
return value;
|
||||
}
|
||||
|
||||
bool scenarioHtbCallback24(s32 *displaylist, struct prop *prop)
|
||||
bool scenarioHtbRadar2(s32 *displaylist, struct prop *prop)
|
||||
{
|
||||
if ((g_MpSetup.options & MPOPTION_SHOWONRADAR1) &&
|
||||
g_ScenarioData.htb.token &&
|
||||
|
|
@ -10668,7 +10668,7 @@ bool scenarioHtbCallback24(s32 *displaylist, struct prop *prop)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool scenarioHtbCallback28(struct prop *prop, u32 *colour)
|
||||
bool scenarioHtbHighlight(struct prop *prop, u32 *colour)
|
||||
{
|
||||
if ((g_MpSetup.options & MPOPTION_HIGHLIGHTBRIEFCASE) && prop == g_ScenarioData.htb.token) {
|
||||
colour[0] = 0;
|
||||
|
|
@ -11180,7 +11180,7 @@ s32 scenarioCtcRadar(s32 value)
|
|||
return value;
|
||||
}
|
||||
|
||||
bool scenarioCtcCallback24(s32 *displaylist, struct prop *prop)
|
||||
bool scenarioCtcRadar2(s32 *displaylist, struct prop *prop)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
|
|
@ -11204,7 +11204,7 @@ bool scenarioCtcCallback24(s32 *displaylist, struct prop *prop)
|
|||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel scenarioCtcCallback28
|
||||
glabel scenarioCtcHighlight
|
||||
/* f181764: 90860000 */ lbu $a2,0x0($a0)
|
||||
/* f181768: 8c830004 */ lw $v1,0x4($a0)
|
||||
/* f18176c: 24010001 */ addiu $at,$zero,0x1
|
||||
|
|
@ -11248,7 +11248,7 @@ glabel scenarioCtcCallback28
|
|||
/* f1817fc: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
|
||||
//bool scenarioCtcCallback28(struct prop *prop, u32 *colour)
|
||||
//bool scenarioCtcHighlight(struct prop *prop, u32 *colour)
|
||||
//{
|
||||
// if (prop->type == PROPTYPE_OBJ || prop->type == PROPTYPE_WEAPON || prop->type == PROPTYPE_DOOR) {
|
||||
// if (prop->obj->type == OBJTYPE_WEAPON && prop->weapon->weapon_id == WEAPON_BRIEFCASE2) {
|
||||
|
|
@ -13920,7 +13920,7 @@ glabel scenarioHtmRadar
|
|||
/* f184214: 27bd00a8 */ addiu $sp,$sp,0xa8
|
||||
);
|
||||
|
||||
bool scenarioHtmCallback24(s32 *displaylist, struct prop *prop)
|
||||
bool scenarioHtmRadar2(s32 *displaylist, struct prop *prop)
|
||||
{
|
||||
if ((g_MpSetup.options & MPOPTION_SHOWONRADAR3) && g_ScenarioData.htm.uplink) {
|
||||
if (prop == g_ScenarioData.htm.uplink &&
|
||||
|
|
@ -13944,51 +13944,36 @@ bool scenarioHtmCallback24(s32 *displaylist, struct prop *prop)
|
|||
return false;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel scenarioHtmCallback28
|
||||
/* f184344: 3c0e800b */ lui $t6,0x800b
|
||||
/* f184348: 8dcecb94 */ lw $t6,-0x346c($t6)
|
||||
/* f18434c: 00a03025 */ or $a2,$a1,$zero
|
||||
/* f184350: 3c18800b */ lui $t8,0x800b
|
||||
/* f184354: 000e7b80 */ sll $t7,$t6,0xe
|
||||
/* f184358: 05e3001c */ bgezl $t7,.L0f1843cc
|
||||
/* f18435c: 00001025 */ or $v0,$zero,$zero
|
||||
/* f184360: 8f18c24c */ lw $t8,-0x3db4($t8)
|
||||
/* f184364: 3c05800b */ lui $a1,%hi(g_ScenarioData)
|
||||
/* f184368: 00001025 */ or $v0,$zero,$zero
|
||||
/* f18436c: 14980003 */ bne $a0,$t8,.L0f18437c
|
||||
/* f184370: 24a5c110 */ addiu $a1,$a1,%lo(g_ScenarioData)
|
||||
/* f184374: 1000000b */ beqz $zero,.L0f1843a4
|
||||
/* f184378: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f18437c:
|
||||
/* f18437c: 3c03800b */ lui $v1,0x800b
|
||||
/* f184380: 2463c11c */ addiu $v1,$v1,-16100
|
||||
/* f184384: 8cb90080 */ lw $t9,0x80($a1)
|
||||
.L0f184388:
|
||||
/* f184388: 24a5000c */ addiu $a1,$a1,0xc
|
||||
/* f18438c: 14990003 */ bne $a0,$t9,.L0f18439c
|
||||
/* f184390: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f184394: 10000003 */ beqz $zero,.L0f1843a4
|
||||
/* f184398: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f18439c:
|
||||
/* f18439c: 54a3fffa */ bnel $a1,$v1,.L0f184388
|
||||
/* f1843a0: 8cb90080 */ lw $t9,0x80($a1)
|
||||
.L0f1843a4:
|
||||
/* f1843a4: 10400008 */ beqz $v0,.L0f1843c8
|
||||
/* f1843a8: 240800ff */ addiu $t0,$zero,0xff
|
||||
/* f1843ac: 24090040 */ addiu $t1,$zero,0x40
|
||||
/* f1843b0: acc00000 */ sw $zero,0x0($a2)
|
||||
/* f1843b4: acc80004 */ sw $t0,0x4($a2)
|
||||
/* f1843b8: acc00008 */ sw $zero,0x8($a2)
|
||||
/* f1843bc: acc9000c */ sw $t1,0xc($a2)
|
||||
/* f1843c0: 03e00008 */ jr $ra
|
||||
/* f1843c4: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f1843c8:
|
||||
/* f1843c8: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f1843cc:
|
||||
/* f1843cc: 03e00008 */ jr $ra
|
||||
/* f1843d0: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
bool scenarioHtmHighlight(struct prop *prop, u32 *colour)
|
||||
{
|
||||
if (g_MpSetup.options & MPOPTION_HIGHLIGHTTERMINAL) {
|
||||
bool highlight = false;
|
||||
|
||||
if (prop == g_ScenarioData.htm.uplink) {
|
||||
highlight = true;
|
||||
} else {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 1; i++) {
|
||||
if (g_ScenarioData.htm.unk080[i].prop == prop) {
|
||||
highlight = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (highlight) {
|
||||
colour[0] = 0;
|
||||
colour[1] = 0xff;
|
||||
colour[2] = 0;
|
||||
colour[3] = 0x40;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel scenarioPacChooseVictims
|
||||
|
|
@ -14122,7 +14107,7 @@ void scenarioPacReset(void)
|
|||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel scenarioPacCallback28
|
||||
glabel scenarioPacHighlight
|
||||
/* f18452c: 3c0e800b */ lui $t6,0x800b
|
||||
/* f184530: 8dcecb94 */ lw $t6,-0x346c($t6)
|
||||
/* f184534: 000e7b00 */ sll $t7,$t6,0xc
|
||||
|
|
@ -14687,7 +14672,7 @@ s32 scenarioPacRadar(s32 value)
|
|||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel scenarioPacCallback24
|
||||
glabel scenarioPacRadar2
|
||||
/* f184d8c: 3c03800b */ lui $v1,0x800b
|
||||
/* f184d90: 8c63cb94 */ lw $v1,-0x346c($v1)
|
||||
/* f184d94: 27bdffb8 */ addiu $sp,$sp,-72
|
||||
|
|
@ -14772,7 +14757,7 @@ glabel scenarioPacCallback24
|
|||
|
||||
// Mismatch because the game jumps to pac properties directly
|
||||
// while decomp loads the base pac address then uses offsets.
|
||||
//bool scenarioPacCallback24(s32 *displaylist, struct prop *prop)
|
||||
//bool scenarioPacRadar2(s32 *displaylist, struct prop *prop)
|
||||
//{
|
||||
// if ((g_MpSetup.options & MPOPTION_SHOWONRADAR4) && g_ScenarioData.pac.victimindex >= 0) {
|
||||
// s32 index = g_ScenarioData.pac.victimindex;
|
||||
|
|
@ -15725,10 +15710,10 @@ s32 scenarioRadar(s32 value)
|
|||
return value;
|
||||
}
|
||||
|
||||
bool scenarioCallback24(void *arg0, struct prop *prop)
|
||||
bool scenarioRadar2(s32 *displaylist, struct prop *prop)
|
||||
{
|
||||
if (g_Vars.unk000318 && g_MpScenarios[g_MpSetup.scenario].unk24) {
|
||||
return g_MpScenarios[g_MpSetup.scenario].unk24(arg0, prop);
|
||||
if (g_Vars.unk000318 && g_MpScenarios[g_MpSetup.scenario].radar2func) {
|
||||
return g_MpScenarios[g_MpSetup.scenario].radar2func(displaylist, prop);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -9890,7 +9890,7 @@ glabel func0f18f874
|
|||
/* f18fc58: 000d7080 */ sll $t6,$t5,0x2
|
||||
/* f18fc5c: 05c20037 */ bltzl $t6,.L0f18fd3c
|
||||
/* f18fc60: 8fad007c */ lw $t5,0x7c($sp)
|
||||
/* f18fc64: 0fc61770 */ jal scenarioCallback24
|
||||
/* f18fc64: 0fc61770 */ jal scenarioRadar2
|
||||
/* f18fc68: afa9003c */ sw $t1,0x3c($sp)
|
||||
/* f18fc6c: 14400032 */ bnez $v0,.L0f18fd38
|
||||
/* f18fc70: 8fa9003c */ lw $t1,0x3c($sp)
|
||||
|
|
@ -10036,7 +10036,7 @@ glabel func0f18f874
|
|||
/* f18fe7c: 000fc880 */ sll $t9,$t7,0x2
|
||||
/* f18fe80: 07200030 */ bltz $t9,.L0f18ff44
|
||||
/* f18fe84: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f18fe88: 0fc61770 */ jal scenarioCallback24
|
||||
/* f18fe88: 0fc61770 */ jal scenarioRadar2
|
||||
/* f18fe8c: 8c65001c */ lw $a1,0x1c($v1)
|
||||
/* f18fe90: 1440002c */ bnez $v0,.L0f18ff44
|
||||
/* f18fe94: 00000000 */ sll $zero,$zero,0x0
|
||||
|
|
@ -10110,7 +10110,7 @@ glabel func0f18f874
|
|||
/* f18ff98: 8e480284 */ lw $t0,0x284($s2)
|
||||
/* f18ff9c: 27a40088 */ addiu $a0,$sp,0x88
|
||||
.L0f18ffa0:
|
||||
/* f18ffa0: 0fc61770 */ jal scenarioCallback24
|
||||
/* f18ffa0: 0fc61770 */ jal scenarioRadar2
|
||||
/* f18ffa4: 8d0500bc */ lw $a1,0xbc($t0)
|
||||
/* f18ffa8: 54400024 */ bnezl $v0,.L0f19003c
|
||||
/* f18ffac: 240c0001 */ addiu $t4,$zero,0x1
|
||||
|
|
|
|||
|
|
@ -91,8 +91,8 @@ void scenarioHtbCallback14(struct chrdata *chr);
|
|||
u32 scenarioHtbCallback18(void);
|
||||
void scenarioHtbKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3);
|
||||
s32 scenarioHtbRadar(s32 value);
|
||||
bool scenarioHtbCallback24(s32 *displaylist, struct prop *prop);
|
||||
bool scenarioHtbCallback28(struct prop *prop, u32 *colour);
|
||||
bool scenarioHtbRadar2(s32 *displaylist, struct prop *prop);
|
||||
bool scenarioHtbHighlight(struct prop *prop, u32 *colour);
|
||||
void scenarioCtcInit(void);
|
||||
s32 scenarioCtcCallback08(void);
|
||||
void scenarioCtcCallback10(void);
|
||||
|
|
@ -100,8 +100,8 @@ void scenarioCtcCallback14();
|
|||
void scenarioCtcReset(void);
|
||||
void scenarioCtcKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3);
|
||||
s32 scenarioCtcRadar(s32 value);
|
||||
bool scenarioCtcCallback24(s32 *displaylist, struct prop *prop);
|
||||
bool scenarioCtcCallback28(struct prop *prop, u32 *colour);
|
||||
bool scenarioCtcRadar2(s32 *displaylist, struct prop *prop);
|
||||
bool scenarioCtcHighlight(struct prop *prop, u32 *colour);
|
||||
u32 func0f181800(void);
|
||||
bool scenarioCtcCallback2c(f32 arg0, s32 arg1, s32 arg2, s32 arg3, f32 *arg4);
|
||||
s32 scenarioCtcCallback30(void);
|
||||
|
|
@ -129,19 +129,19 @@ void scenarioHtmCallback14(struct chrdata *chr);
|
|||
u32 scenarioHtmCallback18(void);
|
||||
void scenarioHtmKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3);
|
||||
s32 scenarioHtmRadar(s32 value);
|
||||
bool scenarioHtmCallback24(s32 *displaylist, struct prop *prop);
|
||||
u32 scenarioHtmCallback28(void);
|
||||
bool scenarioHtmRadar2(s32 *displaylist, struct prop *prop);
|
||||
bool scenarioHtmHighlight(struct prop *prop, u32 *colour);
|
||||
void scenarioPacChooseVictims(void);
|
||||
void scenarioPacInit(void);
|
||||
void scenarioPacReset(void);
|
||||
u32 scenarioPacCallback28(void);
|
||||
bool scenarioPacHighlight(struct prop *prop, u32 *colour);
|
||||
void func0f1845bc(void);
|
||||
u32 func0f1847b8(void);
|
||||
void scenarioPacCallback10(void);
|
||||
u32 scenarioPacCallback18(void);
|
||||
void scenarioPacKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3);
|
||||
s32 scenarioPacRadar(s32 value);
|
||||
bool scenarioPacCallback24(s32 *displaylist, struct prop *prop);
|
||||
bool scenarioPacRadar2(s32 *displaylist, struct prop *prop);
|
||||
u32 func0f184fb0(void);
|
||||
u32 func0f18500c(void);
|
||||
void scenarioCallback40(s32 *arg0);
|
||||
|
|
@ -155,7 +155,7 @@ void scenarioCallback14(struct chrdata *chr);
|
|||
u32 func0f185774(void);
|
||||
u32 func0f185c14(void);
|
||||
s32 scenarioRadar(s32 value);
|
||||
bool scenarioCallback24(void *arg0, struct prop *prop);
|
||||
bool scenarioRadar2(s32 *displaylist, struct prop *prop);
|
||||
u32 func0f185e20(void);
|
||||
f32 scenarioCallback2c(f32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
u32 func0f18620c(void);
|
||||
|
|
|
|||
|
|
@ -4119,8 +4119,8 @@ struct mpscenario {
|
|||
void *unk18;
|
||||
void (*killfunc)(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3);
|
||||
s32 (*radarfunc)(s32 value);
|
||||
bool (*unk24)(void *arg0, struct prop *prop);
|
||||
bool (*unk28)(struct prop *prop, u32 *colour);
|
||||
bool (*radar2func)(s32 *displaylist, struct prop *prop);
|
||||
bool (*highlightfunc)(struct prop *prop, u32 *colour);
|
||||
bool (*unk2c)(f32 arg0, s32 arg1, s32 arg2, s32 arg3, f32 *arg4);
|
||||
s32 (*unk30)(void);
|
||||
bool (*unk34)(s16 arg0);
|
||||
|
|
@ -4354,6 +4354,12 @@ struct scenariodata_htb {
|
|||
struct coord pos;
|
||||
};
|
||||
|
||||
struct htmthing {
|
||||
struct prop *prop;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
};
|
||||
|
||||
struct scenariodata_htm {
|
||||
/*0x800ac110*/ u32 unk000;
|
||||
/*0x800ac114*/ u32 unk004;
|
||||
|
|
@ -4387,9 +4393,7 @@ struct scenariodata_htm {
|
|||
/*0x800ac184*/ u32 unk074;
|
||||
/*0x800ac188*/ u32 unk078;
|
||||
/*0x800ac18c*/ u32 unk07c;
|
||||
/*0x800ac190*/ u32 unk080;
|
||||
/*0x800ac194*/ u32 unk084;
|
||||
/*0x800ac198*/ u32 unk088;
|
||||
/*0x800ac190*/ struct htmthing unk080[1];
|
||||
/*0x800ac19c*/ u32 unk08c;
|
||||
/*0x800ac1a0*/ u32 unk090;
|
||||
/*0x800ac1a4*/ u32 unk094;
|
||||
|
|
|
|||
|
|
@ -11547,12 +11547,12 @@ struct menu_dialog menudialog_mppopacapoptions = {
|
|||
|
||||
// 2cfb8
|
||||
struct mpscenario g_MpScenarios[] = {
|
||||
{ &menudialog_mpcombatoptions, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mpbriefcaseoptions, scenarioHtbInit, scenarioHtbCallback08, scenarioHtbReset, scenarioHtbCallback10, scenarioHtbCallback14, scenarioHtbCallback18, scenarioHtbKill, scenarioHtbRadar, scenarioHtbCallback24, scenarioHtbCallback28, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mphackeroptions, scenarioHtmInit, scenarioHtmCallback08, scenarioHtmReset, scenarioHtmCallback10, scenarioHtmCallback14, scenarioHtmCallback18, scenarioHtmKill, scenarioHtmRadar, scenarioHtmCallback24, scenarioHtmCallback28, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mppopacapoptions, scenarioPacInit, NULL, scenarioPacReset, scenarioPacCallback10, NULL, scenarioPacCallback18, scenarioPacKill, scenarioPacRadar, scenarioPacCallback24, scenarioPacCallback28, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mphilloptions, scenarioKohInit, NULL, scenarioKohReset, scenarioKohCallback10, NULL, scenarioKohCallback18, scenarioKohKill, scenarioKohRadar, NULL, NULL, NULL, NULL, scenarioKohCallback34, scenarioKohCallback38, NULL, scenarioKohCallback40, scenarioKohCallback44 },
|
||||
{ &menudialog_mpcaptureoptions, scenarioCtcInit, scenarioCtcCallback08, scenarioCtcReset, scenarioCtcCallback10, scenarioCtcCallback14, NULL, scenarioCtcKill, scenarioCtcRadar, scenarioCtcCallback24, scenarioCtcCallback28, scenarioCtcCallback2c, scenarioCtcCallback30, scenarioCtcCallback34, scenarioCtcCallback38, NULL, NULL, NULL },
|
||||
{ &menudialog_mpcombatoptions, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mpbriefcaseoptions, scenarioHtbInit, scenarioHtbCallback08, scenarioHtbReset, scenarioHtbCallback10, scenarioHtbCallback14, scenarioHtbCallback18, scenarioHtbKill, scenarioHtbRadar, scenarioHtbRadar2, scenarioHtbHighlight, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mphackeroptions, scenarioHtmInit, scenarioHtmCallback08, scenarioHtmReset, scenarioHtmCallback10, scenarioHtmCallback14, scenarioHtmCallback18, scenarioHtmKill, scenarioHtmRadar, scenarioHtmRadar2, scenarioHtmHighlight, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mppopacapoptions, scenarioPacInit, NULL, scenarioPacReset, scenarioPacCallback10, NULL, scenarioPacCallback18, scenarioPacKill, scenarioPacRadar, scenarioPacRadar2, scenarioPacHighlight, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mphilloptions, scenarioKohInit, NULL, scenarioKohReset, scenarioKohCallback10, NULL, scenarioKohCallback18, scenarioKohKill, scenarioKohRadar, NULL, NULL, NULL, NULL, scenarioKohCallback34, scenarioKohCallback38, NULL, scenarioKohCallback40, scenarioKohCallback44 },
|
||||
{ &menudialog_mpcaptureoptions, scenarioCtcInit, scenarioCtcCallback08, scenarioCtcReset, scenarioCtcCallback10, scenarioCtcCallback14, NULL, scenarioCtcKill, scenarioCtcRadar, scenarioCtcRadar2, scenarioCtcHighlight, scenarioCtcCallback2c, scenarioCtcCallback30, scenarioCtcCallback34, scenarioCtcCallback38, NULL, NULL, NULL },
|
||||
};
|
||||
|
||||
// 2d168
|
||||
|
|
|
|||
Loading…
Reference in New Issue