22 #ifndef SCUMM_HE_INTERN_HE_H 23 #define SCUMM_HE_INTERN_HE_H 25 #include "scumm/scumm_v6.h" 27 #include "scumm/he/wiz_he.h" 29 #include "scumm/actor_he.h" 32 class SeekableReadStream;
33 class SeekableWriteStream;
38 #define MAGIC_ARRAY_NUMBER 0x33539000 54 friend class Moonbase;
55 friend class Basketball;
59 SO_ACTOR_DEFAULT_CLIPPED = 30,
60 SO_BACKGROUND_ON = 218,
61 SO_BACKGROUND_OFF = 219,
62 SO_ROOM_COPY_PALETTE = 220,
63 SO_ROOM_SAVEGAME_BY_NAME = 221,
64 SO_SOUND_START_VOLUME = 222,
65 SO_SOUND_VOLUME_RAMP = 223,
66 SO_SOUND_FREQUENCY = 224,
68 SO_OBJECT_ORDER = 234,
69 SO_ROOM_PALETTE_IN_ROOM = 236,
80 uint32 _pauseStartTime = 0;
82 int getHETimer(
int timer);
83 void setHETimer(
int timer);
84 void pauseHETimers(
bool pause);
89 Basketball *_basketball;
96 Common::Path generateFilename(
const int room)
const override;
97 void setActorClippingRect(
int actor,
int x1,
int y1,
int x2,
int y2);
98 bool actorsOverlapInStrip(
int actorA,
int actorB,
int stripNumber);
100 void resetScumm()
override;
103 void setupOpcodes()
override;
107 void localizeArray(
int slot, byte scriptSlot);
108 void redimArray(
int arrayId,
int newX,
int newY,
int d);
109 int readFileToArray(
int slot, int32 size);
110 void writeFileFromArray(
int slot,
int resID);
112 int virtScreenSave(byte *dst,
int x1,
int y1,
int x2,
int y2);
113 void virtScreenLoad(
int resIdx,
int x1,
int y1,
int x2,
int y2);
115 void decodeParseString(
int a,
int b)
override;
116 void swapObjects(
int object1,
int object2);
126 void deleteSaveFile(
const byte *fileName);
127 void renameSaveFile(
const byte *from,
const byte *to);
128 void pauseEngineIntern(
bool pause)
override;
137 void o60_kernelSetFunctions();
138 void o60_kernelGetFunctions();
140 void o60_closeFile();
141 void o60_deleteFile();
144 void o60_writeFile();
146 void o60_isSoundRunning();
147 void o60_seekFilePos();
148 void o60_localizeArrayToScript();
149 void o60_redimArray();
150 void o60_readFilePos();
162 HE_SND_SOFT_SOUND = 4,
163 HE_SND_QUICK_START = 8,
166 HE_SND_FREQUENCY = 64,
174 SO_IMAGE_LOADED = 18,
176 SO_SOUND_VOLUME = 25,
178 SO_PRELOAD_SCRIPT = 120,
179 SO_PRELOAD_SOUND = 121,
180 SO_PRELOAD_COSTUME = 122,
181 SO_PRELOAD_ROOM = 123,
182 SO_UNLOCK_IMAGE = 159,
187 SO_PRELOAD_IMAGE = 203,
188 SO_ROOM_LOADED = 226,
189 SO_COSTUME_LOADED = 227,
190 SO_SOUND_LOADED = 228,
191 SO_SCRIPT_LOADED = 229,
192 SO_SOUND_CHANNEL = 230,
194 SO_SOUND_START = 232,
195 SO_LOCK_FLOBJECT = 233,
196 SO_UNLOCK_FLOBJECT = 235,
197 SO_PRELOAD_FLUSH = 239,
198 SO_PAUSE_MESSAGE = 240,
199 SO_PAUSE_TITLE = 241,
200 SO_PAUSE_OPTION = 242,
203 SO_SOUND_LOOPING = 245,
204 SO_START_SYSTEM = 250,
205 SO_START_SYSTEM_STRING = 251,
206 SO_RESTART_STRING = 252,
207 SO_RESTART_ARRAY = 253,
212 byte *_heV7DiskOffsets;
213 byte *_heV7RoomOffsets;
214 uint32 *_heV7RoomIntOffsets;
216 int32 _heSndSoundId, _heSndOffset, _heSndChannel, _heSndFlags,
217 _heSndFrequency, _heSndFrequencyShift, _heSndPan, _heSndVol;
218 bool _heSndStartNewSoundFlag;
220 int _numStoredFlObjects;
227 Common::Path generateFilename(
const int room)
const override;
229 void backgroundToForegroundBlit(
Common::Rect rect,
int dirtybit = 0);
230 void setActorRedrawFlags()
override;
233 void allocateArrays()
override;
234 int readResTypeList(
ResType type)
override;
235 uint32 getResourceRoomOffset(
ResType type, ResId idx)
override;
236 void setupOpcodes()
override;
238 void setupScummVars()
override;
239 void resetScummVars()
override;
243 void readRoomsOffsets()
override;
244 void readGlobalObjects()
override;
245 void readIndexBlock(uint32 blocktype, uint32 itemsize)
override;
247 void clearRoomObjects()
override;
248 void resetRoomObjects()
override;
250 int getActorFromPos(
int x,
int y)
override;
252 void loadFlObject(uint
object, uint room)
override;
253 void storeFlObject(
int slot);
254 void restoreFlObjects();
256 void setCursorFromImg(uint img, uint room, uint imgindex)
override;
257 void setDefaultCursor()
override;
259 void resetActorBgs()
override;
263 void o70_pickupObject();
264 void o70_getActorRoom();
265 void o70_resourceRoutines();
266 void o70_systemOps();
267 void o70_getStringLen();
268 void o70_isResourceLoaded();
271 void o70_createDirectory();
272 void o70_setSystemMessage();
274 byte VAR_NUM_SOUND_CHANNELS;
292 SO_SET_POLYGON = 246,
293 SO_DELETE_POLYGON = 247,
294 SO_SET_POLYGON_LOCAL = 248,
299 ~ScummEngine_v71he()
override;
301 byte *heFindResourceData(uint32 tag, byte *ptr);
302 byte *heFindResource(uint32 tag, byte *ptr);
303 byte *findWrappedBlock(uint32 tag, byte *ptr,
int state,
bool flagError);
306 bool _disableActorDrawingFlag =
false;
308 virtual int setupStringArray(
int size);
311 void setupOpcodes()
override;
315 void redrawBGAreas()
override;
317 void processActors()
override;
318 void heFlushAuxEraseQueue();
319 virtual void heFlushAuxQueues();
321 void clearDrawQueues()
override;
323 int getStringCharWidth(byte chr);
324 void appendSubstring(
int dst,
int src,
int len2,
int len);
327 void o71_kernelSetFunctions();
328 void o71_copyString();
329 void o71_getStringWidth();
330 void o71_appendString();
331 void o71_concatString();
332 void o71_compareString();
333 void o71_getStringLenForWidth();
334 void o71_getCharIndexInString();
336 void o71_polygonOps();
337 void o71_polygonHit();
339 byte VAR_WIZ_TRANSPARENT_COLOR;
343 int _heAuxEraseActorIndex = 0;
345 int _heAuxAnimTableIndex = 0;
347 void heQueueEraseAuxActor(
ActorHE *a);
348 void heQueueAnimAuxFrame(
int actorNum,
int subIndex);
350 void buildRemapTable(byte *remapTablePtr,
const byte *palDPtr,
const byte *palSPtr);
353 class ScummEngine_v72he :
public ScummEngine_v71he {
369 SO_COSTUME_SIZE = 16,
372 SO_FLUSH_OBJECT_DRAW_QUE = 22,
373 SO_TALK_CONDITION = 24,
374 SO_UPDATE_SCREEN = 26,
378 SO_ACTOR_DEFAULT_CLIPPED = 64,
380 SO_COMPLEX_ARRAY_ASSIGNMENT = 126,
381 SO_COMPLEX_ARRAY_COPY_OPERATION = 127,
382 SO_RANGE_ARRAY_ASSIGNMENT = 128,
383 SO_COMPLEX_ARRAY_MATH_OPERATION = 138,
384 SO_FORMATTED_STRING = 194,
388 SO_UNDIM_ARRAY = 204,
391 #include "common/pack-start.h" 400 int32 lastDownOffset;
404 #include "common/pack-end.h" 406 int _stringLength = 1;
407 byte _stringBuffer[4096] = {};
409 WizImageCommand _wizImageCommand = {};
410 FloodFillCommand _floodFillCommand = {};
415 void resetScumm()
override;
417 byte *getStringAddress(ResId idx)
override;
418 int setupStringArray(
int size)
override;
419 virtual int setupStringArrayFromString(
const char *cStr);
420 virtual void getStringFromArray(
int arrayNumber,
char *buffer,
int maxLength);
423 void setupOpcodes()
override;
425 void setupScummVars()
override;
426 void resetScummVars()
override;
427 void readArrayFromIndexFile()
override;
429 void readMAXS(
int blockSize)
override;
431 void redrawBGAreas()
override;
432 void checkExecVerbs()
override;
434 byte *defineArray(
int array,
int type,
int downMin,
int downMax,
int acrossMin,
int acrossMax,
bool newArray =
false,
int *newid = NULL);
435 int readArray(
int array,
int idx2,
int idx1)
override;
436 void writeArray(
int array,
int idx2,
int idx1,
int value)
override;
437 void redimArray(
int arrayId,
int newDim2start,
int newDim2end,
438 int newDim1start,
int newDim1end,
int type);
439 void checkArrayLimits(
int array,
int downMin,
int downMax,
int acrossMin,
int acrossMax);
440 void copyArray(
int array1,
int a1_dim2start,
int a1_dim2end,
int a1_dim1start,
int a1_dim1end,
441 int array2,
int a2_dim2start,
int a2_dim2end,
int a2_dim1start,
int a2_dim1end);
442 void getArrayDataPtrAndDataSize(
ArrayHeader *ah,
int idx2,
int idx1,
int len1, byte **data,
int *size,
int *num);
443 int readFileToArray(
int slot, int32 size);
444 void writeFileFromArray(
int slot, int32 resID);
445 void arrayBlockOperation(
446 int dstVariable,
int dstDownMin,
int dstDownMax,
int dstAcrossMin,
int dstAcrossMax,
447 int a2Variable,
int a2DownMin,
int a2DownMax,
int a2AcrossMin,
int a2AcrossMax,
448 int a1Variable,
int a1DownMin,
int a1DownMax,
int a1AcrossMin,
int a1AcrossMax,
449 int (*op)(
int a2,
int a1));
451 void decodeParseString(
int a,
int b)
override;
452 void decodeScriptString(byte *dst,
bool scriptString =
false);
453 void copyScriptString(byte *dst,
int dstSize);
455 int findObject(
int x,
int y,
int num,
int *args);
456 int getSoundResourceSize(ResId idx);
458 bool handleNextCharsetCode(
Actor *a,
int *c)
override;
459 int convertMessageToString(
const byte *msg, byte *dst,
int dstSize)
override;
460 void fakeBidiString(byte *ltext,
bool ignoreVerb,
int ltextSize)
const override;
462 void debugInput(byte *
string);
465 void o72_pushDWord();
466 void o72_getScriptString();
468 void o72_resetCutscene();
469 void o72_findObjectWithClassOf();
470 void o72_getObjectImageX();
471 void o72_getObjectImageY();
472 void o72_captureWizImage();
475 void o72_getSoundPosition();
476 void o72_startScript();
477 void o72_startObject();
478 void o72_drawObject();
479 void o72_printWizImage();
480 void o72_getArrayDimSize();
481 void o72_getNumFreeArrays();
485 void o72_findObject();
487 void o72_systemOps();
488 void o72_talkActor();
491 void o72_dim2dimArray();
492 void o72_traceStatus();
493 void o72_debugInput();
494 void o72_drawWizImage();
495 void o72_kernelGetFunctions();
496 void o72_jumpToScript();
499 void o72_writeFile();
500 void o72_findAllObjects();
501 void o72_deleteFile();
504 void o72_pickVarRandom();
505 void o72_redimArray();
508 void o72_getResourceSize();
509 void o72_createDirectory();
510 void o72_setSystemMessage();
513 byte VAR_NUM_SCRIPTS;
515 byte VAR_NUM_COSTUMES;
517 byte VAR_NUM_CHARSETS;
519 byte VAR_SOUND_ENABLED;
521 byte VAR_POLYGONS_ONLY;
523 byte VAR_MOUSE_STATE;
527 class ScummEngine_v80he :
public ScummEngine_v72he {
529 int32 _heSndResId = 0;
532 SO_CURSOR_IMAGE = 19,
533 SO_CURSOR_COLOR_IMAGE = 20,
549 void setupOpcodes()
override;
551 void setupScummVars()
override;
552 void resetScummVars()
override;
556 void initCharset(
int charset)
override;
558 void clearDrawQueues()
override;
560 void drawLine(
int x1,
int y1,
int x,
int unk1,
int unk2,
int type,
int id);
561 void drawPixel(
int x,
int y,
int flags);
563 void setDefaultCursor()
override;
566 void o80_createSound();
567 void o80_getFileSize();
568 void o80_stringToInt();
569 void o80_getSoundVar();
570 void o80_localizeArrayToRoom();
571 void o80_sourceDebug();
572 void o80_readConfigFile();
573 void o80_writeConfigFile();
574 void o80_cursorCommand();
576 void o80_drawWizPolygon();
578 void o80_pickVarRandom();
580 byte VAR_PLATFORM_VERSION;
581 byte VAR_CURRENT_CHARSET;
583 byte VAR_COLOR_DEPTH;
586 class ScummEngine_v90he :
public ScummEngine_v80he {
587 friend class LogicHE;
594 friend class Moonbase;
595 friend class Basketball;
596 friend class MoviePlayer;
599 friend class ScummEngine_v99he;
619 SO_GENERAL_CLIP_STATE = 46,
620 SO_GENERAL_CLIP_RECT = 47,
638 SO_ANIMATION_SPEED = 97,
644 SO_POLY_POLYGON = 131,
646 SO_RENDER_RECTANGLE = 133,
647 SO_RENDER_LINE = 134,
648 SO_RENDER_PIXEL = 135,
649 SO_RENDER_FLOOD_FILL = 136,
650 SO_RENDER_INTO_IMAGE = 137,
651 SO_NEW_GENERAL_PROPERTY = 139,
654 SO_FONT_CREATE = 142,
655 SO_FONT_RENDER = 143,
657 SO_RENDER_ELLIPSE = 189,
659 SO_ACTOR_VARIABLE = 198
662 struct VideoParameters {
670 VideoParameters _videoParams;
673 int32 _heObjectNum = 0;
674 int32 _hePaletteNum = 0;
676 int32 _maxSpriteNum = 0;
677 int32 _minSpriteNum = 0;
678 int32 _curSpriteGroupId = 0;
680 LogicHE *_logicHE =
nullptr;
681 MoviePlayer *_moviePlay;
694 ~ScummEngine_v90he()
override;
697 void allocateArrays()
override;
698 void setupOpcodes()
override;
700 void resetScumm()
override;
702 void setupScummVars()
override;
703 void resetScummVars()
override;
705 void scummLoop(
int delta)
override;
706 void scummLoop_handleDrawing()
override;
707 void runBootscript()
override;
709 void processInput()
override;
710 void clearClickedStatus()
override;
714 void readMAXS(
int blockSize)
override;
715 void setResourceOffHeap(
int typeId,
int resId,
int val);
717 void processActors()
override;
718 void heFlushAuxQueues()
override;
719 const byte *heAuxFindBlock(
HEAnimAuxData *auxInfoPtr, int32
id);
721 void heAuxGetAuxDataInfo(
HEAnimAuxData *auxInfoPtr,
int whichActor,
int auxIndex);
722 bool heAuxProcessFileRelativeBlock(
HEAnimAuxData *auxInfoPtr,
const byte *dataBlockPtr);
723 bool heAuxProcessDisplacedBlock(
HEAnimAuxData *auxInfoPtr,
const byte *displacedBlockPtr);
725 void getArrayDim(
int array,
int *downMin,
int *downMax,
int *acrossMin,
int *acrossMax);
726 void sortArray(
int array,
int downMin,
int downMax,
int acrossMin,
int acrossMax,
int sortOrder);
729 int getGroupSpriteArray(
int spriteGroupId);
732 uint8 *getHEPaletteIndex(
int palSlot);
733 int getHEPaletteColor(
int palSlot,
int color);
734 int getHEPaletteSimilarColor(
int palSlot,
int red,
int green,
int start,
int end);
735 int getHEPalette16BitColorComponent(
int component,
int type);
736 int getHEPaletteColorComponent(
int palSlot,
int color,
int component);
737 void setHEPaletteColor(
int palSlot, uint8 color, uint8 r, uint8 g, uint8 b);
738 void setHEPaletteFromPtr(
int palSlot,
const uint8 *palData);
739 void setHEPaletteFromCostume(
int palSlot,
int resId);
740 void setHEPaletteFromImage(
int palSlot,
int resId,
int state);
741 void setHEPaletteFromRoom(
int palSlot,
int resId,
int state);
742 void restoreHEPalette(
int palSlot);
743 void copyHEPalette(
int dstPalSlot,
int srcPalSlot);
744 void copyHEPaletteColor(
int palSlot, uint8 dstColor, uint16 srcColor);
752 int scummMathSin(
int angle);
753 int scummMathCos(
int angle);
754 int scummMathSqrt(
int value);
755 int scummMathDist2D(
int x1,
int y1,
int x2,
int y2);
756 int scummMathAngleFromDelta(
int dx,
int dy);
757 int scummMathAngleOfLineSegment(
int x1,
int y1,
int x2,
int y2);
768 void o90_getAngleFromDelta();
769 void o90_getAngleFromLine();
770 void o90_getActorData();
771 void o90_priorityStartScript();
772 void o90_priorityChainScript();
774 void o90_getVideoData();
775 void o90_wizImageOps();
776 void o90_getDistanceBetweenPoints();
777 void o90_getSpriteInfo();
778 void o90_setSpriteInfo();
779 void o90_getSpriteGroupInfo();
780 void o90_setSpriteGroupInfo();
781 void o90_getWizData();
782 void o90_floodFill();
787 void o90_findAllObjectsWithClassOf();
788 void o90_getOverlap();
790 void o90_dim2dim2Array();
791 void o90_redim2dimArray();
792 void o90_getLinesIntersectionPoint();
793 void o90_sortArray();
794 void o90_getObjectData();
795 void o90_getPaletteData();
796 void o90_paletteOps();
798 void o90_getActorAnimProgress();
799 void o90_kernelGetFunctions();
800 void o90_kernelSetFunctions();
802 byte VAR_NUM_SPRITE_GROUPS;
803 byte VAR_NUM_SPRITES;
804 byte VAR_NUM_PALETTES;
805 byte VAR_NUM_WINDOWS;
806 byte VAR_SPRITE_IMAGE_CHANGE_DOES_NOT_RESET_SETTINGS;
808 byte VAR_U32_VERSION;
809 byte VAR_U32_RESERVED;
812 byte VAR_REMOTE_START_SCRIPT = 98;
813 byte VAR_NETWORK_AVAILABLE = 109;
814 byte VAR_NETWORK_RECEIVE_ARRAY_SCRIPT = 101;
817 int networkSessionDialog();
821 class ScummEngine_v95he :
public ScummEngine_v90he {
826 void resetActorBgs()
override;
827 bool prepareForActorErase();
830 class ScummEngine_v99he :
public ScummEngine_v95he {
834 void resetScumm()
override;
837 void resetScummVars()
override;
839 void readMAXS(
int blockSize)
override;
843 void copyPalColor(
int dst,
int src)
override;
844 void darkenPalette(
int redScale,
int greenScale,
int blueScale,
int startColor,
int endColor)
override;
845 void setPaletteFromPtr(
const byte *ptr,
int numcolor = -1)
override;
846 void setPalColor(
int index,
int r,
int g,
int b)
override;
847 void updatePalette()
override;
850 class ScummEngine_v100he :
public ScummEngine_v99he {
852 friend class Moonbase;
853 friend class LogicHEBasketball;
854 friend class Basketball;
857 friend class ScummEngine_v71he;
858 friend class ScummEngine_v72he;
859 friend class ScummEngine_v90he;
860 friend class ScummEngine_v80he;
866 byte _debugInputBuffer[256];
873 SO_ANIMATION_SPEED = 4,
877 SO_BACKGROUND_OFF = 8,
878 SO_BACKGROUND_ON = 9,
883 SO_CHARSET_COLOR = 15,
895 SO_DELETE_POLYGON = 28,
902 SO_FORMATTED_STRING = 35,
903 SO_GENERAL_CLIP_RECT = 36,
904 SO_GENERAL_CLIP_STATE = 37,
920 SO_NEW_GENERAL_PROPERTY = 54,
924 SO_POLY_TO_POLY = 58,
929 SO_ROOM_PALETTE = 63,
935 SO_SET_POLYGON_LOCAL = 69,
952 SO_ALWAYS_ZCLIP = 87,
959 SO_ACTOR_DEFAULT_CLIPPED = 128,
961 SO_ACTOR_SOUNDS = 130,
962 SO_ACTOR_WIDTH = 131,
963 SO_ANIMATION_DEFAULT = 132,
965 SO_FOLLOW_BOXES = 134,
966 SO_IGNORE_BOXES = 135,
967 SO_ACTOR_IGNORE_TURNS_OFF = 136,
968 SO_ACTOR_IGNORE_TURNS_ON = 137,
969 SO_INIT_ANIMATION = 138,
970 SO_STAND_ANIMATION = 139,
971 SO_TALK_ANIMATION = 140,
973 SO_TALK_CONDITION = 142,
974 SO_TEXT_OFFSET = 143,
975 SO_WALK_ANIMATION = 144,
978 SO_ASSIGN_2DIM_LIST = 128,
979 SO_ASSIGN_INT_LIST = 129,
980 SO_COMPLEX_ARRAY_ASSIGNMENT = 130,
981 SO_COMPLEX_ARRAY_COPY_OPERATION = 131,
982 SO_COMPLEX_ARRAY_MATH_OPERATION = 132,
983 SO_RANGE_ARRAY_ASSIGNMENT = 133,
985 SO_UNDIM_ARRAY = 135,
989 SO_PRELOAD_FLUSH = 129,
998 SO_FONT_CREATE = 128,
1000 SO_FONT_RENDER = 130,
1001 SO_FONT_START = 131,
1003 SO_RENDER_ELLIPSE = 133,
1004 SO_RENDER_FLOOD_FILL = 134,
1005 SO_RENDER_INTO_IMAGE = 135,
1006 SO_RENDER_LINE = 136,
1007 SO_RENDER_PIXEL = 137,
1008 SO_RENDER_RECTANGLE = 138,
1011 SO_CURSOR_IMAGE = 128,
1012 SO_CURSOR_COLOR_IMAGE = 129,
1013 SO_CURSOR_COLOR_PAL_IMAGE = 130,
1014 SO_CURSOR_HOTSPOT = 132,
1016 SO_CURSOR_OFF = 135,
1017 SO_CURSOR_SOFT_ON = 136,
1018 SO_CURSOR_SOFT_OFF = 137,
1019 SO_USERPUT_ON = 139,
1020 SO_USERPUT_OFF = 140,
1021 SO_USERPUT_SOFT_ON = 141,
1022 SO_USERPUT_SOFT_OFF = 142,
1025 SO_OBJECT_ORDER = 129,
1026 SO_ROOM_COPY_PALETTE = 130,
1028 SO_ROOM_INTENSITY = 132,
1029 SO_ROOM_INTENSITY_RGB = 133,
1030 SO_ROOM_NEW_PALETTE = 134,
1031 SO_ROOM_PALETTE_IN_ROOM = 135,
1032 SO_ROOM_SAVEGAME = 136,
1033 SO_ROOM_SAVEGAME_BY_NAME = 137,
1034 SO_ROOM_SCREEN = 138,
1035 SO_ROOM_SCROLL = 139,
1036 SO_ROOM_SHAKE_OFF = 140,
1037 SO_ROOM_SHAKE_ON = 141,
1038 SO_ROOM_TRANSFORM = 142,
1046 SO_FLUSH_OBJECT_DRAW_QUEUE = 128,
1047 SO_PAUSE_TITLE = 131,
1050 SO_RESTART_STRING = 134,
1051 SO_START_SYSTEM_STRING = 135,
1052 SO_UPDATE_SCREEN = 136,
1056 SO_SOUND_CHANNEL = 129,
1057 SO_SOUND_FREQUENCY = 130,
1058 SO_SOUND_LOOPING = 131,
1059 SO_SOUND_MODIFY = 132,
1061 SO_SOUND_START = 134,
1062 SO_SOUND_SOFT = 135,
1063 SO_SOUND_VOLUME = 136,
1066 SO_WAIT_FOR_ACTOR = 128,
1067 SO_WAIT_FOR_CAMERA = 129,
1068 SO_WAIT_FOR_MESSAGE = 130,
1069 SO_WAIT_FOR_SENTENCE = 131,
1074 ~ScummEngine_v100he()
override;
1076 void resetScumm()
override;
1078 void setupScummVars()
override;
1079 void resetScummVars()
override;
1082 void setupOpcodes()
override;
1086 void decodeParseString(
int a,
int b)
override;
1089 void o100_actorOps();
1090 void o100_arrayOps();
1091 void o100_dim2dimArray();
1092 void o100_redim2dimArray();
1093 void o100_dimArray();
1094 void o100_drawLine();
1095 void o100_drawObject();
1096 void o100_floodFill();
1097 void o100_setSpriteGroupInfo();
1098 void o100_resourceRoutines();
1099 void o100_wizImageOps();
1100 void o100_jumpToScript();
1101 void o100_createSound();
1102 void o100_dim2dim2Array();
1103 void o100_paletteOps();
1104 void o100_priorityChainScript();
1105 void o100_priorityStartScript();
1106 void o100_redimArray();
1107 void o100_roomOps();
1108 void o100_setSystemMessage();
1109 void o100_soundOps();
1110 void o100_setSpriteInfo();
1111 void o100_startScript();
1112 void o100_systemOps();
1113 void o100_cursorCommand();
1114 void o100_videoOps();
1116 void o100_writeFile();
1117 void o100_debugInput();
1118 void o100_isResourceLoaded();
1119 void o100_getResourceSize();
1120 void o100_getSpriteGroupInfo();
1121 void o100_getPaletteData();
1122 void o100_readFile();
1123 void o100_getSpriteInfo();
1124 void o100_getWizData();
1125 void o100_getVideoData();
1128 byte VAR_U32_USER_VAR_A;
1129 byte VAR_U32_USER_VAR_B;
1130 byte VAR_U32_USER_VAR_C;
1131 byte VAR_U32_USER_VAR_D;
1132 byte VAR_U32_USER_VAR_E;
1133 byte VAR_U32_USER_VAR_F;
1134 byte VAR_U32_USER_VAR_G;
1135 byte VAR_U32_USER_VAR_H;
1137 byte VAR_REMOTE_START_SCRIPT;
1138 byte VAR_NETWORK_AVAILABLE;
1139 byte VAR_NETWORK_RECEIVE_ARRAY_SCRIPT;
1142 bool mapGeneratorDialog(
bool demo);
1145 class ScummEngine_vCUPhe :
public Engine {
1147 CUP_Player *_cupPlayer;
1152 ~ScummEngine_vCUPhe()
override;
Definition: actor_he.h:38
Definition: detection.h:119
Definition: net_main.h:33
Definition: sound_he.h:147
ResType
Definition: scumm.h:243
Definition: serializer.h:79
Definition: net_lobby.h:85
Definition: intern_he.h:52
Definition: intern_he.h:153
Definition: actor_he.h:48
Definition: actor_he.h:64
Definition: detection.h:46
Definition: actor_he.h:43
Definition: algorithm.h:29
Definition: scumm_v6.h:29
Definition: detection.h:133