Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 27, 2012, 3:56:15 PM (12 years ago)
Author:
huttemat
Message:

shipselection core works now

Location:
code/branches/shipSelection/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • code/branches/shipSelection/src/libraries/core/Loader.cc

    r8858 r9127  
    222222
    223223            orxout(verbose, context::loader) << "Namespace-tree:" << '\n' << rootNamespace->toString("  ") << endl;
    224 
     224                       
    225225            return true;
    226226        }
  • code/branches/shipSelection/src/orxonox/LevelInfo.h

    r9101 r9127  
    152152
    153153        private:
     154
    154155            inline void changeShip (const std::string& model) {
    155                 //HACK: Read Level XML File, find "shipselection", replace with ship model
    156                 std::string text;
    157                 std::ifstream myLevel ("test.txt");
    158                 std::ofstream tempLevel ("test2.txt");
    159                 while(!myLevel.eof())
    160                 {
    161                         std::string buff;
    162                         std::getline(myLevel, buff);
    163                         tempLevel.write(buff.c_str(), buff.length());
    164                 }
    165                 myLevel.close();
    166                 tempLevel.close();
    167                 orxout(user_status) << "done" << endl;
     156                static std::string shipSelectionTag = "shipselection";
     157                //HACK: Read Level XML File, find "shipselection", replace with ship model
     158                std::string levelPath = "../levels/";
     159                levelPath.append(this->getXMLFilename());
     160                std::string tempPath = "../levels/";
     161                tempPath.append("_temp.oxw");
     162                orxout(user_status) << levelPath << endl;
     163                orxout(user_status) << tempPath << endl;
     164                std::ifstream myLevel (levelPath.c_str());
     165                        std::ofstream tempLevel (tempPath.c_str());
     166                        while(!myLevel.eof())
     167                        {
     168                                std::string buff;
     169                                std::getline(myLevel, buff);
     170                                std::string pawndesignString = "pawndesign=";
     171                                size_t found = buff.find(pawndesignString.append(shipSelectionTag));
     172                                if (found!= std::string::npos)
     173                                        buff = buff.substr(0, found + 11) + model + buff.substr(found+11+shipSelectionTag.length(), std::string::npos);
     174                                tempLevel.write(buff.c_str(), buff.length());
     175                                tempLevel << std::endl;
     176                        }
     177                        myLevel.close();
     178                        tempLevel.close();
     179                        orxout(user_status) << "done" << endl;
    168180            }
    169181            void tagsUpdated(void); //!< Updates the comma-seperated string of all tags, if the set of tags has changed.
  • code/branches/shipSelection/src/orxonox/LevelManager.cc

    r8891 r9127  
    256256        {
    257257            // TODO: Replace with tag?
    258             if (it->find("old/") != 0)
     258            if (it->find("old/") != 0 )
    259259            {
    260260                LevelInfoItem* info = NULL;
Note: See TracChangeset for help on using the changeset viewer.