diff options
author | WinterGrascph | 2016-05-22 17:18:56 +0200 |
---|---|---|
committer | Bendegúz Nagy | 2016-08-26 23:02:22 +0200 |
commit | 3a85c565815c58e6e6c9b007776b83ad942d7767 (patch) | |
tree | c5ed438c1b2588fd89c44d6d1743316fe2148505 /engines/dm | |
parent | 082e3fb37ccd97f9d8a782f4fb47adf9a0661ecb (diff) | |
download | scummvm-rg350-3a85c565815c58e6e6c9b007776b83ad942d7767.tar.gz scummvm-rg350-3a85c565815c58e6e6c9b007776b83ad942d7767.tar.bz2 scummvm-rg350-3a85c565815c58e6e6c9b007776b83ad942d7767.zip |
DM: Add decodeText dependencies
Diffstat (limited to 'engines/dm')
-rw-r--r-- | engines/dm/dungeonman.cpp | 104 | ||||
-rw-r--r-- | engines/dm/dungeonman.h | 15 |
2 files changed, 117 insertions, 2 deletions
diff --git a/engines/dm/dungeonman.cpp b/engines/dm/dungeonman.cpp index af10338030..1da24e6b1d 100644 --- a/engines/dm/dungeonman.cpp +++ b/engines/dm/dungeonman.cpp @@ -604,3 +604,107 @@ Thing DungeonMan::getNextThing(Thing thing) { return getThingData(thing)[0]; // :) } +char gMessageAndScrollEscReplacementStrings[32][8] = { // @ G0255_aac_Graphic559_MessageAndScrollEscapeReplacementStrings + {'x', 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { '?', 0, 0, 0, 0, 0, 0, 0 }, */ + {'y', 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { '!', 0, 0, 0, 0, 0, 0, 0 }, */ + {'T','H','E',' ', 0, 0, 0, 0}, + {'Y','O','U',' ', 0, 0, 0, 0}, + {'z', 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {'{', 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {'|', 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {'}', 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {'~', 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {'', 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}}; +char gEscReplacementCharacters[32][2] = { // @ G0256_aac_Graphic559_EscapeReplacementCharacters + {'a', 0}, + {'b', 0}, + {'c', 0}, + {'d', 0}, + {'e', 0}, + {'f', 0}, + {'g', 0}, + {'h', 0}, + {'i', 0}, + {'j', 0}, + {'k', 0}, + {'l', 0}, + {'m', 0}, + {'n', 0}, + {'o', 0}, + {'p', 0}, + {'q', 0}, + {'r', 0}, + {'s', 0}, + {'t', 0}, + {'u', 0}, + {'v', 0}, + {'w', 0}, + {'x', 0}, + {'0', 0}, + {'1', 0}, + {'2', 0}, + {'3', 0}, + {'4', 0}, + {'5', 0}, + {'6', 0}, + {'7', 0}}; +char gInscriptionEscReplacementStrings[32][8] = { // @ G0257_aac_Graphic559_InscriptionEscapeReplacementStrings + {28, 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {29, 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {19, 7, 4, 26, 0, 0, 0, 0}, + {24, 14, 20, 26, 0, 0, 0, 0}, + {30, 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {31, 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {32, 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {33, 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {34, 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {35, 0, 0, 0, 0, 0, 0, 0}, /* Atari ST Version 1.0 1987-12-08 1987-12-11 1.1 1.2EN 1.2GE: { 0, 0, 0, 0, 0, 0, 0, 0 }, */ + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}}; + + +void decodeText(char *destString, Thing thing, TextType type) { + +} diff --git a/engines/dm/dungeonman.h b/engines/dm/dungeonman.h index dbcb6fbcd8..4a5ff1786a 100644 --- a/engines/dm/dungeonman.h +++ b/engines/dm/dungeonman.h @@ -13,6 +13,15 @@ int16 ordinalToIndex(int16 val); // @ M01_ORDINAL_TO_INDEX int16 indexToOrdinal(int16 val); // @ M00_INDEX_TO_ORDINAL +enum TextType { + /* Used for text on walls */ + kTextTypeInscription = 0, // @ C0_TEXT_TYPE_INSCRIPTION + /* Used for messages displayed when the party walks on a square */ + kTextTypeMessage = 1, // @ C1_TEXT_TYPE_MESSAGE + /* Used for text on scrolls and champion information */ + kTextTypeScroll = 2 // @ C2_TEXT_TYPE_SCROLL +}; + enum SquareAspectIndice { kElemAspect = 0, kFirstGroupOrObjectAspect = 1, @@ -287,7 +296,8 @@ enum SquareMask { kFakeWallImaginary = 0x1, kFakeWallOpen = 0x4, kFakeWallRandOrnOrFootPAllowed = 0x8, - kThingListPresent = 0x10 + kThingListPresent = 0x10, + kDecodeEvenIfInvisible = 0x8000 }; enum SquareType { @@ -434,8 +444,9 @@ public: return Square(getRelSquare(dir, stepsForward, stepsRight, posX, posY)).getType(); } // @ F0153_DUNGEON_GetRelativeSquareType void setSquareAspect(uint16 *aspectArray, direction dir, int16 mapX, int16 mapY); // @ F0172_DUNGEON_SetSquareAspect + void decodeText(char *destString, Thing thing, TextType type); // F0168_DUNGEON_DecodeText - uint32 _rawDunFileDataSize = 0; // @ probably NONE + uint32 _rawDunFileDataSize = 0; // @ probably NONE byte *_rawDunFileData = NULL; // @ ??? DungeonFileHeader _fileHeader; // @ G0278_ps_DungeonHeader |