- Fixed: the new savegame order didn't take into account custom filenames. Try to catch most custom names.

This commit is contained in:
drfrag666 2018-06-07 11:43:13 +02:00
parent ee41e9d93a
commit f48c52291c

View file

@ -123,29 +123,36 @@ DEFINE_ACTION_FUNCTION(FSavegameManager, RemoveSaveSlot)
int FSavegameManager::InsertSaveNode(FSaveGameNode *node)
{
if (SaveGames.Size() == 0)
{
return SaveGames.Push(node);
}
if (node->bOldVersion)
if (SaveGames.Size() == 0 || node->bOldVersion)
{ // Add node at bottom of list
return SaveGames.Push(node);
}
else
{ // Add node at top of list
unsigned int i = 0;
if (!strstr(node->Filename.GetChars(),"auto"))
if (strstr(node->Filename.GetChars(),"save"))
{
for (i = 0; i < SaveGames.Size(); i++)
for (i; i < SaveGames.Size(); i++)
{
//if (SaveGames[i]->bOldVersion || node->SaveTitle.CompareNoCase(SaveGames[i]->SaveTitle) <= 0)
if (!strstr(SaveGames[i]->Filename.GetChars(),"auto") && node->Filename.CompareNoCase(SaveGames[i]->Filename) >= 0)
if (strstr(SaveGames[i]->Filename.GetChars(),"save") && node->Filename.CompareNoCase(SaveGames[i]->Filename) >= 0)
{
break;
}
}
}
else if (!strstr(node->Filename.GetChars(),"auto"))
{
for (i; strstr(SaveGames[i]->Filename.GetChars(),"auto") && i < SaveGames.Size(); i++)
{}
for (i; i < SaveGames.Size(); i++)
{
if (strstr(SaveGames[i]->Filename.GetChars(),"save") || (!strstr(SaveGames[i]->Filename.GetChars(),"save") && node->Filename.CompareNoCase(SaveGames[i]->Filename) <= 0))
{
break;
}
}
}
SaveGames.Insert(i, node);
return i;