aboutsummaryrefslogtreecommitdiff
path: root/engines/cine/cine.h
diff options
context:
space:
mode:
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 {