]> git.jsancho.org Git - gacela.git/blobdiff - src/gacela.c
(no commit message)
[gacela.git] / src / gacela.c
index d46c49536bba42a024c30bcd5e74453ff6b01b35..e1e05aa2a66d7d9acf5633dc476d7a5d46852de5 100644 (file)
 */
 
 #include <libguile.h>
+#include <libgen.h>
 #include "gacela_SDL.h"
 #include "gacela_GL.h"
+#include "gacela_FTGL.h"
 
 static void*
 register_functions (void* data)
 {
   SDL_register_functions (NULL);
   GL_register_functions (NULL);
+  FTGL_register_functions (NULL);
   return NULL;
 }
 
 void
-load_scheme_files (void)
+load_scheme_file (char *path, char *filename)
 {
-  scm_c_primitive_load ("gacela.scm");
+  char fn[strlen (path) + 1024];
+
+  strcpy (fn, path);
+  strcat (fn, "/");
+  strcat (fn, filename);
+
+  scm_c_primitive_load (fn);
+}
+
+void
+load_scheme_files (char *path)
+{
+  load_scheme_file (path, "gacela.scm");
+  load_scheme_file (path, "gacela_ttf.scm");
 }
 
 int
@@ -41,6 +57,7 @@ main (int argc, char *argv[])
   scm_c_eval_string ("(set-repl-prompt! \"gacela>\")");
   scm_c_eval_string ("(use-modules (ice-9 readline))");
   scm_c_eval_string ("(activate-readline)");
-  load_scheme_files ();
+  scm_c_eval_string ("(use-modules (ice-9 optargs))");
+  load_scheme_files (dirname (argv[0]));
   scm_shell (argc, argv);
 }