diff options
author | Matthew Hoops | 2011-04-13 16:04:29 -0400 |
---|---|---|
committer | Matthew Hoops | 2011-04-13 16:04:29 -0400 |
commit | 6d153f311c65fe414e31e99f8a9a6503c49a01a5 (patch) | |
tree | 9173f9964c0fec4215514e622f705810730d0ce9 /engines/tsage/globals.h | |
parent | 47c2a9adbe8d9e6640a819386f0f34e929937672 (diff) | |
parent | 66b43f2312578f35e0718d0699de207a7bf77f1a (diff) | |
download | scummvm-rg350-6d153f311c65fe414e31e99f8a9a6503c49a01a5.tar.gz scummvm-rg350-6d153f311c65fe414e31e99f8a9a6503c49a01a5.tar.bz2 scummvm-rg350-6d153f311c65fe414e31e99f8a9a6503c49a01a5.zip |
Merge remote branch 'upstream/master' into t7g-ios
Conflicts:
video/qt_decoder.cpp
Diffstat (limited to 'engines/tsage/globals.h')
-rw-r--r-- | engines/tsage/globals.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h new file mode 100644 index 0000000000..59afe140a0 --- /dev/null +++ b/engines/tsage/globals.h @@ -0,0 +1,100 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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 TSAGE_GLOBALS_H +#define TSAGE_GLOBALS_H + +#include "common/random.h" +#include "tsage/core.h" +#include "tsage/dialogs.h" +#include "tsage/scenes.h" +#include "tsage/events.h" +#include "tsage/saveload.h" + +namespace tSage { + +class Globals : public SavedObject { +public: + GfxSurface _screenSurface; + GfxManager _gfxManagerInstance; + Common::List<GfxManager *> _gfxManagers; + SceneHandler _sceneHandler; + Game _game; + EventsClass _events; + SceneManager _sceneManager; + ScenePalette _scenePalette; + SceneRegions _sceneRegions; + SceneItemList _sceneItems; + SceneObjectList _sceneObjectsInstance; + SceneObjectList *_sceneObjects; + SynchronisedList<SceneObjectList *> _sceneObjects_queue; + SceneText _sceneText; + int _gfxFontNumber; + GfxColours _gfxColours; + GfxColours _fontColours; + SoundManager _soundManager; + Common::Point _dialogCentre; + WalkRegions _walkRegions; + SynchronisedList<EventHandler *> _sceneListeners; + bool _flags[256]; + Player _player; + SoundHandler _soundHandler; + InvObjectList _inventory; + Region _paneRegions[2]; + int _paneRefreshFlag[2]; + Common::Point _sceneOffset; + Common::Point _prevSceneOffset; + SceneObject *_scrollFollower; + SequenceManager _sequenceManager; + Common::RandomSource _randomSource; + int _stripNum; +public: + Globals(); + ~Globals(); + + void reset(); + void setFlag(int flagNum) { + assert((flagNum > 0) && (flagNum < MAX_FLAGS)); + _flags[flagNum] = true; + } + void clearFlag(int flagNum) { + assert((flagNum > 0) && (flagNum < MAX_FLAGS)); + _flags[flagNum] = false; + } + bool getFlag(int flagNum) const { + assert((flagNum > 0) && (flagNum < MAX_FLAGS)); + return _flags[flagNum]; + } + + GfxManager &gfxManager() { return **_gfxManagers.begin(); } + virtual Common::String getClassName() { return "Globals"; } + virtual void synchronise(Serialiser &s); +}; + +extern Globals *_globals; + +} // End of namespace tSage + +#endif |