summaryrefslogtreecommitdiffstats
path: root/src/crsm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/crsm.cpp')
-rw-r--r--src/crsm.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/crsm.cpp b/src/crsm.cpp
index 52edbf7..06ec498 100644
--- a/src/crsm.cpp
+++ b/src/crsm.cpp
@@ -225,20 +225,18 @@ void CRSM::readServerOutput()
static QRegExp lobbyStartExp(R"((?:Los geht's!|Action go!)\s*)");
if(lobbyStartExp.exactMatch(what) && Session.State == CRSMSession::Lobby)
{
- Session.State = CRSMSession::Loading;
- ircSetIngameChannelTopic();
+ setSessionState(CRSMSession::Loading);
}
static QRegExp startExp("^Start!\\s*$");
if(startExp.exactMatch(what))
{
- Session.State = CRSMSession::Running;
+ setSessionState(CRSMSession::Running);
Stats.AddScenarioStart(Session.Scenario.wishClient, scenarioFileName(Session.Scenario.name));
if(!Session.League)
{
writeToServer(QString("/set maxplayer 0\n"));
}
- ircSetIngameChannelTopic();
}
@@ -732,8 +730,7 @@ void CRSM::startScen(const ScenarioSettings &scen, QStringList argList)
Session.Scenario = scen;
Session.IRC.UseIngameChat = Config.IRC.UseIngameChat;
- Session.State = CRSMSession::Lobby;
- ircSetIngameChannelTopic();
+ setSessionState(CRSMSession::Lobby);
filename = scenarioFileName(scen.name);
if(scen.league && !Config.Hosting.DisableLeague)
@@ -1309,6 +1306,12 @@ void CRSM::ircSetIngameChannelTopic()
}
}
+void CRSM::setSessionState(CRSMSession::SessionState state)
+{
+ Session.State = state;
+ ircSetIngameChannelTopic();
+}
+
void CRSM::addCommand(const QString &name, CmdFunction func, int interfaces, UserType userType, const QString &shortDescription, const QString &argList, const QString &longDescription)
{
const QString& nName = name.trimmed().toLower();