]> git.jsancho.org Git - dungeon-master.git/blobdiff - src/main.cpp
license
[dungeon-master.git] / src / main.cpp
index bb5a5f96f707dd19e8cccc676bb69603210382fe..b86ab1e2cb0b35a42886f4bc597e7e7c65d9472c 100644 (file)
@@ -1,74 +1,49 @@
+/* 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;
 }