Develop and Download Open Source Software

Browse Subversion Repository

Contents of /users/dbug/UpgradeTime/Encounter/FloppyBuilderVersion/code/game_text.s

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1716 - (show annotations) (download)
Sun Nov 26 13:22:24 2023 UTC (5 months, 2 weeks ago) by dbug
File size: 37429 byte(s)
Started migrating the bytestream commands into separate functions to implement them more efficiently in a separate assembler module (bytestream.s).
Added a COMMAND_STOP_BREAKPOINT command to make debugging easier
Moved the stream pointer in zero page to facilitate the assembler implementation.

Free memory: 2914 bytes 
1
2 #include "params.h"
3 #include "floppy_description.h"
4 #include "game_enums.h"
5
6 .text
7
8 _StartGameTextData
9
10 #ifdef LANGUAGE_FR
11 #pragma osdk replace_characters : é:{ è:} ê:| à:@ î:i
12 #endif
13
14 // Small feedback messages and prompts
15 _StartMessagesAndPrompts
16 #ifdef LANGUAGE_FR
17 _gTextAskInput .byt "Quels sont vos instructions ?",0
18 _gTextNothingHere .byt "Il n'y a rien d'important ici",0
19 _gTextCanSee .byt "Je vois ",0
20 _gTextScore .byt "Score:",0
21 _gTextHighScoreAskForName .byt "Nouveau top score ! Votre name SVP ?",0
22 _gTextCarryInWhat .byt "Transporte dans quoi ?",0
23 _gTextPetrolEvaporates .byt "Le pétrole svapore",0
24 _gTextWaterDrainsAways .byt "L'eau scoule",0
25 _gTextClimbUpLadder .byt "Vous grimpez lchelle",0
26 _gTextClimbDownLadder .byt "Vous descendez lchelle",0
27 _gTextPositionLadder .byt "Vous mettez lchelle en place",0
28 _gTextClimbUpRope .byt "Vous grimpez la corde",0
29 _gTextClimbDownRope .byt "Vous descendez la corde",0
30 _gTextAttachRopeToTree .byt "Vous attachez la corde à l'arbre",0
31 _gTextDeadDog .byt "un chien mort",0
32 _gTextDeadThug .byt "un malfaiteur mort",0
33 _gTextFoundSomething .byt "Vous avez trouvé quelque chose",0
34 _gTextDogGrowlingAtYou .byt "un alsacien menacant",0
35 _gTextThugAsleepOnBed .byt "un malfaiteur assoupi sur le lit",0
36 _gTextNotDead .byt "Pas mort",0 // Debugging text
37 _gTextDogJumpingAtMe .byt "un chien qui me saute dessus",0
38 _gTextThugShootingAtMe .byt "un malfaiteur qui me tire dessus",0
39 _gTextAGenericWhiteBag .byt "Juste un sac blanc normal",0
40 _gTextThickBookBookmarks .byt "Un livre épais avec des marques",0
41 #else
42 _gTextAskInput .byt "What are you going to do now?",0
43 _gTextNothingHere .byt "There is nothing of interest here",0
44 _gTextCanSee .byt "I can see ",0
45 _gTextScore .byt "Score:",0
46 _gTextHighScoreAskForName .byt "New highscore! Your name please?",0
47 _gTextCarryInWhat .byt "Carry it in what?",0
48 _gTextPetrolEvaporates .byt "The petrol evaporates",0
49 _gTextWaterDrainsAways .byt "The water drains away",0
50 _gTextClimbUpLadder .byt "You climb up the ladder",0
51 _gTextClimbDownLadder .byt "You climb down the ladder",0
52 _gTextPositionLadder .byt "You position the ladder properly",0
53 _gTextClimbUpRope .byt "You climb up the rope",0
54 _gTextClimbDownRope .byt "You climb down the rope",0
55 _gTextAttachRopeToTree .byt "You attach the rope to the tree",0
56 _gTextDeadDog .byt "a dead dog",0
57 _gTextDeadThug .byt "a dead thug",0
58 _gTextFoundSomething .byt "You found something interesting",0
59 _gTextDogGrowlingAtYou .byt "an alsatian growling at you",0
60 _gTextThugAsleepOnBed .byt "a thug asleep on the bed",0
61 _gTextNotDead .byt "Not dead",0 // Debugging text
62 _gTextDogJumpingAtMe .byt "a dog jumping at me",0
63 _gTextThugShootingAtMe .byt "a thug shooting at me",0
64 _gTextAGenericWhiteBag .byt "It's just a white generic bag",0
65 _gTextThickBookBookmarks .byt "A thick book with some boomarks",0
66 #endif
67 _EndMessagesAndPrompts
68
69 // Error messages
70 _StartErrorMessages
71 #ifdef LANGUAGE_FR
72 _gTextErrorInvalidDirection .byt "Impossible d'aller par la",0
73 _gTextErrorCantTakeNoSee .byt "Je ne vois pas ca ici",0
74 _gTextErrorAlreadyHaveItem .byt "Vous avez déjà cet objet",0
75 _gTextErrorTooHeavy .byt "C'est trop lourd",0
76 _gTextErrorRidiculous .byt "Ne soyez pas ridicule",0
77 _gTextErrorAlreadyFull .byt "Désolé, c'est déja plein",0
78 _gTextErrorMissingContainer .byt "Vous n'avez pas ce contenant",0
79 _gTextErrorDropNotHave .byt "Impossible, vous ne l'avez pas",0
80 _gTextErrorUnknownItem .byt "Je ne connais pas cet objet",0
81 _gTextErrorItemNotPresent .byt "Cet objet n'est pas présent",0
82 _gTextErrorCannotRead .byt "Je ne peux pas lire ca",0
83 _gTextErrorCannotUseHere .byt "Pas utilisable ici",0
84 _gTextErrorDontKnowUsage .byt "Je ne sais pas l'utiliser",0
85 _gTextErrorCannotAttachRope .byt "Impossible de l'attacher",0
86 _gTextErrorLadderInHole .byt "Lchelle est déja dans le trou",0
87 _gTextErrorCantClimbThat .byt "Je ne sais pas grimper ca",0
88 _gTextErrorNeedPositionned .byt "Ca doit d'abort être en place",0
89 _gTextErrorItsNotHere .byt "Ca n'est pas là",0
90 _gTextErrorAlreadyDead .byt "Déjà mort",0
91 _gTextErrorShouldSaveGirl .byt "Vous êtes censé la sauver",0
92 _gTextErrorShouldSubdue .byt "Il faut d'abord le maitriser",0
93 _gTextErrorAlreadySearched .byt "Vous l'avez déjà fouillé",0
94 _gTextErrorInappropriate .byt "Probablement inapproprié",0
95 _gTextErrorDeadDontMove .byt "Les morts ne bougent pas",0
96 _gTextErrorNothingSpecial .byt "Rien de spécial",0
97 #else
98 _gTextErrorInvalidDirection .byt "Impossible to move in that direction",0
99 _gTextErrorCantTakeNoSee .byt "You can only take something you see",0
100 _gTextErrorAlreadyHaveItem .byt "You already have this item",0
101 _gTextErrorTooHeavy .byt "This is too heavy",0
102 _gTextErrorRidiculous .byt "Don't be ridiculous",0
103 _gTextErrorAlreadyFull .byt "Sorry, that's full already",0
104 _gTextErrorMissingContainer .byt "You don't have this container",0
105 _gTextErrorDropNotHave .byt "You can only drop something you have",0
106 _gTextErrorUnknownItem .byt "I do not know what this item is",0
107 _gTextErrorItemNotPresent .byt "This item does not seem to be present",0
108 _gTextErrorCannotRead .byt "I can't read that",0
109 _gTextErrorCannotUseHere .byt "I can't use it here",0
110 _gTextErrorDontKnowUsage .byt "I don't know how to use that",0
111 _gTextErrorCannotAttachRope .byt "You can't attach the rope",0
112 _gTextErrorLadderInHole .byt "The ladder is already in the hole",0
113 _gTextErrorCantClimbThat .byt "I don't know how to climb that",0
114 _gTextErrorNeedPositionned .byt "It needs to be positionned first",0
115 _gTextErrorItsNotHere .byt "It's not here",0
116 _gTextErrorAlreadyDead .byt "Already dead",0
117 _gTextErrorShouldSaveGirl .byt "You are supposed to save her",0
118 _gTextErrorShouldSubdue .byt "I should subdue him first",0
119 _gTextErrorAlreadySearched .byt "You've already frisked him",0
120 _gTextErrorInappropriate .byt "Probably inappropriate",0
121 _gTextErrorDeadDontMove .byt "Dead don't move",0
122 _gTextErrorNothingSpecial .byt "Nothing special",0
123 #endif
124 _EndErrorMessages
125
126
127 // Places
128 _StartLocationNames
129 #ifdef LANGUAGE_FR
130 // 0 1 2 3
131 // 0123456789012345678901234567890123456789
132 _gTextLocationMarketPlace .byt "Vous êtes sur la place du marché",0
133 _gTextLocationDarkAlley .byt "Vous êtes dans une allée sombre",0
134 _gTextLocationRoad .byt "Une longue route stend devant vous",0
135
136 _gTextLocationDarkTunel .byt "Vous êtes dans un tunnel humide",0
137 _gTextLocationMainStreet .byt "Vous êtes dans la rue principale",0
138 _gTextLocationNarrowPath .byt "Vous êtes sur un chemin étroit",0
139
140 _gTextLocationInThePit .byt "Vous êtes au fond d'un trou",0
141 _gTextLocationOldWell .byt "Vous êtes prês d'un vieux puit",0
142 _gTextLocationWoodedAvenue .byt "Vous êtes dans une allée arbroisée",0
143
144 _gTextLocationGravelDrive .byt "Vous êtes sur un passage gravilloné",0
145 _gTextLocationTarmacArea .byt "Vous êtes sur une zone asphaltée",0
146 _gTextLocationZenGarden .byt "Vous êtes dans un jarding zen relaxant",0
147
148 _gTextLocationFrontLawn .byt "Vous êtes sur une large pelouse",0
149 _gTextLocationGreenHouse .byt "Vous êtes dans une petite serre",0
150 _gTextLocationTennisCourt .byt "Vous êtes sur un cours de tennis",0
151
152 _gTextLocationVegetableGarden .byt "Vous êtes dans un jardin potagé",0
153 _gTextLocationFishPond .byt "Vous êtes près d'un bac a poisson",0
154 _gTextLocationTiledPatio .byt "Vous êtes sur un patio carellé",0
155
156 _gTextLocationAppleOrchard .byt "Vous êtes dans une pommeraie",0
157 _gTextLocationDarkerCellar .byt "Cette pièce est encore plus sombre",0
158 _gTextLocationCellar .byt "Une cave frigide et humide",0
159
160 _gTextLocationNarrowStaircase .byt "Vous êtes dans un escalier étroit",0
161 _gTextLocationEntranceLounge .byt "Vous êtes dans un salon",0
162 _gTextLocationEntranceHall .byt "Vous êtes dans un hall imposant",0
163
164 _gTextLocationLibrary .byt "Probablement une bibliothèque",0
165 _gTextLocationDiningRoom .byt "Apparement une salle a manger",0
166 _gTextLocationStaircase .byt "Vous êtes dans un large escalier",0
167
168 _gTextLocationGamesRoom .byt "La salle de jeux",0
169 _gTextLocationSunLounge .byt "Le solarium",0
170 _gTextLocationKitchen .byt "Visiblement la cuisine",0
171
172 _gTextLocationNarrowPassage .byt "Vous êtes dans un passage étroit",0
173 _gTextLocationGuestBedroom .byt "Une chambre d'amis",0
174 _gTextLocationChildBedroom .byt "La chambre d'un enfant",0
175
176 _gTextLocationMasterBedRoom .byt "La chambre principale",0
177 _gTextLocationShowerRoom .byt "Une salle de bain carellée",0
178 _gTextLocationTinyToilet .byt "Des petites toilettes",0
179
180 _gTextLocationEastGallery .byt "La gallerie est",0
181 _gTextLocationBoxRoom .byt "Une petite loge",0
182 _gTextLocationPadlockedRoom .byt "Une porte blindée cadenassée",0
183
184 _gTextLocationClassyBathRoom .byt "Une salle de bain luxieuse",0
185 _gTextLocationWestGallery .byt "La gallerie ouest",0
186 _gTextLocationMainLanding .byt "Vous êtes sur le palier principal",0
187
188 _gTextLocationOutsidePit .byt "En dehors d'un trou profond",0
189
190 _gTextLocationGirlRoomOpenned .byt "La pièce avec la fille (ouverte)",0
191 #else
192 _gTextLocationMarketPlace .byt "You are in a deserted market square",0
193 _gTextLocationDarkAlley .byt "You are in a dark, seedy alley",0
194 _gTextLocationRoad .byt "A long road stretches ahead of you",0
195
196 _gTextLocationDarkTunel .byt "You are in a dark, damp tunnel",0
197 _gTextLocationMainStreet .byt "You are on the main street",0
198 _gTextLocationNarrowPath .byt "You are on a narrow path",0
199
200 _gTextLocationInThePit .byt "You are insided a deep pit",0
201 _gTextLocationOldWell .byt "You are near to an old-fashioned well",0
202 _gTextLocationWoodedAvenue .byt "You are in a wooded avenue",0
203
204 _gTextLocationGravelDrive .byt "You are on a wide gravel drive",0
205 _gTextLocationTarmacArea .byt "You are in an open area of tarmac",0
206 _gTextLocationZenGarden .byt "You are in a relaxing zen garden",0
207
208 _gTextLocationFrontLawn .byt "You are on a huge area of lawn",0
209 _gTextLocationGreenHouse .byt "You are in a small greenhouse",0
210 _gTextLocationTennisCourt .byt "You are on a lawn tennis court",0
211
212 _gTextLocationVegetableGarden .byt "You are in a vegetable plot",0
213 _gTextLocationFishPond .byt "You are standing by a fish pond",0
214 _gTextLocationTiledPatio .byt "You are on a tiled patio",0
215
216 _gTextLocationAppleOrchard .byt "You are in an apple orchard",0
217 _gTextLocationDarkerCellar .byt "This room is even darker than the last",0
218 _gTextLocationCellar .byt "This is a cold, damp cellar",0
219
220 _gTextLocationNarrowStaircase .byt "You are on some gloomy, narrow steps",0
221 _gTextLocationEntranceLounge .byt "You are in the lounge",0
222 _gTextLocationEntranceHall .byt "You are in an imposing entrance hall",0
223
224 _gTextLocationLibrary .byt "This looks like a library",0
225 _gTextLocationDiningRoom .byt "A dining room, or so it appears",0
226 _gTextLocationStaircase .byt "You are on a sweeping staircase",0
227
228 _gTextLocationGamesRoom .byt "This looks like a games room",0
229 _gTextLocationSunLounge .byt "You find yourself in a sun-lounge",0
230 _gTextLocationKitchen .byt "This is obviously the kitchen",0
231
232 _gTextLocationNarrowPassage .byt "You are in a narrow passage",0
233 _gTextLocationGuestBedroom .byt "This seems to be a guest bedroom",0
234 _gTextLocationChildBedroom .byt "This is a child's bedroom",0
235
236 _gTextLocationMasterBedRoom .byt "This must be the master bedroom",0
237 _gTextLocationShowerRoom .byt "You are in a tiled shower-room",0
238 _gTextLocationTinyToilet .byt "This is a tiny toilet",0
239
240 _gTextLocationEastGallery .byt "You have found the east gallery",0
241 _gTextLocationBoxRoom .byt "This is a small box-room",0
242 _gTextLocationPadlockedRoom .byt "You see a padlocked steel-plated door",0
243
244 _gTextLocationClassyBathRoom .byt "You are in an ornate bathroom",0
245 _gTextLocationWestGallery .byt "This is the west gallery",0
246 _gTextLocationMainLanding .byt "You are on the main landing",0
247
248 _gTextLocationOutsidePit .byt "Outside a deep pit",0
249
250 _gTextLocationGirlRoomOpenned .byt "The girl room (openned lock)",0
251 #endif
252 _EndLocationNames
253
254 // Items
255 _StartItemNames
256 #ifdef LANGUAGE_FR
257 // Containers
258 _gTextItemTobaccoTin .byt "une tabatière vide",0
259 _gTextItemBucket .byt "un seau en bois",0
260 _gTextItemCardboardBox .byt "une boite en carton",0
261 _gTextItemFishingNet .byt "un filet de pêche",0
262 _gTextItemPlasticBag .byt "un sac en plastique",0
263 _gTextItemSmallBottle .byt "une petite bouteille",0
264 // Items requiring containers
265 _gTextItemBlackDust .byt "de la poudre noire",0
266 _gTextItemYellowPowder .byt "poudre jaune granuleuse",0
267 _gTextItemPetrol .byt "du pétrole",0
268 _gTextItemWater .byt "de l'eau",0
269 // Normal items
270 _gTextItemLockedPanel .byt "un paneau mural verouillé",0
271 _gTextItemOpenPanel .byt "un paneau mural ouvert",0
272 _gTextItemSmallHoleInDoor .byt "un petit trou dans la porte",0
273 _gTextItemBrokenWindow .byt "une vitre brisée",0
274 _gTextItemLargeDove .byt "une grosse colombe",0
275 _gTextItemTwine .byt "un peu de ficelle",0
276 _gTextItemSilverKnife .byt "un coueau en argent",0
277 _gTextItemLadder .byt "une échelle",0
278 _gTextItemAbandonedCar .byt "une voiture abandonnée",0
279 _gTextItemAlsatianDog .byt "un alsacien qui grogne",0
280 _gTextItemMeat .byt "un morceau de viande",0
281 _gTextItemBread .byt "du pain complet",0
282 _gTextItemRollOfTape .byt "un rouleau de bande adhésive",0
283 _gTextItemChemistryBook .byt "un livre de chimie",0
284 _gTextItemBoxOfMatches .byt "une boite d'allumettes",0
285 _gTextItemSnookerCue .byt "une queue de billard",0
286 _gTextItemThug .byt "un voyou endormi sur le lit",0
287 _gTextItemHeavySafe .byt "un gros coffre fort",0
288 _gTextItemHandWrittenNote .byt "une note manuscripte",0
289 _gTextItemRope .byt "une longueur de corde",0
290 _gTextItemRopeHangingFromWindow .byt "une core qui pend de la fenêtre",0
291 _gTextItemRollOfToiletPaper .byt "un rouleau de papier toilette",0
292 _gTextItemHosePipe .byt "un tuyau d'arrosage",0
293 _gTextItemOpenSafe .byt "un coffre fort ouvert",0
294 _gTextItemBrokenGlass .byt "des morceaux de glace",0
295 _gTextItemAcidBurn .byt "une brulure d'acide",0
296 _gTextItemYoungGirl .byt "une jeune fille",0
297 _gTextItemFuse .byt "un fusible",0
298 _gTextItemGunPowder .byt "de la poudre à cannon",0
299 _gTextItemKeys .byt "un jeu de clefs",0
300 _gTextItemNewspaper .byt "un journal",0
301 _gTextItemBomb .byt "une bombe",0
302 _gTextItemPistol .byt "un pistolet",0
303 _gTextItemBullets .byt "trois balles de calibre .38",0
304 _gTextItemYoungGirlOnFloor .byt "une jeunne fille attachée au sol",0
305 _gTextItemChemistryRecipes .byt "des formules de chimie",0
306 _gTextItemUnitedKingdomMap .byt "une carte du royaume uni",0
307 _gTextItemLadderInTheHole .byt "une échelle dans un trou",0
308 _gTextItemeRopeAttachedToATree .byt "une corde attachée à un arbre",0
309 #else
310 // Containers
311 _gTextItemTobaccoTin .byt "an empty tobacco tin",0
312 _gTextItemBucket .byt "a wooden bucket",0
313 _gTextItemCardboardBox .byt "a cardboard box",0
314 _gTextItemFishingNet .byt "a fishing net",0
315 _gTextItemPlasticBag .byt "a plastic bag",0
316 _gTextItemSmallBottle .byt "a small bottle",0
317 // Items requiring containers
318 _gTextItemBlackDust .byt "black dust",0
319 _gTextItemYellowPowder .byt "gritty yellow powder",0
320 _gTextItemPetrol .byt "some petrol",0
321 _gTextItemWater .byt "some water",0
322 // Normal items
323 _gTextItemLockedPanel .byt "a locked panel on the wall",0
324 _gTextItemOpenPanel .byt "an open panel on wall",0
325 _gTextItemSmallHoleInDoor .byt "a small hole in the door",0
326 _gTextItemBrokenWindow .byt "the window is broken",0
327 _gTextItemLargeDove .byt "a large dove",0
328 _gTextItemTwine .byt "some twine",0
329 _gTextItemSilverKnife .byt "a silver knife",0
330 _gTextItemLadder .byt "a ladder",0
331 _gTextItemAbandonedCar .byt "an abandoned car",0
332 _gTextItemAlsatianDog .byt "an alsatian growling at you",0
333 _gTextItemMeat .byt "a joint of meat",0
334 _gTextItemBread .byt "some brown bread",0
335 _gTextItemRollOfTape .byt "a roll of sticky tape",0
336 _gTextItemChemistryBook .byt "a chemistry book",0
337 _gTextItemBoxOfMatches .byt "a box of matches",0
338 _gTextItemSnookerCue .byt "a snooker cue",0
339 _gTextItemThug .byt "a thug asleep on the bed",0
340 _gTextItemHeavySafe .byt "a heavy safe",0
341 _gTextItemHandWrittenNote .byt "a hand written note",0
342 _gTextItemRope .byt "a length of rope",0
343 _gTextItemRopeHangingFromWindow .byt "a rope hangs from the window",0
344 _gTextItemRollOfToiletPaper .byt "a roll of toilet tissue",0
345 _gTextItemHosePipe .byt "a hose-pipe",0
346 _gTextItemOpenSafe .byt "an open safe",0
347 _gTextItemBrokenGlass .byt "broken glass",0
348 _gTextItemAcidBurn .byt "an acid burn",0
349 _gTextItemYoungGirl .byt "a young girl",0
350 _gTextItemFuse .byt "a fuse",0
351 _gTextItemGunPowder .byt "some gunpowder",0
352 _gTextItemKeys .byt "a set of keys",0
353 _gTextItemNewspaper .byt "a newspaper",0
354 _gTextItemBomb .byt "a bomb",0
355 _gTextItemPistol .byt "a pistol",0
356 _gTextItemBullets .byt "three .38 bullets",0
357 _gTextItemYoungGirlOnFloor .byt "a young girl tied up on the floor",0
358 _gTextItemChemistryRecipes .byt "a couple chemistry recipes",0
359 _gTextItemUnitedKingdomMap .byt "a map of the United Kingdom",0
360 _gTextItemLadderInTheHole .byt "a ladder in a hole",0
361 _gTextItemeRopeAttachedToATree .byt "a rope attached to a tree",0
362 #endif
363 _EndItemNames
364
365
366
367 // Scene descriptions
368 _StartSceneScripts
369 _gDescriptionTeenagerRoom .byt "Teenager room?",0
370
371 _gDescriptionNone
372 END
373
374 _gDescriptionDarkTunel
375 WAIT(DELAY_FIRST_BUBBLE)
376 .byt COMMAND_BUBBLE,2,64
377 .byt 4,4,0,"Like most tunnels: dark, damp,",0
378 .byt 4,13,1,"and somewhat scary.",0
379 END
380
381 _gDescriptionMarketPlace
382 #if 1 // Debugging/testing code
383 WAIT(1)
384 .byt COMMAND_FILL_RECTANGLE,10,10,50,50,127
385 .byt COMMAND_FILL_RECTANGLE,20,20,20,20,0
386 .byt COMMAND_TEXT,10,10,64,"TEST!",0
387 ;.byt COMMAND_STOP_BREAKPOINT
388 WAIT(255)
389 #endif
390 WAIT(DELAY_FIRST_BUBBLE)
391 .byt COMMAND_BUBBLE,2,64
392 #ifdef LANGUAGE_FR
393 .byt 4,100,0,"La place du marché",0
394 .byt 4,106,4,"est désertée",0
395 #else
396 .byt 4,100,0,"The market place",0
397 .byt 4,106,4,"is deserted",0
398 #endif
399 END
400
401
402 _gDescriptionDarkAlley
403 WAIT(DELAY_FIRST_BUBBLE)
404 .byt COMMAND_BUBBLE,2,64
405 #ifdef LANGUAGE_FR
406 .byt 153,85,0,"Rats, graffittis,",0
407 .byt 136,98,0,"et seringues.",0
408 #else
409 .byt 153,85,0,"Rats, graffitti,",0
410 .byt 136,98,0,"and used syringes.",0
411 #endif
412 END
413
414 _gDescriptionRoad
415 WAIT(DELAY_FIRST_BUBBLE)
416 .byt COMMAND_BUBBLE,2,64
417 .byt 4,100,0,"All roads lead...",0
418 .byt 4,106,4,"...somewhere?",0
419 END
420
421 _gDescriptionMainStreet
422 WAIT(DELAY_FIRST_BUBBLE)
423 .byt COMMAND_BUBBLE,2,64
424 .byt 4,4,0,"A good old",0
425 .byt 4,16,0,"medieval church",0
426 END
427
428 _gDescriptionNarrowPath
429 WAIT(DELAY_FIRST_BUBBLE)
430 .byt COMMAND_BUBBLE,2,64
431 .byt 130,5,0,"Are these the open",0
432 .byt 109,17,0,"flood gates of heaven?",0
433 END
434
435 _gDescriptionInThePit
436 .(
437 JUMP_IF_TRUE(has_ladder,CHECK_ITEM_LOCATION(e_ITEM_Ladder,e_LOCATION_INVENTORY))
438 JUMP_IF_TRUE(draw_ladder,CHECK_ITEM_LOCATION(e_ITEM_Ladder,e_LOCATION_INSIDEHOLE))
439 JUMP_IF_TRUE(rope_attached_to_tree,CHECK_ITEM_LOCATION(e_ITEM_RopeAttachedToATree,e_LOCATION_OUTSIDE_PIT))
440 JUMP(cannot_escape_pit); ; The player has no way to escape the pit
441
442 draw_ladder
443 DRAW_BITMAP(LOADER_SPRITE_ITEMS,BLOCK_SIZE(4,50),40,_SecondImageBuffer+36,_ImageBuffer+(40*40)+19) ; Draw the ladder
444 has_ladder
445 END
446
447 rope_attached_to_tree
448 DRAW_BITMAP(LOADER_SPRITE_ITEMS,BLOCK_SIZE(3,52),40,_SecondImageBuffer+(40*37)+51,_ImageBuffer+(40*39)+19) ; Draw the rope
449 END
450
451 cannot_escape_pit
452 WAIT(50*2)
453 .byt COMMAND_BUBBLE,1,127
454 .byt 6,8,0,"It did not look",0
455 WAIT(50)
456 .byt COMMAND_BUBBLE,1,127
457 .byt 176,42,0,"that deep",0
458 WAIT(50)
459 .byt COMMAND_BUBBLE,1,127
460 .byt 82,94,0,"from outside",0
461
462 WAIT(50*2) ; Wait a couple seconds for dramatic effect
463
464 JUMP(_gDescriptionGameOverLost); ; Draw the 'The End' logo
465 .)
466
467
468 _gDescriptionOutsidePit
469 .(
470 JUMP_IF_TRUE(ladder_in_hole,CHECK_ITEM_LOCATION(e_ITEM_Ladder,e_LOCATION_INSIDEHOLE))
471 JUMP_IF_TRUE(rope_attached_to_tree,CHECK_ITEM_LOCATION(e_ITEM_RopeAttachedToATree,e_LOCATION_OUTSIDE_PIT))
472 JUMP(digging_for_gold); ; Generic message if the ladder or rope are not present
473
474 ladder_in_hole
475 DRAW_BITMAP(LOADER_SPRITE_ITEMS,BLOCK_SIZE(4,34),40,_SecondImageBuffer+25,_ImageBuffer+(40*53)+20) ; Draw the ladder
476 END
477
478 rope_attached_to_tree
479 DRAW_BITMAP(LOADER_SPRITE_ITEMS,BLOCK_SIZE(5,49),40,_SecondImageBuffer+30,_ImageBuffer+(40*38)+21) ; Draw the rope
480 END
481
482 digging_for_gold
483 WAIT(DELAY_FIRST_BUBBLE)
484 .byt COMMAND_BUBBLE,2,64
485 .byt 5,94,0,"Are they digging",0
486 .byt 5,103,4,"for gold?",0
487 END
488 .)
489
490 _gDescriptionTarmacArea
491 WAIT(DELAY_FIRST_BUBBLE)
492 .byt COMMAND_BUBBLE,2,64
493 .byt 149,5,0,"Ashes to Ashes",0
494 .byt 152,15,0,"Rust to Rust...",0
495 END
496
497 _gDescriptionOldWell
498 ; Is the Bucket near the Well?
499 JUMP_IF_FALSE(no_bucket,CHECK_ITEM_LOCATION(e_ITEM_Bucket,e_LOCATION_WELL))
500 DRAW_BITMAP(LOADER_SPRITE_ITEMS,BLOCK_SIZE(6,35),40,_SecondImageBuffer,_ImageBuffer+(40*86)+24) ; Draw the Bucket
501 no_bucket
502
503 ; Is the Rope near the Well?
504 JUMP_IF_FALSE(no_rope,CHECK_ITEM_LOCATION(e_ITEM_Rope,e_LOCATION_WELL))
505 DRAW_BITMAP(LOADER_SPRITE_ITEMS,BLOCK_SIZE(7,44),40,_SecondImageBuffer+7,_ImageBuffer+(40*35)+26) ; Draw the Rope
506 no_rope
507
508 ; Then show the messages
509 WAIT(DELAY_FIRST_BUBBLE)
510 .byt COMMAND_BUBBLE,2,64
511 .byt 111,5,0,"This well looks as old",0
512 .byt 158,16,0,"as the church",0
513 END
514
515 _gDescriptionWoodedAvenue
516 WAIT(DELAY_FIRST_BUBBLE)
517 .byt COMMAND_BUBBLE,2,64
518 .byt 4,4,0,"These trees have probably",0
519 .byt 4,14,1,"witnessed many things",0
520 END
521
522 _gDescriptionGravelDrive
523 WAIT(DELAY_FIRST_BUBBLE)
524 .byt COMMAND_BUBBLE,3,64
525 .byt 127,86,0,"Kind of impressive",0
526 .byt 143,97,0,"when seen from",0
527 .byt 182,107,0,"far away",0
528 END
529
530 _gDescriptionZenGarden
531 WAIT(DELAY_FIRST_BUBBLE)
532 .byt COMMAND_BUBBLE,2,64
533 .byt 4,4,0,"A Japanese Zen Garden?",0
534 .byt 4,15,1,"In England?",0
535 END
536
537 _gDescriptionFrontLawn
538 WAIT(DELAY_FIRST_BUBBLE)
539 .byt COMMAND_BUBBLE,2,64
540 .byt 5,5,0,"The perfect home",0
541 .byt 5,15,1,"for egomaniacs",0
542 END
543
544 _gDescriptionGreenHouse
545 WAIT(DELAY_FIRST_BUBBLE)
546 .byt COMMAND_BUBBLE,2,64
547 .byt 4,96,0,"Obviously for",0
548 .byt 4,107,1,"Therapeutic use",34,0
549 END
550
551 _gDescriptionTennisCourt
552 WAIT(DELAY_FIRST_BUBBLE)
553 .byt COMMAND_BUBBLE,2,64
554 .byt 4,4,0,"That's more like it:",0
555 .byt 4,15,0,"a proper lawn tennis court",0
556 END
557
558 _gDescriptionVegetableGarden
559 WAIT(DELAY_FIRST_BUBBLE)
560 .byt COMMAND_BUBBLE,2,64
561 .byt 134,5,0,"Not the best spot",0
562 .byt 136,15,1,"to grow tomatoes",0
563 END
564
565 _gDescriptionFishPond
566 WAIT(DELAY_FIRST_BUBBLE)
567 .byt COMMAND_BUBBLE,2,64
568 .byt 5,5,0,"Some of these fishes",0
569 .byt 5,17,0,"are surprinsingly big",0
570 END
571
572 _gDescriptionTiledPatio
573 WAIT(DELAY_FIRST_BUBBLE)
574 .byt COMMAND_BUBBLE,2,64
575 .byt 93,5,0,"The house's back entrance",0
576 .byt 110,15,0,"is accessible from here",0
577 END
578
579 _gDescriptionAppleOrchard
580 WAIT(DELAY_FIRST_BUBBLE)
581 .byt COMMAND_BUBBLE,2,64
582 .byt 5,5,0,"The best kind of apples:",0
583 .byt 5,17,0,"sweet, crunchy and juicy",0
584 END
585
586 _gDescriptionEntranceHall
587 ; Is there a dog in the entrance
588 JUMP_IF_FALSE(end_dog,CHECK_ITEM_LOCATION(e_ITEM_AlsatianDog,e_LOCATION_ENTRANCEHALL))
589
590 ; Is the dog dead?
591 JUMP_IF_FALSE(dog_alive,CHECK_ITEM_FLAG(e_ITEM_AlsatianDog,ITEM_FLAG_DEAD))
592 ; Draw the dead dog
593 DRAW_BITMAP(LOADER_SPRITE_DOG,BLOCK_SIZE(12,27),40,_SecondImageBuffer,_ImageBuffer+(40*90)+27)
594 ; Text describing the dead dog
595 WAIT(DELAY_FIRST_BUBBLE)
596 .byt COMMAND_BUBBLE,2,64
597 .byt 5,5,0,"Let's call that a ",0
598 .byt 5,17,0,"Collateral Damage",34,0
599 END
600
601 dog_alive
602 ; Draw the Growling dog
603 DRAW_BITMAP(LOADER_SPRITE_DOG,BLOCK_SIZE(13,66),40,_SecondImageBuffer+(40*61)+0,_ImageBuffer+(40*56)+26)
604 ; Text describing the growling dog
605 WAIT(DELAY_FIRST_BUBBLE)
606 .byt COMMAND_BUBBLE,2,64
607 .byt 5,5,0,"Of course there is a dog.",0
608 .byt 5,19,0,"There's always a dog.",0
609 END
610
611 end_dog
612 ; Some generic message in case the dog is not there (probably not displayed right now)
613 WAIT(DELAY_FIRST_BUBBLE)
614 .byt COMMAND_BUBBLE,2,64
615 .byt 124,5,0,"Quite an impressive",0
616 .byt 187,17,0,"staircase",0
617 END
618
619 _gDescriptionDogAttacking
620 DRAW_BITMAP(LOADER_SPRITE_DOG,BLOCK_SIZE(21,128),40,_SecondImageBuffer+14,_ImageBuffer+(40*0)+10) ; Draw the attacking dog
621 ;
622 WAIT(DELAY_FIRST_BUBBLE)
623 .byt COMMAND_BUBBLE,1,64
624 .byt 5,108,0,"Oops...",0
625 WAIT(50*2) ; Wait a couple seconds
626 JUMP(_gDescriptionGameOverLost) ; Game Over
627
628
629
630 _gDescriptionLibrary
631 WAIT(DELAY_FIRST_BUBBLE)
632 .byt COMMAND_BUBBLE,2,64
633 .byt 5,86,0,"Books, fireplace, and",0
634 .byt 5,97,0,"a comfortable chair",0
635 END
636
637 _gDescriptionNarrowPassage
638 WAIT(DELAY_FIRST_BUBBLE)
639 .byt COMMAND_BUBBLE,3,127
640 .byt 5,48,0,"Either they love dark",0
641 .byt 12,68,0,"or they forgot to",0
642 .byt 37,90,0,"pay their",0
643
644 .byt COMMAND_BUBBLE,1,64
645 .byt 75,110,0,"bills",0
646 END
647
648 _gDescriptionEntranceLounge
649 WAIT(DELAY_FIRST_BUBBLE)
650 .byt COMMAND_BUBBLE,2,64
651 .byt 5,5,0,"Looks like someone",0
652 .byt 5,15,0,"had fun",0
653 END
654
655 _gDescriptionDiningRoom
656 WAIT(DELAY_FIRST_BUBBLE)
657 .byt COMMAND_BUBBLE,2,64
658 .byt 5,95,0,"Two plates...",0
659 .byt 5,107,0,"...good to know",0
660 END
661
662 _gDescriptionGamesRoom
663 WAIT(DELAY_FIRST_BUBBLE)
664 .byt COMMAND_BUBBLE,2,64
665 .byt 142,5,0,"Top of the range",0
666 .byt 164,16,0,"video system",0
667
668 WAIT(50)
669
670 .byt COMMAND_BUBBLE,1,64
671 .byt 175,40,0,"Impressive",0
672 END
673
674 _gDescriptionSunLounge
675 WAIT(DELAY_FIRST_BUBBLE)
676 .byt COMMAND_BUBBLE,1,64
677 .byt 112,5,0,"No rest for the weary",0
678 END
679
680 _gDescriptionKitchen
681 WAIT(DELAY_FIRST_BUBBLE)
682 .byt COMMAND_BUBBLE,2,64
683 .byt 5,5,0,"A very basic",0
684 .byt 5,16,0,"kitchen",0
685 END
686
687 _gDescriptionNarrowStaircase
688 WAIT(DELAY_FIRST_BUBBLE)
689 .byt COMMAND_BUBBLE,1,127
690 .byt 5,5,0,"Watch your step",0
691 END
692
693 _gDescriptionCellar
694 WAIT(DELAY_FIRST_BUBBLE)
695 .byt COMMAND_BUBBLE,2,127
696 .byt 75,15,0,"Is that a Franz",0
697 .byt 80,25,0,"Jager safe?",0
698 END
699
700 _gDescriptionDarkerCellar
701 WAIT(DELAY_FIRST_BUBBLE)
702 .byt COMMAND_BUBBLE,2,127
703 .byt 5,99,0,"The window seems",0
704 .byt 5,109,0,"to be occulted",0
705 END
706
707 _gDescriptionStaircase
708 WAIT(DELAY_FIRST_BUBBLE)
709 .byt COMMAND_BUBBLE,3,64
710 .byt 16,8,0,"Left?",0
711 .byt 179,8,0,"Right?",0
712 .byt 60,72,0,"does it really matter?",0
713 END
714
715 _gDescriptionMainLanding
716 WAIT(DELAY_FIRST_BUBBLE)
717 .byt COMMAND_BUBBLE,1,64
718 .byt 47,70,0,"Nice view from up there",0
719 END
720
721 _gDescriptionEastGallery
722 WAIT(DELAY_FIRST_BUBBLE)
723 .byt COMMAND_BUBBLE,2,64
724 .byt 5,5,0,"Boring corridor:",0
725 .byt 20,17,0,"Check",0
726 END
727
728 _gDescriptionChildBedroom
729 WAIT(DELAY_FIRST_BUBBLE)
730 .byt COMMAND_BUBBLE,2,64
731 .byt 5,96,0,"Let me guess:",0
732 .byt 5,107,0,"Teenager room?",0
733 END
734
735 _gDescriptionGuestBedroom
736 WAIT(DELAY_FIRST_BUBBLE)
737 .byt COMMAND_BUBBLE,2,64
738 .byt 5,6,0,"Simple and fresh",0
739 .byt 5,17,0,"for a change",0
740 END
741
742 _gDescriptionShowerRoom
743 WAIT(DELAY_FIRST_BUBBLE)
744 .byt COMMAND_BUBBLE,2,64
745 .byt 149,5,0,"I will need one",0
746 .byt 152,16,0,"when I'm done",0
747 END
748
749 _gDescriptionWestGallery
750 WAIT(DELAY_FIRST_BUBBLE)
751 .byt COMMAND_BUBBLE,2,127
752 .byt 85,81,0,"Is that Steel",0
753 .byt 60,92,0,"behind the Curtain?",0
754 END
755
756 _gDescriptionBoxRoom
757 WAIT(DELAY_FIRST_BUBBLE)
758 .byt COMMAND_BUBBLE,2,64
759 .byt 5,5,0,"A practical",0
760 .byt 5,16,0,"little room",0
761 END
762
763 _gDescriptionClassyBathRoom
764 WAIT(DELAY_FIRST_BUBBLE)
765 .byt COMMAND_BUBBLE,1,64
766 .byt 132,5,0,"Looks comfortable",0
767 END
768
769 _gDescriptionTinyToilet
770 WAIT(DELAY_FIRST_BUBBLE)
771 .byt COMMAND_BUBBLE,1,64
772 .byt 137,5,0,"Sparklingly clean",0
773 END
774
775 _gDescriptionMasterBedRoom
776 ; Is there a thug in the master bedroom
777 JUMP_IF_FALSE(end_thug,CHECK_ITEM_LOCATION(e_ITEM_Thug,e_LOCATION_MASTERBEDROOM))
778
779 ; Draw the shoes at the bottom of the bed
780 DRAW_BITMAP(LOADER_SPRITE_THUG,BLOCK_SIZE(7,15),40,_SecondImageBuffer+40*73+14,_ImageBuffer+40*112+3) ; Shoes
781
782 ; Is the thug alive?
783 JUMP_IF_FALSE(thug_alive,CHECK_ITEM_FLAG(e_ITEM_Thug,ITEM_FLAG_DEAD))
784 ; Draw the dead thug
785 DRAW_BITMAP(LOADER_SPRITE_THUG,BLOCK_SIZE(23,24),40,_SecondImageBuffer+0,_ImageBuffer+40*66+12) ; Dead thug
786 DRAW_BITMAP(LOADER_SPRITE_THUG,BLOCK_SIZE(2,27),40,_SecondImageBuffer+40*24+17,_ImageBuffer+40*90+29) ; Arm
787 DRAW_BITMAP(LOADER_SPRITE_THUG,BLOCK_SIZE(6,17),40,_SecondImageBuffer+40*0+24,_ImageBuffer+40*109+33) ; Pillow on the floor
788 ; Text describing the dead thug
789 WAIT(DELAY_FIRST_BUBBLE)
790 .byt COMMAND_BUBBLE,2,64
791 .byt 5,5,0,"Let's call that a ",0
792 .byt 5,17,0,"Collateral Damage",34,0
793 END
794
795 thug_alive
796 ; Draw the thug Sleeping
797 DRAW_BITMAP(LOADER_SPRITE_THUG,BLOCK_SIZE(18,37),40,_SecondImageBuffer+40*91,_ImageBuffer+40*52+17) ; Thug sleeping
798 DRAW_BITMAP(LOADER_SPRITE_THUG,BLOCK_SIZE(8,23),40,_SecondImageBuffer+32,_ImageBuffer+40*33+30) ; Zzzz over the head
799 ; Draw the message
800 WAIT(DELAY_FIRST_BUBBLE)
801 .byt COMMAND_BUBBLE,2,64
802 .byt 5,5,0,"This will make things",0
803 .byt 5,16,0,"notably easier...",0
804 ; Should probably have a "game over" command
805 END
806
807 end_thug
808 ; Draw the message
809 WAIT(DELAY_FIRST_BUBBLE)
810 .byt COMMAND_BUBBLE,2,64
811 .byt 5,5,0,"This was make things",0
812 .byt 5,16,0,"notably easier...",0
813 ; Should probably have a "game over" command
814 .byt COMMAND_FADE_BUFFER
815 END
816
817 _gDescriptionThugAttacking
818 DRAW_BITMAP(LOADER_SPRITE_THUG,BLOCK_SIZE(18,105),40,_SecondImageBuffer+40*23+22,_ImageBuffer+(40*21)+13) ; Draw the attacking thug
819 DRAW_BITMAP(LOADER_SPRITE_THUG,BLOCK_SIZE(14,56),40,_SecondImageBuffer+40*34+0,_ImageBuffer+(40*1)+23) ; Now You Die!
820 ; Draw the message
821 WAIT(50*2) ; Wait a couple seconds
822 .byt COMMAND_BUBBLE,2,64
823 .byt 5,5,0,"This was a mistake:",0
824 .byt 60,16,0,"My last one",0
825 WAIT(50*2) ; Wait a couple seconds
826 JUMP(_gDescriptionGameOverLost) ; Game Over
827
828
829 _gDescriptionPadlockedRoom
830 WAIT(DELAY_FIRST_BUBBLE)
831 .byt COMMAND_BUBBLE,4,64
832 .byt 5,5,0,"Damn...",0
833 .byt 125,16,0,"I will never be able",0
834 .byt 131,53,0,"to pick these locks",0
835 .byt 140,90,0,"fast enough!",0
836 END
837
838
839 _gDescriptionGameOverLost
840 ; Draw the 'The End' logo
841 DRAW_BITMAP(LOADER_SPRITE_THE_END,BLOCK_SIZE(20,95),20,_SecondImageBuffer,_ImageBuffer+(40*16)+10)
842 ; Should probably have a "game over" command
843 .byt COMMAND_FADE_BUFFER
844 END
845 _EndSceneScripts
846
847
848 // Scene actions
849 _StartSceneActions
850
851 _gSceneActionReadNewsPaper
852 .byt COMMAND_FULLSCREEN_ITEM,LOADER_PICTURE_NEWSPAPER,"The Daily Telegraph, September 29th",0
853 .byt COMMAND_INFO_MESSAGE,"I have to find her fast...",0
854 WAIT(50*2)
855 .byt COMMAND_INFO_MESSAGE,"...I hope she is fine!",0
856 WAIT(50*2)
857 END
858
859 _gSceneActionReadHandWrittenNote
860 .byt COMMAND_FULLSCREEN_ITEM,LOADER_PICTURE_HANDWRITTEN_NOTE,"A hand written note",0
861 WAIT(50*2)
862 #ifdef LANGUAGE_FR
863 .byt COMMAND_INFO_MESSAGE,"Ca pourrait être utile...",0
864 WAIT(50*2)
865 .byt COMMAND_INFO_MESSAGE,"...si je peux y accéder !",0
866 #else
867 .byt COMMAND_INFO_MESSAGE,"That could be useful...",0
868 WAIT(50*2)
869 .byt COMMAND_INFO_MESSAGE,"...if I can access it!",0
870 #endif
871 WAIT(50*2)
872 END
873
874 _gSceneActionReadChemistryRecipes
875 .byt COMMAND_FULLSCREEN_ITEM,LOADER_PICTURE_CHEMISTRY_RECIPES,"A few useful recipes",0
876 WAIT(50*2)
877 .byt COMMAND_INFO_MESSAGE,"I can definitely use these...",0
878 WAIT(50*2)
879 .byt COMMAND_INFO_MESSAGE,"...just need to find the materials.",0
880 WAIT(50*2)
881 END
882
883 _gSceneActionReadChemistryBook
884 .byt COMMAND_FULLSCREEN_ITEM,LOADER_PICTURE_SCIENCE_BOOK,"A science book",0
885 WAIT(50*2)
886 .byt COMMAND_INFO_MESSAGE,"I don't understand much...",0
887 WAIT(50*2)
888 .byt COMMAND_INFO_MESSAGE,"...but looks like someone took notes.",0
889 WAIT(50*2)
890 END
891
892 _gSceneActionInspectMap
893 .byt COMMAND_FULLSCREEN_ITEM,LOADER_PICTURE_UK_MAP,"A map of the United Kingdom",0
894 .byt COMMAND_INFO_MESSAGE,"It shows Ireland, Wales and England",0
895 WAIT(50*2)
896 END
897
898 _EndSceneActions
899
900
901 _EndGameTextData
902
903 ;
904 ; Print statistics about the size of things
905 ;
906 #print Total size of game text content = (_EndGameTextData - _StartGameTextData)
907 #print - Messages and prompts = (_EndMessagesAndPrompts - _StartMessagesAndPrompts)
908 #print - Error messages = (_EndErrorMessages - _StartErrorMessages)
909 #print - Location names = (_EndLocationNames - _StartLocationNames)
910 #print - Item names = (_EndItemNames - _StartItemNames)
911 #print - Scene scripts = (_EndSceneScripts - _StartSceneScripts)
912 #print - Scene actions = (_EndSceneActions - _StartSceneActions)
913
914

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26