[colobot] 298/390: Removed mission file versioning

Didier Raboud odyx at moszumanska.debian.org
Fri Jun 12 14:21:57 UTC 2015


This is an automated email from the git hooks/post-receive script.

odyx pushed a commit to branch upstream/latest
in repository colobot.

commit fd17e104edab0f94bd8b697172410d60f22acbd9
Author: krzys-h <krzys_h at interia.pl>
Date:   Sat Mar 28 11:23:29 2015 +0100

    Removed mission file versioning
    
    We've decided there is no need to keep combatibility with original Colobot.
    Closes #206
---
 src/object/robotmain.cpp | 120 ++++++++++++++++++++++-------------------------
 src/object/robotmain.h   |   1 -
 2 files changed, 57 insertions(+), 64 deletions(-)

diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp
index de8663e..67119c7 100644
--- a/src/object/robotmain.cpp
+++ b/src/object/robotmain.cpp
@@ -173,7 +173,6 @@ CRobotMain::CRobotMain(CController* controller)
     m_selectObject = 0;
     m_infoUsed     = 0;
 
-    m_version      = 1;
     m_controller   = nullptr;
     m_retroStyle   = false;
     m_immediatSatCom = false;
@@ -2973,7 +2972,6 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
         strcpy(m_scriptName, scriptNameStr.c_str());
         m_scriptFile[0] = 0;
 
-        m_version             = 1;
         m_retroStyle          = false;
 
         m_missionResult       = ERR_MISSION_NOTERM;
@@ -2999,12 +2997,6 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
 
         for(auto& line : level->GetLines())
         {
-            if (line->GetCommand() == "MissionFile" && !resetObject)
-            {
-                m_version = line->GetParam("version")->AsInt(1);
-                continue;
-            }
-            
             if(line->GetCommand() == "Title" && !resetObject)
             {
                 strcpy(m_title, line->GetParam("text")->AsString().c_str());
@@ -3034,7 +3026,7 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
                 strcpy(m_infoFilename[SATCOM_HUSTON], line->GetParam("name")->AsPath("help/%lng%").c_str());
                 
                 m_immediatSatCom = line->GetParam("immediat")->AsBool(false);
-                if (m_version >= 2) m_beginSatCom = m_lockedSatCom = line->GetParam("lock")->AsBool(false);
+                m_beginSatCom = m_lockedSatCom = line->GetParam("lock")->AsBool(false);
                 if (m_app->GetSceneTestMode()) m_immediatSatCom = false;
                 continue;
             }
@@ -3085,13 +3077,13 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
                 continue;
             }
             
-            if (line->GetCommand() == "CacheAudio" && !resetObject && m_version >= 2)
+            if (line->GetCommand() == "CacheAudio" && !resetObject)
             {
                 m_sound->CacheMusic(std::string("../")+line->GetParam("filename")->AsPath("music"));
                 continue;
             }
             
