22 #ifndef NANCY_ACTION_NAVIGATIONRECORDS_H 23 #define NANCY_ACTION_NAVIGATIONRECORDS_H 25 #include "engines/nancy/action/actionrecord.h" 27 #include "engines/nancy/state/scenestream.h" 41 SceneChange(FrameType frameType = kWithFrame) : _frameType(frameType) {}
44 void execute()
override;
51 Common::String getRecordTypeName()
const override {
return "SceneChange"; }
63 _hoverCursor = CursorManager::kNormal;
68 void execute()
override;
70 CursorManager::CursorType getHoverCursor()
const override {
return _hoverCursor; }
71 bool cursorSetFromScript()
const override {
return false; }
75 bool canHaveHotspot()
const override {
return true; }
78 CursorManager::CursorType _hoverCursor;
80 Common::String getRecordTypeName()
const override {
return "HotSingleFrameSceneChange"; }
89 _hoverCursor(hoverCursor), _isTerse(isTerse) {}
93 void execute()
override;
95 CursorManager::CursorType getHoverCursor()
const override {
return _hoverCursor; }
96 bool cursorSetFromScript()
const override {
return _isTerse; }
99 bool _isTerse =
false;
101 bool canHaveHotspot()
const override {
return true; }
106 return "HotMultiframeSceneChangeTerse";
108 switch (_hoverCursor) {
109 case CursorManager::kMoveForward:
110 return "HotMultiframeForwardSceneChange";
111 case CursorManager::kMoveUp:
112 return "HotMultiframeUpSceneChange";
113 case CursorManager::kMoveDown:
114 return "HotMultiframeDownSceneChange";
116 return "HotMultiframeSceneChange";
120 CursorManager::CursorType _hoverCursor;
128 Hot1FrSceneChange(CursorManager::CursorType hoverCursor,
bool dynamicCursor =
false,
bool isTerse =
false) :
129 _hoverCursor(hoverCursor), _dynamicCursor(dynamicCursor), _isTerse(isTerse) {}
133 void execute()
override;
135 CursorManager::CursorType getHoverCursor()
const override {
return _hoverCursor; }
136 bool cursorSetFromScript()
const override {
return _dynamicCursor; }
139 bool _isTerse =
false;
140 bool _dynamicCursor =
false;
142 bool canHaveHotspot()
const override {
return true; }
147 return "HotSceneChangeTerse";
149 switch (_hoverCursor) {
150 case CursorManager::kExit:
151 return "Hot1FrExitSceneChange";
152 case CursorManager::kMoveForward:
153 return "Hot1FrForwardSceneChange";
154 case CursorManager::kMoveBackward:
155 return "Hot1FrBackSceneChange";
156 case CursorManager::kMoveUp:
157 return "Hot1FrUpSceneChange";
158 case CursorManager::kMoveDown:
159 return "Hot1FrDownSceneChange";
160 case CursorManager::kMoveLeft:
161 return "Hot1FrLeftSceneChange";
162 case CursorManager::kMoveRight:
163 return "Hot1FrRightSceneChange";
165 return "Hot1FrSceneChange";
169 CursorManager::CursorType _hoverCursor;
178 void execute()
override;
184 byte _conditionPayload;
187 bool canHaveHotspot()
const override {
return true; }
190 Common::String getRecordTypeName()
const override {
return "HotMultiframeMultisceneChange"; }
199 void execute()
override;
210 Common::String getRecordTypeName()
const override {
return "HotMultiframeMultisceneCursorTypeSceneChange"; }
225 bool loseItem =
false;
228 uint16 sceneID = kNoScene;
233 void execute()
override;
239 bool canHaveHotspot()
const override {
return true; }
244 Common::String getRecordTypeName()
const override {
return "HotMultiframeInvTypeSceneChange"; }
247 const ItemUse *_activeUse =
nullptr;
254 void execute()
override;
256 CursorManager::CursorType getHoverCursor()
const override {
return CursorManager::kExit; }
259 Common::String getRecordTypeName()
const override {
return "MapCall"; }
266 void execute()
override;
270 bool canHaveHotspot()
const override {
return true; }
273 Common::String getRecordTypeName()
const override {
return "MapCallHot1Fr"; }
280 void execute()
override;
284 bool canHaveHotspot()
const override {
return true; }
287 Common::String getRecordTypeName()
const override {
return "MapCallHotMultiframe"; }
295 kStreamName = 1 << 0,
296 kSingleFlag = 1 << 1,
304 void execute()
override;
306 CursorManager::CursorType getHoverCursor()
const override {
return _hoverCursor; }
307 bool canHaveHotspot()
const override {
return (_extras & kHotspots) != 0; }
310 Common::String getRecordTypeName()
const override {
return "SceneChangeWithExtras"; }
315 CursorManager::CursorType _hoverCursor = CursorManager::kHotspot;
323 void execute()
override;
326 Common::String getRecordTypeName()
const override {
return "BeginStream"; }
338 void execute()
override;
341 Common::String getRecordTypeName()
const override {
return "EndStream"; }
350 void execute()
override;
353 Common::String getRecordTypeName()
const override {
return "OnSceneChange"; }
363 #endif // NANCY_ACTION_NAVIGATIONRECORDS_H Definition: navigationrecords.h:251
Definition: commontypes.h:235
Definition: navigationrecords.h:175
static String format(MSVC_PRINTF const char *fmt,...) GCC_PRINTF(1
Definition: navigationrecords.h:347
Definition: commontypes.h:186
Definition: navigationrecords.h:33
Definition: commontypes.h:206
Definition: scenestream.h:53
Definition: navigationrecords.h:86
Definition: navigationrecords.h:59
Definition: actionrecord.h:107
Definition: navigationrecords.h:217
Definition: navigationrecords.h:196
Definition: navigationrecords.h:277
Definition: commontypes.h:306
Definition: navigationrecords.h:335
Definition: navigationrecords.h:263
Definition: commontypes.h:201
Definition: navigationrecords.h:126
Definition: commontypes.h:215
Definition: navigationrecords.h:320
Definition: actionmanager.h:32
Definition: navigationrecords.h:221