- Added actor replacement for DECORATE. This works at a higher level than

using duplicate DoomEdNums and will affect all attempts to spawn the
  replaced actor. However, because this happens for all spawns and not just
  at map load, the replacing actor must be compatible with the replaced
  actor, which means that an actor can only serve as a replacement for one
  of its baseclasses. For example, if you want to use a modified imp, you can
  use this DECORATE:
      actor MyImp : DoomImp replaces DoompImp
      {
          // Put changed properties here
      }
- New: The IWAD dialog now remembers the last IWAD you picked and
  automatically highlights it the next time you run the game. This also
  applies if you check "Don't ask me this again": The IWAD selected will be
  the one that gets automatically loaded, not the one located first. (Using
  the -iwad parameter will not change the default IWAD.) In addition, you
  can now bring the dialog up even if you disable it by holding down SHIFT
  during startup.
- Changed ExtractFilePath() and ExtractFileBase() to return FStrings instead
  of writing to a provided output buffer. ExtractFileBase() can also
  optionally keep the file's extension in the result.
- Removed the -heapsize parameter entirely. The informational message should
  no longer be needed.
- Removed -maxdemo parameter. There's no point to having it around since
  the demo buffer grows automatically.


SVN r238 (trunk)
This commit is contained in:
Randy Heit 2006-07-08 02:17:35 +00:00
commit 6695e255ce
20 changed files with 449 additions and 307 deletions

View file

@ -151,6 +151,7 @@ extern cycle_t WallCycles, PlaneCycles, MaskedCycles, WallScanCycles;
CVAR (Int, fraglimit, 0, CVAR_SERVERINFO);
CVAR (Float, timelimit, 0.f, CVAR_SERVERINFO);
CVAR (Bool, queryiwad, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
CVAR (String, defaultiwad, "", CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
CVAR (Int, wipetype, 1, CVAR_ARCHIVE);
bool DrawFSHUD; // [RH] Draw fullscreen HUD?
@ -1595,15 +1596,36 @@ static EIWADType IdentifyVersion (const char *zdoom_wad)
"Did you install ZDoom properly? You can do either of the following:\n"
"\n"
"1. Place one or more of these wads in the same directory as ZDoom.\n"
"2. Edit your zdoom.ini and add the directories of your iwads\n"
"2. Edit your zdoom-username.ini and add the directories of your iwads\n"
"to the list beneath [IWADSearch.Directories]");
}
pickwad = 0;
if (!iwadparmfound && numwads > 1 && queryiwad)
if (!iwadparmfound && numwads > 1)
{
pickwad = I_PickIWad (wads, (int)numwads);
int defiwad = 0;
// Locate the user's prefered IWAD, if it was found.
if (defaultiwad[0] != '\0')
{
for (i = 0; i < numwads; ++i)
{
FString basename = ExtractFileBase (wads[i].Path);
if (stricmp (basename, defaultiwad) == 0)
{
defiwad = (int)i;
break;
}
}
}
pickwad = I_PickIWad (wads, (int)numwads, queryiwad, defiwad);
if (pickwad >= 0)
{
// The newly selected IWAD becomes the new default
FString basename = ExtractFileBase (wads[pickwad].Path);
defaultiwad = basename;
}
}
if (pickwad < 0)
@ -2204,13 +2226,6 @@ void D_DoomMain (void)
// about to begin the game.
FBaseCVar::EnableNoSet ();
// [RH] Print an informative message if -heapsize is used
if (Args.CheckParm ("-heapsize"))
{
Printf (TEXTCOLOR_ORANGE "Starting with -heapsize is unnecessary.\n"
TEXTCOLOR_ORANGE "The zone heap is not used anymore.\n");
}
// [RH] Run any saved commands from the command line or autoexec.cfg now.
gamestate = GS_FULLCONSOLE;
Net_NewMakeTic ();