- Fixed: Hexen's ammo display in the status bar cannot be refreshed
partially because the background patch has to be drawn always to overwrite the old display. - Fixed: Giving a health item to a non-player caused a crash. - Added a compatibility option to limit deh.MaxHealth to the health bonus. Originally this value wasn't used for health packs. Doing this was a bug in Boom but since there's quite a few maps out there which require Boom's altered behavior it has to be compatibility optioned. - Fixed: The health bonus's max health must be defined by deh.MaxHealth, not deh.MaxSoulsphere. To achieve this deh.MaxHealth's handling had to be altered because it has to default to 100. - Fixed: ZDBSP created incorrect side references with compressed sidedefs and both sidedefs of a linedef being the same. This only affects the external tool because the internal node builder is run after uncompressing the sidedefs. - Added Jim's latest makefile.linux. - Added a consistency check to the PNAMES loader because one crash log indicated that it crashed due to a corrupt PNAMES lump. - Brought back the sector based sound target handling as a compatibility option. This radical change just broke far too many maps that depend on the original behavior. Strife's special AI functions are excluded though because they work better with the new method. SVN r56 (trunk)
This commit is contained in:
parent
b2b729fd37
commit
66c663e9d8
18 changed files with 133 additions and 78 deletions
|
|
@ -181,6 +181,7 @@ static char underscore[2];
|
|||
static int MenuPClass;
|
||||
|
||||
static FSaveGameNode *quickSaveSlot; // NULL = no quicksave slot picked!
|
||||
static FSaveGameNode *lastSaveSlot; // Used for highlighting the most recently used slot in the menu
|
||||
static int messageToPrint; // 1 = message to be printed
|
||||
static const char *messageString; // ...and here is the message string!
|
||||
static EMenuState messageLastMenuActive;
|
||||
|
|
@ -796,9 +797,10 @@ void M_NotifyNewSave (const char *file, const char *title, bool okForQuicksave)
|
|||
SelSaveGame = node;
|
||||
}
|
||||
|
||||
if (quickSaveSlot == NULL && okForQuicksave)
|
||||
if (okForQuicksave)
|
||||
{
|
||||
quickSaveSlot = node;
|
||||
if (quickSaveSlot == NULL) quickSaveSlot = node;
|
||||
lastSaveSlot = node;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1244,13 +1246,13 @@ void M_SaveGame (int choice)
|
|||
M_ReadSaveStrings();
|
||||
SaveGames.AddHead (&NewSaveNode);
|
||||
TopSaveGame = static_cast<FSaveGameNode *>(SaveGames.Head);
|
||||
if (quickSaveSlot == NULL)
|
||||
if (lastSaveSlot == NULL)
|
||||
{
|
||||
SelSaveGame = &NewSaveNode;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelSaveGame = quickSaveSlot;
|
||||
SelSaveGame = lastSaveSlot;
|
||||
}
|
||||
M_ExtractSaveData (SelSaveGame);
|
||||
}
|
||||
|
|
@ -2808,6 +2810,10 @@ static void M_DeleteSaveResponse (int choice)
|
|||
{
|
||||
quickSaveSlot = NULL;
|
||||
}
|
||||
if (lastSaveSlot == SelSaveGame)
|
||||
{
|
||||
lastSaveSlot = NULL;
|
||||
}
|
||||
SelSaveGame->Remove ();
|
||||
delete SelSaveGame;
|
||||
SelSaveGame = next;
|
||||
|
|
@ -3120,6 +3126,7 @@ void M_Init (void)
|
|||
messageString = NULL;
|
||||
messageLastMenuActive = menuactive;
|
||||
quickSaveSlot = NULL;
|
||||
lastSaveSlot = NULL;
|
||||
strcpy (NewSaveNode.Title, "<New Save Game>");
|
||||
|
||||
underscore[0] = (gameinfo.gametype & (GAME_Doom|GAME_Strife)) ? '_' : '[';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue