From: <hik...@us...> - 2013-01-21 23:27:46
|
Revision: 12404 http://supertuxkart.svn.sourceforge.net/supertuxkart/?rev=12404&view=rev Author: hikerstk Date: 2013-01-21 23:27:39 +0000 (Mon, 21 Jan 2013) Log Message: ----------- Cleaned up "/" usage (avoid "//"), and in the way fixed problems with textures that were not found (due to ealier not completely finished clean ups). Modified Paths: -------------- main/trunk/src/io/file_manager.cpp main/trunk/src/karts/kart_properties.cpp main/trunk/src/karts/kart_properties_manager.cpp main/trunk/src/tracks/track.cpp main/trunk/src/tracks/track_manager.cpp Modified: main/trunk/src/io/file_manager.cpp =================================================================== --- main/trunk/src/io/file_manager.cpp 2013-01-21 10:05:08 UTC (rev 12403) +++ main/trunk/src/io/file_manager.cpp 2013-01-21 23:27:39 UTC (rev 12404) @@ -850,7 +850,7 @@ { struct stat mystat; std::string s(path); - // At least on windows stat returns an error if there is + // At least on windows stat returns an error if there is // a '/' at the end of the path. if(s[s.size()-1]=='/') s.erase(s.end()-1, s.end()); @@ -873,11 +873,7 @@ { result.clear(); -#if defined(WIN32) - std::string path = is_full_path ? dir : m_root_dir+"/"+dir; -#else - std::string path = is_full_path ? dir + "/" : m_root_dir+"/"+dir + "/"; -#endif + std::string path = is_full_path ? dir : m_root_dir+dir; #ifndef ANDROID if(!isDirectory(path)) Modified: main/trunk/src/karts/kart_properties.cpp =================================================================== --- main/trunk/src/karts/kart_properties.cpp 2013-01-21 10:05:08 UTC (rev 12403) +++ main/trunk/src/karts/kart_properties.cpp 2013-01-21 23:27:39 UTC (rev 12404) @@ -172,7 +172,7 @@ m_kart_model = new KartModel(/*is_master*/true); const XMLNode * root = 0; - m_root = StringUtils::getPath(filename); + m_root = StringUtils::getPath(filename)+"/"; m_ident = StringUtils::getBasename(StringUtils::getPath(filename)); try { @@ -202,14 +202,14 @@ // Load material - std::string materials_file = m_root+"/materials.xml"; + std::string materials_file = m_root+"materials.xml"; file_manager->pushModelSearchPath (m_root); file_manager->pushTextureSearchPath(m_root); // addShared makes sure that these textures/material infos stay in memory material_manager->addSharedMaterial(materials_file); - m_icon_file = m_root+"/"+m_icon_file; + m_icon_file = m_root+m_icon_file; // Make permanent is important, since otherwise icons can get deleted // (e.g. when freeing temp. materials from a track, the last icon @@ -218,7 +218,7 @@ /*is_full+path*/true, /*make_permanent*/true); if(m_minimap_icon_file!="") - m_minimap_icon = irr_driver->getTexture(m_root+"/"+m_minimap_icon_file); + m_minimap_icon = irr_driver->getTexture(m_root+m_minimap_icon_file); else m_minimap_icon = NULL; Modified: main/trunk/src/karts/kart_properties_manager.cpp =================================================================== --- main/trunk/src/karts/kart_properties_manager.cpp 2013-01-21 10:05:08 UTC (rev 12403) +++ main/trunk/src/karts/kart_properties_manager.cpp 2013-01-21 23:27:39 UTC (rev 12404) @@ -169,7 +169,7 @@ for(std::set<std::string>::const_iterator subdir=result.begin(); subdir!=result.end(); subdir++) { - const bool loaded = loadKart(*dir+"/"+*subdir); + const bool loaded = loadKart(*dir+*subdir); if (loaded && loading_icon) { @@ -189,9 +189,8 @@ bool KartPropertiesManager::loadKart(const std::string &dir) { std::string config_filename=dir+"/kart.xml"; - FILE *f=fopen(config_filename.c_str(), "r"); - if(!f) return false; - fclose(f); + if(!file_manager->fileExists(config_filename)) + return false; KartProperties* kart_properties; try Modified: main/trunk/src/tracks/track.cpp =================================================================== --- main/trunk/src/tracks/track.cpp 2013-01-21 10:05:08 UTC (rev 12403) +++ main/trunk/src/tracks/track.cpp 2013-01-21 23:27:39 UTC (rev 12404) @@ -81,8 +81,12 @@ m_materials_loaded = false; m_filename = filename; - m_root = StringUtils::getPath(StringUtils::removeExtension(m_filename)); + m_root = + StringUtils::getPath(StringUtils::removeExtension(m_filename)); m_ident = StringUtils::getBasename(m_root); + // The directory should always have a '/' at the end, but getBasename + // above returns "" if a "/" is at the end, so we add the "/" here. + m_root += "/"; m_designer = ""; m_screenshot = ""; m_version = 0; @@ -362,11 +366,11 @@ if(xml_node) loadCurves(*xml_node); // Set the correct paths - m_screenshot = m_root+"/"+m_screenshot; + m_screenshot = m_root+m_screenshot; delete root; std::string dir = StringUtils::getPath(m_filename); - std::string easter_name = dir+"/easter_eggs.xml"; + std::string easter_name = dir+"easter_eggs.xml"; m_has_easter_eggs = file_manager->fileExists(easter_name); } // loadTrackInfo @@ -394,7 +398,7 @@ { for(int i=0; i<(int)filenames.size(); i++) { - std::string full_path = m_root+"/"+filenames[i]; + std::string full_path = m_root+filenames[i]; MusicInformation* mi = music_manager->getMusicInformation(full_path); if(!mi) { @@ -438,8 +442,8 @@ */ void Track::loadQuadGraph(unsigned int mode_id, const bool reverse) { - QuadGraph::create(m_root+"/"+m_all_modes[mode_id].m_quad_name, - m_root+"/"+m_all_modes[mode_id].m_graph_name, + QuadGraph::create(m_root+m_all_modes[mode_id].m_quad_name, + m_root+m_all_modes[mode_id].m_graph_name, reverse); QuadGraph::get()->setupPaths(); @@ -718,7 +722,7 @@ const XMLNode *track_node= root.getNode("track"); std::string model_name; track_node->get("model", &model_name); - std::string full_path = m_root+"/"+model_name; + std::string full_path = m_root+model_name; scene::IMesh *mesh = irr_driver->getMesh(full_path); if(!mesh) { @@ -921,7 +925,7 @@ scene::ISceneNode* scene_node; model_name=""; n->get("model", &model_name); - full_path = m_root+"/"+model_name; + full_path = m_root+model_name; // a special challenge orb object for overworld std::string challenge; @@ -1183,7 +1187,7 @@ { std::string model_name; node.get("model", &model_name); - std::string full_path = m_root+"/"+model_name; + std::string full_path = m_root+model_name; scene::IMesh *mesh = irr_driver->getMesh(full_path); if (mesh == NULL) return; @@ -1295,7 +1299,7 @@ // First read the temporary materials.dat file if it exists try { - std::string materials_file = m_root+"/materials.xml"; + std::string materials_file = m_root+"materials.xml"; if(m_cache_track) { if(!m_materials_loaded) @@ -1312,7 +1316,7 @@ } // Start building the scene graph - std::string path = m_root+"/"+m_all_modes[mode_id].m_scene; + std::string path = m_root+m_all_modes[mode_id].m_scene; XMLNode *root = file_manager->createXMLTree(path); // Make sure that we have a track (which is used for raycasts to @@ -1682,7 +1686,7 @@ if(easter_world) { std::string dir = StringUtils::getPath(m_filename); - easter_world->readData(dir+"/easter_eggs.xml"); + easter_world->readData(dir+"easter_eggs.xml"); } } // loadTrackModel Modified: main/trunk/src/tracks/track_manager.cpp =================================================================== --- main/trunk/src/tracks/track_manager.cpp 2013-01-21 10:05:08 UTC (rev 12403) +++ main/trunk/src/tracks/track_manager.cpp 2013-01-21 23:27:39 UTC (rev 12404) @@ -148,7 +148,7 @@ subdir != dirs.end(); subdir++) { if(*subdir=="." || *subdir=="..") continue; - loadTrack(dir+*subdir); + loadTrack(dir+*subdir+"/"); } // for dir in dirs } // for i <m_track_search_path.size() } // loadTrackList @@ -160,10 +160,9 @@ */ bool TrackManager::loadTrack(const std::string& dirname) { - std::string config_file = dirname+"/track.xml"; - FILE *f=fopen(config_file.c_str(),"r"); - if(!f) return false; - fclose(f); + std::string config_file = dirname+"track.xml"; + if(!file_manager->fileExists(config_file)) + return false; Track *track; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |