(svn r10471) -Codechange: implement driver probing priority so that 'preferred' drivers are loaded first

This commit is contained in:
peter1138
2007-07-07 20:31:23 +00:00
parent 855e9d0751
commit 2723db2884
21 changed files with 39 additions and 55 deletions

View File

@@ -7,8 +7,6 @@
class VideoDriver_Cocoa: public VideoDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FVideoDriver_Cocoa: public VideoDriverFactory<FVideoDriver_Cocoa> {
public:
static const int priority = 10;
/* virtual */ const char *GetName() { return "cocoa"; }
/* virtual */ const char *GetDescription() { return "Cocoa Video Driver"; }
/* virtual */ Driver *CreateInstance() { return new VideoDriver_Cocoa(); }

View File

@@ -7,8 +7,6 @@
class VideoDriver_Dedicated: public VideoDriver {
public:
/* virtual */ bool CanProbe() { return false; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FVideoDriver_Dedicated: public VideoDriverFactory<FVideoDriver_Dedicated> {
public:
static const int priority = 0;
/* virtual */ const char *GetName() { return "dedicated"; }
/* virtual */ const char *GetDescription() { return "Dedicated Video Driver"; }
/* virtual */ Driver *CreateInstance() { return new VideoDriver_Dedicated(); }

View File

@@ -7,8 +7,6 @@
class VideoDriver_Null: public VideoDriver {
public:
/* virtual */ bool CanProbe() { return false; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FVideoDriver_Null: public VideoDriverFactory<FVideoDriver_Null> {
public:
static const int priority = 1;
/* virtual */ const char *GetName() { return "null"; }
/* virtual */ const char *GetDescription() { return "Null Video Driver"; }
/* virtual */ Driver *CreateInstance() { return new VideoDriver_Null(); }

View File

@@ -7,8 +7,6 @@
class VideoDriver_SDL: public VideoDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
@@ -24,6 +22,7 @@ public:
class FVideoDriver_SDL: public VideoDriverFactory<FVideoDriver_SDL> {
public:
static const int priority = 5;
/* virtual */ const char *GetName() { return "sdl"; }
/* virtual */ const char *GetDescription() { return "SDL Video Driver"; }
/* virtual */ Driver *CreateInstance() { return new VideoDriver_SDL(); }

View File

@@ -22,7 +22,7 @@ class VideoDriverFactoryBase: public DriverFactoryBase {
template <class T>
class VideoDriverFactory: public VideoDriverFactoryBase {
public:
VideoDriverFactory() { this->RegisterDriver(((T *)this)->GetName(), Driver::DT_VIDEO); }
VideoDriverFactory() { this->RegisterDriver(((T *)this)->GetName(), Driver::DT_VIDEO, ((T *)this)->priority); }
/**
* Get the long, human readable, name for the Driver-class.

View File

@@ -7,8 +7,6 @@
class VideoDriver_Win32: public VideoDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();