22 #ifndef NANCY_ACTION_RECORDTYPES_H 23 #define NANCY_ACTION_RECORDTYPES_H 25 #include "engines/nancy/action/actionrecord.h" 26 #include "engines/nancy/enginedata.h" 27 #include "engines/nancy/puzzledata.h" 39 void execute()
override;
47 Common::String getRecordTypeName()
const override {
return "PaletteThisScene"; }
54 void execute()
override;
59 Common::String getRecordTypeName()
const override {
return "PaletteNextScene"; }
66 void execute()
override;
73 Common::String getRecordTypeName()
const override {
return "LightningOn"; }
80 void execute()
override;
83 uint16 _fadeToBlackTime = 0;
84 uint16 _frameTime = 0;
85 uint16 _totalTime = 0;
89 Common::String getRecordTypeName()
const override {
return "SpecialEffect"; }
98 enum WaitMode { kWaitNone = 0, kWaitForSound = 1, kWaitForTimer = 2 };
99 enum WriteType { kTextBoxWrite, kAutotextWrite };
101 TextBoxWrite(WriteType writeType) : _writeType(writeType) {}
104 void execute()
override;
109 WriteType _writeType;
111 uint16 _soundChannel = 0;
112 uint32 _waitTimeMs = 0;
115 Common::String getRecordTypeName()
const override {
return _writeType == kAutotextWrite ?
"AutotextTextBoxWrite" :
"TextBoxWrite"; }
125 void execute()
override;
128 Common::String getRecordTypeName()
const override {
return "TextboxClear"; }
135 enum BoxMode { kNormalBox, kFullBox };
140 void execute()
override;
146 Common::String getRecordTypeName()
const override {
return "FrameTextBox"; }
154 void execute()
override;
156 uint16 _uiButton = 0;
157 byte _characterIndex = kPlayerCharacterActive;
158 byte _autoOpenOrBadgeSound = 0;
160 int16 _startScene = 0;
164 return Common::String::format(
"uiButton: %d, character: %d, autoOpenOrBadgeSound: %d, flagB: %d, startScene: %d, endScene: %d",
165 _uiButton, _characterIndex, _autoOpenOrBadgeSound, _flagB, _startScene, _endScene);
169 Common::String getRecordTypeName()
const override {
return "ControlUIItems"; }
176 void execute()
override;
179 int32 _signalValue = 0;
182 Common::String getRecordTypeName()
const override {
return "UIPopupPrepScene"; }
190 void execute()
override;
197 _link.key.c_str(), _link.value.c_str(), _mode, _link.extra, _link.flag, _link.eventFlag);
201 Common::String getRecordTypeName()
const override {
return "AddSearchLink"; }
209 void execute()
override;
214 Common::String getRecordTypeName()
const override {
return "SetCellPhoneBatteryAndSignal"; }
223 void execute()
override;
232 Common::String getRecordTypeName()
const override {
return "ChangeCellPhoneInfo"; }
240 void execute()
override;
245 Common::String getRecordTypeName()
const override {
return "CellPhonePopCellSceneFromStack"; }
252 void execute()
override;
259 Common::String getRecordTypeName()
const override {
return "BumpPlayerClock"; }
266 void execute()
override;
269 Common::String getRecordTypeName()
const override {
return "SaveContinueGame"; }
278 void execute()
override;
285 _filename.c_str(), _cropRect.
left, _cropRect.top, _cropRect.
right, _cropRect.bottom);
289 Common::String getRecordTypeName()
const override {
return "MakeScreenFile"; }
299 Common::String getRecordTypeName()
const override {
return "TurnOffMainRendering"; }
309 Common::String getRecordTypeName()
const override {
return "TurnOnMainRendering"; }
323 kConfigRepeating = 3,
331 void execute()
override;
333 int16 _timerIndex = 0;
334 int16 _command = kStart;
338 int16 _milliseconds = 0;
343 Common::String getRecordTypeName()
const override {
return "ResetAndStartTimer"; }
350 void execute()
override;
352 byte _timerIndex = 0;
355 Common::String getRecordTypeName()
const override {
return "StopTimer"; }
376 void execute()
override;
378 int16 _timerIndex = 0;
390 Common::String getRecordTypeName()
const override {
return "TimerControl"; }
398 void execute()
override;
401 Common::String getRecordTypeName()
const override {
return "StopPlayerScrolling"; }
408 void execute()
override;
411 Common::String getRecordTypeName()
const override {
return "StartPlayerScrolling"; }
418 void execute()
override;
421 Common::String getRecordTypeName()
const override {
return "GotoMenu"; }
430 void execute()
override;
433 Common::String getRecordTypeName()
const override {
return "LoseGame"; }
442 void execute()
override;
445 Common::String getRecordTypeName()
const override {
return "HideCursor"; }
447 bool _isHiding =
false;
455 void execute()
override;
458 Common::String getRecordTypeName()
const override {
return "UIControl"; }
460 int32 _actionType = 0;
471 void execute()
override;
474 Common::String getRecordTypeName()
const override {
return "AddJournalEntry"; }
484 void execute()
override;
487 Common::String getRecordTypeName()
const override {
return "AddTasklistEntry"; }
490 int16 _flag = kEvNoEvent;
499 void execute()
override;
502 Common::String getRecordTypeName()
const override {
return "Fader"; }
504 uint32 _holdTime = 0;
512 void execute()
override;
515 Common::String getRecordTypeName()
const override {
return "PushScene"; }
522 void execute()
override;
525 Common::String getRecordTypeName()
const override {
return "PopScene"; }
536 void execute()
override;
539 Common::String getRecordTypeName()
const override {
return "WinGame"; }
548 void execute()
override;
553 const Hint *selectedHint;
559 Common::String getRecordTypeName()
const override {
return "HintSystem"; }
570 void init()
override;
572 void execute()
override;
575 bool isViewportRelative()
const override {
return true; }
578 Common::String getRecordTypeName()
const override {
return "ResourceUse"; }
585 byte getCharacterIndex()
const;
587 enum ResourceUseMode : byte {
596 byte _characterIndex = kPlayerCharacterActive;
598 int16 _resourceIndex = 0;
600 byte _mode = kSetValue;
609 byte _useResourceCursor = 0;
611 uint16 _sceneID = kNoScene;
612 uint16 _continueSceneSound = 0;
614 bool _drawResourceOverlay =
false;
616 bool _drawResourceValue =
false;
620 bool _hasSound =
false;
621 bool _interactive =
false;
622 bool _paymentResolved =
false;
623 bool _paymentApplied =
false;
633 void execute()
override;
636 Common::String getRecordTypeName()
const override {
return "PlayChar"; }
638 byte _characterIndex = 0;
650 void execute()
override;
652 bool isViewportRelative()
const override {
return true; }
655 Common::String getRecordTypeName()
const override {
return "FadeOverlay"; }
658 uint32 _fromColor = 0;
663 uint32 _startTime = 0;
664 bool _hasEnded =
false;
671 void execute()
override;
674 Common::String getRecordTypeName()
const override {
return "SetRandomFlag"; }
690 void execute()
override;
693 enum Operation { kCreate = 0, kDelete = 1 };
695 Common::String getRecordTypeName()
const override {
return "CollectionControl"; }
697 byte _operation = kCreate;
699 bool _replaceExisting =
false;
707 void execute()
override;
710 Common::String getRecordTypeName()
const override {
return "CollectionEdit"; }
721 void execute()
override;
731 Common::String getRecordTypeName()
const override {
return "CollectionCheck"; }
735 byte _checkType = kContainsAll;
749 void execute()
override;
752 Common::String getRecordTypeName()
const override {
return "AddPhoneEntry"; }
762 void execute()
override;
764 CursorManager::CursorType getHoverCursor()
const override {
return _hoverCursor; }
765 bool canHaveHotspot()
const override {
return true; }
768 Common::String getRecordTypeName()
const override {
return "HeldItemFlags"; }
775 CursorManager::CursorType _hoverCursor = CursorManager::kHotspot;
790 void execute()
override;
792 bool isViewportRelative()
const override {
return true; }
795 Common::String getRecordTypeName()
const override {
return "Rain"; }
803 float _minDistance = 0;
804 float _maxDistance = 1;
806 uint32 _interval = 0;
810 uint32 _nextDrawTime = 0;
817 void execute()
override;
819 CursorManager::CursorType getHoverCursor()
const override {
return _hoverCursor; }
820 bool canHaveHotspot()
const override {
return true; }
823 Common::String getRecordTypeName()
const override {
return "UTurn"; }
825 bool isActiveOnFrame(uint16 frame)
const;
828 CursorManager::CursorType _hoverCursor = CursorManager::kHotspot;
829 bool _excludesFrames =
false;
840 void execute()
override;
843 static const uint kNumLinkTypes = 3;
852 Common::String getRecordTypeName()
const override {
return "GraphChase"; }
854 bool canMoveTo(
const Link &link, int16 chaserNode)
const;
856 int16 _chaserTableIndex = 0;
857 int16 _chasedTableIndex = 0;
858 bool _avoidsAdjacentNodes =
false;
859 int16 _linkTypeFlags[kNumLinkTypes] = { -1, -1, -1 };
867 void execute()
override;
870 Common::String getRecordTypeName()
const override {
return "ClearSavedData"; }
880 void execute()
override;
883 Common::String getRecordTypeName()
const override {
return "SaveNamedGame"; }
892 void execute()
override;
895 Common::String getRecordTypeName()
const override {
return "LoadNamedGame"; }
903 #endif // NANCY_ACTION_MISCRECORDS_H Definition: managed_surface.h:51
Definition: miscrecords.h:275
Definition: miscrecords.h:645
Definition: miscrecords.h:63
Definition: miscrecords.h:151
Definition: miscrecords.h:187
Definition: miscrecords.h:687
Definition: miscrecords.h:845
Definition: puzzledata.h:657
Definition: miscrecords.h:759
static String format(MSVC_PRINTF const char *fmt,...) GCC_PRINTF(1
Definition: miscrecords.h:427
Definition: miscrecords.h:481
T left
Definition: rect.h:170
Definition: commontypes.h:186
Definition: miscrecords.h:668
Definition: miscrecords.h:770
Definition: commontypes.h:368
Definition: miscrecords.h:509
Definition: miscrecords.h:533
Definition: miscrecords.h:496
Definition: miscrecords.h:877
Definition: miscrecords.h:437
Definition: miscrecords.h:304
Definition: actionrecord.h:182
Definition: miscrecords.h:96
Definition: miscrecords.h:837
Definition: miscrecords.h:566
Definition: miscrecords.h:77
Definition: miscrecords.h:785
Definition: miscrecords.h:122
Definition: actionrecord.h:169
Definition: miscrecords.h:630
Definition: miscrecords.h:347
Definition: miscrecords.h:36
Definition: miscrecords.h:294
T right
Definition: rect.h:171
Definition: commontypes.h:249
Definition: actionrecord.h:107
Definition: miscrecords.h:718
Definition: miscrecords.h:468
Definition: miscrecords.h:206
Definition: miscrecords.h:519
Definition: miscrecords.h:133
Definition: miscrecords.h:263
Definition: miscrecords.h:363
Definition: miscrecords.h:704
Definition: commontypes.h:306
Definition: miscrecords.h:452
Definition: miscrecords.h:237
Definition: miscrecords.h:814
Definition: miscrecords.h:746
Definition: miscrecords.h:889
Definition: miscrecords.h:864
Definition: commontypes.h:201
Definition: miscrecords.h:317
Definition: miscrecords.h:51
Definition: miscrecords.h:249
Definition: miscrecords.h:220
Definition: puzzledata.h:726
Definition: miscrecords.h:676
Definition: miscrecords.h:545
Definition: actionmanager.h:32