1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
|
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
void screenUpdate();
bool quitRequested();
void startup();
void startup1();
void switchRyanOn();
void switchRyanOff();
uint16 allocateMem(uint16 paragraphs);
void deallocateMem(uint16 segment);
uint8 *workspace();
uint8 *textUnder();
void allocateWork();
void clearWork();
void standardLoad();
uint16 standardLoad(const char *fileName); // Returns a segment handle which needs to be freed with deallocatemem for symmetry
void loadIntoTemp();
void loadIntoTemp2();
void loadIntoTemp3();
void loadIntoTemp(const char *fileName);
void loadIntoTemp2(const char *fileName);
void loadIntoTemp3(const char *fileName);
void loadTempCharset();
void loadTempCharset(const char *fileName);
Frame *tempCharset();
void saveLoad();
void printCurs();
void delCurs();
void hangOnCurs(uint16 frameCount);
void hangOnCurs();
void multiDump();
void multiDump(uint16 x, uint16 y, uint8 width, uint8 height);
void frameOutV(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, int16 x, int16 y);
void frameOutNm(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
void frameOutBh(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
void frameOutFx(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
void workToScreen();
void workToScreenCPP();
void multiGet();
void multiGet(uint8 *dst, uint16 x, uint16 y, uint8 width, uint8 height);
void convertKey();
void cls();
void printSprites();
void quickQuit();
void readOneBlock();
void printUnderMon();
void seeCommandTail();
void randomNumber();
void quickQuit2();
uint8 getNextWord(const Frame *charSet, const uint8 *string, uint8 *totalWidth, uint8 *charCount);
void printBoth(const Frame* charSet, uint16 *x, uint16 y, uint8 c, uint8 nextChar);
void printChar();
void printChar(const Frame* charSet, uint16 *x, uint16 y, uint8 c, uint8 nextChar, uint8 *width, uint8 *height);
void printChar(const Frame* charSet, uint16 x, uint16 y, uint8 c, uint8 nextChar, uint8 *width, uint8 *height);
void printDirect();
uint8 printDirect(const uint8** string, uint16 x, uint16 *y, uint8 maxWidth, bool centered);
uint8 printDirect(const uint8* string, uint16 x, uint16 y, uint8 maxWidth, bool centered);
void printMessage(uint16 x, uint16 y, uint8 index, uint8 maxWidth, bool centered);
void printMessage();
void useTimedText();
void dumpTimedText();
void setupTimedTemp();
void setupTimedTemp(uint8 textIndex, uint8 voiceIndex, uint8 x, uint8 y, uint16 countToTimed, uint16 timeCount);
void getUnderTimed();
void putUnderTimed();
uint8 printSlow(const uint8 *string, uint16 x, uint16 y, uint8 maxWidth, bool centered);
void printSlow();
void dumpTextLine();
void getNumber();
uint8 getNumber(const Frame *charSet, const uint8 *string, uint16 maxWidth, bool centered, uint16 *offset);
uint8 kernChars(uint8 firstChar, uint8 secondChar, uint8 width);
void oldToNames();
void namesToOld();
void loadPalFromIFF();
void getRoomData();
Room *getRoomData(uint8 room);
void readHeader();
void fillSpace();
void startLoading(const Room *room);
Sprite *spriteTable();
void showFrame();
void showFrame(const Frame *frameData, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height);
void showFrame(const Frame *frameData, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag);
void printASprite(const Sprite *sprite);
void width160();
void multiPut(const uint8 *src, uint16 x, uint16 y, uint8 width, uint8 height);
void multiPut();
void eraseOldObs();
void clearSprites();
Sprite *makeSprite(uint8 x, uint8 y, uint16 updateCallback, uint16 frameData, uint16 somethingInDi);
void spriteUpdate();
void initMan();
void mainMan(Sprite *sprite);
void faceRightWay();
void walking(Sprite *sprite);
void autoSetWalk();
void checkDest(const RoomPaths *roomsPaths);
void aboutTurn(Sprite *sprite);
void backObject(Sprite *sprite);
void constant(Sprite *sprite, SetObject *objData);
void steady(Sprite *sprite, SetObject *objData);
void random(Sprite *sprite, SetObject *objData);
void doDoor(Sprite *sprite, SetObject *objData, Common::Rect check);
void doorway(Sprite *sprite, SetObject *objData);
void wideDoor(Sprite *sprite, SetObject *objData);
void lockedDoorway(Sprite *sprite, SetObject *objData);
void liftSprite(Sprite *sprite, SetObject *objData);
Frame *findSource();
void showGameReel();
void showGameReel(ReelRoutine *routine);
void showReelFrame(Reel *reel);
const Frame *getReelFrameAX(uint16 frame);
void turnPathOn(uint8 param);
void turnPathOff(uint8 param);
void turnPathOn();
void turnPathOff();
void turnAnyPathOn(uint8 param, uint8 room);
void turnAnyPathOff(uint8 param, uint8 room);
void turnAnyPathOn();
void turnAnyPathOff();
RoomPaths *getRoomsPaths();
void makeBackOb(SetObject *objData);
void modifyChar();
void lockMon();
void cancelCh0();
void cancelCh1();
void plotReel();
Reel *getReelStart();
void dealWithSpecial(uint8 firstParam, uint8 secondParam);
void zoom();
void crosshair();
void showRain();
void delTextLine();
void commandOnly();
void commandOnly(uint8 command);
void doBlocks();
void checkIfPerson();
bool checkIfPerson(uint8 x, uint8 y);
void checkIfFree();
bool checkIfFree(uint8 x, uint8 y);
void checkIfEx();
bool checkIfEx(uint8 x, uint8 y);
const uint8 *findObName(uint8 type, uint8 index);
void copyName();
void copyName(uint8 type, uint8 index, uint8 *dst);
void commandWithOb();
void commandWithOb(uint8 command, uint8 type, uint8 index);
void showPanel();
void updatePeople();
void madmanText();
void madMode();
void moveMap(uint8 param);
bool addAlong(const uint8 *mapFlags);
bool addLength(const uint8 *mapFlags);
void getDimension();
void getDimension(uint8 *mapXstart, uint8 *mapYstart, uint8 *mapXsize, uint8 *mapYsize);
void getMapAd();
void calcMapAd();
uint8 getMapAd(const uint8 *setData);
uint8 getXAd(const uint8 *setData, uint8 *result);
uint8 getYAd(const uint8 *setData, uint8 *result);
void calcFrFrame();
void calcFrFrame(uint8* width, uint8* height);
void finalFrame();
void finalFrame(uint16 *x, uint16 *y);
void showAllObs();
void blockNameText();
void walkToText();
void personNameText();
void findXYFromPath();
void findOrMake();
void findOrMake(uint8 index, uint8 value, uint8 type);
DynObject *getFreeAd(uint8 index);
DynObject *getExAd(uint8 index);
DynObject *getEitherAdCPP();
SetObject *getSetAd(uint8 index);
void *getAnyAd(uint8 *value1, uint8 *value2);
void *getAnyAdDir(uint8 index, uint8 flag);
void setAllChanges();
void doChange(uint8 index, uint8 value, uint8 type);
void deleteTaken();
bool isCD();
void placeSetObject();
void placeSetObject(uint8 index);
void removeSetObject();
void removeSetObject(uint8 index);
void showAllFree();
void showAllEx();
bool finishedWalkingCPP();
void finishedWalking();
void checkOne();
void checkOne(uint8 x, uint8 y, uint8 *flag, uint8 *flagEx, uint8 *type, uint8 *flagX, uint8 *flagY);
void getFlagUnderP();
void getFlagUnderP(uint8 *flag, uint8 *flagEx);
void walkAndExamine();
void obName();
void obName(uint8 command, uint8 commandType);
void delPointer();
void showBlink();
void dumpBlink();
void dumpPointer();
void showPointer();
void animPointer();
void checkCoords();
void checkCoords(const RectWithCallback *rectWithCallbacks);
void readMouse();
uint16 readMouseState();
uint16 waitFrames();
void drawFlags();
void addToPeopleList();
void addToPeopleList(ReelRoutine *routine);
void getExPos();
void panelToMap();
void mapToPanel();
void dumpMap();
void obPicture();
void transferInv();
void obIcons();
void compare();
bool compare(uint8 index, uint8 flag, const char id[4]);
bool pixelCheckSet(const ObjPos *pos, uint8 x, uint8 y);
bool isItDescribed(const ObjPos *objPos);
void checkIfSet();
bool checkIfSet(uint8 x, uint8 y);
void checkIfPathIsOn();
bool checkIfPathIsOn(uint8 index);
void isItWorn();
bool isItWorn(const DynObject *object);
void wornError();
void makeWorn();
void makeWorn(DynObject *object);
void obToInv();
void obToInv(uint8 index, uint8 flag, uint16 x, uint16 y);
void showRyanPage();
void findAllRyan();
void findAllRyan(uint8 *inv);
void fillRyan();
void useRoutine();
void hangOn();
void hangOn(uint16 frameCount);
void hangOnW();
void hangOnW(uint16 frameCount);
void hangOnP();
void hangOnP(uint16 count);
void showIcon();
uint8 findNextColon(uint8 **string);
void findNextColon();
uint8 *getObTextStartCPP();
void useText(const uint8 *string);
void useText();
void getBlockOfPixel();
uint8 getBlockOfPixel(uint8 x, uint8 y);
void bresenhams();
void examineObText();
void sortOutMap();
void showCity();
uint16 getPersFrame(uint8 index);
void convIcons();
void examineOb(bool examineAgain = true);
void showWatch();
void dumpWatch();
void showTime();
void roomName();
void transferText();
void initRain();
Rain *splitIntoLines(uint8 x, uint8 y, Rain *rain);
uint8 *mainPalette();
uint8 *startPalette();
uint8 *endPalette();
void clearStartPal();
void clearEndPal();
void palToStartPal();
void endPalToStart();
void startPalToEnd();
void palToEndPal();
void fadeCalculation();
void watchCount();
void zoomIcon();
void loadRoom();
void getUnderMenu();
void putUnderMenu();
void textForMonk();
void textForEnd();
void readSetData();
void loadRoomsSample();
void fadeupYellows();
void fadeupMonFirst();
void printLogo();
void useMon();
void scrollMonitor();
void showCurrentFile();
void input();
void monPrint();
const char *monPrint(const char *string);
Frame *tempGraphics();
Frame *tempGraphics2();
Frame *tempGraphics3();
void accessLightOn();
void accessLightOff();
void randomAccess(uint16 count);
void randomAccess();
void monMessage(uint8 index);
void monMessage();
void netError();
void turnOnPower();
void powerLightOn();
void powerLightOff();
void playChannel0();
void playChannel0(uint8 index, uint8 repeat);
void playChannel1();
void playChannel1(uint8 index);
void showMainOps();
void showDiscOps();
void createPanel();
void createPanel2();
void findRoomInLoc();
void reelsOnScreen();
void reconstruct();
void look();
void autoLook();
void doLook();
void useTempCharset();
void useCharset1();
void getBackFromOb();
void showFirstUse();
void showSecondUse();
void actualSave();
void actualLoad();
void loadPosition(unsigned int slot);
void savePosition(unsigned int slot, const uint8 *descbuf);
void openForSave(unsigned int slot);
void openForLoad(unsigned int slot);
uint16 allocateAndLoad(unsigned int size);
void clearAndLoad(uint16 seg, uint8 c, unsigned int size, unsigned int maxSize);
void loadRoomData(const Room* room, bool skipDat);
void restoreAll();
void restoreReels();
void viewFolder();
void checkFolderCoords();
void loadFolder();
void showFolder();
void showLeftPage();
void showRightPage();
void nextFolder();
void lastFolder();
void folderHints();
void folderExit();
uint8 getLocation(uint8 index);
void getLocation();
void setLocation(uint8 index);
void setLocation();
const uint8 *getTextInFile1(uint16 index);
void loadTempText();
void loadTempText(const char *fileName);
void loadTravelText();
void drawFloor();
void allocateBuffers();
void workToScreenM();
bool checkSpeed(ReelRoutine *routine);
void checkSpeed();
void sparkyDrip(ReelRoutine &routine);
void otherSmoker(ReelRoutine &routine);
void gamer(ReelRoutine &routine);
void eden(ReelRoutine &routine);
void sparky(ReelRoutine &routine);
|