- fixed: The TouchedActors array in the Dehacked parser was not freed after parsing was done.

- Initialize the alt HUD explicitly in D_DoomMain.
- don't let S_UnloadReverbDef leave a broken list of sound environments behind.
- Added more code to explicitly delete data before initializing it.

SVN r3039 (trunk)
This commit is contained in:
Christoph Oelckers 2010-12-15 00:09:31 +00:00
commit 770a879f6a
25 changed files with 156 additions and 38 deletions

View file

@ -53,9 +53,10 @@
class DLoadSaveMenu : public DListMenu
{
DECLARE_CLASS(DLoadSaveMenu, DListMenu)
friend void ClearSaveGames();
protected:
static TDeletingArray<FSaveGameNode*> SaveGames;
static TArray<FSaveGameNode*> SaveGames;
static int LastSaved;
static int LastAccessed;
@ -114,7 +115,7 @@ public:
IMPLEMENT_CLASS(DLoadSaveMenu)
TDeletingArray<FSaveGameNode*> DLoadSaveMenu::SaveGames;
TArray<FSaveGameNode*> DLoadSaveMenu::SaveGames;
int DLoadSaveMenu::LastSaved = -1;
int DLoadSaveMenu::LastAccessed = -1;
@ -126,6 +127,21 @@ FSaveGameNode *quickSaveSlot;
//
//=============================================================================
void ClearSaveGames()
{
for(unsigned i=0;i<DLoadSaveMenu::SaveGames.Size(); i++)
{
delete DLoadSaveMenu::SaveGames[i];
}
DLoadSaveMenu::SaveGames.Clear();
}
//=============================================================================
//
// Save data maintenance (stored statically)
//
//=============================================================================
int DLoadSaveMenu::RemoveSaveSlot (int index)
{
FSaveGameNode *file = SaveGames[index];
@ -194,6 +210,8 @@ void DLoadSaveMenu::ReadSaveStrings ()
findstate_t c_file;
FString filter;
LastSaved = LastAccessed = -1;
quickSaveSlot = NULL;
filter = G_BuildSaveName ("*.zds", -1);
filefirst = I_FindFirst (filter.GetChars(), &c_file);
if (filefirst != ((void *)(-1)))