22 #ifndef SCUMM_SCRIPT_V5_H 23 #define SCUMM_SCRIPT_V5_H 25 #include "scumm/scumm.h" 31 uint16 _cursorImages[4][17];
32 byte _cursorHotspots[2 * 4];
37 uint16 xStrips, yStrips;
41 char _saveLoadVarsFilename[256];
54 void clearFlashlight();
56 void resetCursors()
override;
59 void setupOpcodes()
override;
61 void scummLoop_handleActors()
override;
62 void scummLoop_handleSaveLoad()
override;
64 void setupScummVars()
override;
65 void resetScummVars()
override;
66 virtual void decodeParseString();
67 void decodeParseStringTextString(
int textSlot);
68 void printPatchedMI1CannibalString(
int textSlot,
const byte *ptr);
71 int checkSoundEngineSaveDataSize(
Serializer &s)
override;
73 void readMAXS(
int blockSize)
override;
75 int getWordVararg(
int *ptr);
78 virtual int getVarOrDirectByte(byte mask);
79 virtual int getVarOrDirectWord(byte mask);
81 virtual void getResultPos();
82 void setResult(
int result);
84 void animateCursor()
override;
86 void setBuiltinCursor(
int index)
override;
87 void redefineBuiltinCursorFromChar(
int index,
int chr);
88 void redefineBuiltinCursorHotspot(
int index,
int x,
int y);
90 void drawFlashlight();
92 void walkActorToActor(
int actor,
int toActor,
int dist);
94 void injectMISESpeech();
96 void workaroundIndy3TownsMissingLightningCastle(
int sound);
97 void workaroundLoomHetchelDoubleHead(
Actor *a,
int act);
98 bool workaroundMonkey1JollyRoger(byte callerOpcode,
int arg);
99 bool workaroundMonkey1StorekeeperWaitTablesLine();
108 void o5_actorFollowCamera();
109 void o5_actorFromPos();
113 void o5_animateActor();
115 void o5_chainScript();
116 void o5_cursorCommand();
121 void o5_delayVariable();
123 void o5_doSentence();
125 void o5_drawObject();
127 void o5_endCutscene();
129 void o5_expression();
131 void o5_findInventory();
132 void o5_findObject();
133 void o5_freezeScripts();
134 void o5_getActorCostume();
135 void o5_getActorElevation();
136 void o5_getActorFacing();
137 void o5_getActorMoving();
138 void o5_getActorRoom();
139 void o5_getActorScale();
140 void o5_getActorWalkBox();
141 void o5_getActorWidth();
144 void o5_getAnimCounter();
145 void o5_getClosestObjActor();
147 void o5_getInventoryCount();
148 void o5_getObjectOwner();
149 void o5_getObjectState();
150 void o5_getRandomNr();
151 void o5_getStringWidth();
152 void o5_getVerbEntrypoint();
153 void o5_ifClassOfIs();
155 void o5_isActorInBox();
158 void o5_isGreaterEqual();
160 void o5_isLessEqual();
161 void o5_isNotEqual();
162 void o5_isScriptRunning();
163 void o5_isSoundRunning();
164 void o5_jumpRelative();
167 void o5_loadRoomWithEgo();
170 void o5_move_segafix();
172 void o5_notEqualZero();
174 void o5_beginOverride();
175 void o5_panCameraTo();
176 void o5_pickupObject();
179 void o5_pseudoRoom();
181 void o5_putActorAtObject();
182 void o5_putActorInRoom();
184 void o5_resourceRoutines();
186 void o5_saveRestoreVerbs();
187 void o5_setCameraAt();
189 void o5_setObjectName();
190 void o5_setOwnerOf();
192 void o5_setVarRange();
193 void o5_soundKludge();
194 void o5_startMusic();
195 void o5_startObject();
196 void o5_startScript();
197 void o5_startSound();
199 void o5_stopObjectCode();
200 void o5_stopObjectScript();
201 void o5_stopScript();
207 void o5_walkActorTo();
208 void o5_walkActorToActor();
209 void o5_walkActorToObject();
Definition: scumm_v5.h:29
Definition: serializer.h:79
void jumpRelative(bool cond)
Definition: serializer.h:33
Definition: detection.h:133