1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 #ifndef BLADERUNNER_GAME_INFO_H 24 #define BLADERUNNER_GAME_INFO_H 25 26 #include "common/array.h" 27 #include "common/str.h" 28 29 namespace BladeRunner { 30 31 class BladeRunnerEngine; 32 33 class GameInfo { 34 BladeRunnerEngine *_vm; 35 36 uint32 _actorCount; 37 uint32 _playerId; 38 uint32 _flagCount; 39 uint32 _clueCount; 40 uint32 _globalVarCount; 41 uint32 _sceneNamesCount; 42 uint32 _initialSceneId; 43 uint32 _initialSetId; 44 uint32 _waypointCount; 45 uint32 _sfxTrackCount; 46 uint32 _musicTrackCount; 47 uint32 _outtakeCount; 48 uint32 _crimeCount; 49 uint32 _suspectCount; 50 uint32 _coverWaypointCount; 51 uint32 _fleeWaypointCount; 52 53 Common::Array<Common::String> _sceneNames; 54 Common::Array<Common::String> _sfxTracks; 55 Common::Array<Common::String> _musicTracks; 56 Common::Array<Common::String> _outtakes; 57 58 public: 59 GameInfo(BladeRunnerEngine *vm); 60 61 bool open(const Common::String &name); 62 getActorCount()63 uint32 getActorCount() const { return _actorCount; } getPlayerId()64 uint32 getPlayerId() const { return _playerId; } getFlagCount()65 uint32 getFlagCount() const { return _flagCount; } getClueCount()66 uint32 getClueCount() const { return _clueCount; } getGlobalVarCount()67 uint32 getGlobalVarCount() const { return _globalVarCount; } getSceneNamesCount()68 uint32 getSceneNamesCount() const { return _sceneNamesCount; } getInitialSceneId()69 uint32 getInitialSceneId() const { return _initialSceneId; } getInitialSetId()70 uint32 getInitialSetId() const { return _initialSetId; } getWaypointCount()71 uint32 getWaypointCount() const { return _waypointCount; } getSfxTrackCount()72 uint32 getSfxTrackCount() const { return _sfxTrackCount; } getMusicTrackCount()73 uint32 getMusicTrackCount() const { return _musicTrackCount; } getOuttakeCount()74 uint32 getOuttakeCount() const { return _outtakeCount; } getCrimeCount()75 uint32 getCrimeCount() const { return _crimeCount; } getSuspectCount()76 uint32 getSuspectCount() const { return _suspectCount; } getCoverWaypointCount()77 uint32 getCoverWaypointCount() const { return _coverWaypointCount; } getFleeWaypointCount()78 uint32 getFleeWaypointCount() const { return _fleeWaypointCount; } 79 80 const Common::String &getSceneName(int i) const; 81 const Common::String &getSfxTrack(int i) const; 82 const Common::String &getMusicTrack(int i) const; 83 const Common::String &getOuttake(int i) const; 84 }; 85 86 } // End of namespace BladeRunner 87 88 #endif 89