22 #ifndef SCUMM_SCRIPT_V8_H 23 #define SCUMM_SCRIPT_V8_H 25 #ifdef ENABLE_SCUMM_7_8 27 #include "scumm/scumm_v7.h" 31 class ScummEngine_v8 :
public ScummEngine_v7 {
38 SO_ASSIGN_STRING = 20,
39 SO_ASSIGN_INT_LIST = 21,
40 SO_ASSIGN_2DIM_LIST = 22,
42 SO_WAIT_FOR_ACTOR = 30,
43 SO_WAIT_FOR_MESSAGE = 31,
44 SO_WAIT_FOR_CAMERA = 32,
45 SO_WAIT_FOR_SENTENCE = 33,
46 SO_WAIT_FOR_ANIMATION = 34,
47 SO_WAIT_FOR_TURN = 35,
53 SO_CAMERA_RESUME = 51,
55 SO_HEAP_LOAD_CHARSET = 60,
56 SO_HEAP_LOAD_COSTUME = 61,
57 SO_HEAP_LOAD_OBJECT = 62,
58 SO_HEAP_LOAD_ROOM = 63,
59 SO_HEAP_LOAD_SCRIPT = 64,
60 SO_HEAP_LOAD_SOUND = 65,
61 SO_HEAP_LOCK_COSTUME = 66,
62 SO_HEAP_LOCK_ROOM = 67,
63 SO_HEAP_LOCK_SCRIPT = 68,
64 SO_HEAP_LOCK_SOUND = 69,
65 SO_HEAP_UNLOCK_COSTUME = 70,
66 SO_HEAP_UNLOCK_ROOM = 71,
67 SO_HEAP_UNLOCK_SCRIPT = 72,
68 SO_HEAP_UNLOCK_SOUND = 73,
69 SO_HEAP_NUKE_COSTUME = 74,
70 SO_HEAP_NUKE_ROOM = 75,
71 SO_HEAP_NUKE_SCRIPT = 76,
72 SO_HEAP_NUKE_SOUND = 77,
77 SO_ROOM_RGB_INTENSITY = 88,
78 SO_ROOM_TRANSFORM = 89,
80 SO_ROOM_NEW_PALETTE = 92,
81 SO_ROOM_SAVE_GAME = 93,
82 SO_ROOM_LOAD_GAME = 94,
83 SO_ROOM_SATURATION = 95,
88 SO_ANIMATION_DEFAULT = 103,
89 SO_INIT_ANIMATION = 104,
90 SO_TALK_ANIMATION = 105,
91 SO_WALK_ANIMATION = 106,
92 SO_STAND_ANIMATION = 107,
93 SO_ANIMATION_SPEED = 108,
101 SO_NEVER_ZCLIP = 116,
102 SO_ALWAYS_ZCLIP = 117,
103 SO_IGNORE_BOXES = 118,
104 SO_FOLLOW_BOXES = 119,
106 SO_TEXT_OFFSET = 121,
108 SO_ACTOR_VARIABLE = 123,
109 SO_ACTOR_IGNORE_TURNS_ON = 124,
110 SO_ACTOR_IGNORE_TURNS_OFF = 125,
112 SO_ACTOR_DEPTH = 127,
116 SO_ACTOR_WALK_SCRIPT = 131,
117 SO_ACTOR_TALK_SCRIPT = 132,
118 SO_ACTOR_WALK_PAUSE = 133,
119 SO_ACTOR_WALK_RESUME = 134,
120 SO_ACTOR_VOLUME = 135,
121 SO_ACTOR_FREQUENCY = 136,
126 SO_VERB_DELETE = 152,
132 SO_VERB_HICOLOR = 158,
134 SO_VERB_DIMCOLOR = 160,
138 SO_VERB_NAME_STR = 164,
139 SO_VERB_CENTER = 165,
140 SO_VERB_CHARSET = 166,
141 SO_VERB_LINE_SPACING = 167,
144 SO_RESTORE_VERBS = 181,
145 SO_DELETE_VERBS = 182,
152 SO_PRINT_CHARSET = 205,
156 SO_PRINT_STRING = 209,
161 SO_CURSOR_SOFT_ON = 222,
162 SO_CURSOR_SOFT_OFF = 223,
164 SO_USERPUT_OFF = 225,
165 SO_USERPUT_SOFT_ON = 226,
166 SO_USERPUT_SOFT_OFF = 227,
167 SO_CURSOR_IMAGE = 228,
168 SO_CURSOR_HOTSPOT = 229,
169 SO_CURSOR_TRANSPARENT = 230,
170 SO_CHARSET_SET = 231,
171 SO_CHARSET_COLOR = 232,
175 struct ObjectNameId {
179 int _objectIDMapSize = 0;
180 ObjectNameId *_objectIDMap =
nullptr;
191 int _savegameThumbnailV8Palette[256] = {};
192 byte _savegameThumbnailV8[160 * 120] = {};
193 StampShot _stampShots[20] = {};
194 int _stampShotsInQueue = 0;
196 int _keyScriptKey = 0, _keyScriptNo = 0;
199 ScummEngine_v8(
OSystem *syst,
const DetectorResult &dr);
200 ~ScummEngine_v8()
override;
202 void setKeyScriptVars(
int _keyScriptKey,
int _keyScriptNo);
203 void stampShotDequeue();
206 void setupOpcodes()
override;
208 void printString(
int m,
const byte *msg)
override;
210 void scummLoop_handleSaveLoad()
override;
212 void setupScummVars()
override;
213 void resetScummVars()
override;
214 void decodeParseString(
int m,
int n)
override;
215 void readArrayFromIndexFile()
override;
217 void readMAXS(
int blockSize)
override;
218 void readGlobalObjects()
override;
220 uint fetchScriptWord()
override;
221 int fetchScriptWordSigned()
override;
223 int readVar(uint var)
override;
224 void writeVar(uint var,
int value)
override;
226 int getObjectIdFromOBIM(
const byte *obim)
override;
229 void setDefaultCursor()
override;
230 void desaturatePalette(
int hueScale,
int satScale,
int lightScale,
int startColor,
int endColor);
232 void stampShotEnqueue(
int slot,
int boxX,
int boxY,
int boxWidth,
int boxHeight,
int brightness);
233 void stampScreenShot(
int slot,
int boxX,
int boxY,
int boxWidth,
int boxHeight,
int brightness);
235 void createInternalSaveStateThumbnail();
236 bool fetchInternalSaveStateThumbnail(
int slotId,
bool isHeapSave);
237 uint32 *fetchScummVMSaveStateThumbnail(
int slotId,
bool isHeapSave,
int brightness);
239 const char *getGUIString(
int stringId)
override;
246 void o8_dim2dimArray();
250 void o8_cursorCommand();
251 void o8_resourceRoutines();
258 void o8_startVideo();
259 void o8_kernelSetFunctions();
260 void o8_kernelGetFunctions();
262 void o8_getActorChore();
263 void o8_getActorZPlane();
265 void o8_drawObject();
266 void o8_getObjectImageX();
267 void o8_getObjectImageY();
268 void o8_getObjectImageWidth();
269 void o8_getObjectImageHeight();
271 void o8_getStringWidth();
278 #endif // ENABLE_SCUMM_7_8 Definition: serializer.h:79
Definition: keyboard.h:294