mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
edgar: correct user settings directory (#4632)
* edgar: correct user settings directory
This commit is contained in:
@@ -8,7 +8,7 @@ but his quest will not be easy..."
|
||||
HOMEPAGE="https://www.parallelrealities.co.uk/games/edgar/"
|
||||
COPYRIGHT="2009-2018 Parallel Realities"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="2"
|
||||
REVISION="3"
|
||||
SOURCE_URI="https://github.com/riksweeney/edgar/releases/download/$portVersion/edgar-$portVersion-1.tar.gz"
|
||||
CHECKSUM_SHA256="5dc782f999b22ee5dc6c1cb767137205c840a40cfd1a483147cb82d7c6d00b2e"
|
||||
SOURCE_FILENAME="edgar-$portVersion.tar.gz"
|
||||
@@ -18,6 +18,10 @@ ADDITIONAL_FILES="edgar.rdef.in"
|
||||
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
|
||||
USER_SETTINGS_FILES="
|
||||
settings/parallelrealities/Edgar directory
|
||||
"
|
||||
|
||||
PROVIDES="
|
||||
edgar = $portVersion
|
||||
app:edgar = $portVersion
|
||||
|
||||
@@ -1,40 +1,65 @@
|
||||
From 04f238abd162bc62a3d4bd846ef34d644c5e9f3b Mon Sep 17 00:00:00 2001
|
||||
From: begasus <begasus@gmail.com>
|
||||
Date: Fri, 4 Jan 2019 08:58:59 +0100
|
||||
Subject: correct load/save path
|
||||
From 75a7140e56071a2214ede84ac404013661890b8e Mon Sep 17 00:00:00 2001
|
||||
From: TURX <turx2003@gmail.com>
|
||||
Date: Tue, 21 Jan 2020 23:14:22 +0800
|
||||
Subject: [PATCH] fix Haiku support
|
||||
|
||||
---
|
||||
src/system/load_save.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/src/system/load_save.c b/src/system/load_save.c
|
||||
index 2d55feb..b6b136d 100644
|
||||
index 2d55feba5..b2309a4c3 100644
|
||||
--- a/src/system/load_save.c
|
||||
+++ b/src/system/load_save.c
|
||||
@@ -73,7 +73,7 @@ extern Game game;
|
||||
@@ -41,6 +41,10 @@ Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
|
||||
#include "load_save.h"
|
||||
#include "resources.h"
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <FindDirectory.h>
|
||||
+#endif
|
||||
+
|
||||
static char gameSavePath[MAX_PATH_LENGTH], tempFile[MAX_PATH_LENGTH], saveFileIndex[MAX_PATH_LENGTH], continueFile[MAX_PATH_LENGTH];
|
||||
static int temporaryDataExists;
|
||||
|
||||
@@ -57,6 +61,7 @@ extern Game game;
|
||||
{
|
||||
char *userHome;
|
||||
char dir[MAX_PATH_LENGTH];
|
||||
+ char path[MAX_PATH_LENGTH];
|
||||
struct passwd *pass;
|
||||
|
||||
pass = getpwuid(geteuid());
|
||||
@@ -72,6 +77,9 @@ extern Game game;
|
||||
|
||||
#if MACOS == 1
|
||||
snprintf(dir, sizeof(dir), "%s/Library/Application Support", userHome);
|
||||
+ #elif defined(__HAIKU__)
|
||||
+ find_directory(B_USER_SETTINGS_DIRECTORY, 0, true, path, sizeof(path));
|
||||
+ snprintf(dir, sizeof(dir), "%s/parallelrealities", path);
|
||||
#else
|
||||
- snprintf(dir, sizeof(dir), "%s/.parallelrealities", userHome);
|
||||
+ snprintf(dir, sizeof(dir), "%s/config/settings/parallelrealities", userHome);
|
||||
snprintf(dir, sizeof(dir), "%s/.parallelrealities", userHome);
|
||||
#endif
|
||||
@@ -85,6 +93,9 @@ extern Game game;
|
||||
|
||||
if ((mkdir(dir, S_IRWXU|S_IRWXG|S_IROTH|S_IXOTH) != 0) && (errno != EEXIST))
|
||||
@@ -86,7 +86,7 @@ extern Game game;
|
||||
#if MACOS == 1
|
||||
snprintf(dir, sizeof(dir), "%s/Library/Application Support/Edgar", userHome);
|
||||
+ #elif defined(__HAIKU__)
|
||||
+ find_directory(B_USER_SETTINGS_DIRECTORY, 0, true, path, sizeof(path));
|
||||
+ snprintf(dir, sizeof(dir), "%s/parallelrealities/Edgar", path);
|
||||
#else
|
||||
- snprintf(dir, sizeof(dir), "%s/.parallelrealities/edgar", userHome);
|
||||
+ snprintf(dir, sizeof(dir), "%s/config/settings/parallelrealities/Edgar", userHome);
|
||||
snprintf(dir, sizeof(dir), "%s/.parallelrealities/edgar", userHome);
|
||||
#endif
|
||||
@@ -98,6 +109,9 @@ extern Game game;
|
||||
|
||||
if ((mkdir(dir, S_IRWXU|S_IRWXG|S_IROTH|S_IXOTH) != 0) && (errno != EEXIST))
|
||||
@@ -99,7 +99,7 @@ extern Game game;
|
||||
#if MACOS == 1
|
||||
snprintf(gameSavePath, sizeof(gameSavePath), "%s/Library/Application Support/Edgar/", userHome);
|
||||
+ #elif defined(__HAIKU__)
|
||||
+ find_directory(B_USER_SETTINGS_DIRECTORY, 0, true, path, sizeof(path));
|
||||
+ snprintf(gameSavePath, sizeof(gameSavePath), "%s/parallelrealities/Edgar", path);
|
||||
#else
|
||||
- snprintf(gameSavePath, sizeof(gameSavePath), "%s/.parallelrealities/edgar/", userHome);
|
||||
+ snprintf(gameSavePath, sizeof(gameSavePath), "%s/config/settings/parallelrealities/Edgar/", userHome);
|
||||
snprintf(gameSavePath, sizeof(gameSavePath), "%s/.parallelrealities/edgar/", userHome);
|
||||
#endif
|
||||
|
||||
snprintf(tempFile, sizeof(tempFile), "%stmpsave", gameSavePath);
|
||||
--
|
||||
2.19.1
|
||||
2.20.1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user