Use a directory under $HOME for user data
authorMiriam Ruiz <miriam@debian.org>
Wed, 3 Dec 2008 11:19:26 +0000 (3 12:19 +0100)
committerMiriam Ruiz <miriam@debian.org>
Wed, 3 Dec 2008 11:19:26 +0000 (3 12:19 +0100)
src/config.c
src/main.c

index b1d136d..f87ee38 100644 (file)
 #include "jugador.h"\r
 #include "config.h"\r
 #include "global.h"\r
+
+#include <unistd.h>
+#include <string.h>
 \r
 void cargar_configuracion()\r
-{\r
- set_config_file("kraptor.cfg");\r
+{
+ char *home;
+ home = getenv("HOME");
+ if (home != NULL)
+ {
+  char str[4096];
+  snprintf(str, sizeof(str), "%s/.kraptor.cfg", home);
+  set_config_file("/etc/kraptor/kraptor.cfg");
+  override_config_file(str);
+ }
+ else
+ {
+  set_config_file("kraptor.cfg");
+ }\r
  teclado_jug.arr = get_config_int("kraptor_keyboard", "arr", teclado_jug.arr);\r
  teclado_jug.abj = get_config_int("kraptor_keyboard", "abj", teclado_jug.abj);\r
  teclado_jug.izq = get_config_int("kraptor_keyboard", "izq", teclado_jug.izq);\r
@@ -47,7 +62,18 @@ void cargar_configuracion()
 \r
 void salvar_configuracion()\r
 {\r
- set_config_file("kraptor.cfg");\r
+ char *home;
+ home = getenv("HOME");
+ if (home != NULL)
+ {
+  char str[4096];
+  snprintf(str, sizeof(str), "%s/.kraptor.cfg", home);
+  set_config_file(str);
+ }
+ else
+ {
+  set_config_file("kraptor.cfg");
+ }
 \r
  set_config_int("kraptor_keyboard", "arr", teclado_jug.arr);\r
  set_config_int("kraptor_keyboard", "abj", teclado_jug.abj);\r
index a250914..3629bf6 100644 (file)
@@ -38,6 +38,7 @@ int main(int argc, char *argv[] )
     int i1; // para el for de los parametros\r
     int rx = 640, ry = 480; // para permitir que el usuario elija la resolucion\r
     int vid_card = GFX_AUTODETECT; // placa de video por defecto\r
+   char *home;
 \r
     int snd = TRUE; // quiere sonido\r
     lenguaje[0]='e';\r
@@ -47,7 +48,22 @@ int main(int argc, char *argv[] )
   /* Iniciar Allegro y el hardware */\r
   allegro_init();\r
   atexit(&dumb_exit);\r
-\r
+
+  home = getenv("HOME");
+  if (home != NULL)
+  {
+    char str[4096];
+    snprintf(str, sizeof(str), "%s/.kraptor.cfg", home);
+    set_config_file("/etc/kraptor/kraptor.cfg");
+    override_config_file(str);
+  }
+  else
+  {
+    set_config_file("kraptor.cfg");
+  }
+
+  setenv("ALLEGRO", "/usr/share/games/kraptor/",0); /* Dirty hack so that allegro searches for language.dat in the proper directory */
+  \r
   /* setear allegro al idioma configurado, default = en (ingles) */\r
   strncpy(lenguaje, get_config_string("system", "language", "en"), 2);\r
   reload_config_texts(lenguaje);\r