aboutsummaryrefslogtreecommitdiff
path: root/engines/cine/cine.h
diff options
context:
space:
mode:
authorEugene Sandulenko2006-10-15 01:06:44 +0000
committerEugene Sandulenko2006-10-15 01:06:44 +0000
commit95749148cfe40c476e7bbf35075c962a660ced04 (patch)
treee92daeb72e2bb5f8645c34e37f171acf8dceee97 /engines/cine/cine.h
parent84874caf0647976fceb16bf59cfcac77f4055770 (diff)
downloadscummvm-rg350-95749148cfe40c476e7bbf35075c962a660ced04.tar.gz
scummvm-rg350-95749148cfe40c476e7bbf35075c962a660ced04.tar.bz2
scummvm-rg350-95749148cfe40c476e7bbf35075c962a660ced04.zip
Add proper game detection to CinE engine.
svn-id: r24320
Diffstat (limited to 'engines/cine/cine.h')
-rw-r--r--engines/cine/cine.h34
1 files changed, 27 insertions, 7 deletions
diff --git a/engines/cine/cine.h b/engines/cine/cine.h
index f0de296986..bddbfd86b7 100644
--- a/engines/cine/cine.h
+++ b/engines/cine/cine.h
@@ -28,6 +28,7 @@
#include "common/stdafx.h"
#include "common/scummsys.h"
#include "common/util.h"
+#include "common/advancedDetector.h"
#include "engines/engine.h"
@@ -47,27 +48,46 @@
namespace Cine {
-enum CineGameId {
- GID_FW = 1,
- GID_OS
+enum CineGameType {
+ GType_FW = 1,
+ GType_OS
+};
+
+enum CineGameFeatures {
+ GF_CD = 1 << 0,
+ GF_DEMO = 1 << 1
+};
+
+struct CINEGameDescription {
+ Common::ADGameDescription desc;
+
+ int gameType;
+ uint32 features;
};
class CineEngine : public Engine {
- int _gameId;
protected:
int init();
int go();
void shutdown();
+
+ bool initGame();
public:
CineEngine(OSystem *syst);
virtual ~CineEngine();
- int getGameId() {
- return _gameId;
- }
+
+ int getGameType() const { return _gameDescription->gameType; }
+ uint32 getFeatures() const { return _gameDescription->features; }
+ Common::Language getLanguage() const { return _gameDescription->desc.language; }
+ Common::Platform getPlatform() const { return _gameDescription->desc.platform; }
+
+ const CINEGameDescription *_gameDescription;
};
+extern CineEngine *g_cine;
+
#define BOOT_PRC_NAME "AUTO00.PRC"
enum {