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.h35
1 files changed, 33 insertions, 2 deletions
diff --git a/engines/cine/cine.h b/engines/cine/cine.h
index 6f7b409ad7..114d98d442 100644
--- a/engines/cine/cine.h
+++ b/engines/cine/cine.h
@@ -47,6 +47,8 @@
#include "cine/pal.h"
#include "cine/gfx.h"
#include "cine/anim.h"
+#include "cine/bg_list.h"
+#include "cine/various.h"
//#define DUMP_SCRIPTS
@@ -93,6 +95,7 @@ enum CineGameFeatures {
};
struct CINEGameDescription;
+struct SeqListElement;
typedef Common::HashMap<Common::String, const char *> StringPtrHashMap;
@@ -150,6 +153,36 @@ private:
bool _preLoad;
int _timerDelayMultiplier;
+
+ public:
+ // TODO: These are pseudo-global vars
+ // They better belong to appropriate classes
+ Common::Array<AnimData> _animDataTable;
+ Common::List<BGIncrust> _bgIncrustList;
+ Common::StringArray _messageTable;
+ Common::Array<ObjectStruct> _objectTable;
+ Common::List<overlay> _overlayList;
+ Common::Array<PalEntry> _palArray;
+ Common::Array<PartBuffer> _partBuffer;
+ ScriptList _globalScripts;
+ ScriptList _objectScripts;
+ RawObjectScriptArray _relTable; ///< Object script bytecode table
+
+ /**
+ * Global variables.
+ * 255 of these are saved, but there's one more that's used for bypassing the copy protection.
+ * In CineEngine::mainLoop(int bootScriptIdx) there's this code: globalVars[VAR_BYPASS_PROTECTION] = 0;
+ * And as VAR_BYPASS_PROTECTION is 255 that's why we're allocating one more than we otherwise would.
+ */
+ ScriptVars _globalVars;
+ RawScriptArray _scriptTable; ///< Table of script bytecode
+
+ Common::Array<uint16> _zoneData;
+ Common::Array<uint16> _zoneQuery; ///< Only exists in Operation Stealth
+
+ Common::List<SeqListElement> _seqList;
+
+ Common::String _commandBuffer;
};
extern CineEngine *g_cine;
@@ -190,8 +223,6 @@ enum {
};
-extern Common::SaveFileManager *g_saveFileMan; // TEMP
-
} // End of namespace Cine
#endif