From c329ae35c4fa98a364687824b49c0b176412a253 Mon Sep 17 00:00:00 2001
From: Begasus <begasus@gmail.com>
Date: Sat, 31 Dec 2016 09:18:32 +0100
Subject: applying patch pipepanic-0.1.3.patch


diff --git a/main.c b/main.c
index 6cf114c..960f57a 100644
--- a/main.c
+++ b/main.c
@@ -16,6 +16,14 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. */
 
 /* Includes */
+// chdir()
+#include <unistd.h>
+#include <libgen.h>
+
+#ifdef __HAIKU__
+#include <FindDirectory.h>
+#endif
+
 #include <SDL/SDL_main.h>
 #include <SDL/SDL.h>
 #include <string.h>
@@ -44,6 +52,10 @@ SDL_Surface *temp;
 SDL_Event event;
 char *current_dir;
 char *user_home_dir;
+#ifdef __HAIKU__
+char user_settings_dir[256];
+#endif
+char save_file[256];
 int quit = 0;
 int game_mode = GAMEON;
 int previous_game_mode = 0;
@@ -102,6 +114,9 @@ extern "C"
 int main(int argc, char *argv[]) {
 	int count, count2;
 	
+	// For tracker (Thanks PulkoMandy)
+	chdir(dirname(argv[0]));
+
 	/* Initialise the highscoreboard array because there may not yet
 	   be a saved highscore[board]/rc file */
 	for (count = 0; count < 5; count++) {
@@ -114,7 +129,16 @@ int main(int argc, char *argv[]) {
 	
 	current_dir = getenv("PWD");
 	user_home_dir = getenv("HOME");
-	
+
+	#ifdef __HAIKU__
+	find_directory(B_USER_SETTINGS_DIRECTORY, NULL, true,
+			user_settings_dir, sizeof(user_settings_dir));
+	snprintf(save_file, sizeof(save_file),
+			"%s/" RESOURCEFILE, user_settings_dir);
+	#else
+	snprintf(save_file, sizeof(save_file),
+			"%s/" RESOURCEFILE, user_home_dir);
+	#endif
 	#ifdef DEBUG
 	printf("PWD=%s\n", current_dir);
 	printf("HOME=%s\n", user_home_dir);
@@ -1567,16 +1591,12 @@ void read_rc_file(void) {
 	FILE* file;
 	int result, value, count;
 		
-	strcpy(buffer, user_home_dir);
-	strcat(buffer, "/");
-	strcat(buffer, RESOURCEFILE);
-	
 	#ifdef DEBUG
-	printf("%s\n", buffer);
+	printf("%s\n", save_file);
 	#endif
 	
-	if ((file = fopen(buffer,"r")) == NULL) {
-		printf("%s: Cannot read from file %s\n", __func__, buffer);
+	if ((file = fopen(save_file,"r")) == NULL) {
+		printf("%s: Cannot read from file %s\n", __func__, save_file);
 		return;
 	}
 
@@ -1638,20 +1658,15 @@ void read_rc_file(void) {
  ***************************************************************************/
 
 void save_rc_file(void) {
-	char buffer[256];
 	FILE* file;
 	int count;
 		
-	strcpy(buffer, user_home_dir);
-	strcat(buffer, "/");
-	strcat(buffer, RESOURCEFILE);
-	
 	#ifdef DEBUG
-	printf("%s\n", buffer);
+	printf("%s\n", save_file);
 	#endif
 	
-	if ((file = fopen(buffer,"w")) == NULL) {
-		printf("%s: Cannot write to file %s\n", __func__, buffer);
+	if ((file = fopen(save_file,"w")) == NULL) {
+		printf("%s: Cannot write to file %s\n", __func__, save_file);
 		return;
 	}
 
diff --git a/main.h b/main.h
index 664b75b..178f665 100644
--- a/main.h
+++ b/main.h
@@ -27,7 +27,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 #define TILES48BMP "tiles48.bmp"
 #define ASCII15BMP "ascii15.bmp"
 #define ASCII30BMP "ascii30.bmp"
+#ifdef __HAIKU__
+#define RESOURCEFILE "pipepanic"
+#else
 #define RESOURCEFILE ".pipepanicrc"
+#endif
 
 #define MAGENTA 0xff, 0x00, 0xff
 #define YELLOW  0xff, 0xcc, 0x66
-- 
2.30.2


From 7145571471f8c9087e51a283ff12d01c19aa80b2 Mon Sep 17 00:00:00 2001
From: begasus <begasus@gmail.com>
Date: Sat, 31 Dec 2016 09:23:43 +0100
Subject: Fix Window and Icon title, fix provided by Scottmc


diff --git a/main.c b/main.c
index 960f57a..c8bffb6 100644
--- a/main.c
+++ b/main.c
@@ -209,6 +209,9 @@ int main(int argc, char *argv[]) {
 		exit(1);
 	}
 	
+	/* Set Window and Icon Names */
+	SDL_WM_SetCaption("Pipepanic","Pipepanic");
+	
 	#ifdef DEBUG	
 	printf ("Loading bitmaps\n");
 	#endif
-- 
2.30.2


From 2a2323c7c6a4535f79d024e42b404ac00ea6a166 Mon Sep 17 00:00:00 2001
From: Lorenz Glaser <lorenz.glaser@besly.de>
Date: Mon, 14 Jun 2021 17:05:38 +0200
Subject: DATADIR improved


diff --git a/main.h b/main.h
index 178f665..cfa4e56 100644
--- a/main.h
+++ b/main.h
@@ -20,7 +20,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 #define FALSE 0
 #define TRUE 1
 #define VERSION "0.1.3"
+#ifdef __HAIKU__
+#define DATADIR "/boot/system/apps/Pipepanic/"
+#else
 #define DATADIR "/opt/QtPalmtop/share/pipepanic/"
+#endif
 #define DIGITS24BMP "digits24.bmp"
 #define DIGITS48BMP "digits48.bmp"
 #define TILES24BMP "tiles24.bmp"
-- 
2.30.2

