22 #ifndef ILLUSIONS_ILLUSIONS_BBDOU_H 23 #define ILLUSIONS_ILLUSIONS_BBDOU_H 25 #include "illusions/illusions.h" 26 #include "illusions/bbdou/bbdou_triggerfunctions.h" 27 #include "common/algorithm.h" 28 #include "common/stack.h" 35 class BBDOUVideoPlayer;
37 class BBDOUMenuSystem;
48 void push(uint32 sceneId);
50 void pauseActiveScene();
51 void unpauseActiveScene();
52 uint getActiveScenesCount();
53 void getActiveSceneInfo(uint index, uint32 *sceneId,
int *pauseCtr);
54 uint32 getCurrentScene();
55 bool isSceneActive(uint32 sceneId);
67 ScriptMan *_scriptMan;
75 uint32 _globalSceneId;
77 bool _loadGameResult, _saveGameResult;
83 bool _walkthroughStarted;
84 bool _canResumeFromSavegame;
88 void initUpdateFunctions();
89 int updateScript(uint flags);
90 int updateMenuKeys(uint flags);
92 bool causeIsDeclared(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId);
94 uint32 causeTrigger(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId, uint32 callingThreadId);
96 int updateVideoPlayer(uint flags);
97 void playVideo(uint32 videoId, uint32 objectId, uint32 priority, uint32 callingThreadId);
98 bool isVideoPlaying()
override;
100 void setDefaultTextCoords()
override;
102 void loadSpecialCode(uint32 resId)
override;
103 void unloadSpecialCode(uint32 resId)
override;
104 void notifyThreadId(uint32 &threadId)
override;
105 bool testMainActorFastWalk(
Control *control)
override;
106 bool testMainActorCollision(
Control *control)
override;
107 Control *getObjectControl(uint32 objectId)
override;
108 Common::Point getNamedPointPosition(uint32 namedPointId)
override;
109 uint32 getPriorityFromBase(int16 priority)
override;
110 uint32 getCurrentScene()
override;
111 uint32 getPrevScene()
override;
113 bool isCursorObject(uint32 actorTypeId, uint32 objectId)
override;
114 void setCursorControlRoutine(
Control *control)
override;
115 void placeCursorControl(
Control *control, uint32 sequenceId)
override;
116 void setCursorControl(
Control *control)
override;
117 void showCursor()
override;
118 void hideCursor()
override;
119 void cursorControlRoutine(
Control *control, uint32 deltaTime);
121 void startScriptThreadSimple(uint32 threadId, uint32 callingThreadId)
override;
122 void startScriptThread(uint32 threadId, uint32 callingThreadId,
123 uint32 value8, uint32 valueC, uint32 value10);
124 void startAnonScriptThread(int32 threadId, uint32 callingThreadId,
125 uint32 value8, uint32 valueC, uint32 value10);
126 uint32 startAbortableTimerThread(uint32 duration, uint32 threadId);
127 uint32 startTimerThread(uint32 duration, uint32 threadId);
128 uint32 startAbortableThread(byte *scriptCodeIp1, byte *scriptCodeIp2, uint32 callingThreadId);
129 uint32 startTalkThread(int16 duration, uint32 objectId, uint32 talkId, uint32 sequenceId1,
130 uint32 sequenceId2, uint32 namedPointId, uint32 callingThreadId);
131 uint32 startTempScriptThread(byte *scriptCodeIp, uint32 callingThreadId,
132 uint32 value8, uint32 valueC, uint32 value10)
override;
134 void newScriptThread(uint32 threadId, uint32 callingThreadId, uint notifyFlags,
135 byte *scriptCodeIp, uint32 value8, uint32 valueC, uint32 value10);
136 uint32 newTimerThread(uint32 duration, uint32 callingThreadId,
bool isAbortable);
137 uint32 newTempThreadId();
139 bool enterScene(uint32 sceneId, uint32 threadId);
140 void exitScene(uint32 threadId);
141 void enterPause(uint32 threadId);
142 void leavePause(uint32 threadId);
143 void dumpActiveScenes(uint32 sceneId, uint32 threadId);
145 void pause(uint32 callerThreadId);
146 void unpause(uint32 callerThreadId);
148 void enterMenuPause();
149 void leaveMenuPause();
151 void setSceneIdThreadId(uint32 theSceneId, uint32 theThreadId);
152 bool findTriggerCause(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId, uint32 &codeOffs);
155 void loadSavegameFromScript(int16 slotNum, uint32 callingThreadId);
156 void saveSavegameFromScript(int16 slotNum, uint32 callingThreadId);
157 void activateSavegame(uint32 callingThreadId);
158 void resumeFromSavegame();
164 #endif // ILLUSIONS_ILLUSIONS_H EngineFeature
Definition: engine.h:253
Definition: detection.h:34
Definition: bbdou_triggerfunctions.h:45
Definition: illusions_bbdou.h:39
Definition: illusions_bbdou.h:60
Definition: bbdou_videoplayer.h:32
Definition: illusions_bbdou.h:44
Definition: illusions.h:92