+/* Dungeon Master --- RPG Adventure Generator
+ Copyright © 2019 Javier Sancho <jsf@jsancho.org>
+
+ 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 Dungeon Master. If not, see <http://www.gnu.org/licenses/>.
+*/
+
#include <irrlicht/irrlicht.h>
-#include <libguile.h>
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_0(proc);
- return SCM_UNSPECIFIED;
-}
-
-int main()
+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"));
-
IrrlichtDevice* device =
- createDevice(EDT_OPENGL,
- dimension2d<u32>(640, 480), 16,
- false, false, false, 0);
+ createDevice (video::EDT_OPENGL, core::dimension2d<u32> (640, 480));
+
if (!device)
return 1;
- IVideoDriver* driver = device->getVideoDriver();
-
- f32 bg_r = 255.0f;
- f32 bg_g = 255.0f;
- f32 bg_b = 255.0f;
-
- bool fadeOut = -1;
+ device->setWindowCaption (L"Dungeon Master");
- u32 then = device->getTimer()->getTime();
+ IVideoDriver* driver = device->getVideoDriver ();
+ IGUIEnvironment* guienv = device->getGUIEnvironment ();
- const f32 fadeRate = 0.1f;
+ guienv->addStaticText (L"Aqui va el texto", rect<s32> (10, 10, 260, 22));
- while (device->run())
+ 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->endScene();
+ driver->beginScene (true, true, SColor(255, 100, 101, 140));
+ guienv->drawAll ();
+ driver->endScene ();
}
- device->drop();
-
+ device->drop ();
return 0;
}