diff options
Diffstat (limited to 'games-strategy/glest/files/glest-3.2.2-gentoo.patch')
-rw-r--r-- | games-strategy/glest/files/glest-3.2.2-gentoo.patch | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/games-strategy/glest/files/glest-3.2.2-gentoo.patch b/games-strategy/glest/files/glest-3.2.2-gentoo.patch new file mode 100644 index 000000000000..633fe37355c7 --- /dev/null +++ b/games-strategy/glest/files/glest-3.2.2-gentoo.patch @@ -0,0 +1,151 @@ +diff -urN glest-source-3.2.2/glest_game/ai/ai_interface.h glest-source-3.2.2_mod/glest_game/ai/ai_interface.h +--- glest-source-3.2.2/glest_game/ai/ai_interface.h 2009-04-15 11:17:19.000000000 +0400 ++++ glest-source-3.2.2_mod/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
+diff -urN glest-source-3.2.2/glest_game/ai/ai_rule.cpp glest-source-3.2.2_mod/glest_game/ai/ai_rule.cpp +--- glest-source-3.2.2/glest_game/ai/ai_rule.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ glest-source-3.2.2_mod/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{ +diff -urN glest-source-3.2.2/glest_game/game/game.cpp glest-source-3.2.2_mod/glest_game/game/game.cpp +--- glest-source-3.2.2/glest_game/game/game.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ glest-source-3.2.2_mod/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){ +diff -urN glest-source-3.2.2/glest_game/main/main.cpp glest-source-3.2.2_mod/glest_game/main/main.cpp +--- glest-source-3.2.2/glest_game/main/main.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ glest-source-3.2.2_mod/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("@GENTOO_DATADIR@"); + + MainWindow *mainWindow= NULL; + Program *program= NULL; +diff -urN glest-source-3.2.2/glest_game/main/program.cpp glest-source-3.2.2_mod/glest_game/main/program.cpp +--- glest-source-3.2.2/glest_game/main/program.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ glest-source-3.2.2_mod/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 +diff -urN glest-source-3.2.2/shared_lib/sources/util/leak_dumper.cpp glest-source-3.2.2_mod/shared_lib/sources/util/leak_dumper.cpp +--- glest-source-3.2.2/shared_lib/sources/util/leak_dumper.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ glest-source-3.2.2_mod/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){ +diff -urN glest-source-3.2.2/shared_lib/sources/util/profiler.cpp glest-source-3.2.2_mod/shared_lib/sources/util/profiler.cpp +--- glest-source-3.2.2/shared_lib/sources/util/profiler.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ glest-source-3.2.2_mod/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"); + +diff -urN glest-source-3.2.2/shared_lib/sources/util/properties.cpp glest-source-3.2.2_mod/shared_lib/sources/util/properties.cpp +--- glest-source-3.2.2/shared_lib/sources/util/properties.cpp 2009-04-15 11:17:19.000000000 +0400 ++++ glest-source-3.2.2_mod/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'; |