Move returning to editor to end of frame

This fixes horizontal and vertical warp backgrounds not resetting, and
also a bunch of other 1-frame glitches, most noticeably cutscene bars
and fadeouts.

This adds a new variable shouldreturntoeditor to Game to signal whether
or not it should return to editor at the end of the frame.
This commit is contained in:
Misa 2020-05-09 12:52:58 -07:00 committed by Ethan Lee
parent 51971fa84c
commit 2d07090a6b
4 changed files with 14 additions and 1 deletions

View File

@ -375,6 +375,10 @@ void Game::init(void)
fadetolab = false;
fadetolabdelay = 0;
#if !defined(NO_CUSTOM_LEVELS)
shouldreturntoeditor = false;
#endif
/* Terry's Patrons... */
superpatrons.push_back("Anders Ekermo");
superpatrons.push_back("Andreas K|mper");

View File

@ -388,6 +388,7 @@ public:
#if !defined(NO_CUSTOM_LEVELS)
void returntoeditor();
bool shouldreturntoeditor;
#endif
};

View File

@ -1537,7 +1537,7 @@ void gameinput()
game.activeactivity = -1;
}
}else{
game.returntoeditor();
game.shouldreturntoeditor = true;
}
}
}

View File

@ -1380,4 +1380,12 @@ void gamelogic()
if (game.teleport_to_new_area)
script.teleport();
#if !defined(NO_CUSTOM_LEVELS)
if (game.shouldreturntoeditor)
{
game.shouldreturntoeditor = false;
game.returntoeditor();
}
#endif
}