Subversion Repositories Games.Rick Dangerous

Rev

Rev 11 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 11 Rev 13
Line 27... Line 27...
27
      if (strrchr (app_path, '\\') != NULL)
27
      if (strrchr (app_path, '\\') != NULL)
28
         *strrchr (app_path, '\\') = 0;
28
         *strrchr (app_path, '\\') = 0;
29
   }
29
   }
30
   return (app_path);
30
   return (app_path);
31
}
31
}
-
 
32
#define sys_getdatapath() sys_getbasepath ()
32
#elif defined(__APPLE__)
33
#elif defined(__APPLE__)
33
#include <CoreFoundation/CoreFoundation.h>
34
#include <CoreFoundation/CoreFoundation.h>
-
 
35
#include <sys/types.h>
-
 
36
#include <sys/stat.h>
-
 
37
#include <unistd.h>
34
#include <dlfcn.h>
38
#include <dlfcn.h>
-
 
39
#include <pwd.h>
35
void MessageBox (void *handle, char *msg, char *title, int buttons)
40
void MessageBox (void *handle, char *msg, char *title, int buttons)
36
{
41
{
37
   const void *keys[2];
42
   const void *keys[2];
38
   const void *values[2];
43
   const void *values[2];
39
   SInt32 result;
44
   SInt32 result;
Line 80... Line 85...
80
      if (strrchr (app_path, '/') != NULL)
85
      if (strrchr (app_path, '/') != NULL)
81
         *strrchr (app_path, '/') = 0;
86
         *strrchr (app_path, '/') = 0;
82
      strcat_s (app_path, 1024, "/Resources");
87
      strcat_s (app_path, 1024, "/Resources");
83
   }
88
   }
84
   return (app_path);
89
   return (app_path);
-
 
90
}
-
 
91
char *sys_getdatapath (void)
-
 
92
{
-
 
93
   static char data_path[1024] = "";
-
 
94
   if (data_path[0] == 0)
-
 
95
   {
-
 
96
      // Pierre-Marie Baty -- macOS .app fix
-
 
97
      // peek in ~/Library/Application Support/<DOTTED BUNDLE ID>
-
 
98
      // if the directory doesn't exist, create it
-
 
99
      char bundle_id[256];
-
 
100
      char *homedir = getenv ("HOME");
-
 
101
      if (homedir == NULL)
-
 
102
         homedir = getpwuid (getuid ())->pw_dir;
-
 
103
      CFStringGetCString (CFBundleGetIdentifier (CFBundleGetMainBundle ()), bundle_id, sizeof (bundle_id), kCFStringEncodingUTF8);
-
 
104
      sprintf (data_path, "%s/Library/Application Support/%s", homedir, bundle_id);
-
 
105
      if (access (data_path, 0) != 0)
-
 
106
         mkdir (data_path, 0755);
-
 
107
   }
-
 
108
   return (data_path);
85
}
109
}
86
#else // !_WIN32 && !__APPLE__
110
#else // !_WIN32 && !__APPLE__
87
#define MessageBox(handle,msg,title,btns) fprintf (stderr, msg)
111
#define MessageBox(handle,msg,title,btns) fprintf (stderr, msg)
88
#define MB_OK 0
112
#define MB_OK 0
89
char *sys_getbasepath (void)
113
char *sys_getbasepath (void)
90
{
114
{
91
   return (".");
115
   return (".");
92
}
116
}
-
 
117
#define sys_getdatapath() sys_getbasepath ()
93
#endif // _WIN32 || __APPLE__
118
#endif // _WIN32 || __APPLE__
94
 
119
 
95
 
120
 
96
/*
121
/*
97
 * Panic
122
 * Panic