scummvm/engines/mads/dragonsphere/dragonsphere_scenes.h

677 lines
16 KiB
C++

/* 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.
*
*/
#ifndef MADS_DRAGONSPHERE_SCENES_H
#define MADS_DRAGONSPHERE_SCENES_H
#include "common/scummsys.h"
#include "mads/game.h"
#include "mads/scene.h"
#include "mads/dragonsphere/game_dragonsphere.h"
//#include "mads/dragonsphere/globals_dragonsphere.h"
namespace MADS {
namespace Dragonsphere {
enum Verb {
VERB_LOOK = 0x3,
VERB_TAKE = 0x4,
VERB_PUSH = 0x5,
VERB_OPEN = 0x6,
VERB_PUT = 0x7,
VERB_TALK_TO = 0x8,
VERB_GIVE = 0x9,
VERB_PULL = 0xA,
VERB_CLOSE = 0xB,
VERB_THROW = 0xC,
VERB_WALK_TO = 0xD,
VERB_WALK_ACROSS = 0x11,
VERB_WALK_BEHIND = 0x1C,
VERB_LOOK_AT = 0x1E,
VERB_WALK_THROUGH = 0x25,
VERB_WALK_INTO = 0x27,
VERB_INVOKE = 0x2F,
VERB_ATTACK = 0x39,
VERB_CARVE_UP = 0x3A,
VERB_THRUST = 0x57,
VERB_POUR = 0x62,
VERB_POUR_CONTENTS_OF = 0x63,
VERB_DRINK = 0x64,
VERB_SHIFT_SELF = 0x73,
VERB_SHIFT_INTO_BEAR = 0x74,
VERB_SHIFT_INTO_SEAL = 0x75,
VERB_SHIFT_INTO_SNAKE = 0x76,
VERB_WALK_DOWN = 0xA9,
VERB_WALK = 0x1CB,
VERB_WALK_AROUND = 0x221
};
enum Noun {
NOUN_GAME = 0x1,
NOUN_QSAVE = 0x2,
NOUN_NOTHING = 0xE,
NOUN_ = 0xF,
NOUN_FLOOR = 0x10,
NOUN_RUG = 0x12,
NOUN_CARPET = 0x13,
NOUN_WALL = 0x14,
NOUN_BED = 0x15,
NOUN_PILLOW = 0x16,
NOUN_CHEST = 0x17,
NOUN_WINDOW = 0x18,
NOUN_NIGHTSTAND = 0x19,
NOUN_TAPESTRY = 0x1A,
NOUN_DRESSING_SCREEN = 0x1B,
NOUN_ROYAL_CREST = 0x1D,
NOUN_WASHBASIN = 0x1F,
NOUN_WASH_AT = 0x20,
NOUN_BOOK = 0x21,
NOUN_FIREPLACE = 0x22,
NOUN_FIREPLACE_SCREEN = 0x23,
NOUN_DOOR_TO_QUEENS_ROOM = 0x24,
NOUN_HALL_TO_SOUTH = 0x26,
NOUN_WALL_PLAQUE = 0x28,
NOUN_DECORATION = 0x29,
NOUN_SWORDS = 0x2A,
NOUN_WALL_SCONCE = 0x2B,
NOUN_BUST_ON_WALL = 0x2C,
NOUN_WALL_ARCH = 0x2D,
NOUN_SIGNET_RING = 0x2E,
NOUN_POLISH = 0x30,
NOUN_GANGBANG = 0x31,
NOUN_BIRD_FIGURINE = 0x32,
NOUN_RUB = 0x33,
NOUN_BIRDCALL = 0x34,
NOUN_USE = 0x35,
NOUN_MAKE_NOISE = 0x36,
NOUN_SHIELDSTONE = 0x37,
NOUN_SWORD = 0x38,
NOUN_GOBLET = 0x3B,
NOUN_FILL = 0x3C,
NOUN_DRINK_FROM = 0x3D,
NOUN_BONE = 0x3E,
NOUN_GNAW = 0x3F,
NOUN_FRUIT = 0x40,
NOUN_EAT = 0x41,
NOUN_DOLL = 0x42,
NOUN_PLAY_WITH = 0x43,
NOUN_HEAL = 0x44,
NOUN_HEAL_THYSELF = 0x45,
NOUN_HEAL_SELF = 0x46,
NOUN_POLYSTONE = 0x47,
NOUN_MIMIC = 0x48,
NOUN_RED_POWERSTONE = 0x49,
NOUN_YELLOW_POWERSTONE = 0x4A,
NOUN_BLUE_POWERSTONE = 0x4B,
NOUN_KEY_CROWN = 0x4C,
NOUN_WEAR = 0x4D,
NOUN_DATES = 0x4E,
NOUN_STATUE = 0x4F,
NOUN_BOTTLE_OF_FLIES = 0x50,
NOUN_LISTEN_TO = 0x51,
NOUN_SOUL_EGG = 0x52,
NOUN_BREAK = 0x53,
NOUN_MAGIC_BELT = 0x54,
NOUN_ADJUST = 0x55,
NOUN_AMULET = 0x56,
NOUN_MUD = 0x58,
NOUN_FEEL = 0x59,
NOUN_TASTE = 0x5A,
NOUN_FEATHERS = 0x5B,
NOUN_TICKLE = 0x5C,
NOUN_TORCH = 0x5D,
NOUN_WAVE = 0x5E,
NOUN_FLASK = 0x5F,
NOUN_FLASK_FULL_OF_ACID = 0x60,
NOUN_POUR_CONTENTS = 0x61,
NOUN_ROPE = 0x65,
NOUN_TIE = 0x66,
NOUN_POWER_VACUUM_STONE = 0x67,
NOUN_TAKE_MAGIC_FROM = 0x68,
NOUN_DEAD_RAT = 0x69,
NOUN_PET = 0x6A,
NOUN_MAP = 0x6B,
NOUN_FOLD = 0x6C,
NOUN_CRYSTAL_BALL = 0x6D,
NOUN_GAZE_INTO = 0x6E,
NOUN_INVOKE_POWER_OF = 0x6F,
NOUN_BLACK_SPHERE = 0x70,
NOUN_SOPTUS_SOPORIFIC = 0x71,
NOUN_SHIFTER_RING = 0x72,
NOUN_REVERT = 0x77,
NOUN_MEDICINE_BUNDLE = 0x78,
NOUN_SHAKE = 0x79,
NOUN_PARTLY_BUILT_BUNDLE = 0x7A,
NOUN_RATSICLE = 0x7B,
NOUN_LICK = 0x7C,
NOUN_TENTACLE_PARTS = 0x7D,
NOUN_CHEW = 0x7E,
NOUN_TELEPORT_DOOR = 0x7F,
NOUN_UNROLL = 0x80,
NOUN_RARE_COIN = 0x81,
NOUN_ADMIRE = 0x82,
NOUN_CRYSTAL_FLOWER = 0x83,
NOUN_DIAMOND_DUST = 0x84,
NOUN_RUBY_RING = 0x85,
NOUN_GOLD_NUGGET = 0x86,
NOUN_MAGIC_MUSIC_BOX = 0x87,
NOUN_EMERALD = 0x88,
NOUN_PIECE_OF_PAPER = 0x89,
NOUN_SPEAK_WORDS_ON = 0x8A,
NOUN_VORTEX_STONE = 0x8B,
NOUN_RUG2 = 0x8C,
NOUN_FIREPLACE_SCREEN2 = 0x8D,
NOUN_BUST_ON_WALL2 = 0x8E,
NOUN_LOOK_AT2 = 0x8F,
NOUN_DRAGON = 0x90,
NOUN_DRAGONSPHERE = 0x91,
NOUN_TOUCH = 0x92,
NOUN_THRONE_ROOM = 0x93,
NOUN_RETURN_TO = 0x94,
NOUN_CAVE = 0x95,
NOUN_PASSAGEWAY_TO_WEST = 0x96,
NOUN_PASSAGEWAY_TO_EAST = 0x97,
NOUN_CAVE_FLOOR = 0x98,
NOUN_STONE_COLUMN = 0x99,
NOUN_ABYSS = 0x9A,
NOUN_LOOK_INTO = 0x9B,
NOUN_CASTLE = 0x9C,
NOUN_CASTLE_GATE = 0x9D,
NOUN_GROUND = 0x9E,
NOUN_BARREL = 0x9F,
NOUN_BARRELS = 0xA0,
NOUN_HAYSTACK = 0xA1,
NOUN_ROOT_THROUGH = 0xA2,
NOUN_BATTLEMENTS = 0xA3,
NOUN_GATE_TO_THRONE_ROOM = 0xA4,
NOUN_CASTLE_WALL = 0xA5,
NOUN_DOOR = 0xA6,
NOUN_WALL_SWITCH = 0xA7,
NOUN_STAIRS = 0xA8,
NOUN_EDGE_OF_ABYSS = 0xAA,
NOUN_COURTYARD = 0xAB,
NOUN_ROCK = 0xAC,
NOUN_CAVE_CEILING = 0xAD,
NOUN_CAVE_WALL = 0xAE,
NOUN_BRAZIER = 0xAF,
NOUN_DOOR_TO_THRONE_ROOM = 0xB0,
NOUN_GO_THROUGH = 0xB1,
NOUN_DINING_TABLE = 0xB2,
NOUN_ACTIVATE = 0xB3,
NOUN_BATTLEMENT = 0xB4,
NOUN_DOOR_TO_GAURDROOM = 0xB5,
NOUN_DUNGEON_FLOOR = 0xB6,
NOUN_DUNGEON_WALLS = 0xB7,
NOUN_DUNGEON_CEILING = 0xB8,
NOUN_BEDDING = 0xB9,
NOUN_FLOOR_GRATE = 0xBA,
NOUN_MANACLES = 0xBB,
NOUN_CALENDAR = 0xBC,
NOUN_DOOR_TO_GUARDROOM = 0xBD,
NOUN_DOOR_TO_COUNCIL_ROOM = 0xBE,
NOUN_GUARD_STATION = 0xBF,
NOUN_DOOR_TO_DUNGEON_CELL = 0xC0,
NOUN_DOORWAY_TO_CELL = 0xC1,
NOUN_DUNGEON_DOOR = 0xC2,
NOUN_DUNGEON_WALL = 0xC3,
NOUN_CEILING = 0xC4,
NOUN_DOOR_TO_HALLWAY = 0xC5,
NOUN_TABLE = 0xC6,
NOUN_BOOKSHELF = 0xC7,
NOUN_TROPHY = 0xC8,
NOUN_READING_BENCH = 0xC9,
NOUN_CHAIR = 0xCA,
NOUN_LOVESEAT = 0xCB,
NOUN_WOOD_BASKET = 0xCC,
NOUN_STOOL = 0xCD,
NOUN_GUARD_STOOL = 0xCE,
NOUN_ROCKS = 0xCF,
NOUN_DIVIDING_WALL = 0xD0,
NOUN_ARCHWAY = 0xD1,
NOUN_MARKET_GROUNDS = 0xD2,
NOUN_HEDGE = 0xD3,
NOUN_SKY = 0xD4,
NOUN_PLAINS = 0xD5,
NOUN_FIELDS = 0xD6,
NOUN_GATE_TO_COURTYARD = 0xD7,
NOUN_ROAD_TO_EAST = 0xD8,
NOUN_TREES = 0xD9,
NOUN_CLOUDS = 0xDA,
NOUN_MERCHANTS_STALL = 0xDB,
NOUN_WELL = 0xDC,
NOUN_DOWN_WELL = 0xDD,
NOUN_GO = 0xDE,
NOUN_GO_DOWN = 0xDF,
NOUN_CRANK = 0xE0,
NOUN_BUCKET = 0xE1,
NOUN_JUMP_DOWN = 0xE2,
NOUN_WALLS = 0xE3,
NOUN_DOORWAY_TO_SOUTH = 0xE4,
NOUN_PEDESTAL = 0xE5,
NOUN_DOOR_TO_NORTH = 0xE6,
NOUN_PAINTING = 0xE7,
NOUN_DOCUMENT = 0xE8,
NOUN_INK_BOTTLE = 0xE9,
NOUN_QUILL_PEN = 0xEA,
NOUN_CHANDELIER = 0xEB,
NOUN_COUNCIL_TABLE = 0xEC,
NOUN_CANDLESTICK = 0xED,
NOUN_DESK = 0xEE,
NOUN_TURN = 0xEF,
NOUN_POLE = 0xF0,
NOUN_THE_SCENE = 0xF1,
NOUN_LEAVE = 0xF2,
NOUN_END_TABLE = 0xF3,
NOUN_BATTLE_AXES = 0xF4,
NOUN_DOOR_TO_KINGS_ROOM = 0xF5,
NOUN_COAT_OF_ARMS = 0xF6,
NOUN_LARGE_WINDOW = 0xF7,
NOUN_SMALL_WINDOW = 0xF8,
NOUN_DOOR_TO_MEETING_ROOM = 0xF9,
NOUN_DOOR_TO_BALLROOM = 0xFA,
NOUN_FLOWERS = 0xFB,
NOUN_SHUTTERS = 0xFC,
NOUN_BOOKCASE = 0xFD,
NOUN_DOOR_TO_COURTYARD = 0xFE,
NOUN_PLATFORM = 0xFF,
NOUN_STEP = 0x100,
NOUN_RED_CARPET = 0x101,
NOUN_KINGS_THRONE = 0x102,
NOUN_SIT_IN = 0x103,
NOUN_QUEENS_THRONE = 0x104,
NOUN_TRAPDOOR = 0x105,
NOUN_GRATE = 0x106,
NOUN_RIVER = 0x107,
NOUN_DIARIES = 0x108,
NOUN_SWIM_DOWN = 0x109,
NOUN_SCULLERY_MAID = 0x10A,
NOUN_DOORWAY_TO_DUNGEON = 0x10B,
NOUN_WARD = 0x10C,
NOUN_DARKNESS_BEAST = 0x10D,
NOUN_BEAST = 0x10E,
NOUN_PUT_MAGIC_INTO = 0x10F,
NOUN_GUARD = 0x110,
NOUN_CROWN = 0x111,
NOUN_BOOKS = 0x112,
NOUN_SECRET_DOOR = 0x113,
NOUN_WALL_PANEL = 0x114,
NOUN_DOORWAY = 0x115,
NOUN_FAERIE = 0x116,
NOUN_SOPTUS_ECLIPTUS = 0x117,
NOUN_GUARD_CAPTAIN = 0x118,
NOUN_MERCHANT = 0x119,
NOUN_SHAPECHANGER = 0x11A,
NOUN_RED_STONE = 0x11B,
NOUN_YELLOW_STONE = 0x11C,
NOUN_BLUE_STONE = 0x11D,
NOUN_FLIES = 0x11E,
NOUN_FLASK_OF_ACID = 0x11F,
NOUN_PARTIAL_BUNDLE = 0x120,
NOUN_SOPORIFIC = 0x121,
NOUN_PARCHMENT = 0x122,
NOUN_KING = 0x123,
NOUN_MACMORN = 0x124,
NOUN_MOUNTAINSIDE = 0x125,
NOUN_PATH_TO_SOUTH = 0x126,
NOUN_ROUGH_STONE = 0x127,
NOUN_CLIMB_UP = 0x128,
NOUN_LARGE_ROCK = 0x129,
NOUN_SMALL_ROCK = 0x12A,
NOUN_PATH_TO_WEST = 0x12B,
NOUN_CAVE_ENTRANCE = 0x12C,
NOUN_PALLET = 0x12D,
NOUN_BLANKET = 0x12E,
NOUN_FIREPIT = 0x12F,
NOUN_FLAT_STONE = 0x130,
NOUN_MOVE = 0x131,
NOUN_SPIRIT_BUNDLE = 0x132,
NOUN_TRAIL_LEADING_UP = 0x133,
NOUN_FOLLOW = 0x134,
NOUN_TRAIL_LEADING_DOWN = 0x135,
NOUN_NEST = 0x136,
NOUN_REACH_IN = 0x137,
NOUN_TRAIL_LEADING_WEST = 0x138,
NOUN_PATH_TO_EAST = 0x139,
NOUN_WATERFALL = 0x13A,
NOUN_PUDDLE = 0x13B,
NOUN_EDGE_OF_CLIFF = 0x13C,
NOUN_LEDGE = 0x13D,
NOUN_CLIMB_DOWN = 0x13E,
NOUN_LANDING = 0x13F,
NOUN_BOULDERS = 0x140,
NOUN_ROCK_TUMBLE = 0x141,
NOUN_ROCK_TREE = 0x142,
NOUN_PILLAR = 0x143,
NOUN_JUMP_TO = 0x144,
NOUN_CLIFF = 0x145,
NOUN_PILLARS = 0x146,
NOUN_SPECIAL_ROCK = 0x147,
NOUN_GAZE_UPON = 0x148,
NOUN_SCONCE = 0x149,
NOUN_LADDER = 0x14A,
NOUN_STAIRWAY = 0x14B,
NOUN_MECHANISM = 0x14C,
NOUN_SPEARHEADS = 0x14D,
NOUN_TRAP_DOOR = 0x14E,
NOUN_SWIM = 0x14F,
NOUN_DOWN_RIVER = 0x150,
NOUN_SWIM_UP = 0x151,
NOUN_UP_RIVER = 0x152,
NOUN_SHORE = 0x153,
NOUN_SWIM_TO = 0x154,
NOUN_SWIM_TOWARDS = 0x155,
NOUN_KING_CALLASH = 0x156,
NOUN_KINGS_THRONE2 = 0x157,
NOUN_KING2 = 0x158,
NOUN_GROTTO = 0x159,
NOUN_CLIMB_THROUGH = 0x15A,
NOUN_QUEEN_MOTHER = 0x15B,
NOUN_MACMORN2 = 0x15C,
NOUN_SMALL_LEDGE = 0x15D,
NOUN_MACMORN3 = 0x15E,
NOUN_TO_110 = 0x15F,
NOUN_TO_KITTY_HEAVEN = 0x160,
NOUN_KITTY_HEAVEN = 0x161,
NOUN_ROOM_110 = 0x162,
NOUN_LLANIE = 0x163,
NOUN_CW = 0x164,
NOUN_HERMIT = 0x165,
NOUN_TROU = 0x166,
NOUN_SHAK = 0x167,
NOUN_ROOM_501 = 0x168,
NOUN_MOON = 0x169,
NOUN_UFO = 0x16A,
NOUN_SIT_ON = 0x16B,
NOUN_STRANGER = 0x16C,
NOUN_TOWER_DOOR = 0x16D,
NOUN_DOOR_TO_EAST = 0x16E,
NOUN_DOOR_TO_WEST = 0x16F,
NOUN_EYE = 0x170,
NOUN_DOORWAY_TO_EAST = 0x171,
NOUN_DOORWAY_TO_WEST = 0x172,
NOUN_SKULL = 0x173,
NOUN_DOOR_TO_MAGIC_ROOM = 0x174,
NOUN_ANCIENT_BARREL = 0x175,
NOUN_COBWEBS = 0x176,
NOUN_SHELF = 0x177,
NOUN_MUSTY_CHART = 0x178,
NOUN_LAB_TABLE = 0x179,
NOUN_PETCOCK = 0x17A,
NOUN_NOZZLE = 0x17B,
NOUN_TUBING = 0x17C,
NOUN_BEAKER = 0x17D,
NOUN_FLAME = 0x17E,
NOUN_METAL_PLATE = 0x17F,
NOUN_SHAFT_OF_LIGHT = 0x180,
NOUN_CABINET = 0x181,
NOUN_BALANCE = 0x182,
NOUN_CAGE = 0x183,
NOUN_FREEZER = 0x184,
NOUN_CONTENTS_OF_FREEZER = 0x185,
NOUN_CAGE_WITH_RATS = 0x186,
NOUN_DOOR_TO_SOUTH = 0x187,
NOUN_TRAIL_OF_GREEN_SLIME = 0x188,
NOUN_NECK_LOCK = 0x189,
NOUN_BENCH = 0x18A,
NOUN_SKELETON = 0x18B,
NOUN_LEG_CLAMPS = 0x18C,
NOUN_LEG_LOCK = 0x18D,
NOUN_WAIST_LOCK = 0x18E,
NOUN_NER_TOM = 0x18F,
NOUN_BELT = 0x190,
NOUN_JUMP_INTO = 0x191,
NOUN_CLOSET = 0x192,
NOUN_DOOR_TO_EYE_CHAMBER = 0x193,
NOUN_DRESSER = 0x194,
NOUN_SCROLL = 0x195,
NOUN_WITCH_PARAPHERNALIA = 0x196,
NOUN_SHELVES = 0x197,
NOUN_MAGIC_TOMES = 0x198,
NOUN_MAGIC_PARAPHERNALIA = 0x199,
NOUN_BOOK_OF_MAGIC = 0x19A,
NOUN_HOURGLASS = 0x19B,
NOUN_STONE_SPHERE = 0x19C,
NOUN_SHADOW_OF_WINDOW = 0x19D,
NOUN_MUSIC_BOX = 0x19E,
NOUN_LARGE_SPIDER_WEB = 0x19F,
NOUN_INFERNAL_MACHINE = 0x1A0,
NOUN_WATER_SOURCE = 0x1A1,
NOUN_FLOW_OF_WATER = 0x1A2,
NOUN_RETORT = 0x1A3,
NOUN_DOORWAY_TO_CORRIDOR = 0x1A4,
NOUN_TELESCOPE = 0x1A5,
NOUN_STRANGE_MAP = 0x1A6,
NOUN_CIRCLE_OF_SPHERES = 0x1A7,
NOUN_STONE_BED = 0x1A8,
NOUN_DRAGON_SCULPTURE = 0x1A9,
NOUN_RAT = 0x1AA,
NOUN_RAT_CAGE = 0x1AB,
NOUN_DOWN_BUTTON = 0x1AC,
NOUN_DOOR_TO_MACHINE_ROOM = 0x1AD,
NOUN_STRANGE_PORTAL = 0x1AE,
NOUN_DOOR_FRAME = 0x1AF,
NOUN_ELEVATOR_HOLE = 0x1B0,
NOUN_UP_BUTTON = 0x1B1,
NOUN_DOORWAY_TO_DARK_ROOM = 0x1B2,
NOUN_BIG_SKULL = 0x1B3,
NOUN_ELEVATOR_PLATFORM = 0x1B4,
NOUN_BUTTON = 0x1B5,
NOUN_TOP_BUTTON = 0x1B6,
NOUN_BOTTOM_BUTTON = 0x1B7,
NOUN_TELEPORTAL = 0x1B8,
NOUN_EYE_CHAMBER_DOORWAY = 0x1B9,
NOUN_MACHINE_ROOM_DOORWAY = 0x1BA,
NOUN_GLOWING_FLOOR = 0x1BB,
NOUN_BRYNN_FANN = 0x1BC,
NOUN_GRAN_CALLAHACH = 0x1BD,
NOUN_SLATHAN_NI_PATAN = 0x1BE,
NOUN_HIGHTOWER = 0x1BF,
NOUN_SOPTUS_ECLIPTUS2 = 0x1C0,
NOUN_TOWER = 0x1C1,
NOUN_MOUNTAIN_PATH = 0x1C2,
NOUN_PATH_BEHIND_TOWER = 0x1C3,
NOUN_VINES = 0x1C4,
NOUN_SLATHAN_NI_PATAN2 = 0x1C5,
NOUN_SICK = 0x1C6,
NOUN_PATH_AROUND_TOWER = 0x1C7,
NOUN_PATH_TO_HIGHTOWER = 0x1C8,
NOUN_SPIRIT_PLANE = 0x1C9,
NOUN_SPIRIT_TREE = 0x1CA,
NOUN_REMAINS = 0x1CC,
NOUN_DOORWAY_TO_ELEVATOR = 0x1CD,
NOUN_DRAGON_DOOR = 0x1CE,
NOUN_DRAGON_BONES = 0x1CF,
NOUN_IRON_FLOOR = 0x1D0,
NOUN_HOLE = 0x1D1,
NOUN_STONE = 0x1D2,
NOUN_HOMEMADE_BUNDLE = 0x1D3,
NOUN_LEFT = 0x1D4,
NOUN_RIGHT = 0x1D5,
NOUN_UP = 0x1D6,
NOUN_DOWN = 0x1D7,
NOUN_WEST = 0x1D8,
NOUN_DESERT_TO_WEST = 0x1D9,
NOUN_CROSS = 0x1DA,
NOUN_DESERT_TO_EAST = 0x1DB,
NOUN_DESERT_TO_SOUTH = 0x1DC,
NOUN_DESERT_TO_NORTH = 0x1DD,
NOUN_DESERT = 0x1DE,
NOUN_POWERSTONE = 0x1DF,
NOUN_BONES = 0x1E0,
NOUN_TENT = 0x1E1,
NOUN_BUSH = 0x1E2,
NOUN_SANWE = 0x1E3,
NOUN_TANGLE = 0x1E4,
NOUN_SAND = 0x1E5,
NOUN_MAGIC_GRAPES = 0x1E6,
NOUN_ROCS_NEST = 0x1E7,
NOUN_GRAPE_VINE = 0x1E8,
NOUN_STRANGE_SQUARE = 0x1E9,
NOUN_WATER_SPHERE = 0x1EA,
NOUN_EAST_END_OF_ISLAND = 0x1EB,
NOUN_ISLAND = 0x1EC,
NOUN_SECRET_MESSAGE = 0x1ED,
NOUN_FIND = 0x1EE,
NOUN_SAND_NEAR_STONES = 0x1EF,
NOUN_DESERT_SKY = 0x1F0,
NOUN_POOL = 0x1F1,
NOUN_PALM_TREE = 0x1F2,
NOUN_OASIS = 0x1F3,
NOUN_LEAN_TO = 0x1F4,
NOUN_TRADER = 0x1F5,
NOUN_SIGN = 0x1F6,
NOUN_WATER_FLOW = 0x1F7,
NOUN_FLOATING_DISK = 0x1F8,
NOUN_GNARLED_ROOT = 0x1F9,
NOUN_SNAKE_PIT = 0x1FA,
NOUN_MARKER = 0x1FB,
NOUN_SHAMAN = 0x1FC,
NOUN_GUARDHOUSE = 0x1FD,
NOUN_BONE_TREE = 0x1FE,
NOUN_EAR_ROCK = 0x1FF,
NOUN_MOUTH_ROCK = 0x200,
NOUN_NOSE_ROCK = 0x201,
NOUN_NEW_BUNDLE = 0x202,
NOUN_LIZARD = 0x203,
NOUN_ROC = 0x204,
NOUN_ROCS_NEST2 = 0x205,
NOUN_SELECT = 0x206,
NOUN_PURPLE_GEM = 0x207,
NOUN_PURPLE_STONE = 0x208,
NOUN_GREEN_STONE = 0x209,
NOUN_PATH = 0x20A,
NOUN_GUARDS = 0x20B,
NOUN_LAMP = 0x20C,
NOUN_SCIMITAR = 0x20D,
NOUN_SITTING_PILLOW = 0x20E,
NOUN_WATER_GOURD = 0x20F,
NOUN_JAR = 0x210,
NOUN_TENT_POLE = 0x211,
NOUN_EXIT = 0x212,
NOUN_PARAPHERNALIA = 0x213,
NOUN_SLATHAN_NI_PATAN3 = 0x214,
NOUN_EYE_ROCK = 0x215,
NOUN_BODY_TREE = 0x216,
NOUN_CLEARING = 0x217,
NOUN_TENTACLES = 0x218,
NOUN_SPELL_SHIELD = 0x219,
NOUN_POOL_MONSTER = 0x21A,
NOUN_SHIFTER_BOULDER = 0x21B,
NOUN_DEAD_TREE = 0x21C,
NOUN_PIT = 0x21D,
NOUN_SHIFTER_VILLAGE = 0x21E,
NOUN_SLATHAN_SKY = 0x21F,
NOUN_SHIFTER = 0x220,
NOUN_WRECKED_BRIDGE = 0x222,
NOUN_SHACK = 0x223,
NOUN_WRECKED_SHACK = 0x224,
NOUN_WISE_SHIFTER = 0x225,
NOUN_GRASS = 0x226,
NOUN_ENTRANCE_TO_MAZE = 0x227,
NOUN_TOPIARY_TOAD = 0x228,
NOUN_BOULDER = 0x229,
NOUN_MUSHROOM = 0x22A,
NOUN_SLATHAN_SKY2 = 0x22B,
NOUN_GRETA = 0x22C,
NOUN_TREE_STUMP = 0x22D,
NOUN_SANCTUARY_WOODS = 0x22E,
NOUN_TOADS = 0x22F,
NOUN_DOOFUS = 0x230,
NOUN_SHIFTING_MONSTER = 0x231,
NOUN_SPRITE = 0x232,
NOUN_MAZE = 0x233,
NOUN_TOPIARY_TOADSTOOL = 0x234,
NOUN_TOPIARY_GARGOYLE = 0x235,
NOUN_TOPIARY_DRAGON = 0x236,
NOUN_GUARDIAN = 0x237,
NOUN_BUTTERFLY_KING = 0x238,
NOUN_ROBE = 0x239,
NOUN_CEDAR_CHEST = 0x23A,
NOUN_DRAGONSPHERE2 = 0x23B,
NOUN_PATH_TO_HIGHTOWER2 = 0x23C,
NOUN_CALIPH = 0x23D
};
class SceneFactory {
public:
static SceneLogic *createScene(MADSEngine *vm);
};
/**
* Specialized base class for Dragonsphere game scenes
*/
class DragonsphereScene : public SceneLogic {
protected:
DragonsphereGlobals &_globals;
GameDragonsphere &_game;
MADSAction &_action;
/**
* Forms an animation resource name
*/
Common::String formAnimName(char sepChar, int suffixNum);
/**
* Plays appropriate sound for entering varous rooms
*/
void lowRoomsEntrySound();
public:
/**
* Constructor
*/
DragonsphereScene(MADSEngine *vm);
void sub7178C();
};
class SceneInfoDragonsphere : public SceneInfo {
friend class SceneInfo;
protected:
virtual void loadCodes(BaseSurface &depthSurface, int variant);
virtual void loadCodes(BaseSurface &depthSurface, Common::SeekableReadStream *stream);
/**
* Constructor
*/
SceneInfoDragonsphere(MADSEngine *vm) : SceneInfo(vm) {}
};
// TODO: Temporary, remove once implemented properly
class DummyScene : public DragonsphereScene {
public:
DummyScene(MADSEngine *vm) : DragonsphereScene(vm) {
warning("Unimplemented scene");
}
virtual void setup() {}
virtual void enter() {}
virtual void actions() {}
};
} // End of namespace Dragonsphere
} // End of namespace MADS
#endif /* MADS_DRAGONSPHERE_SCENES_H */