bin_PROGRAMS = $(top_builddir)/DungeonMaster
-__top_builddir__DungeonMaster_SOURCES = main.cpp
+__top_builddir__DungeonMaster_SOURCES = main.cpp mods.cpp
__top_builddir__DungeonMaster_CPPFLAGS = @GUILE_CFLAGS@
__top_builddir__DungeonMaster_LDFLAGS = @GUILE_LIBS@
#include <irrlicht/irrlicht.h>
-#include <libguile.h>
+#include "mods.h"
using namespace irr;
using namespace core;
using namespace video;
using namespace gui;
-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("mods/default/main.scm"));
+ load_mods();
IrrlichtDevice* device =
createDevice(EDT_OPENGL,