X-Git-Url: https://git.jsancho.org/?p=dungeon-master.git;a=blobdiff_plain;f=src%2Fmain.cpp;h=c79468b89e06cbaff2b016492a64d7f5188770eb;hp=bb5a5f96f707dd19e8cccc676bb69603210382fe;hb=10d6d3bc9bdee3371a2f4dd98701ba77696a0c6d;hpb=770a848889b174dd4a1dc6422c699cd5640fe318 diff --git a/src/main.cpp b/src/main.cpp index bb5a5f9..c79468b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,21 +1,14 @@ #include -#include +#include "mods.h" 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_0(proc); - return SCM_UNSPECIFIED; -} +using namespace gui; int main() { - scm_init_guile(); - scm_c_define_gsubr("register-generator", 2, 0, 0, (scm_t_subr)register_generator); - scm_primitive_load(scm_from_locale_string("plugins/default/main.scm")); + load_mods(); IrrlichtDevice* device = createDevice(EDT_OPENGL, @@ -24,47 +17,22 @@ int main() if (!device) return 1; - IVideoDriver* driver = device->getVideoDriver(); - - f32 bg_r = 255.0f; - f32 bg_g = 255.0f; - f32 bg_b = 255.0f; + device->setWindowCaption(L"Dungeon Master"); - bool fadeOut = -1; + IVideoDriver* driver = device->getVideoDriver(); + IGUIEnvironment* env = device->getGUIEnvironment(); - u32 then = device->getTimer()->getTime(); + env->addStaticText(L"Dungeon Master", rect(150,20,350,40), true); - const f32 fadeRate = 0.1f; + IGUITabControl* tab = env->addTabControl(rect(50, 60, 850, 600)); + tab->addTab(L"First"); + tab->addTab(L"Second"); + tab->addTab(L"Third"); while (device->run()) { - const u32 now = device->getTimer()->getTime(); - const f32 frameDeltaTime = (f32)(now - then); - then = now; - - if (bg_r <= 0.0f) fadeOut = false; - else if (bg_r >= 255.0f) fadeOut = true; - - if (fadeOut) - { - bg_r -= fadeRate * frameDeltaTime; - bg_g -= fadeRate * frameDeltaTime; - bg_b -= fadeRate * frameDeltaTime; - } - else - { - bg_r += fadeRate * frameDeltaTime; - bg_g += fadeRate * frameDeltaTime; - bg_b += fadeRate * frameDeltaTime; - } - - if (bg_r <= 0.0f) - bg_r = bg_b = bg_g = 0.0f; - else if (bg_r >= 255.0f) - bg_r = bg_b = bg_g = 255.0f; - - driver->beginScene(true, true, SColor(255, (u32)bg_r, - (u32)bg_g, (u32)bg_b)); + driver->beginScene(true, true, SColor(0, 200, 200, 200)); + env->drawAll(); driver->endScene(); }