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" 402 #include "common/pack-end.h" 404 int _stringLength = 1;
405 byte _stringBuffer[4096];
407 WizImageCommand _wizImageCommand;
408 FloodFillCommand _floodFillCommand;
413 void resetScumm()
override;
415 byte *getStringAddress(ResId idx)
override;
416 int setupStringArray(
int size)
override;
417 virtual int setupStringArrayFromString(
const char *cStr);
418 virtual void getStringFromArray(
int arrayNumber,
char *buffer,
int maxLength);
421 void setupOpcodes()
override;
423 void setupScummVars()
override;
424 void resetScummVars()
override;
425 void readArrayFromIndexFile()
override;
427 void readMAXS(
int blockSize)
override;
429 void redrawBGAreas()
override;
430 void checkExecVerbs()
override;
432 byte *defineArray(
int array,
int type,
int downMin,
int downMax,
int acrossMin,
int acrossMax,
bool newArray =
false,
int *newid = NULL);
433 int readArray(
int array,
int idx2,
int idx1)
override;
434 void writeArray(
int array,
int idx2,
int idx1,
int value)
override;
435 void redimArray(
int arrayId,
int newDim2start,
int newDim2end,
436 int newDim1start,
int newDim1end,
int type);
437 void checkArrayLimits(
int array,
int downMin,
int downMax,
int acrossMin,
int acrossMax);
438 void copyArray(
int array1,
int a1_dim2start,
int a1_dim2end,
int a1_dim1start,
int a1_dim1end,
439 int array2,
int a2_dim2start,
int a2_dim2end,
int a2_dim1start,
int a2_dim1end);
440 void getArrayDataPtrAndDataSize(
ArrayHeader *ah,
int idx2,
int idx1,
int len1, byte **data,
int *size,
int *num);
441 int readFileToArray(
int slot, int32 size);
442 void writeFileFromArray(
int slot, int32 resID);
443 void arrayBlockOperation(
444 int dstVariable,
int dstDownMin,
int dstDownMax,
int dstAcrossMin,
int dstAcrossMax,
445 int a2Variable,
int a2DownMin,
int a2DownMax,
int a2AcrossMin,
int a2AcrossMax,
446 int a1Variable,
int a1DownMin,
int a1DownMax,
int a1AcrossMin,
int a1AcrossMax,
447 int (*op)(
int a2,
int a1));
449 void decodeParseString(
int a,
int b)
override;
450 void decodeScriptString(byte *dst,
bool scriptString =
false);
451 void copyScriptString(byte *dst,
int dstSize);
453 int findObject(
int x,
int y,
int num,
int *args);
454 int getSoundResourceSize(ResId idx);
456 bool handleNextCharsetCode(
Actor *a,
int *c)
override;
457 int convertMessageToString(
const byte *msg, byte *dst,
int dstSize)
override;
458 void fakeBidiString(byte *ltext,
bool ignoreVerb,
int ltextSize)
const override;
460 void debugInput(byte *
string);
463 void o72_pushDWord();
464 void o72_getScriptString();
466 void o72_resetCutscene();
467 void o72_findObjectWithClassOf();
468 void o72_getObjectImageX();
469 void o72_getObjectImageY();
470 void o72_captureWizImage();
473 void o72_getSoundPosition();
474 void o72_startScript();
475 void o72_startObject();
476 void o72_drawObject();
477 void o72_printWizImage();
478 void o72_getArrayDimSize();
479 void o72_getNumFreeArrays();
483 void o72_findObject();
485 void o72_systemOps();
486 void o72_talkActor();
489 void o72_dim2dimArray();
490 void o72_traceStatus();
491 void o72_debugInput();
492 void o72_drawWizImage();
493 void o72_kernelGetFunctions();
494 void o72_jumpToScript();
497 void o72_writeFile();
498 void o72_findAllObjects();
499 void o72_deleteFile();
502 void o72_pickVarRandom();
503 void o72_redimArray();
506 void o72_getResourceSize();
507 void o72_createDirectory();
508 void o72_setSystemMessage();
511 byte VAR_NUM_SCRIPTS;
513 byte VAR_NUM_COSTUMES;
515 byte VAR_NUM_CHARSETS;
517 byte VAR_SOUND_ENABLED;
519 byte VAR_POLYGONS_ONLY;
521 byte VAR_MOUSE_STATE;
525 class ScummEngine_v80he :
public ScummEngine_v72he {
527 int32 _heSndResId = 0;
530 SO_CURSOR_IMAGE = 19,
531 SO_CURSOR_COLOR_IMAGE = 20,
547 void setupOpcodes()
override;
549 void setupScummVars()
override;
550 void resetScummVars()
override;
554 void initCharset(
int charset)
override;
556 void clearDrawQueues()
override;
558 void drawLine(
int x1,
int y1,
int x,
int unk1,
int unk2,
int type,
int id);
559 void drawPixel(
int x,
int y,
int flags);
561 void setDefaultCursor()
override;
564 void o80_createSound();
565 void o80_getFileSize();
566 void o80_stringToInt();
567 void o80_getSoundVar();
568 void o80_localizeArrayToRoom();
569 void o80_sourceDebug();
570 void o80_readConfigFile();
571 void o80_writeConfigFile();
572 void o80_cursorCommand();
574 void o80_drawWizPolygon();
576 void o80_pickVarRandom();
578 byte VAR_PLATFORM_VERSION;
579 byte VAR_CURRENT_CHARSET;
581 byte VAR_COLOR_DEPTH;
584 class ScummEngine_v90he :
public ScummEngine_v80he {
585 friend class LogicHE;
592 friend class Moonbase;
593 friend class Basketball;
594 friend class MoviePlayer;
597 friend class ScummEngine_v99he;
617 SO_GENERAL_CLIP_STATE = 46,
618 SO_GENERAL_CLIP_RECT = 47,
636 SO_ANIMATION_SPEED = 97,
642 SO_POLY_POLYGON = 131,
644 SO_RENDER_RECTANGLE = 133,
645 SO_RENDER_LINE = 134,
646 SO_RENDER_PIXEL = 135,
647 SO_RENDER_FLOOD_FILL = 136,
648 SO_RENDER_INTO_IMAGE = 137,
649 SO_NEW_GENERAL_PROPERTY = 139,
652 SO_FONT_CREATE = 142,
653 SO_FONT_RENDER = 143,
655 SO_RENDER_ELLIPSE = 189,
657 SO_ACTOR_VARIABLE = 198
660 struct VideoParameters {
668 VideoParameters _videoParams;
671 int32 _heObjectNum = 0;
672 int32 _hePaletteNum = 0;
674 int32 _maxSpriteNum = 0;
675 int32 _minSpriteNum = 0;
676 int32 _curSpriteGroupId = 0;
678 LogicHE *_logicHE =
nullptr;
679 MoviePlayer *_moviePlay;
692 ~ScummEngine_v90he()
override;
695 void allocateArrays()
override;
696 void setupOpcodes()
override;
698 void resetScumm()
override;
700 void setupScummVars()
override;
701 void resetScummVars()
override;
703 void scummLoop(
int delta)
override;
704 void scummLoop_handleDrawing()
override;
705 void runBootscript()
override;
707 void processInput()
override;
708 void clearClickedStatus()
override;
712 void readMAXS(
int blockSize)
override;
713 void setResourceOffHeap(
int typeId,
int resId,
int val);
715 void processActors()
override;
716 void heFlushAuxQueues()
override;
717 const byte *heAuxFindBlock(
HEAnimAuxData *auxInfoPtr, int32
id);
719 void heAuxGetAuxDataInfo(
HEAnimAuxData *auxInfoPtr,
int whichActor,
int auxIndex);
720 bool heAuxProcessFileRelativeBlock(
HEAnimAuxData *auxInfoPtr,
const byte *dataBlockPtr);
721 bool heAuxProcessDisplacedBlock(
HEAnimAuxData *auxInfoPtr,
const byte *displacedBlockPtr);
723 void getArrayDim(
int array,
int *downMin,
int *downMax,
int *acrossMin,
int *acrossMax);
724 void sortArray(
int array,
int downMin,
int downMax,
int acrossMin,
int acrossMax,
int sortOrder);
727 int getGroupSpriteArray(
int spriteGroupId);
730 uint8 *getHEPaletteIndex(
int palSlot);
731 int getHEPaletteColor(
int palSlot,
int color);
732 int getHEPaletteSimilarColor(
int palSlot,
int red,
int green,
int start,
int end);
733 int getHEPalette16BitColorComponent(
int component,
int type);
734 int getHEPaletteColorComponent(
int palSlot,
int color,
int component);
735 void setHEPaletteColor(
int palSlot, uint8 color, uint8 r, uint8 g, uint8 b);
736 void setHEPaletteFromPtr(
int palSlot,
const uint8 *palData);
737 void setHEPaletteFromCostume(
int palSlot,
int resId);
738 void setHEPaletteFromImage(
int palSlot,
int resId,
int state);
739 void setHEPaletteFromRoom(
int palSlot,
int resId,
int state);
740 void restoreHEPalette(
int palSlot);
741 void copyHEPalette(
int dstPalSlot,
int srcPalSlot);
742 void copyHEPaletteColor(
int palSlot, uint8 dstColor, uint16 srcColor);
750 int scummMathSin(
int angle);
751 int scummMathCos(
int angle);
752 int scummMathSqrt(
int value);
753 int scummMathDist2D(
int x1,
int y1,
int x2,
int y2);
754 int scummMathAngleFromDelta(
int dx,
int dy);
755 int scummMathAngleOfLineSegment(
int x1,
int y1,
int x2,
int y2);
766 void o90_getAngleFromDelta();
767 void o90_getAngleFromLine();
768 void o90_getActorData();
769 void o90_priorityStartScript();
770 void o90_priorityChainScript();
772 void o90_getVideoData();
773 void o90_wizImageOps();
774 void o90_getDistanceBetweenPoints();
775 void o90_getSpriteInfo();
776 void o90_setSpriteInfo();
777 void o90_getSpriteGroupInfo();
778 void o90_setSpriteGroupInfo();
779 void o90_getWizData();
780 void o90_floodFill();
785 void o90_findAllObjectsWithClassOf();
786 void o90_getOverlap();
788 void o90_dim2dim2Array();
789 void o90_redim2dimArray();
790 void o90_getLinesIntersectionPoint();
791 void o90_sortArray();
792 void o90_getObjectData();
793 void o90_getPaletteData();
794 void o90_paletteOps();
796 void o90_getActorAnimProgress();
797 void o90_kernelGetFunctions();
798 void o90_kernelSetFunctions();
800 byte VAR_NUM_SPRITE_GROUPS;
801 byte VAR_NUM_SPRITES;
802 byte VAR_NUM_PALETTES;
804 byte VAR_SPRITE_IMAGE_CHANGE_DOES_NOT_RESET_SETTINGS;
806 byte VAR_U32_VERSION;
807 byte VAR_U32_ARRAY_UNK;
810 byte VAR_REMOTE_START_SCRIPT = 98;
811 byte VAR_NETWORK_AVAILABLE = 109;
812 byte VAR_NETWORK_RECEIVE_ARRAY_SCRIPT = 101;
815 int networkSessionDialog();
819 class ScummEngine_v95he :
public ScummEngine_v90he {
824 void resetActorBgs()
override;
825 bool prepareForActorErase();
828 class ScummEngine_v99he :
public ScummEngine_v95he {
832 void resetScumm()
override;
835 void resetScummVars()
override;
837 void readMAXS(
int blockSize)
override;
841 void copyPalColor(
int dst,
int src)
override;
842 void darkenPalette(
int redScale,
int greenScale,
int blueScale,
int startColor,
int endColor)
override;
843 void setPaletteFromPtr(
const byte *ptr,
int numcolor = -1)
override;
844 void setPalColor(
int index,
int r,
int g,
int b)
override;
845 void updatePalette()
override;
848 class ScummEngine_v100he :
public ScummEngine_v99he {
850 friend class Moonbase;
851 friend class LogicHEBasketball;
852 friend class Basketball;
855 friend class ScummEngine_v71he;
856 friend class ScummEngine_v72he;
857 friend class ScummEngine_v90he;
858 friend class ScummEngine_v80he;
864 byte _debugInputBuffer[256];
871 SO_ANIMATION_SPEED = 4,
875 SO_BACKGROUND_OFF = 8,
876 SO_BACKGROUND_ON = 9,
881 SO_CHARSET_COLOR = 15,
893 SO_DELETE_POLYGON = 28,
900 SO_FORMATTED_STRING = 35,
901 SO_GENERAL_CLIP_RECT = 36,
902 SO_GENERAL_CLIP_STATE = 37,
918 SO_NEW_GENERAL_PROPERTY = 54,
922 SO_POLY_TO_POLY = 58,
927 SO_ROOM_PALETTE = 63,
933 SO_SET_POLYGON_LOCAL = 69,
950 SO_ALWAYS_ZCLIP = 87,
957 SO_ACTOR_DEFAULT_CLIPPED = 128,
959 SO_ACTOR_SOUNDS = 130,
960 SO_ACTOR_WIDTH = 131,
961 SO_ANIMATION_DEFAULT = 132,
963 SO_FOLLOW_BOXES = 134,
964 SO_IGNORE_BOXES = 135,
965 SO_ACTOR_IGNORE_TURNS_OFF = 136,
966 SO_ACTOR_IGNORE_TURNS_ON = 137,
967 SO_INIT_ANIMATION = 138,
968 SO_STAND_ANIMATION = 139,
969 SO_TALK_ANIMATION = 140,
971 SO_TALK_CONDITION = 142,
972 SO_TEXT_OFFSET = 143,
973 SO_WALK_ANIMATION = 144,
976 SO_ASSIGN_2DIM_LIST = 128,
977 SO_ASSIGN_INT_LIST = 129,
978 SO_COMPLEX_ARRAY_ASSIGNMENT = 130,
979 SO_COMPLEX_ARRAY_COPY_OPERATION = 131,
980 SO_COMPLEX_ARRAY_MATH_OPERATION = 132,
981 SO_RANGE_ARRAY_ASSIGNMENT = 133,
983 SO_UNDIM_ARRAY = 135,
987 SO_PRELOAD_FLUSH = 129,
996 SO_FONT_CREATE = 128,
998 SO_FONT_RENDER = 130,
1001 SO_RENDER_ELLIPSE = 133,
1002 SO_RENDER_FLOOD_FILL = 134,
1003 SO_RENDER_INTO_IMAGE = 135,
1004 SO_RENDER_LINE = 136,
1005 SO_RENDER_PIXEL = 137,
1006 SO_RENDER_RECTANGLE = 138,
1009 SO_CURSOR_IMAGE = 128,
1010 SO_CURSOR_COLOR_IMAGE = 129,
1011 SO_CURSOR_COLOR_PAL_IMAGE = 130,
1012 SO_CURSOR_HOTSPOT = 132,
1014 SO_CURSOR_OFF = 135,
1015 SO_CURSOR_SOFT_ON = 136,
1016 SO_CURSOR_SOFT_OFF = 137,
1017 SO_USERPUT_ON = 139,
1018 SO_USERPUT_OFF = 140,
1019 SO_USERPUT_SOFT_ON = 141,
1020 SO_USERPUT_SOFT_OFF = 142,
1023 SO_OBJECT_ORDER = 129,
1024 SO_ROOM_COPY_PALETTE = 130,
1026 SO_ROOM_INTENSITY = 132,
1027 SO_ROOM_INTENSITY_RGB = 133,
1028 SO_ROOM_NEW_PALETTE = 134,
1029 SO_ROOM_PALETTE_IN_ROOM = 135,
1030 SO_ROOM_SAVEGAME = 136,
1031 SO_ROOM_SAVEGAME_BY_NAME = 137,
1032 SO_ROOM_SCREEN = 138,
1033 SO_ROOM_SCROLL = 139,
1034 SO_ROOM_SHAKE_OFF = 140,
1035 SO_ROOM_SHAKE_ON = 141,
1036 SO_ROOM_TRANSFORM = 142,
1044 SO_FLUSH_OBJECT_DRAW_QUEUE = 128,
1045 SO_PAUSE_TITLE = 131,
1048 SO_RESTART_STRING = 134,
1049 SO_START_SYSTEM_STRING = 135,
1050 SO_UPDATE_SCREEN = 136,
1054 SO_SOUND_CHANNEL = 129,
1055 SO_SOUND_FREQUENCY = 130,
1056 SO_SOUND_LOOPING = 131,
1057 SO_SOUND_MODIFY = 132,
1059 SO_SOUND_START = 134,
1060 SO_SOUND_SOFT = 135,
1061 SO_SOUND_VOLUME = 136,
1064 SO_WAIT_FOR_ACTOR = 128,
1065 SO_WAIT_FOR_CAMERA = 129,
1066 SO_WAIT_FOR_MESSAGE = 130,
1067 SO_WAIT_FOR_SENTENCE = 131,
1072 ~ScummEngine_v100he()
override;
1074 void resetScumm()
override;
1076 void setupScummVars()
override;
1077 void resetScummVars()
override;
1080 void setupOpcodes()
override;
1084 void decodeParseString(
int a,
int b)
override;
1087 void o100_actorOps();
1088 void o100_arrayOps();
1089 void o100_dim2dimArray();
1090 void o100_redim2dimArray();
1091 void o100_dimArray();
1092 void o100_drawLine();
1093 void o100_drawObject();
1094 void o100_floodFill();
1095 void o100_setSpriteGroupInfo();
1096 void o100_resourceRoutines();
1097 void o100_wizImageOps();
1098 void o100_jumpToScript();
1099 void o100_createSound();
1100 void o100_dim2dim2Array();
1101 void o100_paletteOps();
1102 void o100_priorityChainScript();
1103 void o100_priorityStartScript();
1104 void o100_redimArray();
1105 void o100_roomOps();
1106 void o100_setSystemMessage();
1107 void o100_soundOps();
1108 void o100_setSpriteInfo();
1109 void o100_startScript();
1110 void o100_systemOps();
1111 void o100_cursorCommand();
1112 void o100_videoOps();
1114 void o100_writeFile();
1115 void o100_debugInput();
1116 void o100_isResourceLoaded();
1117 void o100_getResourceSize();
1118 void o100_getSpriteGroupInfo();
1119 void o100_getPaletteData();
1120 void o100_readFile();
1121 void o100_getSpriteInfo();
1122 void o100_getWizData();
1123 void o100_getVideoData();
1126 byte VAR_U32_USER_VAR_A;
1127 byte VAR_U32_USER_VAR_B;
1128 byte VAR_U32_USER_VAR_C;
1129 byte VAR_U32_USER_VAR_D;
1130 byte VAR_U32_USER_VAR_E;
1131 byte VAR_U32_USER_VAR_F;
1132 byte VAR_U32_USER_VAR_G;
1133 byte VAR_U32_USER_VAR_H;
1135 byte VAR_REMOTE_START_SCRIPT;
1136 byte VAR_NETWORK_AVAILABLE;
1137 byte VAR_NETWORK_RECEIVE_ARRAY_SCRIPT;
1140 bool mapGeneratorDialog(
bool demo);
1143 class ScummEngine_vCUPhe :
public Engine {
1145 CUP_Player *_cupPlayer;
1150 ~ScummEngine_vCUPhe()
override;
Definition: actor_he.h:38
Definition: detection.h:117
Definition: net_main.h:33
Definition: sound_he.h:147
ResType
Definition: scumm.h:256
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:44
Definition: actor_he.h:43
Definition: algorithm.h:29
Definition: scumm_v6.h:29
Definition: detection.h:131