X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fgacela.c;h=fc7ec31cdd86c73f307bcf8ff5bb4a112c7210a2;hb=79c3b8691b3e71310e768d404648d4da492e0253;hp=49e83a7255002564aec396d23c66dbc67dc5be5c;hpb=1f371787487c6cd1c36726bd70090cc712e9e2c7;p=gacela.git diff --git a/src/gacela.c b/src/gacela.c index 49e83a7..fc7ec31 100644 --- a/src/gacela.c +++ b/src/gacela.c @@ -39,30 +39,20 @@ init_gacela (void *data, int argc, char **argv) return NULL; } -void -load_scheme_file (char *path, char *filename) -{ - 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_events.scm"); - load_scheme_file (path, "gacela_draw.scm"); - load_scheme_file (path, "gacela_ttf.scm"); + char load_path[strlen (path) + 1024]; + + sprintf (load_path, "(set! %%load-path (cons \"%s\" %%load-path))", path); + scm_c_eval_string (load_path); + scm_primitive_load_path (scm_from_locale_string ("gacela_loader.scm")); } int main (int argc, char *argv[]) { scm_with_guile (&init_gacela, NULL); + load_scheme_files (dirname (argv[0])); scm_shell (argc, argv); }