diff options
author | Paul Gilbert | 2006-07-08 08:27:19 +0000 |
---|---|---|
committer | Paul Gilbert | 2006-07-08 08:27:19 +0000 |
commit | 10e450947deb8b4770a51a85acc66559883ea5f2 (patch) | |
tree | 62baa10421e962f174d95243ceaf845f5447957b /engines/lure/res.h | |
parent | 6f388eb29048b30bdf3fba63b78e28085573c278 (diff) | |
download | scummvm-rg350-10e450947deb8b4770a51a85acc66559883ea5f2.tar.gz scummvm-rg350-10e450947deb8b4770a51a85acc66559883ea5f2.tar.bz2 scummvm-rg350-10e450947deb8b4770a51a85acc66559883ea5f2.zip |
Added extra checking and debugging code, as well as partial rewrite/enhancement of talking and hotspot support methods
svn-id: r23405
Diffstat (limited to 'engines/lure/res.h')
-rw-r--r-- | engines/lure/res.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/engines/lure/res.h b/engines/lure/res.h index 798844cc46..ba13cf88fe 100644 --- a/engines/lure/res.h +++ b/engines/lure/res.h @@ -32,12 +32,17 @@ namespace Lure { -enum TalkState {TALK_NONE, TALK_SELECT, TALK_RESPOND, TALK_RESPONSE_WAIT, +enum TalkState {TALK_NONE, TALK_START, TALK_SELECT, TALK_RESPOND, TALK_RESPONSE_WAIT, TALK_RESPOND_2}; #define MAX_TALK_SELECTIONS 4 typedef TalkEntryData *TalkSelections[MAX_TALK_SELECTIONS]; +struct TalkDialogDetails { + Common::Rect bounds; + bool active; +}; + class Resources { private: Common::RandomSource _rnd; @@ -58,13 +63,12 @@ private: TalkHeaderList _talkHeaders; TalkDataList _talkData; SequenceDelayList _delayList; -public: //**DEBUG** Action _currentAction; -private: MemoryBlock *_talkDialogData; RoomExitCoordinatesList _coordinateList; CharacterScheduleList _charSchedules; RoomExitIndexedHotspotList _indexedRoomExitHospots; + PausedCharacterList _pausedList; int numCharOffsets; uint16 *_charOffsets; @@ -73,6 +77,7 @@ private: TalkData *_activeTalkData; TalkState _talkState; TalkSelections _talkSelections; + TalkDialogDetails _talkDetails; int _talkSelection; int _talkStartEntry; uint16 _talkingCharacter; @@ -117,6 +122,7 @@ public: RoomExitCoordinatesList &coordinateList() { return _coordinateList; } CharacterScheduleList &charSchedules() { return _charSchedules; } RoomExitIndexedHotspotList &exitHotspots() { return _indexedRoomExitHospots; } + PausedCharacterList &pausedList() { return _pausedList; } uint16 getCharOffset(int index) { if (index >= numCharOffsets) error("Invalid index %d passed to script engine support data offset list", index); @@ -133,6 +139,7 @@ public: void setTalkState(TalkState state) { _talkState = state; } TalkState getTalkState() { return _talkState; } TalkSelections &getTalkSelections() { return _talkSelections; } + TalkDialogDetails &getTalkDetails() { return _talkDetails; } void setTalkSelection(int index) { _talkSelection = index; } int getTalkSelection() { return _talkSelection; } void setTalkStartEntry(int index) { _talkStartEntry = index; } @@ -147,10 +154,11 @@ public: error("Invalid current action %d", _currentAction); return actionList[_currentAction]; } - void activateHotspot(uint16 hotspotId); + Hotspot *activateHotspot(uint16 hotspotId); Hotspot *addHotspot(uint16 hotspotId); void addHotspot(Hotspot *hotspot); void deactivateHotspot(uint16 hotspotId, bool isDestId = false); + void deactivateHotspot(Hotspot *hotspot); }; } // End of namespace Lure |