Mercurial > projects > mde
view mde/mde.d @ 8:f63f4f41a2dc
Big changes to init; got some way towards input event support; changed mergetag ID to char[] from uint.
committer: Diggory Hardy <diggory.hardy@gmail.com>
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Fri, 25 Jan 2008 18:17:38 +0000 |
parents | 9a990644948c |
children | 1885a9080f2a |
line wrap: on
line source
/** Modular D Engine * * This module contains main(). */ module mde.mde; // Package imports import mde.init; import mde.events; import mde.scheduler; //import test = mde.test; import mde.input.input; // External library imports import tango.core.Thread; import tango.io.Stdout; import tango.time.Clock; import tango.util.log.Log : Log, Logger; import derelict.sdl.sdl; int main() { Logger logger = Log.getLogger ("mde.mde"); scope Init init; try { init = new Init(); // initialisation } catch (initException e) { logger.fatal ("Initialisation failed; error was:"); logger.fatal (e.msg); Stdout (e.msg); return 1; } input.addButtonCallback (cast(Input.inputID) 3u, delegate void(Input.inputID i, bool b) { Stdout ("Event: ")(i)(" changed to: ")(b).newline; } ); bool oldb = false; while (run) /+for (ulong t = 0; t < 100; ++t)+/ { Scheduler.run (Clock.now()); bool b = input.getButton (cast(Input.inputID) 3u); if (b != oldb) { oldb = b; Stdout ("Button 3 changed to: ")(b).newline; } Thread.sleep (0.010); // 10 ms } return 0; // cleanup handled by init's DTOR }