- fixed skill selection in Duke.

Screw these old shadowing menu variables. Well, the one for skill is gone now.
Fixes #344
This commit is contained in:
Christoph Oelckers 2020-09-05 16:31:01 +02:00
parent 9af093b818
commit fa50cde93f
5 changed files with 15 additions and 31 deletions

View file

@ -363,17 +363,7 @@ CVAR(Bool, am_nameontop, false, CVAR_ARCHIVE)
CVAR(Int, m_coop, 0, CVAR_NOSET)
#if 0
/*
//CVAR(Int, skill, 2, CVAR_ARCHIVE)
// Currently unavailable due to dependency on an obsolete OpenGL feature
{ "deliriumblur", "enable/disable delirium blur effect(polymost)", (void *)&gDeliriumBlur, CVAR_BOOL, 0, 1 },
// This requires a different approach, because it got used like a CCMD, not a CVAR.
{ "skill","changes the game skill setting", (void *)&ud.m_player_skill, CVAR_INT|CVAR_FUNCPTR|CVAR_NOSAVE/*|CVAR_NOMULTI*/, 0, 5 },
#endif
//{ "deliriumblur", "enable/disable delirium blur effect(polymost)", (void *)&gDeliriumBlur, CVAR_BOOL, 0, 1 },

View file

@ -55,13 +55,7 @@ int registerosdcommands(void);
static void checkcommandline()
{
auto val = Args->CheckValue("-skill");
if (!val) val = Args->CheckValue("-s");
if (val)
{
ud.m_player_skill = ud.player_skill = clamp((int)strtol(val, nullptr, 0), 0, 5);
if (ud.m_player_skill == 4) ud.m_respawn_monsters = ud.respawn_monsters = 1;
}
#if 0
val = Args->CheckValue("-respawn");
if (!val) val = Args->CheckValue("-t");
if (val)
@ -77,6 +71,7 @@ static void checkcommandline()
}
Printf("Respawn on.\n");
}
#endif
}
//---------------------------------------------------------------------------
@ -281,7 +276,7 @@ void GameInterface::app_init()
ud.m_respawn_monsters = 0;
ud.m_respawn_inventory = 0;
ud.cashman = 0;
ud.m_player_skill = ud.player_skill = 2;
ud.player_skill = 2;
ud.wchoice[0][0] = 3;
ud.wchoice[0][1] = 4;
ud.wchoice[0][2] = 5;
@ -343,7 +338,7 @@ void GameInterface::app_init()
if (ud.multimode > 1)
{
ud.m_monsters_off = 1;
ud.m_player_skill = 0;
//ud.player_skill = 0;
}
ud.last_level = -1;

View file

@ -121,7 +121,7 @@ void GameInterface::Startup()
userConfig.CommandMap = "";
if (maprecord)
{
ud.m_respawn_monsters = ud.m_player_skill == 4;
ud.m_respawn_monsters = ud.player_skill == 4;
for (int i = 0; i != -1; i = connectpoint2[i])
{
@ -164,7 +164,7 @@ void GameInterface::Render()
void GameInterface::NextLevel(MapRecord* map, int skill)
{
if (skill != -1) ud.m_player_skill = skill + 1;
if (skill != -1) ud.player_skill = skill + 1;
int res = enterlevel(map, 0);
if (res) gameaction = ga_startup;
}

View file

@ -243,9 +243,9 @@ void resetplayerstats(int snum)
if (numplayers < 2)
{
ufospawn = isRRRA()? 3 : std::min(ud.m_player_skill*4+1, 32);
ufospawn = isRRRA()? 3 : std::min(ud.player_skill*4+1, 32);
ufocnt = 0;
hulkspawn = ud.m_player_skill + 1;
hulkspawn = ud.player_skill + 1;
}
else
{
@ -363,9 +363,9 @@ void resetinventory(int snum)
if (numplayers < 2)
{
ufospawn = std::min(ud.m_player_skill*4+1, 32);
ufospawn = std::min(ud.player_skill*4+1, 32);
ufocnt = 0;
hulkspawn = ud.m_player_skill + 1;
hulkspawn = ud.player_skill + 1;
}
else
{
@ -483,9 +483,9 @@ void resetprestat(int snum,int g)
if (numplayers < 2)
{
ufospawn = std::min(ud.m_player_skill*4+1, 32);
ufospawn = std::min(ud.player_skill*4+1, 32);
ufocnt = 0;
hulkspawn = ud.m_player_skill + 1;
hulkspawn = ud.player_skill + 1;
}
else
{
@ -1006,7 +1006,7 @@ int enterlevel(MapRecord *mi, int gamemode)
void startnewgame(MapRecord* map, int skill)
{
ud.m_player_skill = skill;
ud.player_skill = skill;
ud.m_respawn_monsters = (skill == 4);
ud.m_monsters_off = ud.monsters_off = 0;
ud.m_respawn_items = 0;

View file

@ -488,7 +488,6 @@ void GameInterface::SerializeGameState(FSerializer& arc)
screenpeek = myconnectindex;
ud.recstat = 0;
ud.m_player_skill = ud.player_skill;
ud.m_respawn_monsters = ud.respawn_monsters;
ud.m_respawn_items = ud.respawn_items;
ud.m_respawn_inventory = ud.respawn_inventory;