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 55 friend class Moonbase;
56 friend class Basketball;
60 SO_ACTOR_DEFAULT_CLIPPED = 30,
61 SO_BACKGROUND_ON = 218,
62 SO_BACKGROUND_OFF = 219,
63 SO_ROOM_COPY_PALETTE = 220,
64 SO_ROOM_SAVEGAME_BY_NAME = 221,
65 SO_SOUND_START_VOLUME = 222,
66 SO_SOUND_VOLUME_RAMP = 223,
67 SO_SOUND_FREQUENCY = 224,
69 SO_OBJECT_ORDER = 234,
70 SO_ROOM_PALETTE_IN_ROOM = 236,
81 uint32 _pauseStartTime = 0;
83 int getHETimer(
int timer);
84 void setHETimer(
int timer);
85 void pauseHETimers(
bool pause);
90 Basketball *_basketball;
97 Common::Path generateFilename(
const int room)
const override;
98 void setActorClippingRect(
int actor,
int x1,
int y1,
int x2,
int y2);
99 bool actorsOverlapInStrip(
int actorA,
int actorB,
int stripNumber);
101 void resetScumm()
override;
104 void setupOpcodes()
override;
108 void localizeArray(
int slot, byte scriptSlot);
109 void redimArray(
int arrayId,
int newX,
int newY,
int d);
110 int readFileToArray(
int slot, int32 size);
111 void writeFileFromArray(
int slot,
int resID);
113 int virtScreenSave(byte *dst,
int x1,
int y1,
int x2,
int y2);
114 void virtScreenLoad(
int resIdx,
int x1,
int y1,
int x2,
int y2);
116 void decodeParseString(
int a,
int b)
override;
117 void swapObjects(
int object1,
int object2);
127 void deleteSaveFile(
const byte *fileName);
128 void renameSaveFile(
const byte *from,
const byte *to);
129 void pauseEngineIntern(
bool pause)
override;
138 void o60_kernelSetFunctions();
139 void o60_kernelGetFunctions();
141 void o60_closeFile();
142 void o60_deleteFile();
145 void o60_writeFile();
147 void o60_isSoundRunning();
148 void o60_seekFilePos();
149 void o60_localizeArrayToScript();
150 void o60_redimArray();
151 void o60_readFilePos();
163 HE_SND_SOFT_SOUND = 4,
164 HE_SND_QUICK_START = 8,
167 HE_SND_FREQUENCY = 64,
175 SO_IMAGE_LOADED = 18,
177 SO_SOUND_VOLUME = 25,
179 SO_PRELOAD_SCRIPT = 120,
180 SO_PRELOAD_SOUND = 121,
181 SO_PRELOAD_COSTUME = 122,
182 SO_PRELOAD_ROOM = 123,
183 SO_UNLOCK_IMAGE = 159,
188 SO_PRELOAD_IMAGE = 203,
189 SO_ROOM_LOADED = 226,
190 SO_COSTUME_LOADED = 227,
191 SO_SOUND_LOADED = 228,
192 SO_SCRIPT_LOADED = 229,
193 SO_SOUND_CHANNEL = 230,
195 SO_SOUND_START = 232,
196 SO_LOCK_FLOBJECT = 233,
197 SO_UNLOCK_FLOBJECT = 235,
198 SO_PRELOAD_FLUSH = 239,
199 SO_PAUSE_MESSAGE = 240,
200 SO_PAUSE_TITLE = 241,
201 SO_PAUSE_OPTION = 242,
204 SO_SOUND_LOOPING = 245,
205 SO_START_SYSTEM = 250,
206 SO_START_SYSTEM_STRING = 251,
207 SO_RESTART_STRING = 252,
208 SO_RESTART_ARRAY = 253,
213 byte *_heV7DiskOffsets;
214 byte *_heV7RoomOffsets;
215 uint32 *_heV7RoomIntOffsets;
217 int32 _heSndSoundId, _heSndOffset, _heSndChannel, _heSndFlags,
218 _heSndFrequency, _heSndFrequencyShift, _heSndPan, _heSndVol;
219 bool _heSndStartNewSoundFlag;
221 int _numStoredFlObjects;
228 Common::Path generateFilename(
const int room)
const override;
230 void backgroundToForegroundBlit(
Common::Rect rect,
int dirtybit = 0);
231 void setActorRedrawFlags()
override;
234 void allocateArrays()
override;
235 int readResTypeList(
ResType type)
override;
236 uint32 getResourceRoomOffset(
ResType type, ResId idx)
override;
237 void setupOpcodes()
override;
239 void setupScummVars()
override;
240 void resetScummVars()
override;
244 void readRoomsOffsets()
override;
245 void readGlobalObjects()
override;
246 void readIndexBlock(uint32 blocktype, uint32 itemsize)
override;
248 void clearRoomObjects()
override;
249 void resetRoomObjects()
override;
251 int getActorFromPos(
int x,
int y)
override;
253 void loadFlObject(uint
object, uint room)
override;
254 void storeFlObject(
int slot);
255 void restoreFlObjects();
257 void setCursorFromImg(uint img, uint room, uint imgindex)
override;
258 void setDefaultCursor()
override;
260 void resetActorBgs()
override;
264 void o70_pickupObject();
265 void o70_getActorRoom();
266 void o70_resourceRoutines();
267 void o70_systemOps();
268 void o70_getStringLen();
269 void o70_isResourceLoaded();
272 void o70_createDirectory();
273 void o70_setSystemMessage();
275 byte VAR_NUM_SOUND_CHANNELS;
294 SO_SET_POLYGON = 246,
295 SO_DELETE_POLYGON = 247,
296 SO_SET_POLYGON_LOCAL = 248,
301 ~ScummEngine_v71he()
override;
303 byte *heFindResourceData(uint32 tag, byte *ptr);
304 byte *heFindResource(uint32 tag, byte *ptr);
305 byte *findWrappedBlock(uint32 tag, byte *ptr,
int state,
bool flagError);
308 bool _disableActorDrawingFlag =
false;
310 virtual int setupStringArray(
int size);
313 void setupOpcodes()
override;
317 void redrawBGAreas()
override;
319 void processActors()
override;
320 void heFlushAuxEraseQueue();
321 virtual void heFlushAuxQueues();
323 void clearDrawQueues()
override;
325 int getStringCharWidth(byte chr);
326 void appendSubstring(
int dst,
int src,
int len2,
int len);
329 void o71_kernelSetFunctions();
330 void o71_copyString();
331 void o71_getStringWidth();
332 void o71_appendString();
333 void o71_concatString();
334 void o71_compareString();
335 void o71_getStringLenForWidth();
336 void o71_getCharIndexInString();
338 void o71_polygonOps();
339 void o71_polygonHit();
341 byte VAR_WIZ_TRANSPARENT_COLOR;
345 int _heAuxEraseActorIndex = 0;
347 int _heAuxAnimTableIndex = 0;
349 void heQueueEraseAuxActor(
ActorHE *a);
350 void heQueueAnimAuxFrame(
int actorNum,
int subIndex);
352 void buildRemapTable(byte *remapTablePtr,
const byte *palDPtr,
const byte *palSPtr);
355 class ScummEngine_v72he :
public ScummEngine_v71he {
371 SO_COSTUME_SIZE = 16,
374 SO_FLUSH_OBJECT_DRAW_QUE = 22,
375 SO_TALK_CONDITION = 24,
376 SO_UPDATE_SCREEN = 26,
380 SO_ACTOR_DEFAULT_CLIPPED = 64,
382 SO_COMPLEX_ARRAY_ASSIGNMENT = 126,
383 SO_COMPLEX_ARRAY_COPY_OPERATION = 127,
384 SO_RANGE_ARRAY_ASSIGNMENT = 128,
385 SO_COMPLEX_ARRAY_MATH_OPERATION = 138,
386 SO_FORMATTED_STRING = 194,
390 SO_UNDIM_ARRAY = 204,
393 #include "common/pack-start.h" 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 {
831 friend class ScummEngine_v72he;
832 friend class ScummEngine_v90he;
837 ~ScummEngine_v99he()
override;
839 void resetScumm()
override;
842 void resetScummVars()
override;
844 void readMAXS(
int blockSize)
override;
848 void copyPalColor(
int dst,
int src)
override;
849 void darkenPalette(
int redScale,
int greenScale,
int blueScale,
int startColor,
int endColor)
override;
850 void setPaletteFromPtr(
const byte *ptr,
int numcolor = -1)
override;
851 void setPalColor(
int index,
int r,
int g,
int b)
override;
852 void updatePalette()
override;
854 HEFont *_heFont =
nullptr;
857 class ScummEngine_v100he :
public ScummEngine_v99he {
859 friend class Moonbase;
860 friend class LogicHEBasketball;
861 friend class Basketball;
864 friend class ScummEngine_v71he;
865 friend class ScummEngine_v72he;
866 friend class ScummEngine_v90he;
867 friend class ScummEngine_v80he;
873 byte _debugInputBuffer[256];
880 SO_ANIMATION_SPEED = 4,
884 SO_BACKGROUND_OFF = 8,
885 SO_BACKGROUND_ON = 9,
890 SO_CHARSET_COLOR = 15,
902 SO_DELETE_POLYGON = 28,
909 SO_FORMATTED_STRING = 35,
910 SO_GENERAL_CLIP_RECT = 36,
911 SO_GENERAL_CLIP_STATE = 37,
927 SO_NEW_GENERAL_PROPERTY = 54,
931 SO_POLY_TO_POLY = 58,
936 SO_ROOM_PALETTE = 63,
942 SO_SET_POLYGON_LOCAL = 69,
959 SO_ALWAYS_ZCLIP = 87,
966 SO_ACTOR_DEFAULT_CLIPPED = 128,
968 SO_ACTOR_SOUNDS = 130,
969 SO_ACTOR_WIDTH = 131,
970 SO_ANIMATION_DEFAULT = 132,
972 SO_FOLLOW_BOXES = 134,
973 SO_IGNORE_BOXES = 135,
974 SO_ACTOR_IGNORE_TURNS_OFF = 136,
975 SO_ACTOR_IGNORE_TURNS_ON = 137,
976 SO_INIT_ANIMATION = 138,
977 SO_STAND_ANIMATION = 139,
978 SO_TALK_ANIMATION = 140,
980 SO_TALK_CONDITION = 142,
981 SO_TEXT_OFFSET = 143,
982 SO_WALK_ANIMATION = 144,
985 SO_ASSIGN_2DIM_LIST = 128,
986 SO_ASSIGN_INT_LIST = 129,
987 SO_COMPLEX_ARRAY_ASSIGNMENT = 130,
988 SO_COMPLEX_ARRAY_COPY_OPERATION = 131,
989 SO_COMPLEX_ARRAY_MATH_OPERATION = 132,
990 SO_RANGE_ARRAY_ASSIGNMENT = 133,
992 SO_UNDIM_ARRAY = 135,
996 SO_PRELOAD_FLUSH = 129,
1005 SO_FONT_CREATE = 128,
1007 SO_FONT_RENDER = 130,
1008 SO_FONT_START = 131,
1010 SO_RENDER_ELLIPSE = 133,
1011 SO_RENDER_FLOOD_FILL = 134,
1012 SO_RENDER_INTO_IMAGE = 135,
1013 SO_RENDER_LINE = 136,
1014 SO_RENDER_PIXEL = 137,
1015 SO_RENDER_RECTANGLE = 138,
1018 SO_CURSOR_IMAGE = 128,
1019 SO_CURSOR_COLOR_IMAGE = 129,
1020 SO_CURSOR_COLOR_PAL_IMAGE = 130,
1021 SO_CURSOR_HOTSPOT = 132,
1023 SO_CURSOR_OFF = 135,
1024 SO_CURSOR_SOFT_ON = 136,
1025 SO_CURSOR_SOFT_OFF = 137,
1026 SO_USERPUT_ON = 139,
1027 SO_USERPUT_OFF = 140,
1028 SO_USERPUT_SOFT_ON = 141,
1029 SO_USERPUT_SOFT_OFF = 142,
1032 SO_OBJECT_ORDER = 129,
1033 SO_ROOM_COPY_PALETTE = 130,
1035 SO_ROOM_INTENSITY = 132,
1036 SO_ROOM_INTENSITY_RGB = 133,
1037 SO_ROOM_NEW_PALETTE = 134,
1038 SO_ROOM_PALETTE_IN_ROOM = 135,
1039 SO_ROOM_SAVEGAME = 136,
1040 SO_ROOM_SAVEGAME_BY_NAME = 137,
1041 SO_ROOM_SCREEN = 138,
1042 SO_ROOM_SCROLL = 139,
1043 SO_ROOM_SHAKE_OFF = 140,
1044 SO_ROOM_SHAKE_ON = 141,
1045 SO_ROOM_TRANSFORM = 142,
1053 SO_FLUSH_OBJECT_DRAW_QUEUE = 128,
1054 SO_PAUSE_TITLE = 131,
1057 SO_RESTART_STRING = 134,
1058 SO_START_SYSTEM_STRING = 135,
1059 SO_UPDATE_SCREEN = 136,
1063 SO_SOUND_CHANNEL = 129,
1064 SO_SOUND_FREQUENCY = 130,
1065 SO_SOUND_LOOPING = 131,
1066 SO_SOUND_MODIFY = 132,
1068 SO_SOUND_START = 134,
1069 SO_SOUND_SOFT = 135,
1070 SO_SOUND_VOLUME = 136,
1073 SO_WAIT_FOR_ACTOR = 128,
1074 SO_WAIT_FOR_CAMERA = 129,
1075 SO_WAIT_FOR_MESSAGE = 130,
1076 SO_WAIT_FOR_SENTENCE = 131,
1081 ~ScummEngine_v100he()
override;
1083 void resetScumm()
override;
1085 void setupScummVars()
override;
1086 void resetScummVars()
override;
1089 void setupOpcodes()
override;
1093 void decodeParseString(
int a,
int b)
override;
1096 void o100_actorOps();
1097 void o100_arrayOps();
1098 void o100_dim2dimArray();
1099 void o100_redim2dimArray();
1100 void o100_dimArray();
1101 void o100_drawLine();
1102 void o100_drawObject();
1103 void o100_floodFill();
1104 void o100_setSpriteGroupInfo();
1105 void o100_resourceRoutines();
1106 void o100_wizImageOps();
1107 void o100_jumpToScript();
1108 void o100_createSound();
1109 void o100_dim2dim2Array();
1110 void o100_paletteOps();
1111 void o100_priorityChainScript();
1112 void o100_priorityStartScript();
1113 void o100_redimArray();
1114 void o100_roomOps();
1115 void o100_setSystemMessage();
1116 void o100_soundOps();
1117 void o100_setSpriteInfo();
1118 void o100_startScript();
1119 void o100_systemOps();
1120 void o100_cursorCommand();
1121 void o100_videoOps();
1123 void o100_writeFile();
1124 void o100_debugInput();
1125 void o100_isResourceLoaded();
1126 void o100_getResourceSize();
1127 void o100_getSpriteGroupInfo();
1128 void o100_getPaletteData();
1129 void o100_readFile();
1130 void o100_getSpriteInfo();
1131 void o100_getWizData();
1132 void o100_getVideoData();
1135 byte VAR_U32_USER_VAR_A;
1136 byte VAR_U32_USER_VAR_B;
1137 byte VAR_U32_USER_VAR_C;
1138 byte VAR_U32_USER_VAR_D;
1139 byte VAR_U32_USER_VAR_E;
1140 byte VAR_U32_USER_VAR_F;
1141 byte VAR_U32_USER_VAR_G;
1142 byte VAR_U32_USER_VAR_H;
1144 byte VAR_REMOTE_START_SCRIPT;
1145 byte VAR_NETWORK_AVAILABLE;
1146 byte VAR_NETWORK_RECEIVE_ARRAY_SCRIPT;
1149 bool mapGeneratorDialog(
bool demo);
1152 class ScummEngine_vCUPhe :
public Engine {
1154 CUP_Player *_cupPlayer;
1159 ~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:53
Definition: intern_he.h:154
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