diff options
author | Eugene Sandulenko | 2010-10-18 19:17:38 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2010-10-18 19:17:38 +0000 |
commit | 86d650926f9b991b6398e4ad4b0613ac264dfbaa (patch) | |
tree | 5e6791249fa5fce7dd3e1a6406dff4bf720ca085 /engines/lastexpress/helpers.h | |
parent | c92d2bc234f2f73a9629b3622cd5e66c57439cda (diff) | |
download | scummvm-rg350-86d650926f9b991b6398e4ad4b0613ac264dfbaa.tar.gz scummvm-rg350-86d650926f9b991b6398e4ad4b0613ac264dfbaa.tar.bz2 scummvm-rg350-86d650926f9b991b6398e4ad4b0613ac264dfbaa.zip |
LASTEXPRESS: Merge in the engine.
svn-id: r53579
Diffstat (limited to 'engines/lastexpress/helpers.h')
-rw-r--r-- | engines/lastexpress/helpers.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/engines/lastexpress/helpers.h b/engines/lastexpress/helpers.h new file mode 100644 index 0000000000..eb54a1a3ce --- /dev/null +++ b/engines/lastexpress/helpers.h @@ -0,0 +1,102 @@ +/* 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 LASTEXPRESS_HELPERS_H +#define LASTEXPRESS_HELPERS_H + +////////////////////////////////////////////////////////////////////////// +// Misc helpers +////////////////////////////////////////////////////////////////////////// + +// Misc +#define getArchive(name) _engine->getResourceManager()->getFileStream(name) +#define rnd(value) _engine->getRandom().getRandomNumber(value - 1) + +// Engine subclasses +#define getLogic() _engine->getGameLogic() +#define getMenu() _engine->getGameMenu() + +// Logic +#define getAction() getLogic()->getGameAction() +#define getBeetle() getLogic()->getGameBeetle() +#define getFight() getLogic()->getGameFight() +#define getEntities() getLogic()->getGameEntities() +#define getSaveLoad() getLogic()->getGameSaveLoad() +#define isNight() getLogic()->getGameState()->isNightTime() + +// State +#define getState() getLogic()->getGameState()->getGameState() +#define getEvent(id) getState()->events[id] +#define getFlags() getLogic()->getGameState()->getGameFlags() +#define getInventory() getLogic()->getGameState()->getGameInventory() +#define getObjects() getLogic()->getGameState()->getGameObjects() +#define getProgress() getState()->progress +#define getSavePoints() getLogic()->getGameState()->getGameSavePoints() +#define getGlobalTimer() getLogic()->getGameState()->getTimer() +#define setGlobalTimer(timer) getLogic()->getGameState()->setTimer(timer) +#define setCoords(coords) getLogic()->getGameState()->setCoordinates(coords) +#define getCoords() getLogic()->getGameState()->getCoordinates() +#define setFrameCount(count) _engine->setFrameCounter(count) +#define getFrameCount() _engine->getFrameCounter() + +// Scenes +#define getScenes() _engine->getSceneManager() + +// Sound +#define getSound() _engine->getSoundManager() + +// Others +#define getEntityData(entity) getEntities()->getData(entity) + +////////////////////////////////////////////////////////////////////////// +// Graphics +////////////////////////////////////////////////////////////////////////// + +// Sequences +#define loadSequence(name) Sequence::load(name, getArchive(name)) +#define loadSequence1(name, field30) Sequence::load(name, getArchive(name), field30) + +#define clearBg(type) _engine->getGraphicsManager()->clear(type) +#define showScene(index, type) _engine->getGraphicsManager()->draw(getScenes()->get(index), type); + +#define askForRedraw() _engine->getGraphicsManager()->change(); +#define redrawScreen() _engine->getGraphicsManager()->update(); _engine->_system->updateScreen(); + +// Used to delete entity sequences +#define SAFE_DELETE(_p) { if(_p) { delete (_p); (_p) = NULL; } } + +////////////////////////////////////////////////////////////////////////// +// Output +////////////////////////////////////////////////////////////////////////// +extern const char *g_actionNames[]; +extern const char *g_directionNames[]; +extern const char *g_entityNames[]; + +#define ACTION_NAME(action) (action > 18 ? Common::String::printf("%d", action).c_str() : g_actionNames[action]) +#define DIRECTION_NAME(direction) (direction >= 6 ? "INVALID" : g_directionNames[direction]) +#define ENTITY_NAME(index) (index >= 40 ? "INVALID" : g_entityNames[index]) + + +#endif // LASTEXPRESS_HELPERS_H |