mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-10 21:03:31 +00:00
677 lines
16 KiB
C++
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 */
|