]> git.jsancho.org Git - dungeon-master.git/blobdiff - src/main.cpp
Trying gui
[dungeon-master.git] / src / main.cpp
index 3a76eaf70c2f6c3944d95046f4518ff1c491b3ef..0384ba5d957ffb9cb2e78e0c426e97b3ce05c31d 100644 (file)
@@ -4,10 +4,54 @@
 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;
 }