-            if (line->GetCommand() == "AudioChange" && !resetObject && m_version >= 2 && m_controller == nullptr)
+            if (line->GetCommand() == "AudioChange" && !resetObject && m_controller == nullptr)
             {
                 int i = m_audioChangeTotal;
                 if (i < 10)
@@ -3116,8 +3108,12 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
             
             if (line->GetCommand() == "Audio" && !resetObject && m_controller == nullptr)
             {
-                if (m_version < 2)
+                if(line->GetParam("track")->IsDefined())
                 {
+                    if(line->GetParam("filename")->IsDefined())
+                        throw new CLevelParserException("You can't use track and filename at the same time");
+
+                    CLogger::GetInstancePointer()->Warn("Using track= is deprecated. Please replace this with filename=\n");
                     int trackid = line->GetParam("track")->AsInt();
                     if (trackid != 0)
                     {
@@ -3125,34 +3121,44 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
                         filenameStr << "music" << std::setfill('0') << std::setw(3) << trackid << ".ogg";
                         m_audioTrack = filenameStr.str();
                     }
-                    m_audioRepeat = line->GetParam("repeat")->AsBool(true);
+                    else
+                    {
+                        m_audioTrack = "";
+                    }
                 }
                 else
                 {
-                    if(line->GetParam("main")->IsDefined()) {
-                        m_audioTrack = std::string("../")+line->GetParam("main")->AsPath("music");
-                        m_audioRepeat = line->GetParam("mainRepeat")->AsBool(true);
-                    } else {
-                        m_audioTrack = "";
+                    if(line->GetParam("filename")->IsDefined())
+                    {
+                        m_audioTrack = std::string("../")+line->GetParam("filename")->AsPath("music");
                     }
-                    
-                    if(line->GetParam("satcom")->IsDefined()) {
-                        m_satcomTrack = std::string("../")+line->GetParam("satcom")->AsPath("music");
-                        m_satcomRepeat = line->GetParam("satcomRepeat")->AsBool(true);
-                    } else {
-                        m_satcomTrack = "";
+                    else
+                    {
+                        m_audioTrack = "";
                     }
+                }
+                if(!m_audioTrack.empty())
+                {
+                    m_audioRepeat = line->GetParam("repeat")->AsBool(true);
+                }
                     
-                    if(line->GetParam("editor")->IsDefined()) {
-                        m_editorTrack = std::string("../")+line->GetParam("editor")->AsPath("music");
-                        m_editorRepeat = line->GetParam("editorRepeat")->AsBool(true);
-                    } else {
-                        m_editorTrack = "";
-                    }
+                if(line->GetParam("satcom")->IsDefined()) {
+                    m_satcomTrack = std::string("../")+line->GetParam("satcom")->AsPath("music");
+                    m_satcomRepeat = line->GetParam("satcomRepeat")->AsBool(true);
+                } else {
+                    m_satcomTrack = "";
                 }
-                if (m_audioTrack != "") m_sound->CacheMusic(m_audioTrack);
-                if (m_satcomTrack != "") m_sound->CacheMusic(m_satcomTrack);
-                if (m_editorTrack != "") m_sound->CacheMusic(m_editorTrack);
+                
+                if(line->GetParam("editor")->IsDefined()) {
+                    m_editorTrack = std::string("../")+line->GetParam("editor")->AsPath("music");
+                    m_editorRepeat = line->GetParam("editorRepeat")->AsBool(true);
+                } else {
+                    m_editorTrack = "";
+                }
+
+                if (!m_audioTrack.empty()) m_sound->CacheMusic(m_audioTrack);
+                if (!m_satcomTrack.empty()) m_sound->CacheMusic(m_satcomTrack);
+                if (!m_editorTrack.empty()) m_sound->CacheMusic(m_editorTrack);
                 continue;
             }
             
@@ -3254,16 +3260,17 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
                 continue;
             }
             
-            if (((line->GetCommand() == "Global") || (m_version >= 2 && line->GetCommand() == "Mission")) && !resetObject)
+            if ((line->GetCommand() == "Global" || line->GetCommand() == "Mission") && !resetObject)
             {
+                if(line->GetCommand() == "Global")
+                    CLogger::GetInstancePointer()->Warn("Using Global is deprecated. Please use Mission instead.\n");
+
                 g_unit = line->GetParam("unitScale")->AsFloat(4.0f);
                 m_engine->SetTracePrecision(line->GetParam("traceQuality")->AsFloat(1.0f));
                 m_shortCut = line->GetParam("shortcut")->AsBool(true);
-                if (m_version >= 2)
-                {
-                    m_retroStyle = line->GetParam("retro")->AsBool(false);
-                    if (m_retroStyle) GetLogger()->Info("Retro mode enabled.\n");
-                }
+
+                m_retroStyle = line->GetParam("retro")->AsBool(false);
+                if (m_retroStyle) GetLogger()->Info("Retro mode enabled.\n");
                 continue;
             }
             
@@ -3458,7 +3465,7 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
                 continue;
             }
             
-            if (line->GetCommand() == "MissionController" && read[0] == 0 && m_version >= 2)
+            if (line->GetCommand() == "MissionController" && read[0] == 0)
             {
                 m_controller = CObjectManager::GetInstancePointer()->CreateObject(Math::Vector(0.0f, 0.0f, 0.0f), 0.0f, OBJECT_CONTROLLER, 100.0f);
                 m_controller->SetMagnifyDamage(100.0f);
@@ -3598,19 +3605,16 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
                     obj->SetShield(line->GetParam("shield")->AsFloat(1.0f));
                     obj->SetMagnifyDamage(line->GetParam("magnifyDamage")->AsFloat(1.0f));
                     obj->SetClip(line->GetParam("clip")->AsBool(true));
-                    obj->SetCheckToken(m_version >= 2 ? trainer || !selectable : line->GetParam("checkToken")->AsBool(true));
+                    obj->SetCheckToken(!line->GetParam("checkToken")->IsDefined() ? trainer || !selectable : line->GetParam("checkToken")->AsBool(true));
                     // SetManual will affect bot speed
                     if (type == OBJECT_MOBILEdr)
                     {
-                        obj->SetManual(m_version >= 2 ? !trainer : line->GetParam("manual")->AsBool(false));
+                        obj->SetManual(!trainer);
                     }
                     
-                    if (m_version >= 2)
-                    {
-                        Math::Vector zoom = line->GetParam("zoom")->AsPoint(Math::Vector(0.0f, 0.0f, 0.0f));
-                        if (zoom.x != 0.0f || zoom.y != 0.0f || zoom.z != 0.0f)
-                            obj->SetZoom(0, zoom);
-                    }
+                    Math::Vector zoom = line->GetParam("zoom")->AsPoint(Math::Vector(0.0f, 0.0f, 0.0f));
+                    if (zoom.x != 0.0f || zoom.y != 0.0f || zoom.z != 0.0f)
+                        obj->SetZoom(0, zoom);
                     
                     //TODO: I don't remember what this is used for
                     CMotion* motion = obj->GetMotion();
@@ -3828,24 +3832,14 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
                 if (i < 10)
                 {
                     m_endTake[i].pos      = line->GetParam("pos")->AsPoint(Math::Vector(0.0f, 0.0f, 0.0f))*g_unit;
-                    m_endTake[i].dist     = line->GetParam("dist")->AsFloat(m_version < 2 ? 8.0f : 100.0f)*g_unit;
+                    m_endTake[i].dist     = line->GetParam("dist")->AsFloat(8.0f)*g_unit;
                     m_endTake[i].type     = line->GetParam("type")->AsObjectType(OBJECT_NULL);
                     m_endTake[i].min      = line->GetParam("min")->AsInt(1);
                     m_endTake[i].max      = line->GetParam("max")->AsInt(9999);
-                    if (m_version >= 2)
-                    {
-                        m_endTake[i].powermin = line->GetParam("powermin")->AsFloat(-1);
-                        m_endTake[i].powermax = line->GetParam("powermax")->AsFloat(100);
-                        m_endTake[i].tool     = line->GetParam("tool")->AsToolType(TOOL_OTHER);
-                        m_endTake[i].drive    = line->GetParam("drive")->AsDriveType(DRIVE_OTHER);
-                    }
-                    else
-                    {
-                        m_endTake[i].powermin = -1;
-                        m_endTake[i].powermax = 100;
-                        m_endTake[i].tool     = TOOL_OTHER;
-                        m_endTake[i].drive    = DRIVE_OTHER;
-                    }
+                    m_endTake[i].powermin = line->GetParam("powermin")->AsFloat(-1);
+                    m_endTake[i].powermax = line->GetParam("powermax")->AsFloat(100);
+                    m_endTake[i].tool     = line->GetParam("tool")->AsToolType(TOOL_OTHER);
+                    m_endTake[i].drive    = line->GetParam("drive")->AsDriveType(DRIVE_OTHER);
                     m_endTake[i].lost     = line->GetParam("lost")->AsInt(-1);
                     m_endTake[i].immediat = line->GetParam("immediat")->AsBool(false);
                     strcpy(m_endTake[i].message, line->GetParam("message")->AsString("").c_str()); //TODO: Really, ending mission on message()? Is this used anywhere? Do we need that?
diff --git a/src/object/robotmain.h b/src/object/robotmain.h
index b8cc3f7..22955e3 100644
--- a/src/object/robotmain.h
+++ b/src/object/robotmain.h
@@ -446,7 +446,6 @@ protected:
 
     CObject*        m_controller;
 
-    int             m_version;         // Mission file version
     bool            m_retroStyle;      // Retro
     bool            m_immediatSatCom;  // SatCom immediately?
     bool            m_beginSatCom;     // messages SatCom poster?

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git



More information about the Pkg-games-commits mailing list