forked from historicalsource/leisuresuitlarry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GAMEDEFS.H
422 lines (382 loc) · 9.29 KB
/
GAMEDEFS.H
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
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
[
[ gamedefs.h
[
[ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS GAME DEFINITIONS
[
[ Wednesday, June 10, 1987 at 9:00 p.m.
[
%include "views.h"
%tokens "..\\words.tok"
%include "sysdefs.h"
%include "flag_var.h"
[************ CONSTANTS ************]
#define CYCLES_BEFORE_DEATH 44
#define TEXT_COLOR 15
#define BG_COLOR 0
#define NORMAL_STEP_SIZE 1
#define FALLING_STEP_SIZE 3
#define EGO_STUNNED_TIME 5
#define NOWHERE 0
#define DOOR_CYCLE_TIME 3
#define SMILE_SECONDS 5
#define FROWN_SECONDS 7
#define INVENTORY 255
[************ FLAGS ************]
[Only the interpreter can use 0-29 (globals)
[ Any room can use 220-239 (lf's)
[Only dynamic logics can use 240-255 (df's)
%flag forceAtest 30
%flag testing 31
%flag debugging 32
%flag xyOn 33
%flag keepCycling 34
%flag noCycling 35
%flag ignoreSpecial 36
%flag ignoreWater 37
%flag demo 38
%flag doit 39
%flag done 40
%flag egoArrived 41
%flag clockOn 42
%flag updateClock 43
%flag aSecondPassed 44
%flag myHaveMatch 45
%flag outOfMemory 46
%flag survivableFall 47
%flag handsOff 48
%flag preventNewRoom 49
%flag certainDeath 50
%flag egoDeathDone 51
%flag musicDone 52
%flag soundDone 53
%flag notCloseEnough 54
%flag alreadyGotIt 55
%flag TVOn 56
%flag knowsPassword 57
%flag smellsLikeDogPiss 58
%flag toiletPaperOnShoe 59
%flag lookedAtCabbie 60
%flag nearTaxi 61
%flag wearingRubber 62
%flag scoredHooker 63
%flag hookerWindowOpen 64
%flag alleyWindowBroken 65
%flag mouthOK 66
%flag OK 67
%flag dontHaveIt 68
%flag nearPerson 69
%flag noFawnInDisco 70
%flag gaveFawnRose 71
%flag gaveFawnCandy 72
%flag gaveFawnRing 73
%flag dancedWithFawn 74
%flag scriptDone 75
%flag faithGone 76
%flag beenIn43 77
%flag answeredSurvey 78
%flag gaveFawnEverything 79
%flag orderedWine 80
%flag ropeOnBed 81
%flag fawnInRoom 82
%flag unsuccessfulCeremony 83
%flag eveGone 84
%flag programControl 85
%flag egoLoweringDone 86
%flag preventSaveGame 87
%flag gaveEveApple 88
%flag diedOfTheClap 89
%flag pimpWatchingTV 90
%flag wornRubber 91
%flag satWithFawn 92
%flag betInProgress 93
%flag boughtWhiskey 94
%flag lookedAtFawn 95
%flag talkedToFawn 96
%flag askedForMoney 97
%flag gotPimpToWatchTV 98
%flag paidPimpForWhore 99
%flag rodeInCab 100
%flag mouseMachine 101
%flag twoButtonJoystick 102
%flag talkedToFlasher 103
%flag heardLiquorStoreNumber 104
%flag beenIn11 105
%flag requestedASaveGame 106
%flag mouthSmellsBad 107
%flag typing 108
%flag passedTest 109
%flag marriedFawn 110
%flag seenDeliveryBoyGag 111
%flag readSideOfPhone 112
%flag answeredSurveyFirstTime 113
%flag heardSurveyFirstTime 114
%flag orderedWineFirstTime 115
%flag poopedInCan 116
%flag satOnWhoopieCushion 117
%flag slowProcessor 118
%flag shownPassToBouncer 119
%flag readMagazine 120
%flag dialedSierra 121
%flag makeFawnDance 122
%flag memoryCheck 123
%flag makeEgoRise 124 [ in disco scene
%flag makeFawnSplit 125
%flag inflatedDoll 126
%flag sprayDone 127
%flag beenInPenthouse 128
[nextflag
[************ VARS ************]
[Only the interpreter can use 0-29 (globals)
[ Any room can use 220-239 (lv's)
[Only dynamic logics can use 240-255 (dv's)
%var currentStatus 30
#define NORMAL 0
#define DEAD 1
#define SLEEPING 2
#define COLLAPSING 3
#define STUNNED 4
#define FALLING 5
#define WALKING 6
#define ON_BAR_STOOL 7
#define DRUNK 8
#define ON_TOILET 9
#define DROWNING 10
#define HUMPING_HOOKER 11
#define LEAVING_WINDOW 12
#define HANGING_BY_ROPE 13
#define IN_DUMPSTER 14
#define RUN_OVER 15
#define DANCING 16
#define SITTING 17
#define IN_ELEVATOR 18
#define TIED_TO_BED 19
#define STIFFED_CABBIE 20
#define PISSING 21
#define CHASING_DOLL 22
#define FOLLOWING_EVE 23
#define DYING_OF_CLAP 25
#define NAKED 26
#define RECYCLING 27
[ #define 28
[ #define 29
%var egoLocation 31
%var x 32
%var y 33
%var sourceX 34
%var sourceY 35
%var targetX 36
%var targetY 37
%var egoX 38
%var egoY 39
%var oldEgoX 40
%var oldEgoY 41
%var oldEgoDir 42
%var oldSeconds 43
%var oldAnimationInterval 44
#define FASTEST_SPEED 0
#define FAST_SPEED 1
#define NORMAL_SPEED 2
#define SLOW_SPEED 3
%var debug0 45
%var debug1 46
%var startClimbing 47
%var roomBottom 48
%var zero 49
%var deathMessage 50
%var testRoom 51
%var work 52
%var view 53
%var loop 54
%var cell 55
%var step 56
%var priority 57
%var message 58
%var egoCycleTime 59
%var egoStepTime 60
%var egoStepSize 61
%var passInRoom 62
%var secondsInRoom 63
%var taxiScript 64
#define TAXI_WAITING 4
%var script 65
%var scriptCycles 66
%var scriptTimer 67
%var clearStatusSeconds 68
%var mouthMessage 69
%var sprayCount 70
%var spraySeconds 71
%var sprayMinutes 72
#define SPRAY_INIT_MINUTES 10
[ %var 73
[ %var 74
%var deathTimer 75
%var newRoom 76
%var currentEgoView 77
%var oldEdgeEgoHit 78
%var destinationFloor 79
%var breathSpraySeconds 80
%var picture 81
%var TVChannel 82
%var moneyTimer 83
%var one 84
%var two 85
%var three 86
%var four 87
%var five 88
%var oldLastChar 89
%var dollars 90
%var secondsSinceKeystroke 91
%var answer 92
%var correctAnswer 93
%var question 94
%var questionStatus 95
%define waiting 1
%define askAnother 2
%define allDone 3
%define waitAwhile 4
%define waitAwhileAlthoughCorrect 5
%var currentQuestion 96
%var cabFareMin 97
%var notMovedCycles 98
%var cabRideLength 99
%var fawnTalkCount 100
%var oldCurrentScore 101
[nextvar
[ %var 102
[ %var 103
[ %var 104
[ %var 105
[ %var 106
[ %var 107
[ %var 108
[ %var 109
[ %var 110
[ %var 111
[ %var 112
[ %var 113
[ %var 114
%var gameSeconds 115
%var gameMinutes 116
%var gameHours 117
%var gameDays 118
%var watchHours 119
#define WATCH_INIT_HOURS 10
[*********** ANIMATED OBJECTS ***********]
[Define here all objects shared by multiple rooms.
%object ego 0
[ %object a 10
[ %object a 11
%object aCop 12
%object aTaxi 13
%object aDog 14
%object aCar 15
[********* INVENTORY OBJECTS **********]
%object iWallet 1
%object iBreathSpray 2
%object iPocketLint 3
%object iWatch 4
%object iApple 5
%object iRing 6
%object iWhiskey 7
%object iRemoteControl 8
%object iRose 9
%object iRubber 10
%object iUsedRubber 11
%object iCandy 12
%object iDoll 13
%object iDiscoPass 14
%object iPocketKnife 15
%object iWine 16
%object iMagazine 17
%object iHammer 18
%object iPills 19
%object iRope 20
#define SIZE_OF_INVENTORY 20
[********* SOUND EFFECTS **********]
#define sEgoFalling 1
#define sError 2
#define sSlots 3
#define sSlotsWinner 4
#define sCardsShuffling 5
#define sCard 6
#define sBJWinner 7
#define sDrummer 8
#define sWhoopieCushion 9
#define sTaxiTires 10
#define sDeathCar 11
#define sPissing 12
#define sBang 13
#define sFart 14
#define sDollDeflating 15
[************ MUSIC *************]
#define mTitle 21
#define mDog 22
#define mWedding 23
#define mWinner 24
#define mWhoops 25
#define mAlley 26
#define mRm14Drunk 27
#define mRm22Drunk 28
#define mCop 29
#define mDisco 30
#define mCanCan 31
#define mSunrise 32
#define mFuneral 33
[****** ROOM AND PICTURE NAMES ******]
#define rmTitle 1
#define picCredits1 2
#define picCredits2 3
#define picCredits3 4
#define picFrame 5
#define rmAgeTest 6
#define picBlack 7
#define rmWorkshop 8
#define rmDarkAlley 9
#define rmInsideTaxi 10
#define rmOutsideBar 11
#define rmAlley 12
#define rmToilet 13
#define rmHallway 14
#define rmInsideBar 15
#define rmBackroom 16
#define rmHooker 17
%define picHookerCloseup 18
%define rmSunrise 19
%define rmBoss 20
#define rmInside7_11 21
#define rmOutside7_11 22
#define rmOutsideDisco 23
#define rmInsideDisco 24
%define rmFawnCloseup 25
%define picFaithCloseup 26
%define picEveCloseup 27
%define picDollCloseup 28
%define picBoss2 29
%define picBoss3 30
#define rmInsideCasino 31
#define rmOutsideCasino 32
#define rmOutsideChapel 33
#define rmInsideChapel 34
#define rmElevatorBottom 35
#define rmLounge 36
#define rmSlots 37
#define rmBlackjack 38
[ %define rm 39
#define rmElevators 40
#define rmHoneymoonSuite 41
#define rmSecurityDesk 42
#define rmHotTub 43
#define rmLivingRoom 44
#define rmBedroom 45
#define rmRestart rmOutsideBar
[********** DYNAMIC LOGICS **********]
#define lgcRm0InitLog 50
#define lgcStartup 51
#define lgcDebug 52
#define lgcTrace 53
#define lgcError 54
#define lgcHelp 55
#define lgcBlackjack 56
#define lgcStreet 57
#define lgcSlots 58
#define lgcID 59