diff options
author | Larry Hajali <larryhaja[at]gmail[dot]com> | 2010-05-13 00:26:25 +0200 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2010-05-13 00:26:25 +0200 |
commit | 971596f5c35c82f9698c2866c16c7684cd6184eb (patch) | |
tree | effb137a45c936565d94553fe2e6fc10288d9cce /games/glest/patches/glest-home-directory.patch | |
parent | a2b88d12b1bf7a747702a52f0500cbbdccf9e521 (diff) | |
download | slackbuilds-971596f5c35c82f9698c2866c16c7684cd6184eb.tar.gz |
games/glest: Updated for version 3.2.2
Diffstat (limited to 'games/glest/patches/glest-home-directory.patch')
-rw-r--r-- | games/glest/patches/glest-home-directory.patch | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/games/glest/patches/glest-home-directory.patch b/games/glest/patches/glest-home-directory.patch new file mode 100644 index 0000000000..a92002ab60 --- /dev/null +++ b/games/glest/patches/glest-home-directory.patch @@ -0,0 +1,143 @@ +--- source/glest_game/ai/ai_interface.h 2009-04-15 11:17:19.000000000 +0400 ++++ source/glest_game/ai/ai_interface.h 2009-04-15 12:25:04.000000000 +0400 +@@ -84,7 +84,11 @@ + bool isFreeCells(const Vec2i &pos, int size, Field field); + + private: +- string getLogFilename() const {return "ai"+intToStr(factionIndex)+".log";} ++ string getLogFilename() const { ++ string logfn=getenv("HOME"); ++ logfn+="/.glest/ai"+intToStr(factionIndex)+".log"; ++ return logfn; ++ } + }; + + }}//end namespace +--- source/glest_game/ai/ai_rule.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ source/glest_game/ai/ai_rule.cpp 2009-04-15 11:19:02.000000000 +0400 +@@ -17,6 +17,8 @@ + #include "unit.h" + #include "leak_dumper.h" + ++#include <limits.h> ++ + using Shared::Graphics::Vec2i; + + namespace Glest{ namespace Game{ +--- source/glest_game/game/game.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ source/glest_game/game/game.cpp 2009-04-15 12:21:29.000000000 +0400 +@@ -443,7 +443,8 @@ + } + else if(key=='E'){ + for(int i=0; i<100; ++i){ +- string path= "screens/screen" + intToStr(i) + ".tga"; ++ string path=getenv("HOME"); ++ path+="/.glest/screens/screen" + intToStr(i) + ".tga"; + + FILE *f= fopen(path.c_str(), "rb"); + if(f==NULL){ +--- source/glest_game/main/main.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ source/glest_game/main/main.cpp 2009-04-15 12:32:04.000000000 +0400 +@@ -114,6 +114,17 @@ + // ===================================================== + + int glestMain(int argc, char** argv){ ++ if (!getenv("HOME")) ++ throw runtime_error("HOME external variable is not set"); ++ ++ char path[PATH_MAX]; ++ snprintf(path, PATH_MAX, "%s/.glest", getenv("HOME")); ++ mkdir(path, 0750); ++ ++ snprintf(path, PATH_MAX, "%s/.glest/screens", getenv("HOME")); ++ mkdir(path, 0750); ++ ++ chdir("/usr/share/glest"); + + MainWindow *mainWindow= NULL; + Program *program= NULL; +--- source/glest_game/main/program.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ source/glest_game/main/program.cpp 2009-04-15 12:11:51.000000000 +0400 +@@ -196,9 +196,11 @@ + updateTimer.init(GameConstants::updateFps, maxTimes); + updateCameraTimer.init(GameConstants::cameraFps, maxTimes); + +- //log start +- Logger &logger= Logger::getInstance(); +- logger.setFile("glest.log"); ++ //log start ++ char path[PATH_MAX]; ++ snprintf(path, PATH_MAX, "%s/.glest/glest.log", getenv("HOME")); ++ Logger &logger= Logger::getInstance(); ++ logger.setFile(path); + logger.clear(); + + //lang +--- source/shared_lib/sources/util/leak_dumper.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ source/shared_lib/sources/util/leak_dumper.cpp 2009-04-15 12:04:49.000000000 +0400 +@@ -52,7 +52,9 @@ + } + + AllocRegistry::~AllocRegistry(){ +- dump("leak_dump.log"); ++ char path[PATH_MAX]; ++ snprintf(path, PATH_MAX, "%s/.glest/leak_dump.log", getenv("HOME")); ++ dump(path); + } + + void AllocRegistry::allocate(AllocInfo info){ +--- source/shared_lib/sources/util/profiler.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ source/shared_lib/sources/util/profiler.cpp 2009-04-15 12:01:52.000000000 +0400 +@@ -71,9 +71,11 @@ + Profiler::~Profiler(){ + rootSection->stop(); + +- FILE *f= fopen("profiler.log", "w"); ++ char path[PATH_MAX]; ++ snprintf(path, PATH_MAX, "%s/.glest/profiler.log", getenv("HOME")); ++ FILE *f= fopen(path, "w"); + if(f==NULL) +- throw runtime_error("Can not open file: profiler.log"); ++ throw runtime_error("Can not open file: %s",path); + + fprintf(f, "Profiler Results\n\n"); + +--- source/shared_lib/sources/util/properties.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ source/shared_lib/sources/util/properties.cpp 2009-04-15 13:09:33.000000000 +0400 +@@ -15,6 +15,9 @@ + #include <stdexcept> + #include <cstring> + ++#include <limits.h> ++#include <stdlib.h> ++ + #include "conversion.h" + #include "leak_dumper.h" + +@@ -34,9 +37,13 @@ + + this->path= path; + +- fileStream.open(path.c_str(), ios_base::in); ++ char str[PATH_MAX]; ++ snprintf(str, PATH_MAX, "%s/.glest/%s", getenv("HOME"), path.c_str()); ++ fileStream.open(str, ios_base::in); + if(fileStream.fail()){ +- throw runtime_error("Can't open propertyMap file: " + path); ++ fileStream.open(path.c_str(), ios_base::in); // use defaults ++ if(fileStream.fail()) ++ throw runtime_error("Can't open propertyMap file: " + path + " cwd: "+ getenv("PWD")); + } + + propertyMap.clear(); +@@ -71,7 +78,9 @@ + void Properties::save(const string &path){ + ofstream fileStream; + +- fileStream.open(path.c_str(), ios_base::out | ios_base::trunc); ++ char str[PATH_MAX]; ++ snprintf(str, PATH_MAX, "%s/.glest/%s", getenv("HOME"), path.c_str()); ++ fileStream.open(str, ios_base::out | ios_base::trunc); + + fileStream << "; === propertyMap File === \n"; + fileStream << '\n'; |