aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/riven_card.h
diff options
context:
space:
mode:
authorBastien Bouclet2017-08-06 06:33:20 +0200
committerBastien Bouclet2017-08-06 17:36:27 +0200
commit8e5ac98a4b6082caf68ad205dc6cadffa4df5051 (patch)
treeaffe658ec773193cdaeb5f0a0cf9465e4c8b5169 /engines/mohawk/riven_card.h
parent17089becd410e4e1b95e64c9d0207ffc3eac5801 (diff)
downloadscummvm-rg350-8e5ac98a4b6082caf68ad205dc6cadffa4df5051.tar.gz
scummvm-rg350-8e5ac98a4b6082caf68ad205dc6cadffa4df5051.tar.bz2
scummvm-rg350-8e5ac98a4b6082caf68ad205dc6cadffa4df5051.zip
MOHAWK: Riven: Add keyboard navigation
Diffstat (limited to 'engines/mohawk/riven_card.h')
-rw-r--r--engines/mohawk/riven_card.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/mohawk/riven_card.h b/engines/mohawk/riven_card.h
index cfcacdb8b8..c5a5795eaa 100644
--- a/engines/mohawk/riven_card.h
+++ b/engines/mohawk/riven_card.h
@@ -99,7 +99,10 @@ public:
RivenHotspot *getHotspotContainingPoint(const Common::Point &point) const;
/** Get the hotspot with the specified name */
- RivenHotspot *getHotspotByName(const Common::String &name) const;
+ RivenHotspot *getHotspotByName(const Common::String &name, bool optional = false) const;
+
+ /** Find an enabled hotspot with a name matching one of the arguments */
+ RivenHotspot *findEnabledHotspotByName(uint n, ...) const;
/** Get the hotspot with the specified BLST id */
RivenHotspot *getHotspotByBlstId(const uint16 blstId) const;
@@ -125,6 +128,9 @@ public:
/** Handle a mouse move event */
RivenScriptPtr onMouseMove(const Common::Point &mouse);
+ /** Handle a keyboard action */
+ RivenScriptPtr onKeyAction(RivenKeyAction keyAction);
+
/** General frame update handler */
RivenScriptPtr onFrame();
@@ -145,6 +151,7 @@ private:
void loadCardMovieList(uint16 id);
void loadCardHotspotEnableList(uint16 id);
void loadCardWaterEffectList(uint16 id);
+ void applyPatches(uint16 id);
void setCurrentCardVariable();
RivenScriptPtr getScript(uint16 scriptType) const;
@@ -254,9 +261,12 @@ public:
/** Write all of the hotspot's data to standard output */
void dump() const;
- /** Apply patches to hotspot's scripts to fix bugs in the original game scripts */
+ /** Apply patches to the hotspot's scripts to fix bugs in the original game scripts */
void applyScriptPatches(uint32 cardGlobalId);
+ /** Apply patches to the hotspot's properties to fix bugs in the original game scripts */
+ void applyPropertiesPatches(uint32 cardGlobalId);
+
private:
enum {
kFlagZip = 1,