Add option to show/hide bots on radar

This commit is contained in:
Ryan Dwyer 2022-11-09 19:21:47 +10:00
parent 8a75596ca2
commit 5a848b107f
5 changed files with 28 additions and 17 deletions

View File

@ -4850,8 +4850,8 @@
"es": "Searching for Camera!\n"
},
{
"id": "L_MPMENU_485",
"en": "Calibrating Camera\n",
"id": "L_MPMENU_BOTSONRADAR",
"en": "Show Bots on Radar\n",
"gb": "Calibrating Camera\n",
"jp": "Downloading Image\n",
"it": "Calibrating Camera\n",

View File

@ -331,7 +331,7 @@ void mpPlayerSetDefaults(s32 playernum, bool autonames)
}
g_PlayerConfigsArray[playernum].base.mpheadnum = mpGetMpheadnumByMpbodynum(g_PlayerConfigsArray[playernum].base.mpbodynum);
g_PlayerConfigsArray[playernum].displayoptions = MPDISPLAYOPTION_RADAR | MPDISPLAYOPTION_HIGHLIGHTTEAMS;
g_PlayerConfigsArray[playernum].displayoptions = MPDISPLAYOPTION_RADAR | MPDISPLAYOPTION_BOTSONRADAR | MPDISPLAYOPTION_HIGHLIGHTTEAMS;
g_PlayerConfigsArray[playernum].fileguid.fileid = 0;
g_PlayerConfigsArray[playernum].fileguid.deviceserial = 0;

View File

@ -1308,6 +1308,14 @@ struct menuitem g_MpPlayerOptionsMenuItems[] = {
MPDISPLAYOPTION_RADAR,
menuhandlerMpDisplayOptionCheckbox,
},
{
MENUITEMTYPE_CHECKBOX,
0,
0,
L_MPMENU_BOTSONRADAR, // "Show Bots on Radar"
MPDISPLAYOPTION_BOTSONRADAR,
menuhandlerMpDisplayOptionCheckbox,
},
{
MENUITEMTYPE_SEPARATOR,
0,

View File

@ -305,23 +305,25 @@ Gfx *radarRender(Gfx *gdl)
}
// Draw dots for MP simulants
for (i = playercount; i < g_MpNumChrs; i++) {
struct chrdata *chr = g_MpChrs[i].chr;
if (g_PlayerConfigsArray[g_Vars.currentplayerstats->mpindex].displayoptions & MPDISPLAYOPTION_BOTSONRADAR) {
for (i = playercount; i < g_MpNumChrs; i++) {
struct chrdata *chr = g_MpChrs[i].chr;
if (!chrIsDead(chr)
&& (chr->hidden & CHRHFLAG_CLOAKED) == 0
&& scenarioRadarChr(&gdl, chr->prop) == false) {
pos.x = chr->prop->pos.x - g_Vars.currentplayer->prop->pos.x;
pos.y = chr->prop->pos.y - g_Vars.currentplayer->prop->pos.y;
pos.z = chr->prop->pos.z - g_Vars.currentplayer->prop->pos.z;
if (!chrIsDead(chr)
&& (chr->hidden & CHRHFLAG_CLOAKED) == 0
&& scenarioRadarChr(&gdl, chr->prop) == false) {
pos.x = chr->prop->pos.x - g_Vars.currentplayer->prop->pos.x;
pos.y = chr->prop->pos.y - g_Vars.currentplayer->prop->pos.y;
pos.z = chr->prop->pos.z - g_Vars.currentplayer->prop->pos.z;
if (g_MpSetup.options & MPOPTION_TEAMSENABLED) {
colour = g_TeamColours[chr->team];
} else {
colour = 0x00ff0000;
if (g_MpSetup.options & MPOPTION_TEAMSENABLED) {
colour = g_TeamColours[chr->team];
} else {
colour = 0x00ff0000;
}
gdl = radarDrawDot(gdl, chr->prop, &pos, colour, 0, 0);
}
gdl = radarDrawDot(gdl, chr->prop, &pos, colour, 0, 0);
}
}

View File

@ -2713,6 +2713,7 @@
#define MPDISPLAYOPTION_HIGHLIGHTPICKUPS 0x02
#define MPDISPLAYOPTION_RADAR 0x04
#define MPDISPLAYOPTION_HIGHLIGHTTEAMS 0x08
#define MPDISPLAYOPTION_BOTSONRADAR 0x10
// Features are things that can be unlocked
#define MPFEATURE_WEAPON_FARSIGHT 0x01