Calling SetNewScreen when not the top screen on the stack only replaces the
top screen. This allows a screen to push a helper screen, which can then enter an entirely separate set of helper screens before one pops back. (For example, a screen could push ScreenServiceOptions to enter the options menu, which then replaces itself with the various options menus, and finally pops back to the original screen when the player backs out entirely.) (Some support is still missing to allow non-special-case use of this; coming soon ...) However, in rare cases we want to kill all screens on the stack, regardless of how many there are (operator menu). Fix that case.
This commit is contained in:
@@ -1303,6 +1303,7 @@ bool HandleGlobalInputs( DeviceInput DeviceI, InputEventType type, GameInput Gam
|
||||
{
|
||||
SCREENMAN->SystemMessage( "Service switch pressed" );
|
||||
GAMESTATE->Reset();
|
||||
SCREENMAN->PopAllScreens();
|
||||
SCREENMAN->SetNewScreen( "ScreenOptionsService" );
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user