mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-29 17:38:16 +03:00
Abstract checkpoint saving to its own function
This also makes the save failed textbox not appear in special modes, and allows custom levels to quicksave from checkpoints as well.
This commit is contained in:
committed by
Misa Elizabeth Kai
parent
41d5e688e9
commit
c04c6bc552
@@ -2750,17 +2750,7 @@ bool entityclass::updateentities( int i )
|
||||
}
|
||||
entities[i].state = 0;
|
||||
|
||||
if (game.checkpoint_saving)
|
||||
{
|
||||
bool success = game.savequick();
|
||||
game.gamesaved = success;
|
||||
game.gamesavefailed = !success;
|
||||
|
||||
if (game.gamesavefailed) {
|
||||
game.show_save_fail();
|
||||
graphics.textboxapplyposition();
|
||||
}
|
||||
}
|
||||
game.checkpoint_save();
|
||||
}
|
||||
break;
|
||||
case 9: //Gravity Lines
|
||||
|
||||
@@ -845,6 +845,22 @@ void Game::show_save_fail(void)
|
||||
graphics.textboxtranslate(TEXTTRANSLATE_FUNCTION, save_textbox_fail);
|
||||
}
|
||||
|
||||
void Game::checkpoint_save(void)
|
||||
{
|
||||
if (checkpoint_saving && !inspecial())
|
||||
{
|
||||
bool success = map.custommode ? customsavequick(cl.ListOfMetaData[playcustomlevel].filename) : savequick();
|
||||
gamesaved = success;
|
||||
gamesavefailed = !success;
|
||||
|
||||
if (gamesavefailed)
|
||||
{
|
||||
show_save_fail();
|
||||
graphics.textboxapplyposition();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Game::savetele_textbox(void)
|
||||
{
|
||||
if (inspecial() || map.custommode)
|
||||
|
||||
@@ -226,6 +226,7 @@ public:
|
||||
void remaining_textbox(void);
|
||||
void actionprompt_textbox(void);
|
||||
void show_save_fail(void);
|
||||
void checkpoint_save(void);
|
||||
void savetele_textbox(void);
|
||||
|
||||
void setstate(int gamestate);
|
||||
|
||||
@@ -1207,17 +1207,7 @@ void scriptclass::run(void)
|
||||
game.savedir = obj.entities[i].dir;
|
||||
}
|
||||
|
||||
if (game.checkpoint_saving)
|
||||
{
|
||||
bool success = game.savequick();
|
||||
game.gamesaved = success;
|
||||
game.gamesavefailed = !success;
|
||||
|
||||
if (game.gamesavefailed) {
|
||||
game.show_save_fail();
|
||||
graphics.textboxapplyposition();
|
||||
}
|
||||
}
|
||||
game.checkpoint_save();
|
||||
}
|
||||
else if (words[0] == "gamestate")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user