TheAssemblyArmada/Vanilla-Conquer

[RA] Save game over existing file locks-up game

Gerwin2k opened this issue · 0 comments

VanillaRA under WIN32 - An attempt to save a game over an existing file locks-up the game. One can only end this lock-up by forcing the program to close with the Windows task manager. The existing save file remains untouched.

Below is a quick fix that makes things work properly, by first checking for an existing file, in case it exists: delete it.
There is no asking for confirmation for the overwrite. The original game does not ask such either.
I am not 100% familiar with these Vanillla-conquer file functions, suppose a save_file.Close() is not necessary this way.

saveload.cpp, line 349:

bool NowSavingGame = false; // TEMP MBL: Need to discuss better solution with Steve
bool Save_Game(const char* file_name, const char* descr)
{

    // GB 2023 - prevent lockup when file already exists 
    CDFileClass save_file(file_name);
	if (save_file.Is_Available()) save_file.Delete();
    

	NowSavingGame = true; // TEMP MBL: Need to discuss better solution with Steve