Revision: 1703
http://rigsofrods.svn.sourceforge.net/rigsofrods/?rev=1703&view=rev
Author: rorthomas
Date: 2011-02-27 17:10:56 +0000 (Sun, 27 Feb 2011)
Log Message:
-----------
fixing some content manager bugs
moved fileExist() to utils
Modified Paths:
--------------
trunk/source/configurator/CMakeLists.txt
trunk/source/main/framework/ContentManager.cpp
trunk/source/main/utils/Settings.cpp
trunk/source/main/utils/utils.cpp
trunk/source/main/utils/utils.h
Modified: trunk/source/configurator/CMakeLists.txt
===================================================================
--- trunk/source/configurator/CMakeLists.txt 2011-02-27 15:51:12 UTC (rev
1702)
+++ trunk/source/configurator/CMakeLists.txt 2011-02-27 17:10:56 UTC (rev
1703)
@@ -79,9 +79,9 @@
FILE(GLOB headers "*.h")
IF(WIN32)
- add_executable(rorconfig WIN32 ${sources} ${headers} ${OS_SOURCE}
../main/utils/Settings.cpp ../main/utils/errorutils.cpp)
+ add_executable(rorconfig WIN32 ${sources} ${headers} ${OS_SOURCE}
../main/utils/Settings.cpp ../main/utils/errorutils.cpp ../main/utils/utils.cpp)
ELSE(WIN32)
- add_executable(rorconfig ${sources} ${headers} ${OS_SOURCE}
../main/utils/Settings.cpp ../main/utils/errorutils.cpp)
+ add_executable(rorconfig ${sources} ${headers} ${OS_SOURCE}
../main/utils/Settings.cpp ../main/utils/errorutils.cpp ../main/utils/utils.cpp)
ENDIF(WIN32)
TARGET_LINK_LIBRARIES(rorconfig ${Ogre_LIBRARIES} ${Ois_LIBRARIES} ${OS_LIBS}
${optional_libs} ${wxWidgets_LIBRARIES})
Modified: trunk/source/main/framework/ContentManager.cpp
===================================================================
--- trunk/source/main/framework/ContentManager.cpp 2011-02-27 15:51:12 UTC
(rev 1702)
+++ trunk/source/main/framework/ContentManager.cpp 2011-02-27 17:10:56 UTC
(rev 1703)
@@ -195,7 +195,10 @@
LogManager::getSingleton().logMessage("initialiseAllResourceGroups() -
Content");
try
{
-
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
+
ResourceGroupManager::getSingleton().initialiseResourceGroup("Streams");
+
ResourceGroupManager::getSingleton().initialiseResourceGroup("Packs");
+
ResourceGroupManager::getSingleton().initialiseResourceGroup("VehicleFolders");
+
ResourceGroupManager::getSingleton().initialiseResourceGroup("TerrainFolders");
} catch(Ogre::Exception& e)
{
LogManager::getSingleton().logMessage("catched error while
initializing Content Resource groups: " + e.getFullDescription());
Modified: trunk/source/main/utils/Settings.cpp
===================================================================
--- trunk/source/main/utils/Settings.cpp 2011-02-27 15:51:12 UTC (rev
1702)
+++ trunk/source/main/utils/Settings.cpp 2011-02-27 17:10:56 UTC (rev
1703)
@@ -28,6 +28,7 @@
//#include "language.h"
#define _L
+#include "utils.h"
#include "errorutils.h"
#include "sha1.h"
@@ -291,12 +292,19 @@
char streams_path[1024]="";
char user_path[1024]="";
char config_root[1024]="";
- char dirsep='/';
+ char *dsStr = "\\";
+#if OGRE_PLATFORM != OGRE_PLATFORM_WIN32
+ char *dsStr="/";
+#endif
-
if(!get_system_paths(program_path, user_path))
return false;
+ char local_config[1024]="";
+ sprintf(local_config, "%s%sconfig%sconfig%sRoR.cfg",program_path,
dsStr, dsStr, dsStr);
+ if(fileExists(string(local_config)))
+ sprintf(user_path, "%s%sconfig%s",program_path, dsStr, dsStr);
+
//NEXT, derive the resources and stream paths from the base paths
(depends on configuration)
//from now we are mostly platform neutral
//default mode (released)
@@ -325,13 +333,10 @@
strcat(ogrelog_fname, "RoR.log");
// now update our settings with the results:
- String dsStr = "\\";
-#if OGRE_PLATFORM != OGRE_PLATFORM_WIN32
- dsStr="/";
-#endif
- settings["dirsep"] = dsStr;
+
+ settings["dirsep"] = String(dsStr);
settings["Config Root"] = String(config_root);
- settings["Cache Path"] = String(user_path) + "cache" + dsStr;
+ settings["Cache Path"] = String(user_path) + "cache" + String(dsStr);
settings["Log Path"] = String(ogrelog_path);
settings["Resources Path"] = String(resources_path);
settings["Streams Path"] = String(streams_path);
@@ -352,22 +357,16 @@
StringUtil::toLowerCase(settings["Program Path"]);
#endif
// now enable the user to override that:
- try
+ if(fileExists(string("config.cfg")))
{
- String configfile = settings["configfile"];
- if(!configfile.size()) configfile = "config.cfg";
- loadSettings(configfile, true);
+ loadSettings("config.cfg", true);
// fix up time things...
- settings["Config Root"] = settings["User
Path"]+dsStr+"config"+dirsep;
- settings["Cache Path"] = settings["User
Path"]+dsStr+"cache"+dirsep;
- settings["Log Path"] = settings["User
Path"]+dsStr+"logs"+dirsep;
- settings["ogre.cfg"] = settings["User
Path"]+dsStr+"config"+dirsep+"ogre.cfg";
- settings["ogre.log"] = settings["User
Path"]+dsStr+"logs"+dirsep+"ogre.log";
-
- } catch(...)
- {
- // file not found or other error
+ settings["Config Root"] = settings["User
Path"]+string(dsStr)+"config"+string(dsStr);
+ settings["Cache Path"] = settings["User
Path"]+string(dsStr)+"cache"+string(dsStr);
+ settings["Log Path"] = settings["User
Path"]+string(dsStr)+"logs"+string(dsStr);
+ settings["ogre.cfg"] = settings["User
Path"]+string(dsStr)+"config"+string(dsStr)+"ogre.cfg";
+ settings["ogre.log"] = settings["User
Path"]+string(dsStr)+"logs"+string(dsStr)+"ogre.log";
}
printf(" * config path: %s\n", settings["Config Root"].c_str());
Modified: trunk/source/main/utils/utils.cpp
===================================================================
--- trunk/source/main/utils/utils.cpp 2011-02-27 15:51:12 UTC (rev 1702)
+++ trunk/source/main/utils/utils.cpp 2011-02-27 17:10:56 UTC (rev 1703)
@@ -24,6 +24,8 @@
#include "RoRPrerequisites.h"
#include "rornet.h"
+#include <fstream>
+
using namespace Ogre;
String hexdump(void *pAddressIn, long lSize)
@@ -153,6 +155,7 @@
return (int)time(NULL); //this will overflow in 2038
}
+
Ogre::String getVersionString()
{
char tmp[1024] = "";
@@ -165,3 +168,10 @@
, ROR_VERSION_STRING, SVN_REVISION, SVN_ID, RORNET_VERSION,
__DATE__, __TIME__);
return Ogre::String(tmp);
}
+
+bool fileExists(std::string filename)
+{
+ std::fstream file;
+ file.open(filename.c_str());
+ return file.is_open();
+}
Modified: trunk/source/main/utils/utils.h
===================================================================
--- trunk/source/main/utils/utils.h 2011-02-27 15:51:12 UTC (rev 1702)
+++ trunk/source/main/utils/utils.h 2011-02-27 17:10:56 UTC (rev 1703)
@@ -43,4 +43,6 @@
Ogre::String getVersionString();
+bool fileExists(std::string filename);
+
#endif //UTILS_H_
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT data
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
Rigsofrods-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rigsofrods-devel