/* 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(MSurface &depthSurface, int variant); virtual void loadCodes(MSurface &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 */