| Irrlicht 3D Engine |

driverChoice.h
Go to the documentation of this file.

    00001 // Copyright (C) 2009-2012 Christian Stehno
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    00004
    00005 #ifndef __E_DRIVER_CHOICE_H_INCLUDED__
    00006 #define __E_DRIVER_CHOICE_H_INCLUDED__
    00007
    00008 #include <iostream>
    00009 #include <cstdio>
    00010 #include "EDriverTypes.h"
    00011 #include "irrTypes.h"
    00012 #include "IrrlichtDevice.h"
    00013
    00014 namespace irr
    00015 {
    00016
    00018 static irr::video::E_DRIVER_TYPE driverChoiceConsole(bool allDrivers=true)
    00019 {
    00020     const char* const names[] = {"NullDriver","Software Renderer","Burning's Video","Direct3D 8.1","Direct3D 9.0c","OpenGL 1.x/2.x/3.x"};
    00021     printf("Please select the driver you want:\n");
    00022     irr::u32 i=0;
    00023     for (i=irr::video::EDT_COUNT; i>0; --i)
    00024     {
    00025         if (allDrivers || (irr::IrrlichtDevice::isDriverSupported(irr::video::E_DRIVER_TYPE(i-1))))
    00026             printf(" (%c) %s\n", 'a'+irr::video::EDT_COUNT-i, names[i-1]);
    00027     }
    00028
    00029     char c;
    00030     std::cin >> c;
    00031     c = irr::video::EDT_COUNT+'a'-c;
    00032
    00033     for (i=irr::video::EDT_COUNT; i>0; --i)
    00034     {
    00035         if (!(allDrivers || (irr::IrrlichtDevice::isDriverSupported(irr::video::E_DRIVER_TYPE(i-1)))))
    00036             --c;
    00037         if ((char)i==c)
    00038             return irr::video::E_DRIVER_TYPE(i-1);
    00039     }
    00040     return irr::video::EDT_COUNT;
    00041 }
    00042
    00043 } // end namespace irr
    00044
    00045 #endif