aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/preagi_troll.h
diff options
context:
space:
mode:
authorEugene Sandulenko2007-09-18 19:06:05 +0000
committerEugene Sandulenko2007-09-18 19:06:05 +0000
commit55b19a1fd410d45ba677c186746d68e697bf7890 (patch)
tree6613c885dc1c76274373569b67415679122a5414 /engines/agi/preagi_troll.h
parent34ceaf208fc03ac738be1ef022177815f78a9a2c (diff)
downloadscummvm-rg350-55b19a1fd410d45ba677c186746d68e697bf7890.tar.gz
scummvm-rg350-55b19a1fd410d45ba677c186746d68e697bf7890.tar.bz2
scummvm-rg350-55b19a1fd410d45ba677c186746d68e697bf7890.zip
First room is shown.
svn-id: r28942
Diffstat (limited to 'engines/agi/preagi_troll.h')
-rw-r--r--engines/agi/preagi_troll.h36
1 files changed, 32 insertions, 4 deletions
diff --git a/engines/agi/preagi_troll.h b/engines/agi/preagi_troll.h
index 681f3f07b4..ef458afb41 100644
--- a/engines/agi/preagi_troll.h
+++ b/engines/agi/preagi_troll.h
@@ -117,18 +117,36 @@ const char IDS_TRO_NAME_TREASURE[][16] = {
#define IDI_TRO_MAX_ROW_PIC 21
+#define IDI_TRO_NUM_ROOMDESCS 65
+#define IDI_TRO_NUM_OPTIONS 129
+
// offsets
#define IDA_TRO_BINNAME "troll.exe"
-#define IDO_TRO_DATA_START (0x5855-0x3ef5)
-#define IDO_TRO_PIC_START 0x5855
+#define IDO_TRO_DATA_START 0x1960
+#define IDO_TRO_PIC_START 0x3EF5
+#define IDO_TRO_LOCMESSAGES 0x1F7C
+#define IDO_TRO_ROOMDESCS 0x0082
+#define IDO_TRO_OPTIONS 0x0364
+
+enum OptionType {
+ OT_GO,
+ OT_GET,
+ OT_WIN,
+ OT_UNKN
+};
+
+struct RoomDesc {
+ int options[3];
+ OptionType optionTypes[3];
+ int roomDescIndex[3];
+};
class Troll {
friend class PreAgiEngine;
public:
Troll(PreAgiEngine *vm);
- //~Winnie();
void init();
void run();
@@ -137,6 +155,13 @@ private:
int _currentRoom;
int _moves;
int _treasuresLeft;
+ int _locationDescIndex;
+ int _numberOfOptions;
+
+ bool _haveFlashlight;
+
+ RoomDesc _roomDescs[IDI_TRO_NUM_ROOMDESCS];
+ int _options[IDI_TRO_NUM_OPTIONS];
byte *_gameData;
@@ -151,6 +176,8 @@ private:
void inventory();
+ int drawRoom(char *menu);
+
void pressAnyKey();
void waitAnyKeyIntro();
@@ -158,7 +185,8 @@ private:
void drawMenu(const char *szMenu, int iSel);
- void fillPicOffsets();
+ void fillOffsets();
+ void fillRoomDescs();
private:
int _pictureOffsets[IDI_TRO_PICNUM];