view mde/mde.d @ 26:611f7b9063c6

Changed the licensing and removed a few dead files. Changed licensing to "GPL version 2 or later" to avoid future compatibility issues. Also a unittest fix to the previous commit. committer: Diggory Hardy <diggory.hardy@gmail.com>
author Diggory Hardy <diggory.hardy@gmail.com>
date Thu, 03 Apr 2008 18:15:02 +0100
parents 2c28ee04a4ed
children 0aa621b3e070
line wrap: on
line source

/* LICENSE BLOCK
Part of mde: a Modular D game-oriented Engine
Copyright © 2007-2008 Diggory Hardy

This program 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 2 of the License, or (at your option) any later version.

This program 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 this program.  If not, see <http://www.gnu.org/licenses/>. */

/** Modular D Engine
 *
 * This module contains main(), which calls Init and runs the main loop.
 */
module mde.mde;

// Comment to show use, where only used minimally:

import global = mde.global;             // global.run
import mde.SDL;                         // unused (but must be linked in)
import mde.events;                      // unused (but must be linked in)

import mde.scheduler.Init;
import mde.scheduler.runTime;           // Scheduler.run()
import mde.scheduler.exception;         // InitException

import tango.core.Thread : Thread;	// Thread.sleep()
import tango.time.Clock;                // Clock.now()
import tango.util.log.Log : Log, Logger;

int main()
{
    //BEGIN Initialisation
    Logger logger = Log.getLogger ("mde.mde");
    logger.info ("Starting mde...");
    
    scope Init init;
    try {
        init = new Init();	// initialisation
    } catch (InitException e) {
        logger.fatal ("Initialisation failed: " ~ e.msg);
        return 1;
    }
    //END Initialisation
    
    while (global.run) {
        Scheduler.run (Clock.now());
        
        Thread.sleep (0.050);	// sleep this many seconds
    }
    
    return 0;		// cleanup handled by init's DTOR
}