improve automap color config key compatibility with PrBoom+

This commit is contained in:
Fabian Greffrath 2023-12-31 17:47:51 +01:00
parent 3e36f3b9b9
commit a9fa34ef27
4 changed files with 27 additions and 68 deletions

View File

@ -55,6 +55,8 @@ int mapcolor_hair; // crosshair color
int mapcolor_sngl; // single player arrow color
int mapcolor_plyr[4]; // colors for player arrows in multiplayer
int mapcolor_frnd; // colors for friends of player
int mapcolor_item; // item sprite color
int mapcolor_enemy; // enemy sprite color
//jff 3/9/98 add option to not show secret sectors until entered
int map_secret_after;
@ -171,12 +173,6 @@ static mline_t cross_mark[] =
{ { -R, 0 }, { R, 0} },
{ { 0, -R }, { 0, R } },
};
static mline_t square_mark[] = {
{ { -R, 0 }, { 0, R } },
{ { 0, R }, { R, 0 } },
{ { R, 0 }, { 0, -R } },
{ { 0, -R }, { -R, 0 } },
};
#undef R
#define NUMCROSSMARKLINES (sizeof(cross_mark)/sizeof(mline_t))
//jff 1/5/98 end of new symbol
@ -195,10 +191,6 @@ static mline_t thintriangle_guy[] =
#undef R
#define NUMTHINTRIANGLEGUYLINES (sizeof(thintriangle_guy)/sizeof(mline_t))
#define REDS (256-5*16)
#define GRAYS (6*16)
#define YELLOWS (256-32+7)
int ddt_cheating = 0; // killough 2/7/98: make global, rename to ddt_*
int automap_grid = 0;
@ -2129,36 +2121,6 @@ static void AM_drawThings
}
}
//jff 1/5/98 end added code for keys
// [crispy] draw blood splats and puffs as small squares
if (t->type == MT_BLOOD || t->type == MT_PUFF)
{
AM_drawLineCharacter
(
square_mark,
arrlen(square_mark),
(t->radius / 4) >> FRACTOMAPBITS,
t->angle,
(t->type == MT_BLOOD) ? REDS : GRAYS,
pt.x,
pt.y
);
}
else
{
const int color =
// killough 8/8/98: mark friends specially
((t->flags & MF_FRIEND) && !t->player) ? mapcolor_frnd :
// [crispy] show countable kills in red ...
((t->flags & (MF_COUNTKILL | MF_CORPSE)) == MF_COUNTKILL) ? REDS :
// [crispy] ... show Lost Souls and missiles in orange ...
(t->flags & (MF_FLOAT | MF_MISSILE)) ? 216 :
// [crispy] ... show other shootable items in dark gold ...
(t->flags & MF_SHOOTABLE) ? 164 :
// [crispy] ... corpses in gray ...
(t->flags & MF_CORPSE) ? GRAYS :
// [crispy] ... and countable items in yellow
(t->flags & MF_COUNTITEM) ? YELLOWS :
mapcolor_sprt;
//jff previously entire code
AM_drawLineCharacter
@ -2167,11 +2129,16 @@ static void AM_drawThings
NUMTHINTRIANGLEGUYLINES,
t->radius >> FRACTOMAPBITS, // [crispy] triangle size represents actual thing size
t->angle,
color,
// killough 8/8/98: mark friends specially
((t->flags & MF_FRIEND) && !t->player) ? mapcolor_frnd :
/* cph 2006/07/30 - Show count-as-kills in red. */
((t->flags & (MF_COUNTKILL | MF_CORPSE)) == MF_COUNTKILL) ? mapcolor_enemy :
/* bbm 2/28/03 Show countable items in yellow. */
(t->flags & MF_COUNTITEM) ? mapcolor_item :
mapcolor_sprt,
pt.x,
pt.y
);
}
t = t->snext;
}
}
@ -2342,6 +2309,8 @@ void AM_ColorPreset (void)
{&mapcolor_plyr[2], { 64, 64, 64}},
{&mapcolor_plyr[3], {176, 176, 176}},
{&mapcolor_frnd, {252, 252, 4}}, // am_thingcolor_friend
{&mapcolor_enemy, {177, 112, 4}}, // am_thingcolor_monster
{&mapcolor_item, {231, 112, 4}}, // am_thingcolor_item
{NULL, { 0, 0, 0}},
};

View File

@ -94,6 +94,8 @@ extern int mapcolor_hair; // crosshair color
extern int mapcolor_sngl; // single player arrow color
extern int mapcolor_plyr[4]; // colors for player arrows in multiplayer
extern int mapcolor_frnd; // killough 8/8/98: colors for friends
extern int mapcolor_enemy;
extern int mapcolor_item;
extern int mapcolor_preset;
//jff 3/9/98
extern int map_secret_after; // secrets do not appear til after bagged

View File

@ -210,32 +210,6 @@ extern int ammo_yellow; // ammo percent less is yellow more green
extern int sts_always_red;// status numbers do not change colors
extern int sts_pct_always_gray;// status percents do not change colors
extern int sts_traditional_keys; // display keys the traditional way
extern int mapcolor_back; // map background
extern int mapcolor_grid; // grid lines color
extern int mapcolor_wall; // normal 1s wall color
extern int mapcolor_fchg; // line at floor height change color
extern int mapcolor_cchg; // line at ceiling height change color
extern int mapcolor_clsd; // line at sector with floor=ceiling color
extern int mapcolor_rkey; // red key color
extern int mapcolor_bkey; // blue key color
extern int mapcolor_ykey; // yellow key color
extern int mapcolor_rdor; // red door color (diff from keys to allow option)
extern int mapcolor_bdor; // blue door color (of enabling one but not other )
extern int mapcolor_ydor; // yellow door color
extern int mapcolor_tele; // teleporter line color
extern int mapcolor_secr; // secret sector boundary color
extern int mapcolor_exit; // jff 4/23/98 exit line
extern int mapcolor_unsn; // computer map unseen line color
extern int mapcolor_flat; // line with no floor/ceiling changes
extern int mapcolor_sprt; // general sprite color
extern int mapcolor_hair; // crosshair color
extern int mapcolor_sngl; // single player arrow color
extern int mapcolor_plyr[4];// colors for player arrows in multiplayer
extern int mapcolor_frnd; // friends colors // killough 8/8/98
extern int mapcolor_preset;
extern int map_point_coordinates; // killough 10/98
extern const char shiftxform[];
extern int map_secret_after; //secrets do not appear til after bagged

View File

@ -2358,6 +2358,20 @@ default_t defaults[] = {
"color used for friends"
},
{
"mapcolor_enemy",
(config_t *) &mapcolor_enemy, NULL,
{177}, {0,255}, number, ss_auto, wad_yes,
"color used for enemies"
},
{
"mapcolor_item",
(config_t *) &mapcolor_item, NULL,
{231}, {0,255}, number, ss_auto, wad_yes,
"color used for countable items"
},
{
"mapcolor_preset",
(config_t *) &mapcolor_preset, NULL,