summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrzys-h <krzys_h@interia.pl>2014-10-31 20:49:40 +0100
committerkrzys-h <krzys_h@interia.pl>2014-10-31 20:49:40 +0100
commit501cd7026be0422621e2657bb4aea842f2f7950d (patch)
treee2dcaa7980f37cba24188b4967d790b835216bce
parent71577b7b0a4f57a34bf31a15fb52d32e926026e2 (diff)
downloadcolobot-501cd7026be0422621e2657bb4aea842f2f7950d.tar.gz
colobot-501cd7026be0422621e2657bb4aea842f2f7950d.tar.bz2
colobot-501cd7026be0422621e2657bb4aea842f2f7950d.zip
Fixed m_exitAfterMission
-rw-r--r--src/object/robotmain.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp
index ad78e39..cc330f6 100644
--- a/src/object/robotmain.cpp
+++ b/src/object/robotmain.cpp
@@ -1761,15 +1761,11 @@ bool CRobotMain::ProcessEvent(Event &event)
case EVENT_WIN:
m_missionTimerEnabled = m_missionTimerStarted = false;
ChangePhase(PHASE_WIN);
- if(m_exitAfterMission)
- m_eventQueue->AddEvent(Event(EVENT_QUIT));
break;
case EVENT_LOST:
m_missionTimerEnabled = m_missionTimerStarted = false;
ChangePhase(PHASE_LOST);
- if(m_exitAfterMission)
- m_eventQueue->AddEvent(Event(EVENT_QUIT));
break;
default:
@@ -6376,6 +6372,8 @@ Error CRobotMain::CheckEndMission(bool frame)
m_winDelay = 0.0f;
if (m_lostDelay == 0) m_lostDelay = m_endTakeLostDelay;
m_displayText->SetEnable(false);
+ if(m_exitAfterMission)
+ m_eventQueue->AddEvent(Event(EVENT_QUIT));
}
if (m_missionResult == INFO_LOSTq) //mission lost?
{
@@ -6383,6 +6381,8 @@ Error CRobotMain::CheckEndMission(bool frame)
m_winDelay = 0.0f;
if (m_lostDelay == 0) m_lostDelay = 0.1f;
m_displayText->SetEnable(false);
+ if(m_exitAfterMission)
+ m_eventQueue->AddEvent(Event(EVENT_QUIT));
}
if (frame && m_base) return ERR_MISSION_NOTERM;
if (m_missionResult == ERR_OK) { //mission win?
@@ -6395,6 +6395,8 @@ Error CRobotMain::CheckEndMission(bool frame)
if (m_winDelay == 0) m_winDelay = m_endTakeWinDelay;
m_lostDelay = 0.0f;
m_displayText->SetEnable(false);
+ if(m_exitAfterMission)
+ m_eventQueue->AddEvent(Event(EVENT_QUIT));
}
if (m_missionResult == ERR_MISSION_NOTERM) m_displayText->SetEnable(true);
return m_missionResult;
@@ -6520,6 +6522,8 @@ Error CRobotMain::CheckEndMission(bool frame)
m_lostDelay = 0.0f;
m_missionTimerEnabled = m_missionTimerStarted = false;
m_displayText->SetEnable(false);
+ if(m_exitAfterMission)
+ m_eventQueue->AddEvent(Event(EVENT_QUIT));
return ERR_OK; // mission ended
}
@@ -6535,6 +6539,8 @@ Error CRobotMain::CheckEndMission(bool frame)
m_missionTimerEnabled = m_missionTimerStarted = false;
m_winDelay = m_endTakeWinDelay; // wins in two seconds
m_lostDelay = 0.0f;
+ if(m_exitAfterMission)
+ m_eventQueue->AddEvent(Event(EVENT_QUIT));
}
m_displayText->SetEnable(false);
return ERR_OK; // mission ended