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("plugins/default/main.scm"));
+
+ IrrlichtDevice* device =
+ createDevice(EDT_OPENGL,
+ dimension2d<u32>(640, 480), 16,
+ false, false, false, 0);
+ if (!device)
+ return 1;
+
+ device->setWindowCaption(L"Dungeon Master");
+
+ IVideoDriver* driver = device->getVideoDriver();
+ IGUIEnvironment* env = device->getGUIEnvironment();
+
+ env->addStaticText(L"Dungeon Master", rect<s32>(150,20,350,40), true);
+
+ while (device->run())
+ {
+ driver->beginScene(true, true, SColor(0, 200, 200, 200));
+ env->drawAll();
+ driver->endScene();
+ }
+
+ device->drop();
+
return 0;
}