]> git.jsancho.org Git - dungeon-master.git/blobdiff - src/main.cpp
Plugins are modules and use dungeon-master module
[dungeon-master.git] / src / main.cpp
index 6c2e2a756dc856903df78a4bf80b0e0e3cb6decc..3b1787ebd14ce10c950f6e537df70d7d5a1b7c6d 100644 (file)
@@ -5,9 +5,28 @@ using namespace irr;
 using namespace core;
 using namespace video;
 
+SCM register_generator(SCM name, SCM proc)
+{
+  printf ("Register: %s\n", scm_to_locale_string(name));
+  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_init_dungeon_master_module();
   scm_primitive_load(scm_from_locale_string("plugins/default/main.scm"));
 
   IrrlichtDevice* device =