22 #ifndef NANCY_ACTION_CONVERSATION_H 23 #define NANCY_ACTION_CONVERSATION_H 25 #include "engines/nancy/action/actionrecord.h" 26 #include "engines/nancy/movieplayer.h" 48 void execute()
override;
50 virtual bool isVideoDonePlaying() {
return true; }
51 bool isViewportRelative()
const override {
return true; }
64 bool isSatisfied()
const;
72 bool isSatisfied()
const;
76 enum AddRule { kAddIfNotFound, kRemoveAndAddToEnd, kRemove };
81 byte addRule = kAddIfNotFound;
85 bool isOnScreen =
false;
98 static const byte kDefaultNextSceneEnabled = 1;
99 static const byte kDefaultNextSceneDisabled = 2;
101 static const byte kPopNextScene = 1;
102 static const byte kNoPopNextScene = 2;
104 Common::String getRecordTypeName()
const override {
return "ConversationSound"; }
122 void addConditionalDialogue();
124 void addConditionalDialogueNancy12();
125 void addGoodbyeNancy12();
132 byte _conditionalResponseCharacterID;
133 byte _goodbyeResponseCharacterID;
134 byte _defaultNextScene = kDefaultNextSceneEnabled;
135 byte _popNextScene = kNoPopNextScene;
142 bool _hasDrawnTextbox;
143 int16 _pickedResponse;
144 bool _isSkipped =
false;
146 const byte _noResponse;
152 void init()
override;
153 void updateGraphics()
override;
154 void onPause(
bool pause)
override;
158 bool isVideoDonePlaying()
override;
165 uint _videoFormat = kLargeVideoFormat;
166 uint16 _firstFrame = 0;
167 int16 _lastFrame = 0;
171 class ConversationCelLoader;
180 void init()
override;
181 void registerGraphics()
override;
182 void updateGraphics()
override;
187 uint getCurFrame()
const {
return _curFrame; }
190 Common::String getRecordTypeName()
const override {
return "ConversationCel"; }
201 bool isViewportRelative()
const override {
return true; }
204 static const byte kCelOverrideTreeRectsOff = 1;
205 static const byte kCelOverrideTreeRectsOn = 2;
207 bool isVideoDonePlaying()
override;
216 uint32 _frameTime = 0;
217 uint _videoFormat = kLargeVideoFormat;
218 uint16 _firstFrame = 0;
219 uint16 _lastFrame = 0;
228 uint32 _nextFrameTime = 0;
239 Common::String getRecordTypeName()
const override {
return "ConversationSoundT"; }
248 Common::String getRecordTypeName()
const override {
return "ConversationCelT"; }
260 Common::String getRecordTypeName()
const override {
return "ConversationSoundTerse"; }
269 Common::String getRecordTypeName()
const override {
return "ConversationCelTerse"; }
276 Common::String getRecordTypeName()
const override {
return "ConversationInfoCheck"; }
286 Common::String getRecordTypeName()
const override {
return "ConversationGoodbye"; }
295 #endif // NANCY_ACTION_CONVERSATION_H Definition: managed_surface.h:51
Definition: conversation.h:192
Definition: commontypes.h:165
Definition: movieplayer.h:56
Definition: conversation.h:58
Definition: conversation.h:150
Definition: conversation.h:41
Definition: conversation.h:93
Definition: actionrecord.h:161
Definition: renderobject.h:36
Definition: conversation.h:273
Definition: conversation.h:283
Definition: conversation.h:255
Definition: conversation.h:68
Definition: actionrecord.h:98
Definition: conversation.h:264
Definition: conversation.h:75
Definition: conversation.h:175
Definition: conversation.h:88
Definition: conversation.h:198
Definition: commontypes.h:282
Definition: conversation.h:237
Definition: conversation.h:246
Definition: commontypes.h:180
Definition: actionmanager.h:32