Commit f8010d72 authored by hybrid's avatar hybrid

Changed the device creation to make more use of SIrrlichtCreationParameters....

Changed the device creation to make more use of SIrrlichtCreationParameters. This should increase maintainability and ease addition of more configurable properties. The windows devices need to be adapted still, but should compile for now...

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1369 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 93ec1e0a
...@@ -41,9 +41,6 @@ namespace irr ...@@ -41,9 +41,6 @@ namespace irr
{ {
public: public:
//! Destructor
virtual ~IrrlichtDevice() {}
//! Runs the device. //! Runs the device.
/** Also increments the virtual timer by calling /** Also increments the virtual timer by calling
ITimer::tick();. You can prevent this ITimer::tick();. You can prevent this
......
This diff is collapsed.
...@@ -47,10 +47,7 @@ namespace irr ...@@ -47,10 +47,7 @@ namespace irr
public: public:
//! constructor //! constructor
CIrrDeviceLinux(video::E_DRIVER_TYPE deviceType, CIrrDeviceLinux(const SIrrlichtCreationParameters& param);
const core::dimension2d<s32>& windowSize, u32 bits,
bool fullscreen, bool stencilbuffer, bool vsync, bool antiAlias, IEventReceiver* receiver,
Window window, const char* version);
//! destructor //! destructor
virtual ~CIrrDeviceLinux(); virtual ~CIrrDeviceLinux();
...@@ -87,11 +84,9 @@ namespace irr ...@@ -87,11 +84,9 @@ namespace irr
private: private:
//! create the driver //! create the driver
void createDriver(const core::dimension2d<s32>& windowSize, void createDriver();
bool vsync);
bool createWindow(const core::dimension2d<s32>& windowSize, u32 bits, bool createWindow();
Window externalWindow);
void createKeyMap(); void createKeyMap();
...@@ -308,11 +303,6 @@ namespace irr ...@@ -308,11 +303,6 @@ namespace irr
GLXContext Context; GLXContext Context;
#endif #endif
#endif #endif
bool Fullscreen;
bool StencilBuffer;
bool AntiAlias;
video::E_DRIVER_TYPE DriverType;
u32 Width, Height, Depth; u32 Width, Height, Depth;
bool Close; bool Close;
bool WindowActive; bool WindowActive;
......
...@@ -37,17 +37,10 @@ namespace irr ...@@ -37,17 +37,10 @@ namespace irr
const char* wmDeleteWindow = "WM_DELETE_WINDOW"; const char* wmDeleteWindow = "WM_DELETE_WINDOW";
//! constructor //! constructor
CIrrDeviceSDL::CIrrDeviceSDL(video::E_DRIVER_TYPE driverType, CIrrDeviceSDL::CIrrDeviceSDL(const SIrrlichtCreationParameters& param)
const core::dimension2d<s32>& windowSize, : CIrrDeviceStub(param), Resizeable(false),
u32 bits, Screen((SDL_Surface*)param.WindowId), SDL_Flags(SDL_HWSURFACE|SDL_ANYFORMAT),
bool fullscreen, bool stencilbuffer, bool vsync, Width(param.WindowSize.Width), Height(param.WindowSize.Height), Close(0),
bool antiAlias, IEventReceiver* receiver,
void* windowID, const char* version)
: CIrrDeviceStub(version, receiver), Depth(bits),
Fullscreen(fullscreen), Stencilbuffer(stencilbuffer), Vsync(vsync),
AntiAlias(antiAlias), Resizeable(false),
Screen((SDL_Surface*)windowID), SDL_Flags(SDL_HWSURFACE|SDL_ANYFORMAT),
Width(windowSize.Width), Height(windowSize.Height), Close(0),
WindowActive(false) WindowActive(false)
{ {
#ifdef _DEBUG #ifdef _DEBUG
...@@ -56,7 +49,7 @@ CIrrDeviceSDL::CIrrDeviceSDL(video::E_DRIVER_TYPE driverType, ...@@ -56,7 +49,7 @@ CIrrDeviceSDL::CIrrDeviceSDL(video::E_DRIVER_TYPE driverType,
// Initialize SDL... Timer for sleep, video for the obvious, and // Initialize SDL... Timer for sleep, video for the obvious, and
// noparachute prevents SDL from catching fatal errors. // noparachute prevents SDL from catching fatal errors.
if ( SDL_Init( SDL_INIT_TIMER|SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE ) < 0 ) if (SDL_Init( SDL_INIT_TIMER|SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE ) < 0)
{ {
os::Printer::log( "Unable to initialize SDL!", SDL_GetError()); os::Printer::log( "Unable to initialize SDL!", SDL_GetError());
Close = 1; Close = 1;
...@@ -81,31 +74,30 @@ CIrrDeviceSDL::CIrrDeviceSDL(video::E_DRIVER_TYPE driverType, ...@@ -81,31 +74,30 @@ CIrrDeviceSDL::CIrrDeviceSDL(video::E_DRIVER_TYPE driverType,
// enable key to character translation // enable key to character translation
SDL_EnableUNICODE(1); SDL_EnableUNICODE(1);
if ( Fullscreen ) if ( CreationParams.Fullscreen )
SDL_Flags |= SDL_FULLSCREEN; SDL_Flags |= SDL_FULLSCREEN;
if (driverType == video::EDT_OPENGL) if (CreationParams.DriverType == video::EDT_OPENGL)
SDL_Flags |= SDL_OPENGL; SDL_Flags |= SDL_OPENGL;
else else
SDL_Flags |= SDL_DOUBLEBUF; SDL_Flags |= SDL_DOUBLEBUF;
// create window // create window
if (driverType != video::EDT_NULL) if (CreationParams.DriverType != video::EDT_NULL)
{ {
// create the window, only if we do not use the null device // create the window, only if we do not use the null device
createWindow(driverType); createWindow();
} }
// create cursor control // create cursor control
CursorControl = new CCursorControl(this); CursorControl = new CCursorControl(this);
// create driver // create driver
createDriver(driverType, windowSize); createDriver();
if (VideoDriver) if (VideoDriver)
createGUIAndScene(); createGUIAndScene();
} }
//! destructor //! destructor
CIrrDeviceSDL::~CIrrDeviceSDL() CIrrDeviceSDL::~CIrrDeviceSDL()
{ {
...@@ -115,15 +107,14 @@ CIrrDeviceSDL::~CIrrDeviceSDL() ...@@ -115,15 +107,14 @@ CIrrDeviceSDL::~CIrrDeviceSDL()
} }
bool CIrrDeviceSDL::createWindow()
bool CIrrDeviceSDL::createWindow(video::E_DRIVER_TYPE driverType)
{ {
if ( Close ) if ( Close )
return false; return false;
if (driverType == video::EDT_OPENGL) if (CreationParams.DriverType == video::EDT_OPENGL)
{ {
if (Depth==16) if (CreationParams.Bits==16)
{ {
SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 ); SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 );
SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 ); SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 );
...@@ -135,12 +126,12 @@ bool CIrrDeviceSDL::createWindow(video::E_DRIVER_TYPE driverType) ...@@ -135,12 +126,12 @@ bool CIrrDeviceSDL::createWindow(video::E_DRIVER_TYPE driverType)
SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 8 ); SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 8 );
SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 8 ); SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 8 );
} }
SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, Depth); SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, CreationParams.Bits);
SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
} }
if ( !Screen ) if ( !Screen )
Screen = SDL_SetVideoMode( Width, Height, Depth, SDL_Flags ); Screen = SDL_SetVideoMode( Width, Height, CreationParams.Bits, SDL_Flags );
if ( !Screen ) if ( !Screen )
{ {
os::Printer::log( "Could not initialize display!" ); os::Printer::log( "Could not initialize display!" );
...@@ -152,10 +143,9 @@ bool CIrrDeviceSDL::createWindow(video::E_DRIVER_TYPE driverType) ...@@ -152,10 +143,9 @@ bool CIrrDeviceSDL::createWindow(video::E_DRIVER_TYPE driverType)
//! create the driver //! create the driver
void CIrrDeviceSDL::createDriver(video::E_DRIVER_TYPE driverType, void CIrrDeviceSDL::createDriver()
const core::dimension2d<s32>& windowSize)
{ {
switch(driverType) switch(CreationParams.DriverType)
{ {
case video::EDT_DIRECT3D8: case video::EDT_DIRECT3D8:
case video::EDT_DIRECT3D9: case video::EDT_DIRECT3D9:
...@@ -164,7 +154,7 @@ void CIrrDeviceSDL::createDriver(video::E_DRIVER_TYPE driverType, ...@@ -164,7 +154,7 @@ void CIrrDeviceSDL::createDriver(video::E_DRIVER_TYPE driverType,
case video::EDT_SOFTWARE: case video::EDT_SOFTWARE:
#ifdef _IRR_COMPILE_WITH_SOFTWARE_ #ifdef _IRR_COMPILE_WITH_SOFTWARE_
VideoDriver = video::createSoftwareDriver(windowSize, Fullscreen, FileSystem, this); VideoDriver = video::createSoftwareDriver(CreationParams.WindowSize, CreationParams.Fullscreen, FileSystem, this);
#else #else
os::Printer::log("No Software driver support compiled in.", ELL_ERROR); os::Printer::log("No Software driver support compiled in.", ELL_ERROR);
#endif #endif
...@@ -172,7 +162,7 @@ void CIrrDeviceSDL::createDriver(video::E_DRIVER_TYPE driverType, ...@@ -172,7 +162,7 @@ void CIrrDeviceSDL::createDriver(video::E_DRIVER_TYPE driverType,
case video::EDT_BURNINGSVIDEO: case video::EDT_BURNINGSVIDEO:
#ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_ #ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_
VideoDriver = video::createSoftwareDriver2(windowSize, Fullscreen, FileSystem, this); VideoDriver = video::createSoftwareDriver2(CreationParams.WindowSize, CreationParams.Fullscreen, FileSystem, this);
#else #else
os::Printer::log("Burning's video driver was not compiled in.", ELL_ERROR); os::Printer::log("Burning's video driver was not compiled in.", ELL_ERROR);
#endif #endif
...@@ -180,14 +170,14 @@ void CIrrDeviceSDL::createDriver(video::E_DRIVER_TYPE driverType, ...@@ -180,14 +170,14 @@ void CIrrDeviceSDL::createDriver(video::E_DRIVER_TYPE driverType,
case video::EDT_OPENGL: case video::EDT_OPENGL:
#ifdef _IRR_COMPILE_WITH_OPENGL_ #ifdef _IRR_COMPILE_WITH_OPENGL_
VideoDriver = video::createOpenGLDriver(windowSize, Fullscreen, Stencilbuffer, FileSystem, Vsync, AntiAlias); VideoDriver = video::createOpenGLDriver(CreationParams.WindowSize, CreationParams.Fullscreen, CreationParams.Stencilbuffer, FileSystem, CreationParams.Vsync, CreationParams.AntiAlias);
#else #else
os::Printer::log("No OpenGL support compiled in.", ELL_ERROR); os::Printer::log("No OpenGL support compiled in.", ELL_ERROR);
#endif #endif
break; break;
case video::EDT_NULL: case video::EDT_NULL:
VideoDriver = video::createNullDriver(FileSystem, windowSize); VideoDriver = video::createNullDriver(FileSystem, CreationParams.WindowSize);
break; break;
default: default:
...@@ -388,7 +378,7 @@ void CIrrDeviceSDL::setResizeAble(bool resize) ...@@ -388,7 +378,7 @@ void CIrrDeviceSDL::setResizeAble(bool resize)
else else
SDL_Flags &= ~SDL_RESIZABLE; SDL_Flags &= ~SDL_RESIZABLE;
SDL_FreeSurface(Screen); SDL_FreeSurface(Screen);
Screen = SDL_SetVideoMode( Width, Height, Depth, SDL_Flags ); Screen = SDL_SetVideoMode( Width, Height, CreationParams.Bits, SDL_Flags );
Resizeable = resize; Resizeable = resize;
} }
} }
...@@ -543,17 +533,7 @@ void CIrrDeviceSDL::createKeyMap() ...@@ -543,17 +533,7 @@ void CIrrDeviceSDL::createKeyMap()
IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx(const SIrrlichtCreationParameters& param) IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx(const SIrrlichtCreationParameters& param)
{ {
CIrrDeviceSDL* dev = new CIrrDeviceSDL( CIrrDeviceSDL* dev = new CIrrDeviceSDL(param);
param.DriverType,
param.WindowSize,
param.Bits,
param.Fullscreen,
param.Stencilbuffer,
param.Vsync,
param.AntiAlias,
param.EventReceiver,
param.WindowId,
param.SDK_version_do_not_use);
if (dev && !dev->getVideoDriver() && param.DriverType != video::EDT_NULL) if (dev && !dev->getVideoDriver() && param.DriverType != video::EDT_NULL)
{ {
......
...@@ -26,11 +26,7 @@ namespace irr ...@@ -26,11 +26,7 @@ namespace irr
public: public:
//! constructor //! constructor
CIrrDeviceSDL(video::E_DRIVER_TYPE deviceType, CIrrDeviceSDL(const SIrrlichtCreationParameters& param);
const core::dimension2d<s32>& windowSize, u32 bits,
bool fullscreen, bool stencilbuffer, bool vsync,
bool antiAlias, IEventReceiver* receiver,
void* windowID, const char* version);
//! destructor //! destructor
virtual ~CIrrDeviceSDL(); virtual ~CIrrDeviceSDL();
...@@ -156,19 +152,13 @@ namespace irr ...@@ -156,19 +152,13 @@ namespace irr
private: private:
//! create the driver //! create the driver
void createDriver(video::E_DRIVER_TYPE driverType, void createDriver();
const core::dimension2d<s32>& windowSize);
bool createWindow(video::E_DRIVER_TYPE driverType); bool createWindow();
void createKeyMap(); void createKeyMap();
s32 MouseX, MouseY; s32 MouseX, MouseY;
u32 Depth;
bool Fullscreen;
bool Stencilbuffer;
bool Vsync;
bool AntiAlias;
bool Resizeable; bool Resizeable;
SDL_Surface* Screen; SDL_Surface* Screen;
......
...@@ -17,10 +17,10 @@ namespace irr ...@@ -17,10 +17,10 @@ namespace irr
{ {
//! constructor //! constructor
CIrrDeviceStub::CIrrDeviceStub(const char* version, IEventReceiver* recv) CIrrDeviceStub::CIrrDeviceStub(const SIrrlichtCreationParameters& params)
: IrrlichtDevice(), VideoDriver(0), GUIEnvironment(0), SceneManager(0), : IrrlichtDevice(), VideoDriver(0), GUIEnvironment(0), SceneManager(0),
Timer(0), CursorControl(0), UserReceiver(recv), Logger(0), Operator(0), Timer(0), CursorControl(0), UserReceiver(params.EventReceiver), Logger(0), Operator(0),
FileSystem(io::createFileSystem()), InputReceivingSceneManager(0) FileSystem(0), InputReceivingSceneManager(0), CreationParams(params)
{ {
Timer = new CTimer(); Timer = new CTimer();
if (os::Printer::Logger) if (os::Printer::Logger)
...@@ -37,11 +37,12 @@ CIrrDeviceStub::CIrrDeviceStub(const char* version, IEventReceiver* recv) ...@@ -37,11 +37,12 @@ CIrrDeviceStub::CIrrDeviceStub(const char* version, IEventReceiver* recv)
os::Printer::Logger = Logger; os::Printer::Logger = Logger;
FileSystem = io::createFileSystem();
core::stringc s = "Irrlicht Engine version "; core::stringc s = "Irrlicht Engine version ";
s.append(getVersion()); s.append(getVersion());
os::Printer::log(s.c_str(), ELL_INFORMATION); os::Printer::log(s.c_str(), ELL_INFORMATION);
checkVersion(version); checkVersion(params.SDK_version_do_not_use);
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "IrrlichtDevice.h" #include "IrrlichtDevice.h"
#include "IImagePresenter.h" #include "IImagePresenter.h"
#include "SIrrCreationParameters.h"
#include "CVideoModeList.h" #include "CVideoModeList.h"
namespace irr namespace irr
...@@ -52,7 +53,7 @@ namespace irr ...@@ -52,7 +53,7 @@ namespace irr
public: public:
//! constructor //! constructor
CIrrDeviceStub(const char* version, IEventReceiver* resv); CIrrDeviceStub(const SIrrlichtCreationParameters& param);
//! destructor //! destructor
virtual ~CIrrDeviceStub(); virtual ~CIrrDeviceStub();
...@@ -114,12 +115,13 @@ namespace irr ...@@ -114,12 +115,13 @@ namespace irr
scene::ISceneManager* SceneManager; scene::ISceneManager* SceneManager;
ITimer* Timer; ITimer* Timer;
gui::ICursorControl* CursorControl; gui::ICursorControl* CursorControl;
video::CVideoModeList VideoModeList;
IEventReceiver* UserReceiver; IEventReceiver* UserReceiver;
CLogger* Logger; CLogger* Logger;
IOSOperator* Operator; IOSOperator* Operator;
io::IFileSystem* FileSystem; io::IFileSystem* FileSystem;
scene::ISceneManager* InputReceivingSceneManager; scene::ISceneManager* InputReceivingSceneManager;
video::CVideoModeList VideoModeList;
SIrrlichtCreationParameters CreationParams;
}; };
} // end namespace irr } // end namespace irr
......
...@@ -283,10 +283,9 @@ CIrrDeviceWin32::CIrrDeviceWin32(video::E_DRIVER_TYPE driverType, ...@@ -283,10 +283,9 @@ CIrrDeviceWin32::CIrrDeviceWin32(video::E_DRIVER_TYPE driverType,
bool stencilbuffer, bool vsync, bool stencilbuffer, bool vsync,
bool antiAlias, bool antiAlias,
bool highPrecisionFPU, bool highPrecisionFPU,
IEventReceiver* receiver,
HWND externalWindow, HWND externalWindow,
const char* version) const SIrrlichtCreationParameters& params)
: CIrrDeviceStub(version, receiver), HWnd(0), ChangedToFullScreen(false), : CIrrDeviceStub(param), HWnd(0), ChangedToFullScreen(false),
FullScreen(fullscreen), IsNonNTWindows(false), Resized(false), FullScreen(fullscreen), IsNonNTWindows(false), Resized(false),
ExternalWindow(false), Win32CursorControl(0) ExternalWindow(false), Win32CursorControl(0)
{ {
...@@ -938,9 +937,8 @@ IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx( ...@@ -938,9 +937,8 @@ IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx(
parameters.Vsync, parameters.Vsync,
parameters.AntiAlias, parameters.AntiAlias,
parameters.HighPrecisionFPU, parameters.HighPrecisionFPU,
parameters.EventReceiver,
reinterpret_cast<HWND>(parameters.WindowId), reinterpret_cast<HWND>(parameters.WindowId),
parameters.SDK_version_do_not_use); parameters);
if (dev && !dev->getVideoDriver() && parameters.DriverType != video::EDT_NULL) if (dev && !dev->getVideoDriver() && parameters.DriverType != video::EDT_NULL)
{ {
......
...@@ -26,9 +26,8 @@ namespace irr ...@@ -26,9 +26,8 @@ namespace irr
core::dimension2d<s32> windowSize, u32 bits, core::dimension2d<s32> windowSize, u32 bits,
bool fullscreen, bool stencilbuffer, bool vsync, bool fullscreen, bool stencilbuffer, bool vsync,
bool antiAlias, bool highPrecisionFPU, bool antiAlias, bool highPrecisionFPU,
IEventReceiver* receiver,
HWND window, HWND window,
const char* version); const SIrrlichtCreationParameters& params);
//! destructor //! destructor
virtual ~CIrrDeviceWin32(); virtual ~CIrrDeviceWin32();
......
...@@ -282,10 +282,9 @@ CIrrDeviceWinCE::CIrrDeviceWinCE(video::E_DRIVER_TYPE driverType, ...@@ -282,10 +282,9 @@ CIrrDeviceWinCE::CIrrDeviceWinCE(video::E_DRIVER_TYPE driverType,
bool stencilbuffer, bool vsync, bool stencilbuffer, bool vsync,
bool antiAlias, bool antiAlias,
bool highPrecisionFPU, bool highPrecisionFPU,
IEventReceiver* receiver,
HWND externalWindow, HWND externalWindow,
const char* version) const SIrrlichtCreationParameters& params)
: CIrrDeviceStub(version, receiver), HWnd(0), ChangedToFullScreen(false), : CIrrDeviceStub(params), HWnd(externalWindow), ChangedToFullScreen(false),
FullScreen(fullscreen), Resized(false), FullScreen(fullscreen), Resized(false),
ExternalWindow(false), Win32CursorControl(0) ExternalWindow(false), Win32CursorControl(0)
{ {
...@@ -303,7 +302,7 @@ CIrrDeviceWinCE::CIrrDeviceWinCE(video::E_DRIVER_TYPE driverType, ...@@ -303,7 +302,7 @@ CIrrDeviceWinCE::CIrrDeviceWinCE(video::E_DRIVER_TYPE driverType,
#endif #endif
// create the window, only if we do not use the null device // create the window, only if we do not use the null device
if (driverType != video::EDT_NULL && externalWindow==0) if (driverType != video::EDT_NULL && HWnd==0)
{ {
const wchar_t* ClassName = L"CIrrDeviceWinCE"; const wchar_t* ClassName = L"CIrrDeviceWinCE";
...@@ -361,7 +360,6 @@ CIrrDeviceWinCE::CIrrDeviceWinCE(video::E_DRIVER_TYPE driverType, ...@@ -361,7 +360,6 @@ CIrrDeviceWinCE::CIrrDeviceWinCE(video::E_DRIVER_TYPE driverType,
// attach external window // attach external window
if (externalWindow) if (externalWindow)
{ {
HWnd = externalWindow;
RECT r; RECT r;
GetWindowRect(HWnd, &r); GetWindowRect(HWnd, &r);
windowSize.Width = r.right - r.left; windowSize.Width = r.right - r.left;
...@@ -789,9 +787,8 @@ IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx( ...@@ -789,9 +787,8 @@ IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx(
parameters.Vsync, parameters.Vsync,
parameters.AntiAlias, parameters.AntiAlias,
parameters.HighPrecisionFPU, parameters.HighPrecisionFPU,
parameters.EventReceiver,
reinterpret_cast<HWND>(parameters.WindowId), reinterpret_cast<HWND>(parameters.WindowId),
parameters.SDK_version_do_not_use); parameters);
if (dev && !dev->getVideoDriver() && parameters.DriverType != video::EDT_NULL) if (dev && !dev->getVideoDriver() && parameters.DriverType != video::EDT_NULL)
{ {
......
...@@ -30,9 +30,8 @@ namespace irr ...@@ -30,9 +30,8 @@ namespace irr
core::dimension2d<s32> windowSize, u32 bits, core::dimension2d<s32> windowSize, u32 bits,
bool fullscreen, bool stencilbuffer, bool vsync, bool fullscreen, bool stencilbuffer, bool vsync,
bool antiAlias, bool highPrecisionFPU, bool antiAlias, bool highPrecisionFPU,
IEventReceiver* receiver,
HWND window, HWND window,
const char* version); const SIrrlichtCreationParameters& params);
//! destructor //! destructor
virtual ~CIrrDeviceWinCE(); virtual ~CIrrDeviceWinCE();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment