summary refs log tree commit diff
path: root/pkgs/games/ivan/homedir.patch
blob: 312099f7ffd98e0ce57721b2ad6e981796427f4d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
diff --git a/FeLib/Include/hscore.h b/FeLib/Include/hscore.h
index 4caf3ff..1a02845 100644
--- a/FeLib/Include/hscore.h
+++ b/FeLib/Include/hscore.h
@@ -31,11 +31,11 @@ class festring;
 class highscore
 {
  public:
-  highscore(cfestring& = HIGH_SCORE_FILENAME);
+  highscore();
   truth Add(long, cfestring&);
   void Draw() const;
-  void Save(cfestring& = HIGH_SCORE_FILENAME) const;
-  void Load(cfestring& = HIGH_SCORE_FILENAME);
+  void Save() const;
+  void Load();
   truth LastAddFailed() const;
   void AddToFile(highscore*) const;
   truth MergeToFile(highscore*) const;
diff --git a/FeLib/Source/hscore.cpp b/FeLib/Source/hscore.cpp
index 2e5318d..ff9c174 100644
--- a/FeLib/Source/hscore.cpp
+++ b/FeLib/Source/hscore.cpp
@@ -23,7 +23,7 @@ cfestring& highscore::GetEntry(int I) const { return Entry[I]; }
 long highscore::GetScore(int I) const { return Score[I]; }
 long highscore::GetSize() const { return Entry.size(); }
 
-highscore::highscore(cfestring& File) : LastAdd(0xFF), Version(HIGH_SCORE_VERSION) { Load(File); }
+highscore::highscore() : LastAdd(0xFF), Version(HIGH_SCORE_VERSION) { Load(); }
 
 truth highscore::Add(long NewScore, cfestring& NewEntry,
                      time_t NewTime, long NewRandomID)
@@ -98,8 +98,12 @@ void highscore::Draw() const
   List.Draw();
 }
 
-void highscore::Save(cfestring& File) const
+void highscore::Save() const
 {
+  std::string buffer(getenv("HOME"));
+  buffer.append("/.ivan/ivan-highscore.scores");
+  cfestring& File = buffer.c_str();
+
   outputfile HighScore(File);
   long CheckSum = HIGH_SCORE_VERSION + LastAdd;
   for(ushort c = 0; c < Score.size(); ++c)
@@ -112,8 +116,12 @@ void highscore::Save(cfestring& File) const
 }
 
 /* This function needs much more error handling */
-void highscore::Load(cfestring& File)
+void highscore::Load()
 {
+  std::string buffer(getenv("HOME"));
+  buffer.append("/.ivan/ivan-highscore.scores");
+  cfestring& File = buffer.c_str();
+
   {
     inputfile HighScore(File, 0, false);
 
diff --git a/Main/Source/game.cpp b/Main/Source/game.cpp
index 8927305..c18e790 100644
--- a/Main/Source/game.cpp
+++ b/Main/Source/game.cpp
@@ -2380,7 +2380,9 @@ festring game::GetDataDir()
 festring game::GetBoneDir()
 {
 #ifdef UNIX
-  return LOCAL_STATE_DIR "/Bones/";
+  festring BoneDir;
+  BoneDir << getenv("HOME") << "/.ivan/Bones/";
+  return BoneDir;
 #endif
 
 #if defined(WIN32) || defined(__DJGPP__)