22 #ifndef ILLUSIONS_ILLUSIONS_H 23 #define ILLUSIONS_ILLUSIONS_H 25 #include "illusions/graphics.h" 26 #include "audio/mixer.h" 29 #include "common/array.h" 30 #include "common/events.h" 31 #include "common/file.h" 32 #include "common/memstream.h" 33 #include "common/random.h" 34 #include "common/str.h" 35 #include "common/substream.h" 36 #include "common/system.h" 38 #include "engines/engine.h" 39 #include "graphics/surface.h" 40 #include "illusions/detection.h" 44 char *debugW2I(uint16 *wstr);
45 void swapBytesInWideString(byte * wstr);
47 #define ILLUSIONS_SAVEGAME_VERSION 0 50 class BaseResourceReader;
54 class ActorInstanceList;
56 class BackgroundInstanceList;
57 class BackgroundResource;
74 class TalkInstanceList;
76 class UpdateFunctions;
78 class ScreenPaletteBase;
113 uint32 _nextTempThreadId;
114 bool _doScriptThreadInit;
125 bool _unpauseControlActorFlag;
126 uint32 _lastUpdateTime;
128 int _resumeFromSavegameRequested;
129 int _savegameSlotNum;
131 uint32 _savegameSceneId;
132 uint32 _savegameThreadId;
137 uint32 _subtitleDuration;
142 int16 _menuChoiceOfs;
144 int getGameId()
const;
147 void runUpdateFunctions();
148 int updateActors(uint flags);
149 int updateSequences(uint flags);
150 int updateGraphics(uint flags);
151 int updateSoundMan(uint flags);
152 int updateSprites(uint flags);
154 uint32 getElapsedUpdateTime();
156 int getRandom(
int max);
157 int convertPanXCoord(int16 x);
159 bool isSoundActive();
161 virtual void updateFader() {};
162 virtual void clearFader() {};
163 virtual void pauseFader() {};
164 virtual void unpauseFader() {};
165 virtual bool isVideoPlaying() {
return false; }
167 void setCurrFontId(uint32 fontId);
168 bool checkActiveTalkThreads();
169 void setTextDuration(
int kind, uint32 duration);
170 uint32 clipTextDuration(uint32 duration);
171 void getDefaultTextDimensions(
WidthHeight &dimensions);
172 void setDefaultTextDimensions(
WidthHeight &dimensions);
176 uint16 getSubtitleDuration();
177 void setSubtitleDuration(uint16 duration);
181 virtual void setDefaultTextCoords() = 0;
182 virtual void loadSpecialCode(uint32 resId) = 0;
183 virtual void unloadSpecialCode(uint32 resId) = 0;
184 virtual void notifyThreadId(uint32 &threadId) = 0;
185 virtual bool testMainActorFastWalk(
Control *control) = 0;
186 virtual bool testMainActorCollision(
Control *control) = 0;
187 virtual Control *getObjectControl(uint32 objectId) = 0;
188 virtual Common::Point getNamedPointPosition(uint32 namedPointId) = 0;
189 virtual uint32 getPriorityFromBase(int16 priority) = 0;
190 virtual uint32 getPrevScene() = 0;
191 virtual uint32 getCurrentScene() = 0;
192 virtual bool isCursorObject(uint32 actorTypeId, uint32 objectId) = 0;
193 virtual void setCursorControlRoutine(
Control *control) = 0;
194 virtual void placeCursorControl(
Control *control, uint32 sequenceId) = 0;
195 virtual void setCursorControl(
Control *control) = 0;
196 virtual void showCursor() = 0;
197 virtual void hideCursor() = 0;
198 virtual void startScriptThreadSimple(uint32 threadId, uint32 callingThreadId) = 0;
199 virtual uint32 startTempScriptThread(byte *scriptCodeIp, uint32 callingThreadId,
200 uint32 value8, uint32 valueC, uint32 value10) = 0;
204 enum kReadSaveHeaderError {
206 kRSHEInvalidType = 1,
207 kRSHEInvalidVersion = 2,
229 bool savegame(
const char *filename,
const char *description);
230 bool loadgame(
const char *filename);
231 bool existsSavegame(
int num);
239 #endif // ILLUSIONS_ILLUSIONS_H
Definition: backgroundresource.h:208
Definition: talkresource.h:78
Definition: dictionary.h:85
Definition: resourcesystem.h:85
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: illusions.h:224
Definition: default_display_client.h:78
Definition: detection.h:34
Definition: graphics.h:31
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: illusions.h:225
Definition: scriptopcodes.h:48
bool skipThumbnail(Common::SeekableReadStream &in)
Definition: specialcode.h:44
Definition: resourcereader.h:29
Definition: screentext.h:56
const Common::String _targetName
Definition: engine.h:180
Common::Error loadGameState(int slot) override
Definition: scriptstack.h:27
Definition: actorresource.h:51
Definition: gamestate.h:30
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave=false) override
Definition: actorresource.h:112
Definition: scriptresource.h:114
Definition: updatefunctions.h:49
Definition: illusions.h:80
Definition: actorresource.h:76
Language
Definition: language.h:45