diff options
author | Torbjörn Andersson | 2005-04-24 12:13:03 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2005-04-24 12:13:03 +0000 |
commit | 5553ef53f191ae190fcd6c35c430e61d665bae44 (patch) | |
tree | 70b96175820eaad9060429330f29187d82201c66 /sword2/mouse.h | |
parent | 6f29b92a5fa765ae3adb270035aeb104c2a9765d (diff) | |
download | scummvm-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.h | 25 |
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); }; |