mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-25 13:55:36 -04:00
strict mode (#597)
* implement strict mode * rename demo_skipping->DEMOSKIP * add static * DISABLE_ITEM macros, disable cosmetic comp options in strict mode * fix hud_distributed condition * reset time scale, add strict mode menu item * disable colored_blood and flipcorpses in strict mode * disable brightmaps in strict mode, DISABLE_STRICT macro * make strictmode local for each game * missed comp_pursuit * move menus a bit (map_player_coords doesn't fit in 4:3 mode) * add STRICTMODE_COMP macro for cosmetic compatibility options * comp_skymap = 1 in PrBoom+ complevel 9
This commit is contained in:
parent
d1a93dedfa
commit
676b7e8347
@ -206,7 +206,7 @@ void D_Display (void)
|
||||
int wipestart;
|
||||
boolean done, wipe, redrawsbar;
|
||||
|
||||
if (demobar && demo_skipping)
|
||||
if (demobar && DEMOSKIP)
|
||||
{
|
||||
if (HU_DemoProgressBar(false))
|
||||
{
|
||||
|
@ -295,7 +295,13 @@ extern boolean demonext;
|
||||
// skipping demo
|
||||
extern int demoskip_tics;
|
||||
|
||||
#define demo_skipping (demowarp >= 0 || demoskip_tics > 0 || demonext)
|
||||
#define DEMOSKIP (demowarp >= 0 || demoskip_tics > 0 || demonext)
|
||||
|
||||
extern boolean strictmode, default_strictmode;
|
||||
|
||||
#define STRICTMODE(x) (strictmode ? 0 : x)
|
||||
|
||||
#define STRICTMODE_COMP(x) (strictmode ? comp[x] : default_comp[x])
|
||||
|
||||
extern gamestate_t gamestate;
|
||||
|
||||
|
@ -127,9 +127,13 @@ byte *savebuffer;
|
||||
int autorun = false; // always running? // phares
|
||||
int novert = false;
|
||||
int mouselook = false;
|
||||
// killough 4/13/98: Make clock rate adjustable by scale factor
|
||||
int realtic_clock_rate = 100;
|
||||
|
||||
int default_complevel;
|
||||
|
||||
boolean strictmode, default_strictmode;
|
||||
|
||||
//
|
||||
// controls (have defaults)
|
||||
//
|
||||
@ -2608,6 +2612,39 @@ static int G_GetWadComplevel(void)
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void G_MBFDefaults(void)
|
||||
{
|
||||
weapon_recoil = 0;
|
||||
monsters_remember = 1;
|
||||
monster_infighting = 1;
|
||||
monster_backing = 0;
|
||||
monster_avoid_hazards = 1;
|
||||
monkeys = 0;
|
||||
monster_friction = 1;
|
||||
help_friends = 0;
|
||||
dogs = 0;
|
||||
distfriend = 128;
|
||||
dog_jumping = 1;
|
||||
|
||||
memset(comp, 0, sizeof comp);
|
||||
|
||||
comp[comp_zombie] = 1;
|
||||
};
|
||||
|
||||
static void G_MBF21Defaults(void)
|
||||
{
|
||||
G_MBFDefaults();
|
||||
|
||||
comp[comp_pursuit] = 1;
|
||||
|
||||
comp[comp_respawn] = 0;
|
||||
comp[comp_soul] = 0;
|
||||
comp[comp_ledgeblock] = 1;
|
||||
comp[comp_friendlyspawn] = 1;
|
||||
comp[comp_voodooscroller] = 0;
|
||||
comp[comp_reservedlineflag] = 1;
|
||||
};
|
||||
|
||||
static void G_MBFComp()
|
||||
{
|
||||
comp[comp_respawn] = 1;
|
||||
@ -2623,10 +2660,12 @@ static void G_BoomComp()
|
||||
comp[comp_telefrag] = 1;
|
||||
comp[comp_dropoff] = 0;
|
||||
comp[comp_falloff] = 1;
|
||||
comp[comp_skymap] = 1;
|
||||
comp[comp_pursuit] = 1;
|
||||
comp[comp_staylift] = 1;
|
||||
comp[comp_zombie] = 1;
|
||||
comp[comp_infcheat] = 1;
|
||||
|
||||
comp[comp_respawn] = 1;
|
||||
comp[comp_soul] = 1;
|
||||
comp[comp_ledgeblock] = 0;
|
||||
@ -2711,8 +2750,25 @@ void G_ReloadDefaults(void)
|
||||
if (demo_version == -1)
|
||||
demo_version = G_GetDefaultComplevel();
|
||||
|
||||
strictmode = default_strictmode;
|
||||
|
||||
if (M_CheckParm("-strict"))
|
||||
strictmode = true;
|
||||
|
||||
// Reset MBF compatibility options in strict mode
|
||||
if (strictmode)
|
||||
{
|
||||
if (demo_version == 203)
|
||||
G_MBFDefaults();
|
||||
else if (mbf21)
|
||||
G_MBF21Defaults();
|
||||
}
|
||||
|
||||
if (!mbf21)
|
||||
{
|
||||
// Set new compatibility options
|
||||
G_MBFComp();
|
||||
}
|
||||
|
||||
// killough 3/31/98, 4/5/98: demo sync insurance
|
||||
demo_insurance = 0;
|
||||
@ -2749,11 +2805,10 @@ void G_ReloadDefaults(void)
|
||||
}
|
||||
else if (mbf21)
|
||||
{
|
||||
// These are not configurable
|
||||
variable_friction = 1;
|
||||
allow_pushers = 1;
|
||||
demo_insurance = 0;
|
||||
classic_bfg = 0;
|
||||
beta_emulation = 0;
|
||||
}
|
||||
|
||||
M_ResetSetupMenu();
|
||||
|
@ -1037,7 +1037,7 @@ static void HU_UpdateCrosshair(void)
|
||||
else
|
||||
crosshair.cr = colrngs[hud_crosshair_color];
|
||||
|
||||
if (hud_crosshair_target)
|
||||
if (STRICTMODE(hud_crosshair_target))
|
||||
{
|
||||
angle_t an = plr->mo->angle;
|
||||
ammotype_t ammo = weaponinfo[plr->readyweapon].ammo;
|
||||
@ -1144,7 +1144,9 @@ void HU_Drawer(void)
|
||||
}
|
||||
|
||||
// [FG] draw player coords widget
|
||||
if (automapactive && !(hud_distributed && automapoverlay) && map_player_coords)
|
||||
if ((automapactive && !(hud_distributed && automapoverlay) &&
|
||||
STRICTMODE(map_player_coords) == 1) ||
|
||||
STRICTMODE(map_player_coords) == 2)
|
||||
{
|
||||
// killough 10/98: allow coordinates to display non-following pointer
|
||||
AM_Coordinates(plr->mo, &x, &y, &z);
|
||||
|
@ -102,25 +102,10 @@ static int I_GetFracTime_FastDemo(void)
|
||||
|
||||
int (*I_GetFracTime)(void) = I_GetFracTime_Scaled;
|
||||
|
||||
|
||||
// killough 4/13/98: Make clock rate adjustable by scale factor
|
||||
int realtic_clock_rate = 100;
|
||||
|
||||
void I_InitTimer(void)
|
||||
{
|
||||
int p;
|
||||
|
||||
p = M_CheckParmWithArgs("-speed", 1);
|
||||
if (p)
|
||||
{
|
||||
time_scale = BETWEEN(10, 1000, atoi(myargv[p+1]));
|
||||
}
|
||||
else
|
||||
{
|
||||
time_scale = realtic_clock_rate;
|
||||
}
|
||||
|
||||
I_GetTime = I_GetTime_Scaled;
|
||||
I_GetFracTime = I_GetFracTime_Scaled;
|
||||
}
|
||||
|
||||
void I_SetTimeScale(int scale)
|
||||
|
@ -1022,7 +1022,7 @@ void I_BeginRead(unsigned int bytes)
|
||||
|
||||
static void I_DrawDiskIcon(void)
|
||||
{
|
||||
if (!disk_icon || !in_graphics_mode || demo_skipping)
|
||||
if (!disk_icon || !in_graphics_mode || DEMOSKIP)
|
||||
return;
|
||||
|
||||
if (disk_to_draw >= DISK_ICON_THRESHOLD)
|
||||
@ -1045,7 +1045,7 @@ void I_EndRead(void)
|
||||
|
||||
static void I_RestoreDiskBackground(void)
|
||||
{
|
||||
if (!disk_icon || !in_graphics_mode || demo_skipping)
|
||||
if (!disk_icon || !in_graphics_mode || DEMOSKIP)
|
||||
return;
|
||||
|
||||
if (disk_to_restore)
|
||||
|
148
Source/m_menu.c
148
Source/m_menu.c
@ -60,6 +60,7 @@
|
||||
#include "r_draw.h" // [FG] R_SetFuzzColumnMode
|
||||
#include "r_sky.h" // [FG] R_InitSkyMap()
|
||||
#include "r_plane.h" // [FG] R_InitPlanes()
|
||||
#include "m_argv.h"
|
||||
|
||||
// [crispy] remove DOS reference from the game quit confirmation dialogs
|
||||
#include "SDL_platform.h"
|
||||
@ -133,7 +134,7 @@ boolean menuactive; // The menus are up
|
||||
#define LINEHEIGHT 16
|
||||
|
||||
#define M_SPC 9
|
||||
#define M_X 250
|
||||
#define M_X 240
|
||||
#define M_Y (29 + M_SPC)
|
||||
#define M_X_PREV (57)
|
||||
#define M_X_NEXT (310)
|
||||
@ -145,6 +146,9 @@ boolean menuactive; // The menus are up
|
||||
#define M_THRM_WIDTH (M_THRM_STEP * (M_THRM_SIZE + 2))
|
||||
#define M_X_THRM (M_X - M_THRM_WIDTH)
|
||||
|
||||
#define DISABLE_ITEM(condition, item) \
|
||||
(condition ? (item.m_flags |= S_DISABLE) : (item.m_flags &= ~S_DISABLE))
|
||||
|
||||
char savegamestrings[10][SAVESTRINGSIZE];
|
||||
|
||||
// [FG] support up to 8 pages of savegames
|
||||
@ -3094,10 +3098,7 @@ static const char *weapon_attack_alignment_strings[] = {
|
||||
static void M_UpdateCenteredWeaponItem(void)
|
||||
{
|
||||
// weap_center
|
||||
if (cosmetic_bobbing)
|
||||
weap_settings1[12].m_flags &= ~S_DISABLE;
|
||||
else
|
||||
weap_settings1[12].m_flags |= S_DISABLE;
|
||||
DISABLE_ITEM(!cosmetic_bobbing, weap_settings1[13]);
|
||||
}
|
||||
|
||||
setup_menu_t weap_settings1[] = // Weapons Settings screen
|
||||
@ -3220,27 +3221,11 @@ setup_menu_t stat_settings1[] = // Status Bar and HUD Settings screen
|
||||
|
||||
static void M_UpdateCrosshairItems (void)
|
||||
{
|
||||
if (hud_crosshair)
|
||||
{
|
||||
stat_settings2[8].m_flags &= ~S_DISABLE;
|
||||
stat_settings2[9].m_flags &= ~S_DISABLE;
|
||||
stat_settings2[10].m_flags &= ~S_DISABLE;
|
||||
if (hud_crosshair_target)
|
||||
{
|
||||
stat_settings2[11].m_flags &= ~S_DISABLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
stat_settings2[11].m_flags |= S_DISABLE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
stat_settings2[8].m_flags |= S_DISABLE;
|
||||
stat_settings2[9].m_flags |= S_DISABLE;
|
||||
stat_settings2[10].m_flags |= S_DISABLE;
|
||||
stat_settings2[11].m_flags |= S_DISABLE;
|
||||
}
|
||||
DISABLE_ITEM(!hud_crosshair, stat_settings2[8]);
|
||||
DISABLE_ITEM(!(hud_crosshair && !strictmode), stat_settings2[9]);
|
||||
DISABLE_ITEM(!hud_crosshair, stat_settings2[10]);
|
||||
DISABLE_ITEM(!(hud_crosshair && STRICTMODE(hud_crosshair_target)),
|
||||
stat_settings2[11]);
|
||||
}
|
||||
|
||||
static const char *timests_str[] = {
|
||||
@ -3816,6 +3801,7 @@ enum {
|
||||
|
||||
enum {
|
||||
general_title5,
|
||||
general_strictmode,
|
||||
general_realtic,
|
||||
general_demobar,
|
||||
general_skill,
|
||||
@ -3828,6 +3814,48 @@ enum {
|
||||
#define G_Y3 (M_Y + (general_end3 + 1) * M_SPC)
|
||||
#define G_Y4 (G_Y3 + (general_end4 + 1) * M_SPC)
|
||||
|
||||
#define DISABLE_STRICT(item) DISABLE_ITEM(strictmode, item)
|
||||
|
||||
static void M_UpdateStrictModeItems(void)
|
||||
{
|
||||
// weap_center
|
||||
DISABLE_STRICT(weap_settings1[13]);
|
||||
// hud_crosshair_target
|
||||
DISABLE_STRICT(stat_settings2[9]);
|
||||
DISABLE_STRICT(stat_settings2[11]);
|
||||
// map_player_coords
|
||||
DISABLE_STRICT(auto_settings1[5]);
|
||||
// enem_ghost
|
||||
DISABLE_ITEM(strictmode || !comp[comp_vile], enem_settings1[13]);
|
||||
// general_realtic
|
||||
DISABLE_STRICT(gen_settings3[general_realtic]);
|
||||
// enem_colored_blood
|
||||
DISABLE_STRICT(enem_settings1[11]);
|
||||
// enem_flipcorpses
|
||||
DISABLE_STRICT(enem_settings1[12]);
|
||||
// general_brightmaps
|
||||
DISABLE_STRICT(gen_settings2[general_end3 + general_brightmaps]);
|
||||
}
|
||||
|
||||
static void M_ResetTimeScale(void)
|
||||
{
|
||||
if (strictmode)
|
||||
I_SetTimeScale(100);
|
||||
else
|
||||
{
|
||||
int p, time_scale;
|
||||
|
||||
p = M_CheckParmWithArgs("-speed", 1);
|
||||
|
||||
if (p)
|
||||
time_scale = BETWEEN(10, 1000, atoi(myargv[p+1]));
|
||||
else
|
||||
time_scale = realtic_clock_rate;
|
||||
|
||||
I_SetTimeScale(time_scale);
|
||||
}
|
||||
}
|
||||
|
||||
static const char *default_skill_strings[] = {
|
||||
// dummy first option because defaultskill is 1-based
|
||||
"", "ITYTD", "HNTR", "HMP", "UV", "NM", NULL
|
||||
@ -3891,8 +3919,11 @@ setup_menu_t gen_settings3[] = { // General Settings screen3
|
||||
|
||||
{"Miscellaneous" ,S_SKIP|S_TITLE, m_null, M_X, M_Y},
|
||||
|
||||
{"Game speed, percentage of normal", S_NUM|S_PRGWARN, m_null, M_X,
|
||||
M_Y + general_realtic*M_SPC, {"realtic_clock_rate"}},
|
||||
{"Strict Mode", S_YESNO|S_LEVWARN, m_null, M_X,
|
||||
M_Y + general_strictmode*M_SPC, {"strictmode"}},
|
||||
|
||||
{"Game speed, percentage of normal", S_NUM, m_null, M_X,
|
||||
M_Y + general_realtic*M_SPC, {"realtic_clock_rate"}, 0, M_ResetTimeScale},
|
||||
|
||||
{"Show demo progress bar", S_YESNO, m_null, M_X,
|
||||
M_Y + general_demobar*M_SPC, {"demobar"}},
|
||||
@ -4070,6 +4101,7 @@ setup_menu_t comp_settings2[] = // Compatibility Settings screen #2
|
||||
|
||||
{"Linedef effects work with sector tag = 0", S_YESNO, m_null, C_X,
|
||||
M_Y + compat_zerotags * COMP_SPC, {"comp_zerotags"}},
|
||||
|
||||
{"Cosmetic", S_SKIP|S_TITLE, m_null, C_X,
|
||||
M_Y + compat_cosmetic * COMP_SPC},
|
||||
|
||||
@ -4184,10 +4216,7 @@ setup_menu_t* mess_settings[] =
|
||||
|
||||
static void M_UpdateMultiLineMsgItem(void)
|
||||
{
|
||||
if (message_list)
|
||||
mess_settings1[7].m_flags &= ~S_DISABLE;
|
||||
else
|
||||
mess_settings1[7].m_flags |= S_DISABLE;
|
||||
DISABLE_ITEM(!message_list, mess_settings1[7]);
|
||||
}
|
||||
|
||||
setup_menu_t mess_settings1[] = // Messages screen
|
||||
@ -5225,7 +5254,7 @@ boolean M_Responder (event_t* ev)
|
||||
// [FG] reload current level / go to next level
|
||||
if (M_InputActivated(input_menu_nextlevel))
|
||||
{
|
||||
if (demoplayback && singledemo && !demo_skipping)
|
||||
if (demoplayback && singledemo && !DEMOSKIP)
|
||||
{
|
||||
demonext = true;
|
||||
G_EnableWarp(true);
|
||||
@ -5237,7 +5266,7 @@ boolean M_Responder (event_t* ev)
|
||||
|
||||
if (M_InputActivated(input_demo_fforward))
|
||||
{
|
||||
if (demoplayback && singledemo && !demo_skipping && !fastdemo)
|
||||
if (demoplayback && singledemo && !DEMOSKIP && !fastdemo)
|
||||
{
|
||||
static boolean fastdemo_timer = false;
|
||||
fastdemo_timer = !fastdemo_timer;
|
||||
@ -5246,7 +5275,8 @@ boolean M_Responder (event_t* ev)
|
||||
}
|
||||
}
|
||||
|
||||
if (M_InputActivated(input_speed_up) && (!netgame || demoplayback))
|
||||
if (M_InputActivated(input_speed_up) && (!netgame || demoplayback)
|
||||
&& !strictmode)
|
||||
{
|
||||
realtic_clock_rate += 10;
|
||||
realtic_clock_rate = BETWEEN(10, 1000, realtic_clock_rate);
|
||||
@ -5254,7 +5284,8 @@ boolean M_Responder (event_t* ev)
|
||||
I_SetTimeScale(realtic_clock_rate);
|
||||
}
|
||||
|
||||
if (M_InputActivated(input_speed_down) && (!netgame || demoplayback))
|
||||
if (M_InputActivated(input_speed_down) && (!netgame || demoplayback)
|
||||
&& !strictmode)
|
||||
{
|
||||
realtic_clock_rate -= 10;
|
||||
realtic_clock_rate = BETWEEN(10, 1000, realtic_clock_rate);
|
||||
@ -5262,7 +5293,8 @@ boolean M_Responder (event_t* ev)
|
||||
I_SetTimeScale(realtic_clock_rate);
|
||||
}
|
||||
|
||||
if (M_InputActivated(input_speed_default) && (!netgame || demoplayback))
|
||||
if (M_InputActivated(input_speed_default) && (!netgame || demoplayback)
|
||||
&& !strictmode)
|
||||
{
|
||||
realtic_clock_rate = 100;
|
||||
dprintf("Game Speed: %d", realtic_clock_rate);
|
||||
@ -6641,9 +6673,12 @@ void M_ResetMenu(void)
|
||||
}
|
||||
}
|
||||
|
||||
#define FLAG_SET_BOOM(var, flag) (demo_version < 203) ? (var |= flag) : (var &= ~flag)
|
||||
#define FLAG_SET_VANILLA(var, flag) demo_compatibility ? (var |= flag) : (var &= ~flag)
|
||||
#define FLAG_SET_VANILLA_ONLY(var, flag) (!demo_compatibility) ? (var |= flag) : (var &= ~flag)
|
||||
#define DISABLE_BOOM(item) \
|
||||
DISABLE_ITEM((strictmode || demo_version < 203), item)
|
||||
#define DISABLE_VANILLA(item) \
|
||||
DISABLE_ITEM((strictmode || demo_compatibility), item)
|
||||
#define DISABLE_VANILLA_ONLY(item) \
|
||||
DISABLE_ITEM(!demo_compatibility, item)
|
||||
|
||||
void M_ResetSetupMenu(void)
|
||||
{
|
||||
@ -6651,55 +6686,56 @@ void M_ResetSetupMenu(void)
|
||||
|
||||
for (i = compat_stub1; i <= compat_god; ++i)
|
||||
{
|
||||
FLAG_SET_BOOM(comp_settings1[i].m_flags, S_DISABLE);
|
||||
DISABLE_BOOM(comp_settings1[i]);
|
||||
}
|
||||
for (i = compat_infcheat; i <= compat_zerotags; ++i)
|
||||
{
|
||||
FLAG_SET_BOOM(comp_settings2[i].m_flags, S_DISABLE);
|
||||
DISABLE_BOOM(comp_settings2[i]);
|
||||
}
|
||||
for (i = compat_blazing; i <= compat_skymap; ++i)
|
||||
{
|
||||
DISABLE_STRICT(comp_settings2[i]);
|
||||
}
|
||||
// comp_emu1 to comp_emu3
|
||||
for (i = compat_emu1; i <= compat_emu3; ++i)
|
||||
{
|
||||
FLAG_SET_VANILLA_ONLY(comp_settings3[i].m_flags, S_DISABLE);
|
||||
DISABLE_VANILLA_ONLY(comp_settings3[i]);
|
||||
}
|
||||
|
||||
FLAG_SET_BOOM(enem_settings1[enem_infighting].m_flags, S_DISABLE);
|
||||
DISABLE_BOOM(enem_settings1[enem_infighting]);
|
||||
for (i = enem_backing; i < enem_stub1; ++i)
|
||||
{
|
||||
FLAG_SET_BOOM(enem_settings1[i].m_flags, S_DISABLE);
|
||||
DISABLE_BOOM(enem_settings1[i]);
|
||||
}
|
||||
|
||||
// enem_ghost
|
||||
if (comp[comp_vile])
|
||||
enem_settings1[13].m_flags &= ~S_DISABLE;
|
||||
else
|
||||
enem_settings1[13].m_flags |= S_DISABLE;
|
||||
DISABLE_ITEM(!comp[comp_vile], enem_settings1[13]);
|
||||
|
||||
DISABLE_VANILLA(enem_settings1[enem_remember]);
|
||||
|
||||
FLAG_SET_VANILLA(enem_settings1[enem_remember].m_flags, S_DISABLE);
|
||||
// weap_pref1 to weap_pref9
|
||||
for (i = 0; i < 9; ++i)
|
||||
{
|
||||
FLAG_SET_VANILLA(weap_settings1[i].m_flags, S_DISABLE);
|
||||
DISABLE_ITEM(demo_compatibility, weap_settings1[i]);
|
||||
}
|
||||
|
||||
// [FG] exclusive fullscreen
|
||||
if (fullscreen_width != 0 || fullscreen_height != 0)
|
||||
{
|
||||
gen_settings1[general_fullscreen+1].m_flags |= S_DISABLE;
|
||||
gen_settings1[general_fullscreen].m_flags |= S_DISABLE;
|
||||
}
|
||||
|
||||
M_UpdateCrosshairItems();
|
||||
M_UpdateCenteredWeaponItem();
|
||||
M_UpdateMultiLineMsgItem();
|
||||
M_UpdateStrictModeItems();
|
||||
M_ResetTimeScale();
|
||||
}
|
||||
|
||||
void M_ResetSetupMenuVideo(void)
|
||||
{
|
||||
// enem_fuzz
|
||||
if (hires)
|
||||
enem_settings1[14].m_flags &= ~S_DISABLE;
|
||||
else
|
||||
enem_settings1[14].m_flags |= S_DISABLE;
|
||||
DISABLE_ITEM(!hires, enem_settings1[14]);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -157,6 +157,13 @@ default_t defaults[] = {
|
||||
"1 to enable wait for vsync to avoid display tearing"
|
||||
},
|
||||
|
||||
{
|
||||
"strictmode",
|
||||
(config_t *) &default_strictmode, (config_t *) &strictmode,
|
||||
{0}, {0,1}, number, ss_gen, wad_no,
|
||||
"1 to enable strict mode"
|
||||
},
|
||||
|
||||
{
|
||||
"realtic_clock_rate",
|
||||
(config_t *) &realtic_clock_rate, NULL,
|
||||
@ -1670,11 +1677,11 @@ default_t defaults[] = {
|
||||
"1 to make keyed doors flash on the automap"
|
||||
},
|
||||
|
||||
// [FG] player coords widget (intentionally not shown outside Automap)
|
||||
// [FG] player coords widget
|
||||
{
|
||||
"map_player_coords",
|
||||
(config_t *) &map_player_coords, NULL,
|
||||
{1}, {0,1}, number, ss_auto, wad_yes,
|
||||
{1}, {0,2}, number, ss_auto, wad_yes,
|
||||
"1 to show player coords widget"
|
||||
},
|
||||
|
||||
|
@ -133,7 +133,7 @@ void T_VerticalDoor (vldoor_t *door)
|
||||
door->sector->ceilingdata = NULL; //jff 2/22/98
|
||||
P_RemoveThinker (&door->thinker); // unlink and free
|
||||
// killough 4/15/98: remove double-closing sound of blazing doors
|
||||
if (default_comp[comp_blazing])
|
||||
if (STRICTMODE_COMP(comp_blazing))
|
||||
S_StartSound((mobj_t *)&door->sector->soundorg,sfx_bdcls);
|
||||
break;
|
||||
|
||||
@ -525,7 +525,7 @@ int EV_VerticalDoor(line_t *line, mobj_t *thing)
|
||||
door->line = line; // jff 1/31/98 remember line that triggered us
|
||||
|
||||
// killough 10/98: use gradual lighting changes if nonzero tag given
|
||||
door->lighttag = default_comp[comp_doorlight] ? 0 : line->tag; // killough 10/98
|
||||
door->lighttag = STRICTMODE_COMP(comp_doorlight) ? 0 : line->tag; // killough 10/98
|
||||
|
||||
// set the type of door from the activating linedef type
|
||||
switch(line->special)
|
||||
|
@ -1691,7 +1691,8 @@ static boolean P_HealCorpse(mobj_t* actor, int radius, statenum_t healstate, sfx
|
||||
(info->flags & ~MF_FRIEND) | (actor->flags & MF_FRIEND);
|
||||
|
||||
// [crispy] resurrected pools of gore ("ghost monsters") are translucent
|
||||
if (ghost_monsters && corpsehit->height == 0 && corpsehit->radius == 0)
|
||||
if (STRICTMODE(ghost_monsters) && corpsehit->height == 0
|
||||
&& corpsehit->radius == 0)
|
||||
{
|
||||
corpsehit->flags |= MF_TRANSLUCENT;
|
||||
fprintf(stderr, "A_VileChase: Resurrected ghost monster (%d) at (%d/%d)!\n",
|
||||
|
@ -971,7 +971,7 @@ manual_locked:
|
||||
door->direction = 1;
|
||||
|
||||
// killough 10/98: implement gradual lighting
|
||||
door->lighttag = !default_comp[comp_doorlight] && (line->special&6) == 6 &&
|
||||
door->lighttag = !STRICTMODE_COMP(comp_doorlight) && (line->special&6) == 6 &&
|
||||
line->special > GenLockedBase ? line->tag : 0;
|
||||
|
||||
// setup speed of door motion
|
||||
@ -1110,7 +1110,7 @@ manual_door:
|
||||
door->line = line; // jff 1/31/98 remember line that triggered us
|
||||
|
||||
// killough 10/98: implement gradual lighting
|
||||
door->lighttag = !default_comp[comp_doorlight] && (line->special&6) == 6 &&
|
||||
door->lighttag = !STRICTMODE_COMP(comp_doorlight) && (line->special&6) == 6 &&
|
||||
line->special > GenLockedBase ? line->tag : 0;
|
||||
|
||||
// set kind of door, whether it opens then close, opens, closes etc.
|
||||
|
@ -1881,7 +1881,7 @@ static boolean PIT_ChangeSector(mobj_t *thing)
|
||||
P_SetMobjState(thing, S_GIBS);
|
||||
thing->flags &= ~MF_SOLID;
|
||||
thing->height = thing->radius = 0;
|
||||
if (colored_blood)
|
||||
if (STRICTMODE(colored_blood))
|
||||
{
|
||||
thing->flags2 |= MF2_COLOREDBLOOD;
|
||||
thing->bloodcolor = V_BloodColor(thing->info->bloodcolor);
|
||||
@ -1921,7 +1921,7 @@ static boolean PIT_ChangeSector(mobj_t *thing)
|
||||
thing->y,
|
||||
thing->z + thing->height/2, MT_BLOOD);
|
||||
|
||||
if (colored_blood)
|
||||
if (STRICTMODE(colored_blood))
|
||||
{
|
||||
mo->flags2 |= MF2_COLOREDBLOOD;
|
||||
mo->bloodcolor = V_BloodColor(thing->info->bloodcolor);
|
||||
|
@ -1331,7 +1331,7 @@ void P_SpawnBlood(fixed_t x,fixed_t y,fixed_t z,int damage,mobj_t *bleeder)
|
||||
th = P_SpawnMobj(x,y,z, MT_BLOOD);
|
||||
th->momz = FRACUNIT*2;
|
||||
th->tics -= P_Random(pr_spawnblood)&3;
|
||||
if (colored_blood)
|
||||
if (STRICTMODE(colored_blood))
|
||||
{
|
||||
th->flags2 |= MF2_COLOREDBLOOD;
|
||||
th->bloodcolor = V_BloodColor(bleeder->info->bloodcolor);
|
||||
|
@ -681,7 +681,7 @@ static const byte *R_BrightmapForTexName_Hacx (const char *texname)
|
||||
// [crispy] adapted from russian-doom/src/doom/r_things.c:617-639
|
||||
static const byte *R_BrightmapForSprite_Doom (const int type)
|
||||
{
|
||||
if (brightmaps)
|
||||
if (STRICTMODE(brightmaps))
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@ -723,7 +723,7 @@ static const byte *R_BrightmapForSprite_Chex (const int type)
|
||||
{
|
||||
// [crispy] TODO
|
||||
/*
|
||||
if (brightmaps)
|
||||
if (STRICTMODE(brightmaps))
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@ -751,7 +751,7 @@ static const byte *R_BrightmapForSprite_Chex (const int type)
|
||||
|
||||
static const byte *R_BrightmapForSprite_Hacx (const int type)
|
||||
{
|
||||
if (brightmaps)
|
||||
if (STRICTMODE(brightmaps))
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@ -803,7 +803,7 @@ static int bmapflatnum[12];
|
||||
|
||||
static const byte *R_BrightmapForFlatNum_Doom (const int num)
|
||||
{
|
||||
if (brightmaps)
|
||||
if (STRICTMODE(brightmaps))
|
||||
{
|
||||
if (num == bmapflatnum[0] ||
|
||||
num == bmapflatnum[1] ||
|
||||
@ -818,7 +818,7 @@ static const byte *R_BrightmapForFlatNum_Doom (const int num)
|
||||
|
||||
static const byte *R_BrightmapForFlatNum_Hacx (const int num)
|
||||
{
|
||||
if (brightmaps)
|
||||
if (STRICTMODE(brightmaps))
|
||||
{
|
||||
if (num == bmapflatnum[0] ||
|
||||
num == bmapflatnum[1] ||
|
||||
@ -853,7 +853,7 @@ static const byte *R_BrightmapForFlatNum_None (const int num)
|
||||
|
||||
static const byte *R_BrightmapForState_Doom (const int state)
|
||||
{
|
||||
if (brightmaps)
|
||||
if (STRICTMODE(brightmaps))
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
@ -873,7 +873,7 @@ static const byte *R_BrightmapForState_Doom (const int state)
|
||||
|
||||
static const byte *R_BrightmapForState_Hacx (const int state)
|
||||
{
|
||||
if (brightmaps)
|
||||
if (STRICTMODE(brightmaps))
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
|
@ -400,7 +400,7 @@ static void do_draw_plane(visplane_t *pl)
|
||||
//
|
||||
// killough 7/19/98: fix hack to be more realistic:
|
||||
|
||||
if (default_comp[comp_skymap] || !(dc_colormap[0] = dc_colormap[1] = fixedcolormap))
|
||||
if (STRICTMODE_COMP(comp_skymap) || !(dc_colormap[0] = dc_colormap[1] = fixedcolormap))
|
||||
dc_colormap[0] = dc_colormap[1] = fullcolormap; // killough 3/20/98
|
||||
|
||||
dc_texheight = textureheight[texture]>>FRACBITS; // killough
|
||||
|
@ -388,7 +388,8 @@ static void R_RenderSegLoop (void)
|
||||
if (index >= MAXLIGHTSCALE )
|
||||
index = MAXLIGHTSCALE-1;
|
||||
dc_colormap[0] = walllights[index];
|
||||
dc_colormap[1] = (!fixedcolormap && brightmaps) ? fullcolormap : dc_colormap[0];
|
||||
dc_colormap[1] = (!fixedcolormap && STRICTMODE(brightmaps)) ?
|
||||
fullcolormap : dc_colormap[0];
|
||||
dc_x = rw_x;
|
||||
dc_iscale = 0xffffffffu / (unsigned)rw_scale;
|
||||
}
|
||||
|
@ -519,7 +519,7 @@ void R_ProjectSprite (mobj_t* thing)
|
||||
}
|
||||
|
||||
// [crispy] randomly flip corpse, blood and death animation sprites
|
||||
if (flipcorpses &&
|
||||
if (STRICTMODE(flipcorpses) &&
|
||||
(thing->flags2 & MF2_FLIPPABLE) &&
|
||||
!(thing->flags & MF_SHOOTABLE) &&
|
||||
(thing->health & 1))
|
||||
|
Loading…
x
Reference in New Issue
Block a user