X-Git-Url: https://git.jsancho.org/?p=dungeon-master.git;a=blobdiff_plain;f=src%2Fmain.cpp;h=3b1787ebd14ce10c950f6e537df70d7d5a1b7c6d;hp=bb5a5f96f707dd19e8cccc676bb69603210382fe;hb=d5019db1298fc13fe68ec4d4f48b583a0148b88c;hpb=770a848889b174dd4a1dc6422c699cd5640fe318 diff --git a/src/main.cpp b/src/main.cpp index bb5a5f9..3b1787e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,16 +5,28 @@ using namespace irr; using namespace core; using namespace video; -SCM register_generator(SCM name, SCM proc) { +SCM register_generator(SCM name, SCM proc) +{ printf ("Register: %s\n", scm_to_locale_string(name)); - scm_call_0(proc); + scm_call_1(proc, scm_from_int(-1)); return SCM_UNSPECIFIED; } +void init_dungeon_master_module(void *unused) +{ + scm_c_define_gsubr("register-generator", 2, 0, 0, (scm_t_subr)register_generator); + scm_c_export("register-generator", NULL); +} + +void scm_init_dungeon_master_module() +{ + scm_c_define_module("dungeon-master", init_dungeon_master_module, NULL); +} + int main() { scm_init_guile(); - scm_c_define_gsubr("register-generator", 2, 0, 0, (scm_t_subr)register_generator); + scm_init_dungeon_master_module(); scm_primitive_load(scm_from_locale_string("plugins/default/main.scm")); IrrlichtDevice* device =