aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/adl.h
diff options
context:
space:
mode:
authorWalter van Niftrik2016-03-07 15:19:26 +0100
committerWalter van Niftrik2016-03-09 10:03:13 +0100
commitfd8a5f419f0855babb99f716e526fc20e50882d6 (patch)
treed6b480cda57885e04736b15541defeb08ee222c7 /engines/adl/adl.h
parentac79cb081c2e7a137f2196b14e1fb2b7b4099c7f (diff)
downloadscummvm-rg350-fd8a5f419f0855babb99f716e526fc20e50882d6.tar.gz
scummvm-rg350-fd8a5f419f0855babb99f716e526fc20e50882d6.tar.bz2
scummvm-rg350-fd8a5f419f0855babb99f716e526fc20e50882d6.zip
ADL: Refactor string handling
Diffstat (limited to 'engines/adl/adl.h')
-rw-r--r--engines/adl/adl.h42
1 files changed, 18 insertions, 24 deletions
diff --git a/engines/adl/adl.h b/engines/adl/adl.h
index 591b918e43..303f1972c0 100644
--- a/engines/adl/adl.h
+++ b/engines/adl/adl.h
@@ -44,25 +44,6 @@ struct StringOffset {
uint offset;
};
-// Messages used outside of scripts
-enum EngineMessage {
- IDI_MSG_CANT_GO_THERE,
- IDI_MSG_DONT_UNDERSTAND,
- IDI_MSG_ITEM_DOESNT_MOVE,
- IDI_MSG_ITEM_NOT_HERE,
- IDI_MSG_THANKS_FOR_PLAYING
-};
-
-// Strings embedded in the executable
-enum EngineString {
- IDI_STR_ENTER_COMMAND,
- IDI_STR_VERB_ERROR,
- IDI_STR_NOUN_ERROR,
- IDI_STR_PLAY_AGAIN,
-
- IDI_STR_TOTAL
-};
-
// Conditional opcodes
#define IDO_CND_ITEM_IN_ROOM 0x03
#define IDO_CND_MOVES_GE 0x05
@@ -162,6 +143,7 @@ protected:
AdlEngine(OSystem *syst, const AdlGameDescription *gd);
Common::String readString(Common::ReadStream &stream, byte until = 0) const;
+ Common::String readStringAt(Common::SeekableReadStream &stream, uint offset, byte until = 0) const;
virtual void printMessage(uint idx, bool wait = true) const;
void printASCIIString(const Common::String &str) const;
@@ -176,8 +158,6 @@ protected:
Display *_display;
Parser *_parser;
- // Strings inside executable
- Common::Array<Common::String> _strings;
// Message strings in data file
Common::Array<Common::String> _messages;
// Picture data
@@ -194,6 +174,23 @@ protected:
WordMap _verbs;
WordMap _nouns;
+ struct {
+ Common::String enterCommand;
+ Common::String dontHaveIt;
+ Common::String gettingDark;
+ Common::String verbError;
+ Common::String nounError;
+ Common::String playAgain;
+ } _strings;
+
+ struct {
+ uint cantGoThere;
+ uint dontUnderstand;
+ uint itemDoesntMove;
+ uint itemNotHere;
+ uint thanksForPlaying;
+ } _messageIds;
+
// Game state
State _state;
@@ -202,7 +199,6 @@ private:
virtual void loadData() = 0;
virtual void initState() = 0;
virtual void restartGame() = 0;
- virtual uint getEngineMessage(EngineMessage msg) const = 0;
virtual void drawPic(byte pic, Common::Point pos = Common::Point()) const = 0;
// Engine
@@ -214,8 +210,6 @@ private:
bool canSaveGameStateCurrently() const;
// Text output
- Common::String getEngineString(int str) const;
- void printEngineMessage(EngineMessage) const;
void wordWrap(Common::String &str) const;
// Text input