diff options
Diffstat (limited to 'engines/dm/dungeonman.cpp')
-rw-r--r-- | engines/dm/dungeonman.cpp | 410 |
1 files changed, 205 insertions, 205 deletions
diff --git a/engines/dm/dungeonman.cpp b/engines/dm/dungeonman.cpp index f91ee69af3..8b6a844edc 100644 --- a/engines/dm/dungeonman.cpp +++ b/engines/dm/dungeonman.cpp @@ -46,188 +46,188 @@ void DungeonMan::mapCoordsAfterRelMovement(Direction dir, int16 stepsForward, in } void DungeonMan::setupConstants() { - ObjectInfo objectInfo[180] = { // @ G0237_as_Graphic559_ObjectInfo + ObjectInfoIndex objectInfo[180] = { // @ G0237_as_Graphic559_ObjectInfo /* { Type, ObjectAspectIndex, ActionSetIndex, AllowedSlots } */ - ObjectInfo(30, 1, 0, 0x0500), /* COMPASS Pouch/Chest */ - ObjectInfo(144, 0, 0, 0x0200), /* COMPASS Hands */ - ObjectInfo(148, 67, 0, 0x0500), /* COMPASS Pouch/Chest */ - ObjectInfo(149, 67, 0, 0x0500), /* COMPASS Pouch/Chest */ - ObjectInfo(150, 67, 0, 0x0500), /* TORCH Pouch/Chest */ - ObjectInfo(151, 67, 42, 0x0500), /* TORCH Pouch/Chest */ - ObjectInfo(152, 67, 0, 0x0500), /* TORCH Pouch/Chest */ - ObjectInfo(153, 67, 0, 0x0500), /* TORCH Pouch/Chest */ - ObjectInfo(154, 2, 0, 0x0501), /* WATERSKIN Mouth/Pouch/Chest */ - ObjectInfo(155, 2, 0, 0x0501), /* WATER Mouth/Pouch/Chest */ - ObjectInfo(156, 2, 0, 0x0501), /* JEWEL SYMAL Mouth/Pouch/Chest */ - ObjectInfo(157, 2, 0, 0x0501), /* JEWEL SYMAL Mouth/Pouch/Chest */ - ObjectInfo(158, 2, 0, 0x0501), /* ILLUMULET Mouth/Pouch/Chest */ - ObjectInfo(159, 2, 0, 0x0501), /* ILLUMULET Mouth/Pouch/Chest */ - ObjectInfo(160, 2, 0, 0x0501), /* FLAMITT Mouth/Pouch/Chest */ - ObjectInfo(161, 2, 0, 0x0501), /* FLAMITT Mouth/Pouch/Chest */ - ObjectInfo(162, 2, 0, 0x0501), /* EYE OF TIME Mouth/Pouch/Chest */ - ObjectInfo(163, 2, 0, 0x0501), /* EYE OF TIME Mouth/Pouch/Chest */ - ObjectInfo(164, 68, 0, 0x0500), /* STORMRING Pouch/Chest */ - ObjectInfo(165, 68, 0, 0x0500), /* STORMRING Pouch/Chest */ - ObjectInfo(166, 68, 0, 0x0500), /* STAFF OF CLAWS Pouch/Chest */ - ObjectInfo(167, 68, 42, 0x0500), /* STAFF OF CLAWS Pouch/Chest */ - ObjectInfo(195, 80, 0, 0x0500), /* STAFF OF CLAWS Pouch/Chest */ - ObjectInfo(16, 38, 43, 0x0500), /* BOLT BLADE Pouch/Chest */ - ObjectInfo(18, 38, 7, 0x0500), /* BOLT BLADE Pouch/Chest */ - ObjectInfo(4, 35, 5, 0x0400), /* FURY Chest */ - ObjectInfo(14, 37, 6, 0x0400), /* FURY Chest */ - ObjectInfo(20, 11, 8, 0x0040), /* THE FIRESTAFF Quiver 1 */ - ObjectInfo(23, 12, 9, 0x0040), /* THE FIRESTAFF Quiver 1 */ - ObjectInfo(25, 12, 10, 0x0040), /* THE FIRESTAFF Quiver 1 */ - ObjectInfo(27, 39, 11, 0x0040), /* OPEN SCROLL Quiver 1 */ - ObjectInfo(32, 17, 12, 0x05C0), /* SCROLL Quiver 1/Quiver 2/Pouch/Chest */ - ObjectInfo(33, 12, 13, 0x0040), /* DAGGER Quiver 1 */ - ObjectInfo(34, 12, 13, 0x0040), /* FALCHION Quiver 1 */ - ObjectInfo(35, 12, 14, 0x0040), /* SWORD Quiver 1 */ - ObjectInfo(36, 12, 15, 0x0040), /* RAPIER Quiver 1 */ - ObjectInfo(37, 12, 15, 0x0040), /* SABRE Quiver 1 */ - ObjectInfo(38, 12, 16, 0x0040), /* SAMURAI SWORD Quiver 1 */ - ObjectInfo(39, 12, 17, 0x0040), /* DELTA Quiver 1 */ - ObjectInfo(40, 42, 18, 0x0040), /* DIAMOND EDGE Quiver 1 */ - ObjectInfo(41, 12, 19, 0x0040), /* VORPAL BLADE Quiver 1 */ - ObjectInfo(42, 13, 20, 0x0040), /* THE INQUISITOR Quiver 1 */ - ObjectInfo(43, 13, 21, 0x0040), /* AXE Quiver 1 */ - ObjectInfo(44, 21, 22, 0x0040), /* HARDCLEAVE Quiver 1 */ - ObjectInfo(45, 21, 22, 0x0040), /* MACE Quiver 1 */ - ObjectInfo(46, 33, 23, 0x0440), /* MACE OF ORDER Quiver 1/Chest */ - ObjectInfo(47, 43, 24, 0x0040), /* MORNINGSTAR Quiver 1 */ - ObjectInfo(48, 44, 24, 0x0040), /* CLUB Quiver 1 */ - ObjectInfo(49, 14, 27, 0x0040), /* STONE CLUB Quiver 1 */ - ObjectInfo(50, 45, 27, 0x0040), /* BOW Quiver 1 */ - ObjectInfo(51, 16, 26, 0x05C0), /* CROSSBOW Quiver 1/Quiver 2/Pouch/Chest */ - ObjectInfo(52, 46, 26, 0x05C0), /* ARROW Quiver 1/Quiver 2/Pouch/Chest */ - ObjectInfo(53, 11, 27, 0x0440), /* SLAYER Quiver 1/Chest */ - ObjectInfo(54, 47, 42, 0x05C0), /* SLING Quiver 1/Quiver 2/Pouch/Chest */ - ObjectInfo(55, 48, 40, 0x05C0), /* ROCK Quiver 1/Quiver 2/Pouch/Chest */ - ObjectInfo(56, 49, 42, 0x05C0), /* POISON DART Quiver 1/Quiver 2/Pouch/Chest */ - ObjectInfo(57, 50, 5, 0x0040), /* THROWING STAR Quiver 1 */ - ObjectInfo(58, 11, 5, 0x0040), /* STICK Quiver 1 */ - ObjectInfo(59, 31, 28, 0x0540), /* STAFF Quiver 1/Pouch/Chest */ - ObjectInfo(60, 31, 29, 0x0540), /* WAND Quiver 1/Pouch/Chest */ - ObjectInfo(61, 11, 30, 0x0040), /* TEOWAND Quiver 1 */ - ObjectInfo(62, 11, 31, 0x0040), /* YEW STAFF Quiver 1 */ - ObjectInfo(63, 11, 32, 0x0040), /* STAFF OF MANAR Quiver 1 Atari ST Version 1.0 1987-12-08: ObjectAspectIndex = 35 */ - ObjectInfo(64, 51, 33, 0x0040), /* SNAKE STAFF Quiver 1 */ - ObjectInfo(65, 32, 5, 0x0440), /* THE CONDUIT Quiver 1/Chest */ - ObjectInfo(66, 30, 35, 0x0040), /* DRAGON SPIT Quiver 1 */ - ObjectInfo(135, 65, 36, 0x0440), /* SCEPTRE OF LYF Quiver 1/Chest */ - ObjectInfo(143, 45, 27, 0x0040), /* ROBE Quiver 1 */ - ObjectInfo(28, 82, 1, 0x0040), /* FINE ROBE Quiver 1 */ - ObjectInfo(80, 23, 0, 0x040C), /* KIRTLE Neck/Torso/Chest */ - ObjectInfo(81, 23, 0, 0x040C), /* SILK SHIRT Neck/Torso/Chest */ - ObjectInfo(82, 23, 0, 0x0410), /* ELVEN DOUBLET Legs/Chest */ - ObjectInfo(112, 55, 0, 0x0420), /* LEATHER JERKIN Feet/Chest */ - ObjectInfo(114, 8, 0, 0x0420), /* TUNIC Feet/Chest */ - ObjectInfo(67, 24, 0, 0x0408), /* GHI Torso/Chest */ - ObjectInfo(83, 24, 0, 0x0410), /* MAIL AKETON Legs/Chest */ - ObjectInfo(68, 24, 0, 0x0408), /* MITHRAL AKETON Torso/Chest */ - ObjectInfo(84, 24, 0, 0x0410), /* TORSO PLATE Legs/Chest */ - ObjectInfo(69, 69, 0, 0x0408), /* PLATE OF LYTE Torso/Chest */ - ObjectInfo(70, 24, 0, 0x0408), /* PLATE OF DARC Torso/Chest */ - ObjectInfo(85, 24, 0, 0x0410), /* CAPE Legs/Chest */ - ObjectInfo(86, 69, 0, 0x0410), /* CLOAK OF NIGHT Legs/Chest */ - ObjectInfo(71, 7, 0, 0x0408), /* BARBARIAN HIDE Torso/Chest */ - ObjectInfo(87, 7, 0, 0x0410), /* ROBE Legs/Chest */ - ObjectInfo(119, 57, 0, 0x0420), /* FINE ROBE Feet/Chest */ - ObjectInfo(72, 23, 0, 0x0408), /* TABARD Torso/Chest */ - ObjectInfo(88, 23, 0, 0x0410), /* GUNNA Legs/Chest */ - ObjectInfo(113, 29, 0, 0x0420), /* ELVEN HUKE Feet/Chest */ - ObjectInfo(89, 69, 0, 0x0410), /* LEATHER PANTS Legs/Chest */ - ObjectInfo(73, 69, 0, 0x0408), /* BLUE PANTS Torso/Chest */ - ObjectInfo(74, 24, 0, 0x0408), /* GHI TROUSERS Torso/Chest */ - ObjectInfo(90, 24, 0, 0x0410), /* LEG MAIL Legs/Chest */ - ObjectInfo(103, 53, 0, 0x0402), /* MITHRAL MAIL Head/Chest */ - ObjectInfo(104, 53, 0, 0x0402), /* LEG PLATE Head/Chest */ - ObjectInfo(96, 9, 0, 0x0402), /* POLEYN OF LYTE Head/Chest */ - ObjectInfo(97, 9, 0, 0x0402), /* POLEYN OF DARC Head/Chest */ - ObjectInfo(98, 9, 0, 0x0402), /* BEZERKER HELM Head/Chest */ - ObjectInfo(105, 54, 41, 0x0400), /* HELMET Chest */ - ObjectInfo(106, 54, 41, 0x0200), /* BASINET Hands */ - ObjectInfo(108, 10, 41, 0x0200), /* CASQUE 'N COIF Hands */ - ObjectInfo(107, 54, 41, 0x0200), /* ARMET Hands */ - ObjectInfo(75, 19, 0, 0x0408), /* HELM OF LYTE Torso/Chest */ - ObjectInfo(91, 19, 0, 0x0410), /* HELM OF DARC Legs/Chest */ - ObjectInfo(76, 19, 0, 0x0408), /* CALISTA Torso/Chest */ - ObjectInfo(92, 19, 0, 0x0410), /* CROWN OF NERRA Legs/Chest */ - ObjectInfo(99, 9, 0, 0x0402), /* BUCKLER Head/Chest */ - ObjectInfo(115, 19, 0, 0x0420), /* HIDE SHIELD Feet/Chest */ - ObjectInfo(100, 52, 0, 0x0402), /* SMALL SHIELD Head/Chest */ - ObjectInfo(77, 20, 0, 0x0008), /* WOODEN SHIELD Torso */ - ObjectInfo(93, 22, 0, 0x0010), /* LARGE SHIELD Legs */ - ObjectInfo(116, 56, 0, 0x0420), /* SHIELD OF LYTE Feet/Chest */ - ObjectInfo(109, 10, 41, 0x0200), /* SHIELD OF DARC Hands */ - ObjectInfo(101, 52, 0, 0x0402), /* SANDALS Head/Chest */ - ObjectInfo(78, 20, 0, 0x0008), /* SUEDE BOOTS Torso */ - ObjectInfo(94, 22, 0, 0x0010), /* LEATHER BOOTS Legs */ - ObjectInfo(117, 56, 0, 0x0420), /* HOSEN Feet/Chest */ - ObjectInfo(110, 10, 41, 0x0200), /* FOOT PLATE Hands */ - ObjectInfo(102, 52, 0, 0x0402), /* GREAVE OF LYTE Head/Chest */ - ObjectInfo(79, 20, 0, 0x0008), /* GREAVE OF DARC Torso */ - ObjectInfo(95, 22, 0, 0x0010), /* ELVEN BOOTS Legs */ - ObjectInfo(118, 56, 0, 0x0420), /* GEM OF AGES Feet/Chest */ - ObjectInfo(111, 10, 41, 0x0200), /* EKKHARD CROSS Hands */ - ObjectInfo(140, 52, 0, 0x0402), /* MOONSTONE Head/Chest */ - ObjectInfo(141, 19, 0, 0x0408), /* THE HELLION Torso/Chest */ - ObjectInfo(142, 22, 0, 0x0010), /* PENDANT FERAL Legs */ - ObjectInfo(194, 81, 0, 0x0420), /* COPPER COIN Feet/Chest */ - ObjectInfo(196, 84, 0, 0x0408), /* SILVER COIN Torso/Chest */ - ObjectInfo(0, 34, 0, 0x0500), /* GOLD COIN Pouch/Chest */ - ObjectInfo(8, 6, 0, 0x0501), /* BOULDER Mouth/Pouch/Chest */ - ObjectInfo(10, 15, 0, 0x0504), /* BLUE GEM Neck/Pouch/Chest */ - ObjectInfo(12, 15, 0, 0x0504), /* ORANGE GEM Neck/Pouch/Chest */ - ObjectInfo(146, 40, 0, 0x0500), /* GREEN GEM Pouch/Chest */ - ObjectInfo(147, 41, 0, 0x0400), /* MAGICAL BOX Chest */ - ObjectInfo(125, 4, 37, 0x0500), /* MAGICAL BOX Pouch/Chest */ - ObjectInfo(126, 83, 37, 0x0500), /* MIRROR OF DAWN Pouch/Chest */ - ObjectInfo(127, 4, 37, 0x0500), /* HORN OF FEAR Pouch/Chest */ - ObjectInfo(176, 18, 0, 0x0500), /* ROPE Pouch/Chest */ - ObjectInfo(177, 18, 0, 0x0500), /* RABBIT'S FOOT Pouch/Chest */ - ObjectInfo(178, 18, 0, 0x0500), /* CORBAMITE Pouch/Chest */ - ObjectInfo(179, 18, 0, 0x0500), /* CHOKER Pouch/Chest */ - ObjectInfo(180, 18, 0, 0x0500), /* DEXHELM Pouch/Chest */ - ObjectInfo(181, 18, 0, 0x0500), /* FLAMEBAIN Pouch/Chest */ - ObjectInfo(182, 18, 0, 0x0500), /* POWERTOWERS Pouch/Chest */ - ObjectInfo(183, 18, 0, 0x0500), /* SPEEDBOW Pouch/Chest */ - ObjectInfo(184, 62, 0, 0x0500), /* CHEST Pouch/Chest */ - ObjectInfo(185, 62, 0, 0x0500), /* OPEN CHEST Pouch/Chest */ - ObjectInfo(186, 62, 0, 0x0500), /* ASHES Pouch/Chest */ - ObjectInfo(187, 62, 0, 0x0500), /* BONES Pouch/Chest */ - ObjectInfo(188, 62, 0, 0x0500), /* MON POTION Pouch/Chest */ - ObjectInfo(189, 62, 0, 0x0500), /* UM POTION Pouch/Chest */ - ObjectInfo(190, 62, 0, 0x0500), /* DES POTION Pouch/Chest */ - ObjectInfo(191, 62, 0, 0x0500), /* VEN POTION Pouch/Chest */ - ObjectInfo(128, 76, 0, 0x0200), /* SAR POTION Hands */ - ObjectInfo(129, 3, 0, 0x0500), /* ZO POTION Pouch/Chest */ - ObjectInfo(130, 60, 0, 0x0500), /* ROS POTION Pouch/Chest */ - ObjectInfo(131, 61, 0, 0x0500), /* KU POTION Pouch/Chest */ - ObjectInfo(168, 27, 0, 0x0501), /* DANE POTION Mouth/Pouch/Chest */ - ObjectInfo(169, 28, 0, 0x0501), /* NETA POTION Mouth/Pouch/Chest */ - ObjectInfo(170, 25, 0, 0x0501), /* BRO POTION Mouth/Pouch/Chest */ - ObjectInfo(171, 26, 0, 0x0501), /* MA POTION Mouth/Pouch/Chest */ - ObjectInfo(172, 71, 0, 0x0401), /* YA POTION Mouth/Chest */ - ObjectInfo(173, 70, 0, 0x0401), /* EE POTION Mouth/Chest */ - ObjectInfo(174, 5, 0, 0x0501), /* VI POTION Mouth/Pouch/Chest */ - ObjectInfo(175, 66, 0, 0x0501), /* WATER FLASK Mouth/Pouch/Chest */ - ObjectInfo(120, 15, 0, 0x0504), /* KATH BOMB Neck/Pouch/Chest */ - ObjectInfo(121, 15, 0, 0x0504), /* PEW BOMB Neck/Pouch/Chest */ - ObjectInfo(122, 58, 0, 0x0504), /* RA BOMB Neck/Pouch/Chest */ - ObjectInfo(123, 59, 0, 0x0504), /* FUL BOMB Neck/Pouch/Chest */ - ObjectInfo(124, 59, 0, 0x0504), /* APPLE Neck/Pouch/Chest */ - ObjectInfo(132, 79, 38, 0x0500), /* CORN Pouch/Chest */ - ObjectInfo(133, 63, 38, 0x0500), /* BREAD Pouch/Chest */ - ObjectInfo(134, 64, 0, 0x0500), /* CHEESE Pouch/Chest */ - ObjectInfo(136, 72, 39, 0x0400), /* SCREAMER SLICE Chest */ - ObjectInfo(137, 73, 0, 0x0500), /* WORM ROUND Pouch/Chest */ - ObjectInfo(138, 74, 0, 0x0500), /* DRUMSTICK Pouch/Chest */ - ObjectInfo(139, 75, 0, 0x0504), /* DRAGON STEAK Neck/Pouch/Chest */ - ObjectInfo(192, 77, 0, 0x0500), /* IRON KEY Pouch/Chest */ - ObjectInfo(193, 78, 0, 0x0500), /* KEY OF B Pouch/Chest */ - ObjectInfo(197, 74, 0, 0x0000), /* SOLID KEY */ - ObjectInfo(198, 41, 0, 0x0400) /* SQUARE KEY Chest */ + ObjectInfoIndex(30, 1, 0, 0x0500), /* COMPASS Pouch/Chest */ + ObjectInfoIndex(144, 0, 0, 0x0200), /* COMPASS Hands */ + ObjectInfoIndex(148, 67, 0, 0x0500), /* COMPASS Pouch/Chest */ + ObjectInfoIndex(149, 67, 0, 0x0500), /* COMPASS Pouch/Chest */ + ObjectInfoIndex(150, 67, 0, 0x0500), /* TORCH Pouch/Chest */ + ObjectInfoIndex(151, 67, 42, 0x0500), /* TORCH Pouch/Chest */ + ObjectInfoIndex(152, 67, 0, 0x0500), /* TORCH Pouch/Chest */ + ObjectInfoIndex(153, 67, 0, 0x0500), /* TORCH Pouch/Chest */ + ObjectInfoIndex(154, 2, 0, 0x0501), /* WATERSKIN Mouth/Pouch/Chest */ + ObjectInfoIndex(155, 2, 0, 0x0501), /* WATER Mouth/Pouch/Chest */ + ObjectInfoIndex(156, 2, 0, 0x0501), /* JEWEL SYMAL Mouth/Pouch/Chest */ + ObjectInfoIndex(157, 2, 0, 0x0501), /* JEWEL SYMAL Mouth/Pouch/Chest */ + ObjectInfoIndex(158, 2, 0, 0x0501), /* ILLUMULET Mouth/Pouch/Chest */ + ObjectInfoIndex(159, 2, 0, 0x0501), /* ILLUMULET Mouth/Pouch/Chest */ + ObjectInfoIndex(160, 2, 0, 0x0501), /* FLAMITT Mouth/Pouch/Chest */ + ObjectInfoIndex(161, 2, 0, 0x0501), /* FLAMITT Mouth/Pouch/Chest */ + ObjectInfoIndex(162, 2, 0, 0x0501), /* EYE OF TIME Mouth/Pouch/Chest */ + ObjectInfoIndex(163, 2, 0, 0x0501), /* EYE OF TIME Mouth/Pouch/Chest */ + ObjectInfoIndex(164, 68, 0, 0x0500), /* STORMRING Pouch/Chest */ + ObjectInfoIndex(165, 68, 0, 0x0500), /* STORMRING Pouch/Chest */ + ObjectInfoIndex(166, 68, 0, 0x0500), /* STAFF OF CLAWS Pouch/Chest */ + ObjectInfoIndex(167, 68, 42, 0x0500), /* STAFF OF CLAWS Pouch/Chest */ + ObjectInfoIndex(195, 80, 0, 0x0500), /* STAFF OF CLAWS Pouch/Chest */ + ObjectInfoIndex(16, 38, 43, 0x0500), /* BOLT BLADE Pouch/Chest */ + ObjectInfoIndex(18, 38, 7, 0x0500), /* BOLT BLADE Pouch/Chest */ + ObjectInfoIndex(4, 35, 5, 0x0400), /* FURY Chest */ + ObjectInfoIndex(14, 37, 6, 0x0400), /* FURY Chest */ + ObjectInfoIndex(20, 11, 8, 0x0040), /* THE FIRESTAFF Quiver 1 */ + ObjectInfoIndex(23, 12, 9, 0x0040), /* THE FIRESTAFF Quiver 1 */ + ObjectInfoIndex(25, 12, 10, 0x0040), /* THE FIRESTAFF Quiver 1 */ + ObjectInfoIndex(27, 39, 11, 0x0040), /* OPEN SCROLL Quiver 1 */ + ObjectInfoIndex(32, 17, 12, 0x05C0), /* SCROLL Quiver 1/Quiver 2/Pouch/Chest */ + ObjectInfoIndex(33, 12, 13, 0x0040), /* DAGGER Quiver 1 */ + ObjectInfoIndex(34, 12, 13, 0x0040), /* FALCHION Quiver 1 */ + ObjectInfoIndex(35, 12, 14, 0x0040), /* SWORD Quiver 1 */ + ObjectInfoIndex(36, 12, 15, 0x0040), /* RAPIER Quiver 1 */ + ObjectInfoIndex(37, 12, 15, 0x0040), /* SABRE Quiver 1 */ + ObjectInfoIndex(38, 12, 16, 0x0040), /* SAMURAI SWORD Quiver 1 */ + ObjectInfoIndex(39, 12, 17, 0x0040), /* DELTA Quiver 1 */ + ObjectInfoIndex(40, 42, 18, 0x0040), /* DIAMOND EDGE Quiver 1 */ + ObjectInfoIndex(41, 12, 19, 0x0040), /* VORPAL BLADE Quiver 1 */ + ObjectInfoIndex(42, 13, 20, 0x0040), /* THE INQUISITOR Quiver 1 */ + ObjectInfoIndex(43, 13, 21, 0x0040), /* AXE Quiver 1 */ + ObjectInfoIndex(44, 21, 22, 0x0040), /* HARDCLEAVE Quiver 1 */ + ObjectInfoIndex(45, 21, 22, 0x0040), /* MACE Quiver 1 */ + ObjectInfoIndex(46, 33, 23, 0x0440), /* MACE OF ORDER Quiver 1/Chest */ + ObjectInfoIndex(47, 43, 24, 0x0040), /* MORNINGSTAR Quiver 1 */ + ObjectInfoIndex(48, 44, 24, 0x0040), /* CLUB Quiver 1 */ + ObjectInfoIndex(49, 14, 27, 0x0040), /* STONE CLUB Quiver 1 */ + ObjectInfoIndex(50, 45, 27, 0x0040), /* BOW Quiver 1 */ + ObjectInfoIndex(51, 16, 26, 0x05C0), /* CROSSBOW Quiver 1/Quiver 2/Pouch/Chest */ + ObjectInfoIndex(52, 46, 26, 0x05C0), /* ARROW Quiver 1/Quiver 2/Pouch/Chest */ + ObjectInfoIndex(53, 11, 27, 0x0440), /* SLAYER Quiver 1/Chest */ + ObjectInfoIndex(54, 47, 42, 0x05C0), /* SLING Quiver 1/Quiver 2/Pouch/Chest */ + ObjectInfoIndex(55, 48, 40, 0x05C0), /* ROCK Quiver 1/Quiver 2/Pouch/Chest */ + ObjectInfoIndex(56, 49, 42, 0x05C0), /* POISON DART Quiver 1/Quiver 2/Pouch/Chest */ + ObjectInfoIndex(57, 50, 5, 0x0040), /* THROWING STAR Quiver 1 */ + ObjectInfoIndex(58, 11, 5, 0x0040), /* STICK Quiver 1 */ + ObjectInfoIndex(59, 31, 28, 0x0540), /* STAFF Quiver 1/Pouch/Chest */ + ObjectInfoIndex(60, 31, 29, 0x0540), /* WAND Quiver 1/Pouch/Chest */ + ObjectInfoIndex(61, 11, 30, 0x0040), /* TEOWAND Quiver 1 */ + ObjectInfoIndex(62, 11, 31, 0x0040), /* YEW STAFF Quiver 1 */ + ObjectInfoIndex(63, 11, 32, 0x0040), /* STAFF OF MANAR Quiver 1 Atari ST Version 1.0 1987-12-08: ObjectAspectIndex = 35 */ + ObjectInfoIndex(64, 51, 33, 0x0040), /* SNAKE STAFF Quiver 1 */ + ObjectInfoIndex(65, 32, 5, 0x0440), /* THE CONDUIT Quiver 1/Chest */ + ObjectInfoIndex(66, 30, 35, 0x0040), /* DRAGON SPIT Quiver 1 */ + ObjectInfoIndex(135, 65, 36, 0x0440), /* SCEPTRE OF LYF Quiver 1/Chest */ + ObjectInfoIndex(143, 45, 27, 0x0040), /* ROBE Quiver 1 */ + ObjectInfoIndex(28, 82, 1, 0x0040), /* FINE ROBE Quiver 1 */ + ObjectInfoIndex(80, 23, 0, 0x040C), /* KIRTLE Neck/Torso/Chest */ + ObjectInfoIndex(81, 23, 0, 0x040C), /* SILK SHIRT Neck/Torso/Chest */ + ObjectInfoIndex(82, 23, 0, 0x0410), /* ELVEN DOUBLET Legs/Chest */ + ObjectInfoIndex(112, 55, 0, 0x0420), /* LEATHER JERKIN Feet/Chest */ + ObjectInfoIndex(114, 8, 0, 0x0420), /* TUNIC Feet/Chest */ + ObjectInfoIndex(67, 24, 0, 0x0408), /* GHI Torso/Chest */ + ObjectInfoIndex(83, 24, 0, 0x0410), /* MAIL AKETON Legs/Chest */ + ObjectInfoIndex(68, 24, 0, 0x0408), /* MITHRAL AKETON Torso/Chest */ + ObjectInfoIndex(84, 24, 0, 0x0410), /* TORSO PLATE Legs/Chest */ + ObjectInfoIndex(69, 69, 0, 0x0408), /* PLATE OF LYTE Torso/Chest */ + ObjectInfoIndex(70, 24, 0, 0x0408), /* PLATE OF DARC Torso/Chest */ + ObjectInfoIndex(85, 24, 0, 0x0410), /* CAPE Legs/Chest */ + ObjectInfoIndex(86, 69, 0, 0x0410), /* CLOAK OF NIGHT Legs/Chest */ + ObjectInfoIndex(71, 7, 0, 0x0408), /* BARBARIAN HIDE Torso/Chest */ + ObjectInfoIndex(87, 7, 0, 0x0410), /* ROBE Legs/Chest */ + ObjectInfoIndex(119, 57, 0, 0x0420), /* FINE ROBE Feet/Chest */ + ObjectInfoIndex(72, 23, 0, 0x0408), /* TABARD Torso/Chest */ + ObjectInfoIndex(88, 23, 0, 0x0410), /* GUNNA Legs/Chest */ + ObjectInfoIndex(113, 29, 0, 0x0420), /* ELVEN HUKE Feet/Chest */ + ObjectInfoIndex(89, 69, 0, 0x0410), /* LEATHER PANTS Legs/Chest */ + ObjectInfoIndex(73, 69, 0, 0x0408), /* BLUE PANTS Torso/Chest */ + ObjectInfoIndex(74, 24, 0, 0x0408), /* GHI TROUSERS Torso/Chest */ + ObjectInfoIndex(90, 24, 0, 0x0410), /* LEG MAIL Legs/Chest */ + ObjectInfoIndex(103, 53, 0, 0x0402), /* MITHRAL MAIL Head/Chest */ + ObjectInfoIndex(104, 53, 0, 0x0402), /* LEG PLATE Head/Chest */ + ObjectInfoIndex(96, 9, 0, 0x0402), /* POLEYN OF LYTE Head/Chest */ + ObjectInfoIndex(97, 9, 0, 0x0402), /* POLEYN OF DARC Head/Chest */ + ObjectInfoIndex(98, 9, 0, 0x0402), /* BEZERKER HELM Head/Chest */ + ObjectInfoIndex(105, 54, 41, 0x0400), /* HELMET Chest */ + ObjectInfoIndex(106, 54, 41, 0x0200), /* BASINET Hands */ + ObjectInfoIndex(108, 10, 41, 0x0200), /* CASQUE 'N COIF Hands */ + ObjectInfoIndex(107, 54, 41, 0x0200), /* ARMET Hands */ + ObjectInfoIndex(75, 19, 0, 0x0408), /* HELM OF LYTE Torso/Chest */ + ObjectInfoIndex(91, 19, 0, 0x0410), /* HELM OF DARC Legs/Chest */ + ObjectInfoIndex(76, 19, 0, 0x0408), /* CALISTA Torso/Chest */ + ObjectInfoIndex(92, 19, 0, 0x0410), /* CROWN OF NERRA Legs/Chest */ + ObjectInfoIndex(99, 9, 0, 0x0402), /* BUCKLER Head/Chest */ + ObjectInfoIndex(115, 19, 0, 0x0420), /* HIDE SHIELD Feet/Chest */ + ObjectInfoIndex(100, 52, 0, 0x0402), /* SMALL SHIELD Head/Chest */ + ObjectInfoIndex(77, 20, 0, 0x0008), /* WOODEN SHIELD Torso */ + ObjectInfoIndex(93, 22, 0, 0x0010), /* LARGE SHIELD Legs */ + ObjectInfoIndex(116, 56, 0, 0x0420), /* SHIELD OF LYTE Feet/Chest */ + ObjectInfoIndex(109, 10, 41, 0x0200), /* SHIELD OF DARC Hands */ + ObjectInfoIndex(101, 52, 0, 0x0402), /* SANDALS Head/Chest */ + ObjectInfoIndex(78, 20, 0, 0x0008), /* SUEDE BOOTS Torso */ + ObjectInfoIndex(94, 22, 0, 0x0010), /* LEATHER BOOTS Legs */ + ObjectInfoIndex(117, 56, 0, 0x0420), /* HOSEN Feet/Chest */ + ObjectInfoIndex(110, 10, 41, 0x0200), /* FOOT PLATE Hands */ + ObjectInfoIndex(102, 52, 0, 0x0402), /* GREAVE OF LYTE Head/Chest */ + ObjectInfoIndex(79, 20, 0, 0x0008), /* GREAVE OF DARC Torso */ + ObjectInfoIndex(95, 22, 0, 0x0010), /* ELVEN BOOTS Legs */ + ObjectInfoIndex(118, 56, 0, 0x0420), /* GEM OF AGES Feet/Chest */ + ObjectInfoIndex(111, 10, 41, 0x0200), /* EKKHARD CROSS Hands */ + ObjectInfoIndex(140, 52, 0, 0x0402), /* MOONSTONE Head/Chest */ + ObjectInfoIndex(141, 19, 0, 0x0408), /* THE HELLION Torso/Chest */ + ObjectInfoIndex(142, 22, 0, 0x0010), /* PENDANT FERAL Legs */ + ObjectInfoIndex(194, 81, 0, 0x0420), /* COPPER COIN Feet/Chest */ + ObjectInfoIndex(196, 84, 0, 0x0408), /* SILVER COIN Torso/Chest */ + ObjectInfoIndex(0, 34, 0, 0x0500), /* GOLD COIN Pouch/Chest */ + ObjectInfoIndex(8, 6, 0, 0x0501), /* BOULDER Mouth/Pouch/Chest */ + ObjectInfoIndex(10, 15, 0, 0x0504), /* BLUE GEM Neck/Pouch/Chest */ + ObjectInfoIndex(12, 15, 0, 0x0504), /* ORANGE GEM Neck/Pouch/Chest */ + ObjectInfoIndex(146, 40, 0, 0x0500), /* GREEN GEM Pouch/Chest */ + ObjectInfoIndex(147, 41, 0, 0x0400), /* MAGICAL BOX Chest */ + ObjectInfoIndex(125, 4, 37, 0x0500), /* MAGICAL BOX Pouch/Chest */ + ObjectInfoIndex(126, 83, 37, 0x0500), /* MIRROR OF DAWN Pouch/Chest */ + ObjectInfoIndex(127, 4, 37, 0x0500), /* HORN OF FEAR Pouch/Chest */ + ObjectInfoIndex(176, 18, 0, 0x0500), /* ROPE Pouch/Chest */ + ObjectInfoIndex(177, 18, 0, 0x0500), /* RABBIT'S FOOT Pouch/Chest */ + ObjectInfoIndex(178, 18, 0, 0x0500), /* CORBAMITE Pouch/Chest */ + ObjectInfoIndex(179, 18, 0, 0x0500), /* CHOKER Pouch/Chest */ + ObjectInfoIndex(180, 18, 0, 0x0500), /* DEXHELM Pouch/Chest */ + ObjectInfoIndex(181, 18, 0, 0x0500), /* FLAMEBAIN Pouch/Chest */ + ObjectInfoIndex(182, 18, 0, 0x0500), /* POWERTOWERS Pouch/Chest */ + ObjectInfoIndex(183, 18, 0, 0x0500), /* SPEEDBOW Pouch/Chest */ + ObjectInfoIndex(184, 62, 0, 0x0500), /* CHEST Pouch/Chest */ + ObjectInfoIndex(185, 62, 0, 0x0500), /* OPEN CHEST Pouch/Chest */ + ObjectInfoIndex(186, 62, 0, 0x0500), /* ASHES Pouch/Chest */ + ObjectInfoIndex(187, 62, 0, 0x0500), /* BONES Pouch/Chest */ + ObjectInfoIndex(188, 62, 0, 0x0500), /* MON POTION Pouch/Chest */ + ObjectInfoIndex(189, 62, 0, 0x0500), /* UM POTION Pouch/Chest */ + ObjectInfoIndex(190, 62, 0, 0x0500), /* DES POTION Pouch/Chest */ + ObjectInfoIndex(191, 62, 0, 0x0500), /* VEN POTION Pouch/Chest */ + ObjectInfoIndex(128, 76, 0, 0x0200), /* SAR POTION Hands */ + ObjectInfoIndex(129, 3, 0, 0x0500), /* ZO POTION Pouch/Chest */ + ObjectInfoIndex(130, 60, 0, 0x0500), /* ROS POTION Pouch/Chest */ + ObjectInfoIndex(131, 61, 0, 0x0500), /* KU POTION Pouch/Chest */ + ObjectInfoIndex(168, 27, 0, 0x0501), /* DANE POTION Mouth/Pouch/Chest */ + ObjectInfoIndex(169, 28, 0, 0x0501), /* NETA POTION Mouth/Pouch/Chest */ + ObjectInfoIndex(170, 25, 0, 0x0501), /* BRO POTION Mouth/Pouch/Chest */ + ObjectInfoIndex(171, 26, 0, 0x0501), /* MA POTION Mouth/Pouch/Chest */ + ObjectInfoIndex(172, 71, 0, 0x0401), /* YA POTION Mouth/Chest */ + ObjectInfoIndex(173, 70, 0, 0x0401), /* EE POTION Mouth/Chest */ + ObjectInfoIndex(174, 5, 0, 0x0501), /* VI POTION Mouth/Pouch/Chest */ + ObjectInfoIndex(175, 66, 0, 0x0501), /* WATER FLASK Mouth/Pouch/Chest */ + ObjectInfoIndex(120, 15, 0, 0x0504), /* KATH BOMB Neck/Pouch/Chest */ + ObjectInfoIndex(121, 15, 0, 0x0504), /* PEW BOMB Neck/Pouch/Chest */ + ObjectInfoIndex(122, 58, 0, 0x0504), /* RA BOMB Neck/Pouch/Chest */ + ObjectInfoIndex(123, 59, 0, 0x0504), /* FUL BOMB Neck/Pouch/Chest */ + ObjectInfoIndex(124, 59, 0, 0x0504), /* APPLE Neck/Pouch/Chest */ + ObjectInfoIndex(132, 79, 38, 0x0500), /* CORN Pouch/Chest */ + ObjectInfoIndex(133, 63, 38, 0x0500), /* BREAD Pouch/Chest */ + ObjectInfoIndex(134, 64, 0, 0x0500), /* CHEESE Pouch/Chest */ + ObjectInfoIndex(136, 72, 39, 0x0400), /* SCREAMER SLICE Chest */ + ObjectInfoIndex(137, 73, 0, 0x0500), /* WORM ROUND Pouch/Chest */ + ObjectInfoIndex(138, 74, 0, 0x0500), /* DRUMSTICK Pouch/Chest */ + ObjectInfoIndex(139, 75, 0, 0x0504), /* DRAGON STEAK Neck/Pouch/Chest */ + ObjectInfoIndex(192, 77, 0, 0x0500), /* IRON KEY Pouch/Chest */ + ObjectInfoIndex(193, 78, 0, 0x0500), /* KEY OF B Pouch/Chest */ + ObjectInfoIndex(197, 74, 0, 0x0000), /* SOLID KEY */ + ObjectInfoIndex(198, 41, 0, 0x0400) /* SQUARE KEY Chest */ }; ArmourInfo armourInfo[58] = { // G0239_as_Graphic559_ArmourInfo /* { Weight, Defense, Attributes, Unreferenced } */ @@ -803,21 +803,21 @@ Square DungeonMan::getSquare(int16 mapX, int16 mapY) { if (isMapYInBounds) { SquareType squareType = Square(_currMapData[0][mapY]).getType(); if (((mapX == -1) && (squareType == k1_CorridorElemType)) || (squareType == k2_PitElemType)) - return Square(k0_ElementTypeWall, k0x0004_WallEastRandOrnAllowed); + return Square(kDMElementTypeWall, k0x0004_WallEastRandOrnAllowed); squareType = Square(_currMapData[_currMapWidth - 1][mapY]).getType(); if (((mapX == _currMapWidth) && (squareType == k1_CorridorElemType)) || (squareType == k2_PitElemType)) - return Square(k0_ElementTypeWall, k0x0001_WallWestRandOrnAllowed); + return Square(kDMElementTypeWall, k0x0001_WallWestRandOrnAllowed); } else if (isMapXInBounds) { SquareType squareType = Square(_currMapData[mapX][0]).getType(); if (((mapY == -1) && (squareType == k1_CorridorElemType)) || (squareType == k2_PitElemType)) - return Square(k0_ElementTypeWall, k0x0002_WallSouthRandOrnAllowed); + return Square(kDMElementTypeWall, k0x0002_WallSouthRandOrnAllowed); squareType = Square(_currMapData[mapX][_currMapHeight - 1]).getType(); if (((mapY == _currMapHeight) && (squareType == k1_CorridorElemType)) || (squareType == k2_PitElemType)) - return Square(k0_ElementTypeWall, k0x0008_WallNorthRandOrnAllowed); + return Square(kDMElementTypeWall, k0x0008_WallNorthRandOrnAllowed); } - return Square(k0_ElementTypeWall, 0); + return Square(kDMElementTypeWall, 0); } Square DungeonMan::getRelSquare(Direction dir, int16 stepsForward, int16 stepsRight, int16 posX, int16 posY) { @@ -864,7 +864,7 @@ void DungeonMan::setSquareAspect(uint16 *aspectArray, Direction dir, int16 mapX, aspectArray[k0_ElementAspect] = Square(AL0307_uc_Square).getType(); switch (aspectArray[k0_ElementAspect]) { - case k0_ElementTypeWall: + case kDMElementTypeWall: switch (dir) { case kDMDirNorth: leftRandomWallOrnamentAllowed = getFlag(AL0307_uc_Square, k0x0004_WallEastRandOrnAllowed); @@ -917,9 +917,9 @@ T0172010_ClosedFakeWall: return; } break; - case k6_ElementTypeFakeWall: + case kDMElementTypeFakeWall: if (!getFlag(AL0307_uc_Square, k0x0004_FakeWallOpen)) { - aspectArray[k0_ElementAspect] = k0_ElementTypeWall; + aspectArray[k0_ElementAspect] = kDMElementTypeWall; leftRandomWallOrnamentAllowed = rightRandomWallOrnamentAllowed = frontRandomWallOrnamentAllowed = getFlag(AL0307_uc_Square, k0x0008_FakeWallRandOrnOrFootPAllowed); squareIsFakeWall = true; goto T0172010_ClosedFakeWall; @@ -928,12 +928,12 @@ T0172010_ClosedFakeWall: AL0307_uc_FootprintsAllowed = getFlag(AL0307_uc_Square, k0x0008_FakeWallRandOrnOrFootPAllowed) ? 8 : 0; // No break on purpose case k1_CorridorElemType: - case k2_ElementTypePit: - case k5_ElementTypeTeleporter: + case kDMElementTypePit: + case kDMElementTypeTeleporter: if (aspectArray[k0_ElementAspect] == k1_CorridorElemType) { aspectArray[k4_FloorOrnOrdAspect] = getRandomOrnOrdinal(getFlag(AL0307_uc_Square, k0x0008_CorridorRandOrnAllowed), _currMap->_randFloorOrnCount, mapX, mapY, 30); AL0307_uc_FootprintsAllowed = true; - } else if (aspectArray[k0_ElementAspect] == k2_ElementTypePit) { + } else if (aspectArray[k0_ElementAspect] == kDMElementTypePit) { if (getFlag(AL0307_uc_Square, k0x0008_PitOpen)) { aspectArray[k2_PitInvisibleAspect] = getFlag(AL0307_uc_Square, k0x0004_PitInvisible); AL0307_uc_FootprintsAllowed &= 0x0001; @@ -959,8 +959,8 @@ T0172010_ClosedFakeWall: setFlag(aspectArray[k4_FloorOrnOrdAspect], k0x8000_FootprintsAspect); break; - case k3_ElementTypeStairs: - aspectArray[k0_ElementAspect] = (bool((getFlag(AL0307_uc_Square, k0x0008_StairsNorthSouthOrient) >> 3)) == _vm->isOrientedWestEast(dir)) ? k18_ElementTypeStairsSide : k19_ElementTypeStaisFront; + case kDMElementTypeStairs: + aspectArray[k0_ElementAspect] = (bool((getFlag(AL0307_uc_Square, k0x0008_StairsNorthSouthOrient) >> 3)) == _vm->isOrientedWestEast(dir)) ? kDMElementTypeStairsSide : kDMElementTypeStairsFront; aspectArray[k2_StairsUpAspect] = getFlag(AL0307_uc_Square, k0x0004_StairsUp); AL0307_uc_FootprintsAllowed = false; while ((curThing != Thing::_endOfList) && (curThing.getType() <= kDMThingTypeSensor)) @@ -1289,17 +1289,17 @@ int16 DungeonMan::getObjectInfoIndex(Thing thing) { uint16 *rawType = getThingData(thing); switch (thing.getType()) { case kDMThingTypeScroll: - return k0_ObjectInfoIndexFirstScroll; + return kDMObjectInfoIndexFirstScroll; case kDMThingTypeContainer: - return k1_ObjectInfoIndexFirstContainer + Container(rawType).getType(); + return kDMObjectInfoIndexFirstContainer + Container(rawType).getType(); case kDMThingTypeJunk: - return k127_ObjectInfoIndexFirstJunk + Junk(rawType).getType(); + return kDMObjectInfoIndexFirstJunk + Junk(rawType).getType(); case kDMThingTypeWeapon: - return k23_ObjectInfoIndexFirstWeapon + Weapon(rawType).getType(); + return kDMObjectInfoIndexFirstWeapon + Weapon(rawType).getType(); case kDMThingTypeArmour: - return k69_ObjectInfoIndexFirstArmour + Armour(rawType).getType(); + return kDMObjectInfoIndexFirstArmour + Armour(rawType).getType(); case kDMThingTypePotion: - return k2_ObjectInfoIndexFirstPotion + Potion(rawType).getType(); + return kDMObjectInfoIndexFirstPotion + Potion(rawType).getType(); default: return -1; } @@ -1468,28 +1468,28 @@ Thing DungeonMan::getDiscardThing(uint16 thingType) { continue; setCurrentMap(mapIndex); - _vm->_moveSens->getMoveResult(squareThing, currMapX, currMapY, kM1_MapXNotOnASquare, 0); + _vm->_moveSens->getMoveResult(squareThing, currMapX, currMapY, kDMMapXNotOnASquare, 0); break; case kDMThingTypeWeapon: if (((Weapon *)squareThingData)->getDoNotDiscard()) continue; setCurrentMap(mapIndex); - _vm->_moveSens->getMoveResult(squareThing, currMapX, currMapY, kM1_MapXNotOnASquare, 0); + _vm->_moveSens->getMoveResult(squareThing, currMapX, currMapY, kDMMapXNotOnASquare, 0); break; case kDMThingTypeJunk: if (((Junk *)squareThingData)->getDoNotDiscard()) continue; setCurrentMap(mapIndex); - _vm->_moveSens->getMoveResult(squareThing, currMapX, currMapY, kM1_MapXNotOnASquare, 0); + _vm->_moveSens->getMoveResult(squareThing, currMapX, currMapY, kDMMapXNotOnASquare, 0); break; case kDMThingTypePotion: if (((Potion *)squareThingData)->getDoNotDiscard()) continue; setCurrentMap(mapIndex); - _vm->_moveSens->getMoveResult(squareThing, currMapX, currMapY, kM1_MapXNotOnASquare, 0); + _vm->_moveSens->getMoveResult(squareThing, currMapX, currMapY, kDMMapXNotOnASquare, 0); break; } setCurrentMap(currentMapIdx); @@ -1607,7 +1607,7 @@ int16 DungeonMan::getStairsExitDirection(int16 mapX, int16 mapY) { } int16 squareType = Square(getSquare(mapX, mapY)).getType(); - int16 retval = ((squareType == k0_ElementTypeWall) || (squareType == k3_ElementTypeStairs)) ? 1 : 0; + int16 retval = ((squareType == kDMElementTypeWall) || (squareType == kDMElementTypeStairs)) ? 1 : 0; retval <<= 1; retval += (northSouthOrientedStairs ? 1 : 0); |