diff options
author | Piotr Dziwinski <piotrdz@gmail.com> | 2012-09-29 12:19:00 +0200 |
---|---|---|
committer | Piotr Dziwinski <piotrdz@gmail.com> | 2012-09-29 12:19:00 +0200 |
commit | e9660c47c69327a131c4e4b15bea4bdc7937fd61 (patch) | |
tree | c7edc252258b6149ad09fcf9ba609f1d8cb92ae0 /src/object | |
parent | 677ce3960cd13cbf994311c76d75b343b22fd480 (diff) | |
parent | df4e3dfb6e623889757afe79fc4dfd29ae85748e (diff) | |
download | colobot-e9660c47c69327a131c4e4b15bea4bdc7937fd61.tar.gz colobot-e9660c47c69327a131c4e4b15bea4bdc7937fd61.tar.bz2 colobot-e9660c47c69327a131c4e4b15bea4bdc7937fd61.zip |
Merge branch 'dev' into dev-graphics
Diffstat (limited to 'src/object')
-rw-r--r-- | src/object/robotmain.cpp | 47 | ||||
-rw-r--r-- | src/object/robotmain.h | 16 | ||||
-rw-r--r-- | src/object/task/taskflag.cpp | 2 |
3 files changed, 34 insertions, 31 deletions
diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp index 521b518..62a157d 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; @@ -5506,7 +5509,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; @@ -5574,7 +5577,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; @@ -5781,7 +5784,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; @@ -5879,7 +5882,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); @@ -5959,7 +5962,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; @@ -6512,19 +6515,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); diff --git a/src/object/task/taskflag.cpp b/src/object/task/taskflag.cpp index d45fff4..c88b5c0 100644 --- a/src/object/task/taskflag.cpp +++ b/src/object/task/taskflag.cpp @@ -253,7 +253,7 @@ Error CTaskFlag::CreateFlag(int rank) delete pNew; return ERR_TOOMANY; } - pNew->SetZoom(0, 0.0f); + //pNew->SetZoom(0, 0.0f); m_sound->Play(SOUND_WAYPOINT, pos); pyro = new Gfx::CPyro(m_iMan); |