X-Git-Url: https://git.jsancho.org/?p=dungeon-master.git;a=blobdiff_plain;f=src%2Fmain.cpp;h=c469aa1ae3cc7230b283aa2f4eacf6fc7d71c101;hp=6c2e2a756dc856903df78a4bf80b0e0e3cb6decc;hb=9d35c3ae2a2571bb3fb47d359f70ac43f0f2427d;hpb=b201086ac53a63e010f23a7ec9128013fe3ac385 diff --git a/src/main.cpp b/src/main.cpp index 6c2e2a7..c469aa1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,15 +1,35 @@ +/* Dungeon Master --- Adventure generator for GNU Guile + Copyright © 2019 Javier Sancho + + Dungeon Master is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + Dungeon Master is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Haunt. If not, see . +*/ + #include -#include +#include "paths.h" + +#include using namespace irr; using namespace core; using namespace video; +using namespace gui; int main() { - scm_init_guile(); - scm_primitive_load(scm_from_locale_string("plugins/default/main.scm")); - + std::set paths = get_data_paths(); + for (std::set::iterator it=paths.begin(); it!=paths.end(); it++) + std::cout << *it << std::endl; IrrlichtDevice* device = createDevice(EDT_OPENGL, dimension2d(640, 480), 16, @@ -17,47 +37,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(); }