mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-15 16:51:31 +00:00
Add handling for +warp at the command line.
- Command-line console commands are executed before a level is entered, so trying to use +warp to position yourself at a specific location will not work. We now specially handle this command so that it does work.
This commit is contained in:
parent
c2bac9d2df
commit
637798c1b5
3 changed files with 17 additions and 2 deletions
|
@ -627,7 +627,14 @@ void C_DoCommand (const char *cmd, int keynum)
|
|||
}
|
||||
else
|
||||
{
|
||||
new DStoredCommand (com, beg);
|
||||
if (len == 4 && strnicmp(beg, "warp", 4) == 0)
|
||||
{
|
||||
StoredWarp = beg;
|
||||
}
|
||||
else
|
||||
{
|
||||
new DStoredCommand (com, beg);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -218,6 +218,7 @@ int NoWipe; // [RH] Allow wipe? (Needs to be set each time)
|
|||
bool singletics = false; // debug flag to cancel adaptiveness
|
||||
FString startmap;
|
||||
bool autostart;
|
||||
FString StoredWarp;
|
||||
bool advancedemo;
|
||||
FILE *debugfile;
|
||||
event_t events[MAXEVENTS];
|
||||
|
@ -2081,7 +2082,7 @@ static void CheckCmdLine()
|
|||
{
|
||||
startmap = "&wt@01";
|
||||
}
|
||||
autostart = false;
|
||||
autostart = StoredWarp.IsNotEmpty();
|
||||
|
||||
const char *val = Args->CheckValue ("-skill");
|
||||
if (val)
|
||||
|
@ -2529,6 +2530,11 @@ void D_DoomMain (void)
|
|||
if (demorecording)
|
||||
G_BeginRecording (startmap);
|
||||
G_InitNew (startmap, false);
|
||||
if (StoredWarp.IsNotEmpty())
|
||||
{
|
||||
AddCommandString(StoredWarp.LockBuffer());
|
||||
StoredWarp = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -59,6 +59,8 @@ extern FString startmap; // [RH] Actual map name now
|
|||
|
||||
extern bool autostart;
|
||||
|
||||
extern FString StoredWarp; // [RH] +warp at the command line
|
||||
|
||||
// Selected by user.
|
||||
EXTERN_CVAR (Int, gameskill);
|
||||
extern int NextSkill; // [RH] Skill to use at next level load
|
||||
|
|
Loading…
Reference in a new issue