aboutsummaryrefslogtreecommitdiff
path: root/sword2/mouse.h
diff options
context:
space:
mode:
authorTorbjörn Andersson2005-04-24 12:13:03 +0000
committerTorbjörn Andersson2005-04-24 12:13:03 +0000
commit5553ef53f191ae190fcd6c35c430e61d665bae44 (patch)
tree70b96175820eaad9060429330f29187d82201c66 /sword2/mouse.h
parent6f29b92a5fa765ae3adb270035aeb104c2a9765d (diff)
downloadscummvm-rg350-5553ef53f191ae190fcd6c35c430e61d665bae44.tar.gz
scummvm-rg350-5553ef53f191ae190fcd6c35c430e61d665bae44.tar.bz2
scummvm-rg350-5553ef53f191ae190fcd6c35c430e61d665bae44.zip
Moved conversation stuff from Logic to Mouse.
svn-id: r17787
Diffstat (limited to 'sword2/mouse.h')
-rw-r--r--sword2/mouse.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/sword2/mouse.h b/sword2/mouse.h
index 54ead36198..d2fc2bdb03 100644
--- a/sword2/mouse.h
+++ b/sword2/mouse.h
@@ -21,6 +21,8 @@
#ifndef MOUSE_H
#define MOUSE_H
+#define MAX_SUBJECT_LIST 30 // is that enough?
+
#define TOTAL_mouse_list 50
namespace Sword2 {
@@ -99,6 +101,13 @@ struct MouseUnit {
int32 pointer_text;
};
+// Array of these for subject menu build up
+
+ struct SubjectUnit {
+ uint32 res;
+ uint32 ref;
+};
+
class Mouse {
private:
Sword2Engine *_vm;
@@ -114,6 +123,17 @@ private:
MenuObject _masterMenuList[TOTAL_engine_pockets];
uint32 _totalMasters;
+ SubjectUnit _subjectList[MAX_SUBJECT_LIST];
+
+ // ref number for default response when luggage icon is used on a
+ // person & it doesn't match any of the icons which would have been in
+ // the chooser
+
+ uint32 _defaultResponseId;
+
+ // could alternately use logic->looping of course
+ bool _choosing;
+
uint8 _menuStatus[2];
byte *_icons[2][RDMENU_MAXPOCKETS];
uint8 _pocketStatus[2][RDMENU_MAXPOCKETS];
@@ -200,6 +220,8 @@ public:
void processMenu();
void addMenuObject(MenuObject *obj);
+ void addSubject(int32 id, int32 ref);
+
void buildMenu();
void buildSystemMenu();
@@ -231,6 +253,9 @@ public:
void dragMouse();
void systemMenuMouse();
+ bool isChoosing() { return _choosing; }
+ uint32 chooseMouse();
+
int menuClick(int menu_items);
};