+/* Dungeon Master --- Adventure generator for GNU Guile
+ 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 Haunt. If not, see <http://www.gnu.org/licenses/>.
+*/
+
#include <irrlicht/irrlicht.h>
-#include <libguile.h>
+#include "paths.h"
+
+#include <iostream>
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<std::string> paths = get_data_paths();
+ for (std::set<std::string>::iterator it=paths.begin(); it!=paths.end(); it++)
+ std::cout << *it << std::endl;
IrrlichtDevice* device =
createDevice(EDT_OPENGL,
dimension2d<u32>(640, 480), 16,
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<s32>(150,20,350,40), true);
- const f32 fadeRate = 0.1f;
+ IGUITabControl* tab = env->addTabControl(rect<s32>(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();
}