X-Git-Url: https://git.jsancho.org/?p=dungeon-master.git;a=blobdiff_plain;f=src%2Fmain.cpp;h=0384ba5d957ffb9cb2e78e0c426e97b3ce05c31d;hp=3a76eaf70c2f6c3944d95046f4518ff1c491b3ef;hb=f4b5d6adc47032528d11e007a4a5cc4840676446;hpb=90b0723a6cfcfa7a8f04cd3a851fb9657903d319 diff --git a/src/main.cpp b/src/main.cpp index 3a76eaf..0384ba5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -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(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(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; }