mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-30 03:58:51 +02:00
Merged in atalax/haikuports (pull request #264)
pipepanic: Save high score file to config/settings
This commit is contained in:
@@ -1,17 +1,34 @@
|
|||||||
--- ../main.c 2006-05-16 22:11:29.042991616 +0200
|
diff --git a/main.c b/main.c
|
||||||
+++ main-new.c 2013-12-09 16:52:30.000000000 +0100
|
index 6cf114c..960f57a 100644
|
||||||
@@ -16,6 +16,10 @@
|
--- 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. */
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||||
|
|
||||||
/* Includes */
|
/* Includes */
|
||||||
+// chdir()
|
+// chdir()
|
||||||
+#include <unistd.h>
|
+#include <unistd.h>
|
||||||
+#include <libgen.h>
|
+#include <libgen.h>
|
||||||
|
+
|
||||||
|
+#ifdef __HAIKU__
|
||||||
|
+#include <FindDirectory.h>
|
||||||
|
+#endif
|
||||||
+
|
+
|
||||||
#include <SDL/SDL_main.h>
|
#include <SDL/SDL_main.h>
|
||||||
#include <SDL/SDL.h>
|
#include <SDL/SDL.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -102,6 +106,9 @@
|
@@ -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 main(int argc, char *argv[]) {
|
||||||
int count, count2;
|
int count, count2;
|
||||||
|
|
||||||
@@ -21,9 +38,89 @@
|
|||||||
/* Initialise the highscoreboard array because there may not yet
|
/* Initialise the highscoreboard array because there may not yet
|
||||||
be a saved highscore[board]/rc file */
|
be a saved highscore[board]/rc file */
|
||||||
for (count = 0; count < 5; count++) {
|
for (count = 0; count < 5; count++) {
|
||||||
|
@@ -114,7 +129,16 @@ int main(int argc, char *argv[]) {
|
||||||
--- ../pipepanic.rdef
|
|
||||||
+++ pipepanic.rdef
|
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
|
||||||
|
diff --git a/pipepanic.rdef b/pipepanic.rdef
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..096d98d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/pipepanic.rdef
|
||||||
@@ -0,0 +1,30 @@
|
@@ -0,0 +1,30 @@
|
||||||
+resource app_signature "application/x-vnd.Thnor-Pipepanic";
|
+resource app_signature "application/x-vnd.Thnor-Pipepanic";
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -28,6 +28,9 @@ BUILD_PREREQUIRES="
|
|||||||
cmd:gcc$secondaryArchSuffix
|
cmd:gcc$secondaryArchSuffix
|
||||||
cmd:make
|
cmd:make
|
||||||
"
|
"
|
||||||
|
USER_SETTINGS_FILES="
|
||||||
|
settings/pipepanic
|
||||||
|
"
|
||||||
PATCHES="
|
PATCHES="
|
||||||
pipepanic-0.1.3.patch
|
pipepanic-0.1.3.patch
|
||||||
"
|
"
|
||||||
|
|||||||
Reference in New Issue
Block a user