diff options
Diffstat (limited to 'engines/adl/hires2.cpp')
-rw-r--r-- | engines/adl/hires2.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/engines/adl/hires2.cpp b/engines/adl/hires2.cpp index 4f8ba48837..1c4377180d 100644 --- a/engines/adl/hires2.cpp +++ b/engines/adl/hires2.cpp @@ -56,6 +56,35 @@ void HiRes2Engine::loadData() { if (!f.open(IDS_HR2_DISK_IMAGE)) error("Failed to open file '" IDS_HR2_DISK_IMAGE "'"); + for (uint i = 0; i < IDI_HR2_NUM_MESSAGES; ++i) { + f.seek(IDI_HR2_OFS_MESSAGES + i * 4); + byte track = f.readByte(); + byte sector = f.readByte(); + byte offset = f.readByte(); + // One more byte follows, disk? + + uint diskOffset = TSO(track, sector, offset); + + Common::String str; + + if (diskOffset != 0) + str = readStringAt(f, TSO(track, sector, offset), 0xff); + + _messages.push_back(str); + } + + _strings.enterCommand = readStringAt(f, IDI_HR2_OFS_STR_ENTER_COMMAND); + _strings.verbError = readStringAt(f, IDI_HR2_OFS_STR_VERB_ERROR); + _strings.nounError = readStringAt(f, IDI_HR2_OFS_STR_NOUN_ERROR); + _strings.playAgain = readStringAt(f, IDI_HR2_OFS_STR_PLAY_AGAIN); + _strings.pressReturn = readStringAt(f, IDI_HR2_OFS_STR_PRESS_RETURN); + + _messageIds.cantGoThere = IDI_HR2_MSG_CANT_GO_THERE; + _messageIds.dontUnderstand = IDI_HR2_MSG_DONT_UNDERSTAND; + _messageIds.itemDoesntMove = IDI_HR2_MSG_ITEM_DOESNT_MOVE; + _messageIds.itemNotHere = IDI_HR2_MSG_ITEM_NOT_HERE; + _messageIds.thanksForPlaying = IDI_HR2_MSG_THANKS_FOR_PLAYING; + f.seek(IDI_HR2_OFS_VERBS); loadWords(f, _verbs); |