C4Application: Remove StdStrBuf

alut-include-path
Nicolas Hake 2017-03-13 17:42:14 +01:00
parent d6c9a11678
commit a151ac12de
2 changed files with 20 additions and 21 deletions

View File

@ -46,6 +46,7 @@
#include <getopt.h>
static C4Network2IRCClient ApplicationIRCClient;
const std::string C4Application::Revision{ C4REVISION };
C4Application::C4Application():
isEditor(false),
@ -101,11 +102,9 @@ bool C4Application::DoInit(int argc, char * argv[])
// Open log
OpenLog();
Revision.Ref(C4REVISION);
// Engine header message
Log(C4ENGINECAPTION);
LogF("Version: %s %s (%s)", C4VERSION, C4_OS, Revision.getData());
LogF("Version: %s %s (%s)", C4VERSION, C4_OS, GetRevision());
LogF("ExePath: \"%s\"", Config.General.ExePath.getData());
LogF("SystemDataPath: \"%s\"", Config.General.SystemDataPath);
LogF("UserDataPath: \"%s\"", Config.General.UserDataPath);
@ -424,13 +423,13 @@ void C4Application::ParseCommandLine(int argc, char * argv[])
// Key file
if (SEqualNoCase(GetExtension(szParameter),"c4k"))
{
Application.IncomingKeyfile.Copy(szParameter);
Application.IncomingKeyfile = szParameter;
continue;
}
// Update file
if (SEqualNoCase(GetExtension(szParameter),"ocu"))
{
Application.IncomingUpdate.Copy(szParameter);
Application.IncomingUpdate = szParameter;
continue;
}
// record stream
@ -462,8 +461,8 @@ void C4Application::ParseCommandLine(int argc, char * argv[])
SReplaceChar(Game.ScenarioFilename, AltDirectorySeparator, DirectorySeparator);
SReplaceChar(Game.PlayerFilenames, AltDirectorySeparator, DirectorySeparator);
SReplaceChar(Game.DefinitionFilenames, AltDirectorySeparator, DirectorySeparator);
Application.IncomingKeyfile.ReplaceChar(AltDirectorySeparator, DirectorySeparator);
Application.IncomingUpdate.ReplaceChar(AltDirectorySeparator, DirectorySeparator);
std::replace(begin(IncomingKeyfile), end(IncomingKeyfile), AltDirectorySeparator, DirectorySeparator);
std::replace(begin(IncomingUpdate), end(IncomingUpdate), AltDirectorySeparator, DirectorySeparator);
Game.RecordStream.ReplaceChar(AltDirectorySeparator, DirectorySeparator);
#endif
@ -586,7 +585,7 @@ bool C4Application::ProcessCallback(const char *szMessage, int iProcess)
void C4Application::Clear()
{
Game.Clear();
NextMission.Clear();
NextMission.clear();
// stop timer
if (pGameTimer)
{
@ -656,7 +655,7 @@ void C4Application::OpenGame(const char * scenario)
void C4Application::QuitGame()
{
// reinit desired? Do restart
if (!QuitAfterGame || NextMission)
if (!QuitAfterGame || !NextMission.empty())
{
AppState = C4AS_AfterGame;
}
@ -716,18 +715,18 @@ void C4Application::GameTick()
case C4AS_AfterGame:
// stop game
Game.Clear();
if(Config.Graphics.Windowed == 2 && !NextMission && !isEditor)
if(Config.Graphics.Windowed == 2 && NextMission.empty() && !isEditor)
Application.SetVideoMode(GetConfigWidth(), GetConfigHeight(), Config.Graphics.RefreshRate, Config.Graphics.Monitor, false);
if (!isEditor)
pWindow->GrabMouse(false);
AppState = C4AS_PreInit;
// if a next mission is desired, set to start it
if (NextMission)
if (!NextMission.empty())
{
Game.SetScenarioFilename(NextMission.getData());
Game.SetScenarioFilename(NextMission.c_str());
Game.fLobby = Game.NetworkActive;
Game.fObserve = false;
NextMission.Clear();
NextMission.clear();
}
break;
case C4AS_Game:
@ -842,12 +841,12 @@ void C4Application::SetNextMission(const char *szMissionFilename)
// set next mission if any is desired
if (szMissionFilename)
{
NextMission.Copy(szMissionFilename);
NextMission = szMissionFilename;
// scenarios tend to use the wrong slash
SReplaceChar(NextMission.getMData(), AltDirectorySeparator, DirectorySeparator);
std::replace(begin(NextMission), end(NextMission), AltDirectorySeparator, DirectorySeparator);
}
else
NextMission.Clear();
NextMission.clear();
}
void C4Application::NextTick()

View File

@ -69,12 +69,12 @@ public:
bool IsQuittingGame() const { return AppState >= C4AS_AfterGame; }
const char *GetRevision() const { return Revision.getData(); }
const char *GetRevision() const { return Revision.c_str(); }
// set by ParseCommandLine
int isEditor;
// set by ParseCommandLine, for manually applying downloaded update packs
StdStrBuf IncomingUpdate;
std::string IncomingUpdate;
// set by ParseCommandLine, for manually invoking an update check by command line or url
int CheckForUpdates;
@ -95,12 +95,12 @@ protected:
// set by ParseCommandLine, if neither editor, scenario nor direct join adress has been specified
int QuitAfterGame;
// set by ParseCommandLine, for installing registration keys
StdStrBuf IncomingKeyfile;
std::string IncomingKeyfile;
private:
// if set, this mission will be launched next
StdCopyStrBuf NextMission;
std::string NextMission;
// version information strings
StdCopyStrBuf Revision;
static const std::string Revision;
};
extern C4Application Application;