summaryrefslogtreecommitdiff
path: root/games/glest/patches/glest-home-directory.patch
diff options
context:
space:
mode:
authorLarry Hajali <larryhaja[at]gmail[dot]com>2010-05-13 00:26:25 +0200
committerRobby Workman <rworkman@slackbuilds.org>2010-05-13 00:26:25 +0200
commit971596f5c35c82f9698c2866c16c7684cd6184eb (patch)
treeeffb137a45c936565d94553fe2e6fc10288d9cce /games/glest/patches/glest-home-directory.patch
parenta2b88d12b1bf7a747702a52f0500cbbdccf9e521 (diff)
downloadslackbuilds-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.patch143
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';