summaryrefslogtreecommitdiffstats
path: root/src/object
diff options
context:
space:
mode:
authorunknown <zawadzki@3F13H4J.nsn-intra.net>2012-09-28 20:17:56 +0200
committerunknown <zawadzki@3F13H4J.nsn-intra.net>2012-09-28 20:17:56 +0200
commit38ebf4c3989a600cf5e9cf89be648d9b3373bc7c (patch)
treea7175abaac0db19f86c952a0ef051f3777eaffa5 /src/object
parent099f6c4f0b472840ae38aed1042db32481cc142d (diff)
parentcc9a5070544bbac127df45ca73810a03ed2fa9d2 (diff)
downloadcolobot-38ebf4c3989a600cf5e9cf89be648d9b3373bc7c.tar.gz
colobot-38ebf4c3989a600cf5e9cf89be648d9b3373bc7c.tar.bz2
colobot-38ebf4c3989a600cf5e9cf89be648d9b3373bc7c.zip
Merge branch 'master' of https://github.com/colobot/colobot into dev
Diffstat (limited to 'src/object')
-rw-r--r--src/object/robotmain.cpp47
-rw-r--r--src/object/robotmain.h16
2 files changed, 33 insertions, 30 deletions
diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp
index d6f2d2d..3bc886b 100644
--- a/src/object/robotmain.cpp
+++ b/src/object/robotmain.cpp
@@ -109,7 +109,7 @@ float g_unit; // conversion factor
static CBotClass* m_pClassFILE;
static CBotProgram* m_pFuncFile;
static int m_CompteurFileOpen = 0;
-static char* m_filesDir;
+static std::string m_filesDir;
@@ -135,7 +135,7 @@ void PrepareFilename(CBotString &filename)
filename = filename.Mid(pos+1); // also removes the drive letter C:
}
- filename = CBotString(m_filesDir) + CBotString("/") + filename;
+ filename = CBotString(m_filesDir.c_str()) + CBotString("/") + filename;
}
@@ -1097,8 +1097,7 @@ void CRobotMain::ChangePhase(Phase phase)
m_app->SetLowCPU(false); // high CPU for simulation
- char* read = m_dialog->GetSceneRead();
- bool loading = (read[0] != 0);
+ bool loading = (m_dialog->GetSceneRead()[0] != 0);
m_map->CreateMap();
CreateScene(m_dialog->GetSceneSoluce(), false, false); // interactive scene
@@ -3457,9 +3456,12 @@ void CRobotMain::Convert()
char* base = m_dialog->GetSceneName();
int rank = m_dialog->GetSceneRank();
+ //TODO change line to string
char line[500];
+ std::string tempLine;
- m_dialog->BuildSceneName(line, base, rank);
+ m_dialog->BuildSceneName(tempLine, base, rank);
+ strcpy(line, tempLine.c_str());
FILE* file = fopen(line, "r");
if (file == NULL) return;
@@ -3676,10 +3678,10 @@ void CRobotMain::ScenePerso()
//! Creates the whole scene
void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
{
- char* base = m_dialog->GetSceneName();
- int rank = m_dialog->GetSceneRank();
- char* read = m_dialog->GetSceneRead();
- char* stack = m_dialog->GetStackRead();
+ char* base = m_dialog->GetSceneName();
+ int rank = m_dialog->GetSceneRank();
+ const char* read = m_dialog->GetSceneRead().c_str();
+ const char* stack = m_dialog->GetStackRead().c_str();
m_dialog->SetUserDir(base, rank);
/*
@@ -3756,8 +3758,9 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
memset(name, 0, 200);
memset(dir, 0, 100);
memset(op, 0, 100);
-
- m_dialog->BuildSceneName(line, base, rank);
+ std::string tempLine;
+ m_dialog->BuildSceneName(tempLine, base, rank);
+ strcpy(line, tempLine.c_str());
FILE* file = fopen(line, "r");
if (file == NULL) return;
@@ -5504,7 +5507,7 @@ void CRobotMain::LoadOneScript(CObject *obj, int &nbError)
}
//! Load all programs of the robot
-void CRobotMain::LoadFileScript(CObject *obj, char* filename, int objRank,
+void CRobotMain::LoadFileScript(CObject *obj, const char* filename, int objRank,
int &nbError)
{
if (objRank == -1) return;
@@ -5572,7 +5575,7 @@ void CRobotMain::SaveOneScript(CObject *obj)
//! Saves all programs of the robot.
//! If a program does not exist, the corresponding file is destroyed.
-void CRobotMain::SaveFileScript(CObject *obj, char* filename, int objRank)
+void CRobotMain::SaveFileScript(CObject *obj, const char* filename, int objRank)
{
if (objRank == -1) return;
@@ -5779,7 +5782,7 @@ void CRobotMain::IOWriteObject(FILE *file, CObject* obj, const char *cmd)
}
//! Saves the current game
-bool CRobotMain::IOWriteScene(char *filename, char *filecbot, char *info)
+bool CRobotMain::IOWriteScene(const char *filename, const char *filecbot, char *info)
{
FILE* file = fopen(filename, "w");
if (file == NULL) return false;
@@ -5877,7 +5880,7 @@ bool CRobotMain::IOWriteScene(char *filename, char *filecbot, char *info)
}
//! Resumes the game
-CObject* CRobotMain::IOReadObject(char *line, char* filename, int objRank)
+CObject* CRobotMain::IOReadObject(char *line, const char* filename, int objRank)
{
Math::Vector pos = OpDir(line, "pos")*g_unit;
Math::Vector dir = OpDir(line, "angle")*(Math::PI/180.0f);
@@ -5957,7 +5960,7 @@ CObject* CRobotMain::IOReadObject(char *line, char* filename, int objRank)
}
//! Resumes some part of the game
-CObject* CRobotMain::IOReadScene(char *filename, char *filecbot)
+CObject* CRobotMain::IOReadScene(const char *filename, const char *filecbot)
{
m_base = false;
@@ -6510,19 +6513,19 @@ bool CRobotMain::GetCheatRadar()
return m_cheatRadar;
}
-char* CRobotMain::GetSavegameDir()
+const char* CRobotMain::GetSavegameDir()
{
- return m_dialog->GetSavegameDir();
+ return m_dialog->GetSavegameDir().c_str();
}
-char* CRobotMain::GetPublicDir()
+const char* CRobotMain::GetPublicDir()
{
- return m_dialog->GetPublicDir();
+ return m_dialog->GetPublicDir().c_str();
}
-char* CRobotMain::GetFilesDir()
+const char* CRobotMain::GetFilesDir()
{
- return m_dialog->GetFilesDir();
+ return m_dialog->GetFilesDir().c_str();
}
diff --git a/src/object/robotmain.h b/src/object/robotmain.h
index 0a5a5a2..8724b90 100644
--- a/src/object/robotmain.h
+++ b/src/object/robotmain.h
@@ -295,9 +295,9 @@ public:
bool GetSceneSoluce();
bool GetShowAll();
bool GetCheatRadar();
- char* GetSavegameDir();
- char* GetPublicDir();
- char* GetFilesDir();
+ const char* GetSavegameDir();
+ const char* GetPublicDir();
+ const char* GetFilesDir();
void SetGamerName(const char *name);
char* GetGamerName();
@@ -324,10 +324,10 @@ public:
void CompileScript(bool soluce);
void LoadOneScript(CObject *pObj, int &nerror);
- void LoadFileScript(CObject *pObj, char* filename, int objRank, int &nerror);
+ void LoadFileScript(CObject *pObj, const char* filename, int objRank, int &nerror);
void SaveAllScript();
void SaveOneScript(CObject *pObj);
- void SaveFileScript(CObject *pObj, char* filename, int objRank);
+ void SaveFileScript(CObject *pObj, const char* filename, int objRank);
bool SaveFileStack(CObject *pObj, FILE *file, int objRank);
bool ReadFileStack(CObject *pObj, FILE *file, int objRank);
@@ -339,10 +339,10 @@ public:
void ReadFreeParam();
bool IsBusy();
- bool IOWriteScene(char *filename, char *filecbot, char *info);
- CObject* IOReadScene(char *filename, char *filecbot);
+ bool IOWriteScene(const char *filename, const char *filecbot, char *info);
+ CObject* IOReadScene(const char *filename, const char *filecbot);
void IOWriteObject(FILE *file, CObject* pObj, const char *cmd);
- CObject* IOReadObject(char *line, char* filename, int objRank);
+ CObject* IOReadObject(char *line, const char* filename, int objRank);
int CreateSpot(Math::Vector pos, Gfx::Color color);