25 #include "common/util.h" 26 #include "common/random.h" 32 enum scriptVariableOffsets {
79 REICH_DOOR_FLAG = 470,
95 DOOR_67_68_FLAG = 678,
97 DOOR_73_75_FLAG = 704,
98 SC76_CABINET1_FLAG = 709,
99 SC76_CABINET2_FLAG = 710,
100 SC76_CABINET3_FLAG = 711,
101 DOOR_77_78_FLAG = 719,
102 SC80_EXIT_FLAG = 720,
103 SC31_LIFT_FLAG = 793,
104 SC32_LIFT_FLAG = 797,
105 SC33_SHED_DOOR_FLAG = 798,
107 COLSTON_AT_TABLE = 805,
108 SC36_NEXT_DEALER = 806,
109 SC36_DOOR_FLAG = 807,
110 SC37_DOOR_FLAG = 808,
111 SC40_LOCKER_1_FLAG = 817,
112 SC40_LOCKER_2_FLAG = 818,
113 SC40_LOCKER_3_FLAG = 819,
114 SC40_LOCKER_4_FLAG = 820,
115 SC40_LOCKER_5_FLAG = 821
118 #define NUM_SKY_SCRIPTVARS 838 133 typedef void (Logic::*LogicTable) ();
134 typedef bool (Logic::*McodeTable) (uint32, uint32, uint32);
148 void useControlInstance(
Control *control) { _skyControl = control; }
150 uint16 mouseScript(uint32 scrNum,
Compact *scriptComp);
152 static uint32 _scriptVariables[NUM_SKY_SCRIPTVARS];
155 uint16 script(uint16 scriptNo, uint16 offset);
157 void parseSaveData(uint32 *data);
159 void startInventory(uint32 highlightedId = 0);
161 uint32 *giveInvList() {
162 return &_objectList[0];
165 void killInventory();
168 void setupLogicTable();
169 void setupMcodeTable();
170 const LogicTable *_logicTable;
171 const McodeTable *_mcodeTable;
177 void checkModuleLoaded(uint16 moduleNo);
178 bool isCollision(
Compact *cpt);
179 void initScriptVariables();
183 bool checkProtection();
203 bool fnCacheChip(uint32 a, uint32 b, uint32 c);
204 bool fnCacheFast(uint32 a, uint32 b, uint32 c);
205 bool fnDrawScreen(uint32 a, uint32 b, uint32 c);
206 bool fnAr(uint32 a, uint32 b, uint32 c);
207 bool fnArAnimate(uint32 a, uint32 b, uint32 c);
208 bool fnIdle(uint32 a, uint32 b, uint32 c);
209 bool fnInteract(uint32 a, uint32 b, uint32 c);
210 bool fnStartSub(uint32 a, uint32 b, uint32 c);
211 bool fnTheyStartSub(uint32 a, uint32 b, uint32 c);
212 bool fnAssignBase(uint32 a, uint32 b, uint32 c);
213 bool fnDiskMouse(uint32 a, uint32 b, uint32 c);
214 bool fnNormalMouse(uint32 a, uint32 b, uint32 c);
215 bool fnBlankMouse(uint32 a, uint32 b, uint32 c);
216 bool fnCrossMouse(uint32 a, uint32 b, uint32 c);
217 bool fnCursorRight(uint32 a, uint32 b, uint32 c);
218 bool fnCursorLeft(uint32 a, uint32 b, uint32 c);
219 bool fnCursorDown(uint32 a, uint32 b, uint32 c);
220 bool fnOpenHand(uint32 a, uint32 b, uint32 c);
221 bool fnCloseHand(uint32 a, uint32 b, uint32 c);
222 bool fnGetTo(uint32 a, uint32 b, uint32 c);
223 bool fnSetToStand(uint32 a, uint32 b, uint32 c);
224 bool fnTurnTo(uint32 a, uint32 b, uint32 c);
225 bool fnArrived(uint32 a, uint32 b, uint32 c);
226 bool fnLeaving(uint32 a, uint32 b, uint32 c);
227 bool fnSetAlternate(uint32 a, uint32 b, uint32 c);
228 bool fnAltSetAlternate(uint32 a, uint32 b, uint32 c);
229 bool fnKillId(uint32 a, uint32 b, uint32 c);
230 bool fnNoHuman(uint32 a, uint32 b, uint32 c);
231 bool fnAddHuman(uint32 a, uint32 b, uint32 c);
232 bool fnAddButtons(uint32 a, uint32 b, uint32 c);
233 bool fnNoButtons(uint32 a, uint32 b, uint32 c);
234 bool fnSetStop(uint32 a, uint32 b, uint32 c);
235 bool fnClearStop(uint32 a, uint32 b, uint32 c);
236 bool fnPointerText(uint32 a, uint32 b, uint32 c);
237 bool fnQuit(uint32 a, uint32 b, uint32 c);
238 bool fnSpeakMe(uint32 targetId, uint32 mesgNum, uint32 animNum);
239 bool fnSpeakMeDir(uint32 targetId, uint32 mesgNum, uint32 animNum);
240 bool fnSpeakWait(uint32 a, uint32 b, uint32 c);
241 bool fnSpeakWaitDir(uint32 a, uint32 b, uint32 c);
242 bool fnChooser(uint32 a, uint32 b, uint32 c);
243 bool fnHighlight(uint32 a, uint32 b, uint32 c);
244 bool fnTextKill(uint32 a, uint32 b, uint32 c);
245 bool fnStopMode(uint32 a, uint32 b, uint32 c);
246 bool fnWeWait(uint32 a, uint32 b, uint32 c);
247 bool fnSendSync(uint32 a, uint32 b, uint32 c);
248 bool fnSendFastSync(uint32 a, uint32 b, uint32 c);
249 bool fnSendRequest(uint32 a, uint32 b, uint32 c);
250 bool fnClearRequest(uint32 a, uint32 b, uint32 c);
251 bool fnCheckRequest(uint32 a, uint32 b, uint32 c);
252 bool fnStartMenu(uint32 a, uint32 b, uint32 c);
253 bool fnUnhighlight(uint32 a, uint32 b, uint32 c);
254 bool fnFaceId(uint32 a, uint32 b, uint32 c);
255 bool fnForeground(uint32 a, uint32 b, uint32 c);
256 bool fnBackground(uint32 a, uint32 b, uint32 c);
257 bool fnNewBackground(uint32 a, uint32 b, uint32 c);
258 bool fnSort(uint32 a, uint32 b, uint32 c);
259 bool fnNoSpriteEngine(uint32 a, uint32 b, uint32 c);
260 bool fnNoSpritesA6(uint32 a, uint32 b, uint32 c);
261 bool fnResetId(uint32 a, uint32 b, uint32 c);
262 bool fnToggleGrid(uint32 a, uint32 b, uint32 c);
263 bool fnPause(uint32 a, uint32 b, uint32 c);
264 bool fnRunAnimMod(uint32 a, uint32 b, uint32 c);
265 bool fnSimpleMod(uint32 a, uint32 b, uint32 c);
266 bool fnRunFrames(uint32 a, uint32 b, uint32 c);
267 bool fnAwaitSync(uint32 a, uint32 b, uint32 c);
268 bool fnIncMegaSet(uint32 a, uint32 b, uint32 c);
269 bool fnDecMegaSet(uint32 a, uint32 b, uint32 c);
270 bool fnSetMegaSet(uint32 a, uint32 b, uint32 c);
271 bool fnMoveItems(uint32 a, uint32 b, uint32 c);
272 bool fnNewList(uint32 a, uint32 b, uint32 c);
273 bool fnAskThis(uint32 a, uint32 b, uint32 c);
274 bool fnRandom(uint32 a, uint32 b, uint32 c);
275 bool fnPersonHere(uint32 a, uint32 b, uint32 c);
276 bool fnToggleMouse(uint32 a, uint32 b, uint32 c);
277 bool fnMouseOn(uint32 a, uint32 b, uint32 c);
278 bool fnMouseOff(uint32 a, uint32 b, uint32 c);
279 bool fnFetchX(uint32 a, uint32 b, uint32 c);
280 bool fnFetchY(uint32 a, uint32 b, uint32 c);
281 bool fnTestList(uint32 a, uint32 b, uint32 c);
282 bool fnFetchPlace(uint32 a, uint32 b, uint32 c);
283 bool fnCustomJoey(uint32 a, uint32 b, uint32 c);
284 bool fnSetPalette(uint32 a, uint32 b, uint32 c);
285 bool fnTextModule(uint32 a, uint32 b, uint32 c);
286 bool fnChangeName(uint32 a, uint32 b, uint32 c);
287 bool fnMiniLoad(uint32 a, uint32 b, uint32 c);
288 bool fnFlushBuffers(uint32 a, uint32 b, uint32 c);
289 bool fnFlushChip(uint32 a, uint32 b, uint32 c);
290 bool fnSaveCoods(uint32 a, uint32 b, uint32 c);
291 bool fnPlotGrid(uint32 a, uint32 b, uint32 c);
292 bool fnRemoveGrid(uint32 a, uint32 b, uint32 c);
293 bool fnEyeball(uint32 a, uint32 b, uint32 c);
294 bool fnCursorUp(uint32 a, uint32 b, uint32 c);
295 bool fnLeaveSection(uint32 a, uint32 b, uint32 c);
296 bool fnEnterSection(uint32 sectionNo, uint32 b, uint32 c);
297 bool fnRestoreGame(uint32 a, uint32 b, uint32 c);
298 bool fnRestartGame(uint32 a, uint32 b, uint32 c);
299 bool fnNewSwingSeq(uint32 a, uint32 b, uint32 c);
300 bool fnWaitSwingEnd(uint32 a, uint32 b, uint32 c);
301 bool fnSkipIntroCode(uint32 a, uint32 b, uint32 c);
302 bool fnBlankScreen(uint32 a, uint32 b, uint32 c);
303 bool fnPrintCredit(uint32 a, uint32 b, uint32 c);
304 bool fnLookAt(uint32 a, uint32 b, uint32 c);
305 bool fnLincTextModule(uint32 a, uint32 b, uint32 c);
306 bool fnTextKill2(uint32 a, uint32 b, uint32 c);
307 bool fnSetFont(uint32 a, uint32 b, uint32 c);
308 bool fnStartFx(uint32 a, uint32 b, uint32 c);
309 bool fnStopFx(uint32 a, uint32 b, uint32 c);
310 bool fnStartMusic(uint32 a, uint32 b, uint32 c);
311 bool fnStopMusic(uint32 a, uint32 b, uint32 c);
312 bool fnFadeDown(uint32 a, uint32 b, uint32 c);
313 bool fnFadeUp(uint32 a, uint32 b, uint32 c);
314 bool fnQuitToDos(uint32 a, uint32 b, uint32 c);
315 bool fnPauseFx(uint32 a, uint32 b, uint32 c);
316 bool fnUnPauseFx(uint32 a, uint32 b, uint32 c);
317 bool fnPrintf(uint32 a, uint32 b, uint32 c);
319 void stdSpeak(
Compact *target, uint32 textNum, uint32 animNum, uint32 base);
320 void fnExec(uint16 num, uint32 a, uint32 b, uint32 c);
322 uint16 *_moduleList[16];
328 uint32 _objectList[30];
330 uint32 _currentSection;
Definition: autoroute.h:34
Definition: musicbase.h:55
Definition: atari-screen.h:58
Definition: autoroute.h:28
Definition: control.h:181