diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index a371cd13b..5e4408fc2 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -50130,7 +50130,7 @@ bool chrCompareTeams(struct chrdata *chr1, struct chrdata *chr2, u8 checktype) if (checktype == 1) { // Return true if chrs are friends if (g_Vars.unk000318) { - if ((g_MpSetup.options & 2) && chr2->team == chr1->team) { + if ((g_MpSetup.options & MPOPTION_TEAMSENABLED) && chr2->team == chr1->team) { return true; } } else { @@ -50148,7 +50148,7 @@ bool chrCompareTeams(struct chrdata *chr1, struct chrdata *chr2, u8 checktype) } } else if (checktype == 2) { // Return true if chrs are enemies if (g_Vars.unk000318) { - if ((g_MpSetup.options & 2) == 0 || chr2->team != chr1->team) { + if ((g_MpSetup.options & MPOPTION_TEAMSENABLED) == 0 || chr2->team != chr1->team) { return true; } } else { diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index 1c61dd825..733145156 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -3030,25 +3030,16 @@ glabel func0f17909c /* f1790c0: 01f81021 */ addu $v0,$t7,$t8 ); -GLOBAL_ASM( -glabel menuhandler001790c4 -/* f1790c4: 2401000c */ addiu $at,$zero,0xc -/* f1790c8: afa50004 */ sw $a1,0x4($sp) -/* f1790cc: 14810008 */ bne $a0,$at,.L0f1790f0 -/* f1790d0: afa60008 */ sw $a2,0x8($sp) -/* f1790d4: 3c0e800b */ lui $t6,0x800b -/* f1790d8: 8dcecb94 */ lw $t6,-0x346c($t6) -/* f1790dc: 31cf0002 */ andi $t7,$t6,0x2 -/* f1790e0: 55e00004 */ bnezl $t7,.L0f1790f4 -/* f1790e4: 00001025 */ or $v0,$zero,$zero -/* f1790e8: 03e00008 */ jr $ra -/* f1790ec: 24020001 */ addiu $v0,$zero,0x1 -.L0f1790f0: -/* f1790f0: 00001025 */ or $v0,$zero,$zero -.L0f1790f4: -/* f1790f4: 03e00008 */ jr $ra -/* f1790f8: 00000000 */ sll $zero,$zero,0x0 -); +s32 menuhandlerMpTeamsLabel(u32 operation, struct menu_item *item, s32 *value) +{ + if (operation == MENUOP_CHECKDISABLED) { + if ((g_MpSetup.options & MPOPTION_TEAMSENABLED) == 0) { + return true; + } + } + + return 0; +} u32 func0f1790fc(void) { @@ -7874,7 +7865,7 @@ glabel func0f17dac4 /* f17db3c: 10000003 */ beqz $zero,.L0f17db4c /* f17db40: 03281021 */ addu $v0,$t9,$t0 .L0f17db44: -/* f17db44: 0fc5e431 */ jal menuhandler001790c4 +/* f17db44: 0fc5e431 */ jal menuhandlerMpTeamsLabel /* f17db48: 8fa5001c */ lw $a1,0x1c($sp) .L0f17db4c: /* f17db4c: 8fbf0014 */ lw $ra,0x14($sp) @@ -7936,7 +7927,7 @@ glabel menuhandlerMpTeamSlot /* f17dc0c: 24020001 */ addiu $v0,$zero,0x1 .L0f17dc10: /* f17dc10: 00e02025 */ or $a0,$a3,$zero -/* f17dc14: 0fc5e431 */ jal menuhandler001790c4 +/* f17dc14: 0fc5e431 */ jal menuhandlerMpTeamsLabel /* f17dc18: 02002825 */ or $a1,$s0,$zero /* f17dc1c: 10000005 */ beqz $zero,.L0f17dc34 /* f17dc20: 8fbf001c */ lw $ra,0x1c($sp) @@ -10280,7 +10271,7 @@ glabel func0f17fcb0 s32 menuhandlerMpDisplayTeam(u32 operation, struct menu_item *item, s32 *value) { if (operation == MENUOP_CHECKDISABLED) { - if (g_MpSetup.options & 2) { + if (g_MpSetup.options & MPOPTION_TEAMSENABLED) { return false; } diff --git a/src/include/constants.h b/src/include/constants.h index 44b884dc5..b92d81c58 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -472,6 +472,23 @@ #define MENUOP_CHECKPREFOCUSED 15 #define MENUOP_CHECKHIDDEN 24 +#define MPOPTION_TEAMSENABLED 0x00000002 +#define MPOPTION_NORADAR 0x00000004 +#define MPOPTION_NOAUTOAIM 0x00000008 +#define MPOPTION_NOPLAYERHIGHLIGHT 0x00000010 +#define MPOPTION_NOPICKUPHIGHLIGHT 0x00000020 +#define MPOPTION_FASTMOVEMENT 0x00000100 +#define MPOPTION_KILLSSCORE 0x00000400 +#define MPOPTION_HIGHLIGHTBRIEFCASE 0x00000800 +#define MPOPTION_SHOWONRADAR1 0x00001000 +#define MPOPTION_SHOWONRADAR2 0x00002000 +#define MPOPTION_HILLONRADAR 0x00004000 +#define MPOPTION_MOBILEHILL 0x00008000 +#define MPOPTION_HIGHLIGHTTERMINAL 0x00020000 +#define MPOPTION_SHOWONRADAR3 0x00040000 +#define MPOPTION_HIGHLIGHTTARGET 0x00080000 +#define MPOPTION_SHOWONRADAR4 0x00100000 + #define MPQUICKTEAM_PLAYERSONLY 0 #define MPQUICKTEAM_PLAYERSANDSIMS 1 #define MPQUICKTEAM_PLAYERSTEAMS 2 diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index d16d2238b..a4be9e5ba 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -189,7 +189,7 @@ s32 menuhandler001786d8(u32, u32, u32 *); s32 menuhandler00178a94(u32, u32, u32 *); s32 menuhandler00178bf4(u32, u32, u32 *); s32 menuhandler00179060(u32, u32, u32 *); -s32 menuhandler001790c4(u32, u32, u32 *); +s32 menuhandlerMpTeamsLabel(u32 operation, struct menu_item *item, s32 *value); s32 menuhandler001791c8(u32, u32, u32 *); s32 menuhandler00179634(u32, u32, u32 *); s32 menuhandler00179968(u32, u32, u32 *); diff --git a/src/setup/setup_020df0.c b/src/setup/setup_020df0.c index d3040f470..19287b682 100644 --- a/src/setup/setup_020df0.c +++ b/src/setup/setup_020df0.c @@ -10855,7 +10855,7 @@ struct menu_dialog menudialog_mpautoteam = { struct menu_item menuitems_mpteamcontrol[] = { { MENUITEMTYPE_CHECKBOX, 0, 0x00020000, 0x00005047, 0x00000002, menuhandlerMpTeamsEnabled }, // "Teams Enabled" { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, 0x00005048, 0x00000000, menuhandler001790c4 }, // "Teams:" + { MENUITEMTYPE_LABEL, 0, 0x00000010, 0x00005048, 0x00000000, menuhandlerMpTeamsLabel }, // "Teams:" { MENUITEMTYPE_DROPDOWN, 0, 0x00020000, (u32)&func0f17da94, 0x00000000, menuhandlerMpTeamSlot }, { MENUITEMTYPE_DROPDOWN, 1, 0x00020000, (u32)&func0f17da94, 0x00000000, menuhandlerMpTeamSlot }, { MENUITEMTYPE_DROPDOWN, 2, 0x00020000, (u32)&func0f17da94, 0x00000000, menuhandlerMpTeamSlot },