aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/global.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/global.h')
-rw-r--r--engines/gob/global.h173
1 files changed, 173 insertions, 0 deletions
diff --git a/engines/gob/global.h b/engines/gob/global.h
new file mode 100644
index 0000000000..1583e711c8
--- /dev/null
+++ b/engines/gob/global.h
@@ -0,0 +1,173 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2004 Ivan Dubrov
+ * Copyright (C) 2004-2006 The ScummVM project
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+#ifndef GOB_GLOBAL_H
+#define GOB_GLOBAL_H
+
+#include "gob/dataio.h"
+#include "gob/video.h"
+
+#include "common/file.h"
+
+namespace Gob {
+
+#define VIDMODE_CGA 0x05
+#define VIDMODE_EGA 0x0d
+#define VIDMODE_VGA 0x13
+#define VIDMODE_HER 7
+
+#define PROAUDIO_FLAG 0x10
+#define ADLIB_FLAG 0x08
+#define BLASTER_FLAG 0x04
+#define INTERSOUND_FLAG 0x02
+#define SPEAKER_FLAG 0x01
+#define MIDI_FLAG 0x4000
+
+#define NO 0
+#define YES 1
+#define UNDEF 2
+
+#define F1_KEY 0x3b00
+#define F2_KEY 0x3c00
+#define F3_KEY 0x3d00
+#define F4_KEY 0x3e00
+#define F5_KEY 0x3f00
+#define F6_KEY 0x4000
+#define ESCAPE 0x001b
+#define ENTER 0x000d
+
+#define MAX_FILES 30
+
+/* Video drivers */
+#define UNK_DRIVER 0
+#define VGA_DRIVER 1
+#define EGA_DRIVER 2
+#define CGA_DRIVER 3
+#define HER_DRIVER 4
+
+class Global {
+public:
+ char _pressedKeys[128];
+
+ char _useMouse;
+ int16 _mousePresent;
+
+ int16 _presentCGA;
+ int16 _presentEGA;
+ int16 _presentVGA;
+ int16 _presentHER;
+
+ int16 _videoMode;
+
+ int16 _disableVideoCfg;
+
+ uint16 _presentSound;
+ uint16 _soundFlags;
+ int16 _disableSoundCfg;
+ int16 _blasterPort;
+
+ uint16 _disableLangCfg;
+ uint16 _language;
+
+ // Timer variables
+ int32 _startTime;
+ int16 _timer_delta;
+
+ int16 _frameWaitTime;
+ int32 _startFrameTime;
+
+ // Mouse
+ int16 _disableMouseCfg;
+
+ int16 _mouseXShift;
+ int16 _mouseYShift;
+ int16 _mouseMaxCol;
+ int16 _mouseMaxRow;
+
+ // Timer and delays
+ int16 _delayTime;
+
+ // Joystick
+ char _useJoystick;
+
+ // Files
+ Common::File _filesHandles[MAX_FILES];
+
+ // Data files
+ struct DataIO::ChunkDesc *_dataFiles[MAX_DATA_FILES];
+ int16 _numDataChunks[MAX_DATA_FILES];
+ int16 _dataFileHandles[MAX_DATA_FILES];
+ int32 _chunkPos[MAX_SLOT_COUNT * MAX_DATA_FILES];
+ int32 _chunkOffset[MAX_SLOT_COUNT * MAX_DATA_FILES];
+ int32 _chunkSize[MAX_SLOT_COUNT * MAX_DATA_FILES];
+ char _isCurrentSlot[MAX_SLOT_COUNT * MAX_DATA_FILES];
+ int32 _packedSize;
+
+ int16 _sprAllocated;
+
+ int16 _primaryWidth;
+ int16 _primaryHeight;
+
+ int16 _doRangeClamp;
+
+ char _redPalette[256];
+ char _greenPalette[256];
+ char _bluePalette[256];
+
+ int16 _setAllPalette;
+
+ Video::SurfaceDesc _primarySurfDesc;
+ Video::SurfaceDesc *_pPrimarySurfDesc;
+
+ int16 _oldMode;
+ char _dontSetPalette;
+
+ Video::PalDesc *_pPaletteDesc;
+
+ int16 _unusedPalette1[18];
+ int16 _unusedPalette2[16];
+ Video::Color _vgaPalette[16];
+ Video::PalDesc _paletteStruct;
+
+ int16 _debugFlag;
+ int16 _inVM;
+ int16 _colorCount;
+
+ char _inter_resStr[200];
+ int32 _inter_resVal;
+
+ char *_inter_variables;
+ char *_inter_execPtr;
+ int16 _inter_animDataSize;
+
+ int16 _inter_mouseX;
+ int16 _inter_mouseY;
+
+ Global(GobEngine *vm);
+
+protected:
+ GobEngine *_vm;
+};
+
+} // End of namespace Gob
+
+#endif