File tree Expand file tree Collapse file tree
GeneralsMD/Code/GameEngine/Source
Generals/Code/GameEngine/Source Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -137,9 +137,9 @@ void destroyQuitMenu()
137137 */
138138static void exitQuitMenu ()
139139{
140+ TheGameLogic->quit (FALSE );
140141 // destroy the quit menu
141142 destroyQuitMenu ();
142- TheGameLogic->quit (FALSE );
143143}
144144static void noExitQuitMenu ()
145145{
@@ -148,9 +148,9 @@ static void noExitQuitMenu()
148148
149149static void quitToDesktopQuitMenu ()
150150{
151+ TheGameLogic->quit (TRUE );
151152 // destroy the quit menu
152153 destroyQuitMenu ();
153- TheGameLogic->quit (TRUE );
154154}
155155
156156static void surrenderQuitMenu ()
Original file line number Diff line number Diff line change @@ -3642,10 +3642,19 @@ void GameLogic::quit(Bool toDesktop)
36423642 {
36433643 const Bool isSandbox = TheGameInfo && TheGameInfo->isSandbox ();
36443644
3645- if (isInMultiplayerGame () && TheGameInfo && !isSandbox )
3645+ if (isInInteractiveGame () )
36463646 {
3647- GameMessage *msg = TheMessageStream->appendMessage (GameMessage::MSG_SELF_DESTRUCT);
3648- msg->appendBooleanArgument (TRUE );
3647+ if (!TheInGameUI->isQuitMenuVisible ())
3648+ {
3649+ ToggleQuitMenu ();
3650+ return ;
3651+ }
3652+
3653+ if (isInMultiplayerGame () && TheGameInfo && !isSandbox)
3654+ {
3655+ GameMessage *msg = TheMessageStream->appendMessage (GameMessage::MSG_SELF_DESTRUCT);
3656+ msg->appendBooleanArgument (TRUE );
3657+ }
36493658 }
36503659
36513660 if (TheRecorder && TheRecorder->getMode () == RECORDERMODETYPE_RECORD)
Original file line number Diff line number Diff line change @@ -137,9 +137,9 @@ void destroyQuitMenu()
137137 */
138138static void exitQuitMenu ()
139139{
140+ TheGameLogic->quit (FALSE );
140141 // destroy the quit menu
141142 destroyQuitMenu ();
142- TheGameLogic->quit (FALSE );
143143}
144144static void noExitQuitMenu ()
145145{
@@ -148,9 +148,9 @@ static void noExitQuitMenu()
148148
149149static void quitToDesktopQuitMenu ()
150150{
151+ TheGameLogic->quit (TRUE );
151152 // destroy the quit menu
152153 destroyQuitMenu ();
153- TheGameLogic->quit (TRUE );
154154}
155155
156156static void surrenderQuitMenu ()
Original file line number Diff line number Diff line change @@ -4194,10 +4194,19 @@ void GameLogic::quit(Bool toDesktop)
41944194 {
41954195 const Bool isSandbox = TheGameInfo && TheGameInfo->isSandbox ();
41964196
4197- if (isInMultiplayerGame () && TheGameInfo && !isSandbox )
4197+ if (isInInteractiveGame () )
41984198 {
4199- GameMessage *msg = TheMessageStream->appendMessage (GameMessage::MSG_SELF_DESTRUCT);
4200- msg->appendBooleanArgument (TRUE );
4199+ if (!TheInGameUI->isQuitMenuVisible ())
4200+ {
4201+ ToggleQuitMenu ();
4202+ return ;
4203+ }
4204+
4205+ if (isInMultiplayerGame () && TheGameInfo && !isSandbox)
4206+ {
4207+ GameMessage *msg = TheMessageStream->appendMessage (GameMessage::MSG_SELF_DESTRUCT);
4208+ msg->appendBooleanArgument (TRUE );
4209+ }
42014210 }
42024211
42034212 if (TheRecorder && TheRecorder->getMode () == RECORDERMODETYPE_RECORD)
You can’t perform that action at this time.
0 commit comments