Home » Archimedes archive » Acorn Computing » 1993 07 Mega Disk.adf » 93_07 » ArcVenture/!AV3Demo/!RunImage
ArcVenture/!AV3Demo/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn Computing » 1993 07 Mega Disk.adf » 93_07 |
Filename: | ArcVenture/!AV3Demo/!RunImage |
Read OK: | ✔ |
File size: | 15298 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
0REMOSCLIADFS::AC_AV3Demo.$.!AV3Demo.!RunImage 1WimpNotOpen%=TRUE 2Polling%=FALSE 3SpritePoolSize%=330000 4NumberOfSprites%=150 5FsgiNumber%=0 6MapSprite%=2 7MapSprite2%=12 8AnimStart%=20 9SVol%=-15 10DigAnimStart%=20 11ObjectStart%=30 12NoofP2Objects%=30 13NoofPeople%=30 14NoofMaxRooms%=160 15NoofRooms%=160 16FileType%=&AE8 17PlayFramesStart%=50 18P2ObjectStart%=60 19P2ObjectEnd%=89 20PersonStart%=90 21PersonEnd%=119 22pdbs%=&40000 23PROCInit 24ONERRORPROCError 25REPEAT 26PROCPoll 27UNTILFALSE 28DEFPROCError 29IFNOTPolling%ANDERR=99THEN 30Polling%=TRUE:PROCDesktop 31ELSE 32IFNOTPolling%THEN 33Polling%=TRUE:S$=REPORT$+" , Internal code "+STR$(ERL):PROCTile(-1,1000,39,1):S$="Press any key":PROCTile(-1,900,-1,1):K=GET:PROCDesktop 34ELSEPROCEnd 35ENDIF 36ENDIF 37ENDPROC 38DEFPROCEnd 39IFWimpNotOpen%THENEND 40SYS&000400DD 41END 42ENDPROC 43DEFPROCWimpClose 44IFWimpNotOpen%THENENDPROC 45SYS&000400DD 46WimpNotOpen%=TRUE 47OFF:Polling%=FALSE 48*FX 229,1 49ENDPROC 50DEFPROCWimpOpen 51*FX 229 52SYS&000400C0,200,&4B534154,"ArcVenture"TO,Th% 53WimpNotOpen%=FALSE 54PROCIcon 55PROCGetWindowTemplates 56ENDPROC 57DEFPROCDesktop 58PROCDiscardTemp 59REPEAT:UNTILINKEY$(0)="" 60SYS&00000006,15,1:*FX20 61SYS&00000006,114,1 62PROCWimpOpen 63SYS&000400E3,WimpMode% 64q%=FALSE 65ENDPROC 66DEFPROCRestart 67SYS&00000006,135TO,,WimpMode% 68PROCFade 69PROCWimpClose 70SYS&00000006,114,0 71MODE9:OFF:*Pointer 72PROCGetScreenVars 73PROCDoubleBuffer:PROCSingleScreen 74PROCMakeLinkTable 75PROCGameLoop 76ENDPROC 77DEFPROCGetScreenVars 78!(VarBlock%)=148:!(VarBlock%+8)=-1 79SYS&00000031,VarBlock%,VarBlock% 80Bank1Addr%=!(VarBlock%) 81!(VarBlock%)=149:!(VarBlock%+8)=-1:SYS&00000031,VarBlock%,VarBlock% 82Bank2Addr%=!(VarBlock%) 83ENDPROC 84DEFPROCClearPlayer 85!Day%=0:!Score%=0:!Time%=9 86FORf%=0TONoofObjects%:?(PObjects%+f%)=255:NEXTf% 87$PName%="Demo":!PObNo%=0 88FORf%=0TO31:?(PObjects2%+f%)=0:NEXTf% 89!Day%=1 90FORf%=0TO14 91$(PNotes%+(f%*190))="" 92NEXTf% 93Intro%=TRUE:?PUnknown%=0:!PFlags%=0:Part%=1:!PPart%=1 94FORf%=0TO5:?(PUObjects%+f%)=0:NEXTf% 95PROCClearPlayerBits 96ENDPROC 97DEFPROCInit 98DIM D% 100:SYS&00000023,"ArcV3$Dir",D%,100,0,0TO,,N 99D$="":FORi%=0TON-1:D$+=CHR$(D%?i%):NEXT 100FromMovie%=FALSE 101DIM IconText% 10 102PDirection%=1:UnknownFound%=FALSE 103DIM SprAdd%(NumberOfSprites%),SprNm$(NumberOfSprites%), Block% 1024, MasterMenu% 256,NewGame% 256,Teacher% 256, Pal1% 100, Pal2%(19,3),Pal3%(19,3),ScaleFactors% 20, Temp% 4048, TextLine$(10), DigZone%(50), ObDig$(2,30) , PrintBlock% 100, Pblk% 100 104IFFromMovie%=FALSETHENSYS&000400C0,200,&4B534154,"ArcVenture"TO,Th% 105WimpNotOpen%=FALSE:Part%=1:Disk%=1:FirstTime%=TRUE:StraightIntoPart2%=FALSE 106VOICES4:SOUNDON:PrinterOn%=FALSE:PuzzleSolvedShown%=FALSE:DataSaved%=TRUE 107*CHANNELVOICE 2 Percussion-Soft 108NoofWindows%=5:AskingQuestions%=FALSE:Timer%=0:StartFrom%=1:NoofTimesFished%=0:AnswerQuestions%=FALSE:DontPrintObjects%=FALSE 109DIM Windows% (NoofWindows%*2048), Win_H%(NoofWindows%), WinPoint%(NoofWindows%) 110IFFromMovie%=FALSETHENPROCGetWindowTemplates 111DoingJournal%=FALSE:ContBox%=FALSE:ContCount%=0:SongPlaying%=FALSE:LogoAnimPlaying%=FALSE 112NoofObjects%=30:Part%=1:SpDir%=0:MenuChangeRoom%=FALSE:OldGame%=FALSE:TempSprite%=FALSE:A%=Block%:B%=Temp% 113DIM RoomAdd%(NoofMaxRooms%),ObPool%(4), RoomName$(NoofMaxRooms%), QuestionAsked%(NoofObjects%), Fp% 128 114DIM ObDesc$(NoofObjects%),ObNara$(NoofObjects%), ObDig1$(NoofObjects%),ObDig2$(NoofObjects%),ObDig3$(NoofObjects%),ObTol%(NoofObjects%) 115DIM ObNara%(NoofObjects%), ObText% 10240 116DIM scale% 16,ctrans% 256,paltab% 64 ,Style% 16,pdbbuff% 256,palcode% 900 117*RMLoad <ArcV3$Dir>.Sound.Door1 118*RMLoad <ArcV3$Dir>.Sound.Click1 119*RMLoad <ArcV3$Dir>.Sound.Knock1 120PROCSetupSpritePool(SpritePoolSize%) 121PROCLoadSpriteFile("<ArcV3$Dir>.Sprites") 122PROCIcon 123LengthOfPlayerBlock%=3072 124DIM Player% LengthOfPlayerBlock% 125PName%=Player%+4:Gender%=Player%+40:PPart%=Player%+44 126Day%=Player%+72:Time%=Player%+76:Score%=Player%+80 127PRoom%=Player%+84:Px%=Player%+88:Py%=Player%+92 128PObjects%=Player%+96:PMoney%=Player%+128:PDoors%=Player%+132:PUObjects%=Player%+148:PUnknown%=Player%+156:PFlags%=Player%+160 129Teacher%=Player%+164 130PObNo%=Player%+168 131PP2Ob%=Player%+172 132PObjects2%=Player%+180 133PNotes%=Player%+212 134PP2Data%=Player%+2880 135!Day%=0:!Score%=0:!Time%=9:Part%=1 136FORf%=0TONoofObjects%:?(PObjects%+f%)=255:NEXTf% 137$PName%="":!PObNo%=0 138FORf%=0TO31:?(PObjects2%+f%)=0:NEXTf% 139FORf%=PP2Ob%TOPP2Data%+128STEP4:!f%=0:NEXTf% 140!Day%=1:CertShown%=FALSE:DoingObjectInfo%=FALSE 141FORf%=0TO14 142$(PNotes%+(f%*190))="" 143NEXTf% 144Intro%=TRUE:?PUnknown%=0:!PFlags%=0:DoubleBuffer%=FALSE 145FORf%=0TO7:?(PUObjects%+f%)=0:NEXTf% 146PROCInit2 147SongBuffer%=SpriteArea%+280000 148DrawBuffer%=SpriteArea%+300000 149q%=FALSE 150ENDPROC 151DEFPROCMainProgram 152PROCBlackOut 153IFFromMovie%=FALSETHENPROCWimpClose 154Disk%=2:FgsiNumber%=0:DataSaved%=TRUE 155MODE9:OFF 156PRINTTAB(7,10); 157PROCGetBackgroundPalette("arc1"):PROCSetPalette 158FirstTime%=FALSE 159*POINTER 160PROCDoubleBuffer 161PROCGetScreenVars 162PROCSingleScreen 163PROCScrClo:OFF 164PROCLoadObjectText 165PROCLoadRoomText 166PROCScrClo 167PROCMakeRoom 168PROCLoadP2ObjectText 169PROCScrClo 170PROCLoadPeopleText 171PROCPutObjects 172PROCGetPlayer 173PROCMakeSpriteTable 174PROCClearIcons 175PROCGameLoop 176ENDPROC 177DEFPROCClearIcons 178ENDPROC 179DEFPROCIntro 180PROCScrClo 181PROCGetBackgroundPalette("Arc1"):PROCSetPalette 182PROCAnim(9,-100,100,8,2,30) 183IFNOTFromInstr%THEN 184S$="Hello, I'm ARC1.":PROCSpeak(300,400):PROCContBox(-1,100):PROCReplaceTemp 185ENDIF 186S$="I shall be helping you to find your way around the Viking dig.":PROCSpeak(300,400):PROCContBox(-1,100):PROCReplaceTemp 187PROCPrintDrawFile("<ArcV3$Dir>.DrawFiles.Britain") 188GCOL0,FNGcol(&00000000) 189VDU5:MOVE950,500:PRINT"E";:MOVEBY-16,-40:PRINT"N";:MOVEBY-16,-40:PRINT"G";:MOVEBY-16,-40:PRINT"L";:MOVEBY-16,-40:PRINT"A";:MOVEBY-16,-40:PRINT"N";:MOVEBY-16,-40:PRINT"D" 190GCOL0,FNGcol(&FFFFFF00) 191MOVE946,504:PRINT"E";:MOVEBY-16,-40:PRINT"N";:MOVEBY-16,-40:PRINT"G";:MOVEBY-16,-40:PRINT"L";:MOVEBY-16,-40:PRINT"A";:MOVEBY-16,-40:PRINT"N";:MOVEBY-16,-40:PRINT"D" 192GCOL0,FNGcol(&00000000):MOVE780,270:PRINT"WALES":GCOL0,FNGcol(&FFFFFF00):MOVE776,274:PRINT"WALES" 193GCOL0,FNGcol(&00000000):MOVE750,700:PRINT"SCOTLAND":GCOL0,FNGcol(&FFFFFF00):MOVE746,704:PRINT"SCOTLAND" 194GCOL0,FNGcol(&FFFFFF00):MOVE990,200:PRINT"London":MOVE1060,450:PRINT"York":VDU4:OFF 195S$="Here is a map of Britain. There are some places that you may know.":PROCSpeak(300,400):PROCContBox(-1,100):PROCReplaceTemp 196S$="The place that we are interested in is York.":PROCSpeak(300,400):PROCContBox(-1,100):PROCReplaceTemp 197PROCPrintDrawFile("<ArcV3$Dir>.DrawFiles.York1") 198GCOL0,FNGcol(&00000000) 199VDU5:MOVE100,800:PRINT"York":GCOL0,FNGcol(&FFFFFF00):MOVE96,804:PRINT"York" 200GCOL0,FNGcol(&00000000):MOVE40,680:PRINT"Leeds":GCOL0,FNGcol(&FFFFFF00):MOVE36,684:PRINT"Leeds":VDU4:OFF 201S$="In the tenth century A.D. York was a very big Viking town.":PROCSpeak(300,400):PROCContBox(-1,100):PROCReplaceTemp 202S$="We shall now take a closer look at the Coppergate part of York.":PROCSpeak(300,400):PROCContBox(-1,100):PROCReplaceTemp 203PROCScrClo 204PROCPrintDrawFile("<ArcV3$Dir>.DrawFiles.Digsite1") 205PROCContBox(-1,100) 206PROCAnim(9,-100,-20,8,2,20) 207S$="Between May 1976 and September 1981 a large archaeological dig took place to find out more about the people who lived in York hundreds of years ago.":PROCSpeak(300,300):PROCContBox(-1,100):PROCReplaceTemp 208S$="I shall take you to the dig site now.":PROCSpeak(300,300):PROCContBox(-1,100):PROCReplaceTemp 209PROCScrClo 210PROCGetBackgroundPalette("Dig"):PROCSetPalette 211PROCConsole:PROCPlotSprite(MapSprite%,0,260,0) 212S$="We are now at the Coppergate dig site.The top layers of soil have been removed. You will be helping the other archaeologists to uncover the mysteries of this site.":PROCTile(-1,1020,38,1) 213PROCContBox(-1,350) 214PROCPlotSprite(MapSprite%,0,260,0) 215S$="You now have 3 days to find out as much as you can about life in Viking times.":PROCTile(-1,1020,38,1) 216PROCContBox(-1,350) 217PROCScrClo 218ENDPROC 219DEFPROCAnim(sn%,x1%,y1%,xi%,yi%,n%) 220REPEAT 221TIME=0 222WAIT 223PROCPlotSprite(sn%,x1%,y1%,0) 224x1%+=xi%:y1%+=yi%:n%-=1 225REPEAT:UNTILTIME>0 226UNTILn%<=0 227ENDPROC 228DEFPROCMenu1 229PROCGetTeacherControl 230IFFromMovie%=FALSETHENSYS&00000006,135TO,,WimpMode%ELSEWimpMode%=VAL(MID$(Data$,6,3)) 231IFFromMovie%=FALSETHENPROCFade 232CLG:WAIT:Polling%=FALSE :UnknownFound%=FALSE 233PROCWimpClose 234SYS&00000006,114,0 235MODE9:OFF 236PROCGetScreenVars 237PROCGetBackgroundPalette("arc1"):PROCSetPalette 238PROCDoubleBuffer:CLS:PROCSwapScreen:CLS:PROCSwapScreen:PROCSingleScreen 239*POINTER 240PROCTitleScreen 241REPEAT 242FromMovie%=FALSE 243PROCScrClo 244S$="Archaeologist's Instructions":PROCTile(-1,700,-1,1) 245S$="Start Venture":PROCTile(-1,400,-1,1) 246M1q%=FALSE:FromInstr%=FALSE 247REPEAT 248PROCMouse 249IFMouseY%>628ANDMouseY%<700THENPROCInstructions:M1q%=TRUE 250IFMouseY%>328ANDMouseY%<400THENPROCMainProgram:M1q%=TRUE 251UNTILM1q% 252UNTILFALSE 253ENDPROC 254DEFPROCTitleScreen 255S$="Arcventure III - The Vikings":PROCTile(-1,940,-1,1) 256S$="� Sherston Software 1993":PROCTile(-1,800,-1,1) 257S$="Demonstration":PROCTile(-1,450,-1,1) 258PROCContBox(-2,100) 259PROCScrClo 260S$="Arcventure III - The Vikings":PROCTile(-1,940,-1,1) 261S$="By M. Vanstone":PROCTile(-1,830,-1,1) 262S$="This is a demonstration version of the third in the popular series of archaeological adventures. It is based on the celebrated Coppergate dig in York." 263PROCTile(-1,660,35,1) 264S$="Other titles in this series are 'The Romans' and 'The Egyptians'." 265PROCTile(-1,410,35,1) 266S$="For details about any of these titles call Sherston Software on 0666 840433." 267PROCTile(-1,270,35,1) 268PROCContBox(-1,80) 269ENDPROC 270DEFPROCInstructions 271PROCScrClo:Disk%=1 272PROCMakeSpriteTable 273PROCGetBackgroundPalette("arc1"):PROCSetPalette 274PROCAnim(9,-100,100,8,4,50) 275S$="Hello. My name is ARC1.":PROCSpeak(300,600):PROCContBox(-1,100):PROCReplaceTemp 276S$="I am going to tell you how to use ArcVenture.":PROCSpeak(300,600):PROCContBox(-1,100):PROCReplaceTemp 277PROCAnim(9,300,300,8,2,60):PROCPlotSprite(1,780,420,0) 278FORf%=-256TO0STEP4:WAIT:PROCPlotSprite(FsgiNumber%,0,f%,0):NEXTf% 279PROCClock 280S$="Below me is the choice board. By moving the mouse to the boxes and clicking the left button, you can tell me what you want to do." 281SpDir%=1:PROCSpeak(500,720):PROCContBox(-1,350):PROCReplaceTemp 282PROCAnim(1,780,420,-8,0,60):PROCPlotSprite(9,300,420,0) 283S$="Press the RIGHT mouse button to go to the next part.":PROCTile(740,500,16,1) 284S$="Try clicking on a few of the boxes and I shall tell you what they are for.":PROCSpeak(300,720) 285REPEAT 286PROCMouse:Loc%=FNConLoc(MouseX%,MouseY%) 287IFButtonPressed%=4THEN 288OldS$=S$ 289CASELoc%OF 290WHEN1,2,3:NewS$="This is an option bar. Special choices will be shown here, make your choice by clicking on one of the bars.":PROCOptionInfo 291WHEN4,5,6,7:NewS$="During the dig, this will tell you the game time. During the expedition, this will change to four direction arrows.":PROCOptionInfo 292WHEN8,9,10,11:NewS$="This is an object box. During the dig you will find tools for digging in these boxes. During the expedition, the objects which you collect will be put in here.":PROCOptionInfo 293ENDCASE 294REPEAT:MOUSEx%,y%,b%:UNTILb%=0 295ENDIF 296UNTILButtonPressed%=1 297PROCClw 298PROCAnim(9,300,420,8,0,80):PROCPlotSprite(1,940,420,0) 299S$="During the dig the boxes below me will have four tools in them.":SpDir%=1:PROCSpeak(600,700):PROCContBox(-1,350):PROCReplaceTemp 300PROCPlotSprite(4,980,150,8) 301S$="The first is a spade. You can use the spade to dig quickly and find large objects.":SpDir%=1:PROCSpeak(600,700):PROCContBox(-1,350):PROCReplaceTemp 302PROCPlotSprite(5,1140,150,8) 303S$="The second is a trowel. You can use the trowel to find smaller objects in the ground, but it will take longer than the spade to dig.":SpDir%=1:PROCSpeak(600,700):PROCContBox(-1,350):PROCReplaceTemp 304PROCPlotSprite(6,980,40,8) 305S$="The brush is for cleaning up fragile objects so that you can see what they are.":SpDir%=1:PROCSpeak(600,700):PROCContBox(-1,350):PROCReplaceTemp 306PROCPlotSprite(7,1140,40,8) 307S$="The magnifying glass can be used to get a closer look at what you have found or to get an idea of which tool you should be using.":SpDir%=1:PROCSpeak(600,700):PROCContBox(-1,350):PROCReplaceTemp 308S$="When you dig, you will see letters on the grid. These are : 'U' for unfinished, 'O' for object found, 'D' for damaged and 'N' for no object.":SpDir%=1:PROCSpeak(600,700):PROCContBox(-1,350):PROCReplaceTemp 309PROCAnim(1,940,420,-8,0,30):PROCPlotSprite(1,700,420,0) 310PROCPTBar 311S$="I will print the day number at the top of the screen and your score in the top right corner.":SpDir%=1:PROCSpeak(400,690):PROCContBox(-1,350):PROCReplaceTemp 312S$="I will give you points for finding objects and using the right tools for the job.":SpDir%=1:PROCSpeak(400,690):PROCContBox(-1,350):PROCReplaceTemp 313PROCAnim(1,700,420,-8,-2,80):PROCPlotSprite(9,60,260,0) 314S$="That's the end of the lesson. Now we shall start the game.":PROCSpeak(280,650):PROCContBox(-1,350):PROCReplaceTemp 315FromInstr%=TRUE 316ENDPROC 317DEFPROCOptionInfo 318IFNewS$<>OldS$THEN 319S$=NewS$ 320PROCReplaceTemp 321PROCSpeak(300,720) 322ENDIF 323ENDPROC 324DEFPROCGameLoop 325DoingObjectInfo%=FALSE 326IFOldGame%=FALSEANDStartFrom%<>4THENPROCIntro 327IFPart%=2ANDStartFrom%<>4THENStraightIntoPart2%=TRUE:PROCReAskQuestions:PROCPart2 328IFPart%=2ANDStartFrom%=4THEN 329StraightIntoPart2%=TRUE: 330IFAskingQuestions%THEN 331StraightIntoPart2%=FALSE:PROCReAskQuestions:PROCPart2 332ELSE 333PROCPart2 334ENDIF 335ELSE 336ENDIF 337REPEAT 338PROCInfoHut 339UNTILFALSE 340ENDPROC 341DEFPROCLogoAnim 342ENDPROC 343DEFPROCPoll 344r%=0:Msk%=0:Polling%=TRUE 345REPEAT 346SYS&000400C7,Msk%,Block%TOr% 347CASEr%OF 348WHEN6:PROCPollMouseClick 349WHEN1:SYS&000400C8,,Block% 350WHEN2:SYS&000400C5,,Block% 351WHEN3:SYS&000400C6,,Block% 352WHEN8:PROCPollKeyPressed 353WHEN9:PROCPollMenuSelection 354WHEN17,18,19:IF!(Block%+16)=0THENPROCEnd 355ENDCASE 356UNTILq% 357SYS&000400D4,,-1 358Polling%=FALSE 359ENDPROC 360DEFPROCPollKeyPressed 361CASE!Block%OF 362WHENWin_H%(1):IF!(Block%+24)=13THENStartFrom%=2:q%=TRUE 363WHENWin_H%(2):IF!(Block%+24)=13THENStartFrom%=3:q%=TRUE 364ENDCASE 365ENDPROC 366DEFPROCPollMouseClick 367CASE!(Block%+12)OF 368WHEN-2 369CASE!(Block%+8)OF 370WHEN2:PROCMasterMenu 371WHEN4:StartFrom%=1:PROCMenu1 372ENDCASE 373ENDCASE 374ENDPROC 375DEFPROCMasterMenu 376PROCSetIconMenu 377SYS&000400D4,,MasterMenu%,!Block%-90,316 378ENDPROC 379DEFPROCPollMenuSelection 380CASE!(Block%)OF 381WHEN1:StartFrom%=4:PROCRestart 382WHEN3:OSCLI"Filer_OpenDir <ArcV3SG$Dir>.Journals" 383WHEN4:PROCEnd 384ENDCASE 385ENDPROC 386DEFPROCIcon 387$IconText%="!av3demo" 388!Block%=-1 389!(Block%+4)=-4:!(Block%+8)=0:!(Block%+16)=100:!(Block%+12)=68:!(Block%+20)=&3102:!(Block%+24)=IconText%:!(Block%+28)=1:!(Block%+32)=8 390SYS&000400C2,,Block%TOIcon_H% 391ENDPROC 392DEFPROCMenuStart(p%,t$,w%) 393Mp%=p% 394$Mp%=t$:!(Mp%+12)=&70207:!(Mp%+16)=w% 395!(Mp%+20)=44:!(Mp%+24)=0 396Mp%=Mp%+28 397ENDPROC 398DEFPROCMenuEntry(a%,Sub%,f%,e$) 399IFf%=1THENf%=&07003011 400IFf%=2THENf%=&07403011 401!(Mp%)=0 402?(Mp%)=a%:!(Mp%+4)=Sub% 403!(Mp%+8)=f%:$(Mp%+12)=e$ 404Mp%=Mp%+24 405ENDPROC 406DEFPROCSetIconMenu 407PROCMenuStart(MasterMenu%,"ArcVenture",140) 408PROCMenuEntry(0,Win_H%(3),1,"Info") 409PROCMenuEntry(0,0,2,"Restart") 410PROCMenuEntry(0,0,2,"Teacher") 411PROCMenuEntry(0,0,2,"Journals") 412PROCMenuEntry(&80,0,1,"Quit") 413ENDPROC 414DEFPROCGetWindowTemplates 415p%=Windows% 416IFFirstTime%THEN 417SYS&000400D9,,"<ArcV3$Dir>.Templates" 418ELSE 419SYS&000400D9,,"<ArcV3$Dir>.Templates" 420ENDIF 421WinPoint%(3)=p%:Win_H%(3)=FNMakeWin("Info") 422SYS&000400DA 423ENDPROC 424DEFFNMakeWin(n$) 425Oldp%=p% 426SYS&000400DB,,p%,p%+1024,p%+2048,-1,n$,0 427p%=p%+2048 428SYS&000400C1,,Oldp%TOw% 429=w% 430DEFPROCGetPlayer 431PROCClearPlayer 432$PName%="Demo":!Gender%=1:OldGame%=FALSE 433ENDPROC 434DEFPROCGetTeacherControl 435ENDPROC 436DEFPROCGetVolume 437ENDPROC 438DEFPROCMakeSpriteTable 439LOCALsn$,c% 440RESTORE447 441FORc%=0TO85 442READsn$ 443SprAdd%(c%)=FNReturnAddressOfSprite(sn$) 444SprNm$(c%)=sn$ 445NEXTc% 446ENDPROC 447DATA"fsgi","arc1","dig","arc1","spade","trowel","brush","magnify","digspr1","arc2" 448DATA"flag1","flag2","n","damaged","noob","n","n","n","n","n" 449DATA"bdig1","bdig2","bdig3","bdig4","bdig5","bdig6","bdig7","bdig8","bdig9","bdig10" 450DATA"n","n","n","n","n","n","n","n","unknown4","unknown4r" 451DATA"n","n","n","n","n","n","n","n","n","n" 452DATA"n","n","n","n","n","n","n","n","jug","jugr" 453DATA"bead","bead","n","n","n","n","n","n","n","n" 454DATA"n","n","n","n","n","n","axehead","axeheadr","n","n" 455DATA"n","n","n","n","n","n" 456DEFPROCTile(Tx%,Ty%,Tw%,St%) 457Tb%=0:Os$=S$ 458IFTw%=-1THENTw%=LEN(S$):IFTw%>38THENTw%=38 459IFTx%=-1THENTx%=640-((Tw%*32)/2)-20 460PROCCalcText(Tw%) 461IFSt%=4THENTy%=Ty%+(Th%*40):Tx%=Tx%-(Tw%*16)+128 462IFTy%>1023THENTy%=1023 463ExportTx%=Tx%:ExportTw%=Tw% 464ExportTh%=Th%:ExportTy%=Ty% 465GCOL0,FNGcol(&88888800) 466IFSt%=2THENPROCGetTempSprite(Tx%,Ty%-(Th%*40+28),Tw%*32+40,Th%*40+28) 467IFSt%=4THENPROCGetTempSprite(Tx%,Ty%-(Th%*40+28)-70,Tw%*32+40,Th%*40+28+70) 468IFSt%<>4THENRECTANGLEFILLTx%,Ty%,Tw%*32+40,-Th%*40-28:GCOL0,FNGcol(&FFFFFF00):MOVETx%+(Tw%*32)+40,Ty%:DRAWBY-(Tw%*32+40),0:DRAWBY0,-(Th%*40)-28:GCOL0,FNGcol(&11111100):DRAWBY(Tw%*32+40),0:DRAWBY0,Th%*40+28 469IFSt%=4THENGCOL0,FNGcol(&FFFFFF00):RECTANGLEFILLTx%,Ty%,Tw%*32+40,-Th%*40-28:GCOL0,FNGcol(&00000000):RECTANGLETx%,Ty%,Tw%*32+40,-Th%*40-28 470GCOL0,FNGcol(&00000000):MOVETx%+24,Ty%-24 471IFS$<>""THENPROCTText(Tx%,Ty%,Tw%,Th%) 472IFSt%=1ORSt%=2THENGCOL0,FNGcol(&FFFFFF00):MOVETx%+20,Ty%-20:PROCTText(Tx%-4,Ty%,Tw%,Th%) 473IFSt%=3THENGCOL0,FNGcol(&FFFFFF00):MOVETx%+20,Ty%-20:PROCTText(Tx%,Ty%,Tw%,Th%) 474S$=Os$ 475ENDPROC 476DEFPROCGetTempSprite(x%,y%,w%,h%) 477IFTempSprite%THENPROCReplaceTemp 478TSx%=x%:TSy%=y% 479SYS&0000002E,16+256,SpriteArea%,"t",0,x%,y%,x%+w%,y%+h% 480TempSprite%=TRUE 481ENDPROC 482DEFPROCReplaceTemp 483LOCALERROR 484IFTempSprite%=FALSETHENRESTOREERROR:ENDPROC 485ONERRORLOCALRESTOREERROR:ENDPROC 486SYS&0000002E,34+256,SpriteArea%,"t",TSx%,TSy%,0 487SYS&0000002E,25+256,SpriteArea%,"t" 488TempSprite%=FALSE 489RESTOREERROR 490ENDPROC 491DEFPROCDiscardTemp 492LOCALERROR 493IFTempSprite%=FALSETHENRESTOREERROR:ENDPROC 494ONERRORLOCALRESTOREERROR:ENDPROC 495SYS&0000002E,25+256,SpriteArea%,"t" 496TempSprite%=FALSE 497RESTOREERROR 498ENDPROC 499DEFPROCBlankTile(Tx%,Ty%,Tw%,Th%) 500GCOL0,FNGcol(&88888800) 501RECTANGLEFILLTx%,Ty%,Tw%,-Th%:GCOL0,FNGcol(&FFFFFF00):MOVETx%+Tw%,Ty%:DRAWBY-Tw%,0:DRAWBY0,-Th%:GCOL0,FNGcol(&22222200):DRAWBYTw%,0:DRAWBY0,Th% 502ENDPROC 503DEFPROCTText(Tx%,Ty%,Tw%,Th%) 504LOCALt%,n%,Sy% 505VDU5 506VDU24,Tx%+20;Ty%-(Th%*40)-40;Tx%+(Tw%*32)+20;Ty%; 507FORf%=1TOLEN(S$) 508PRINTMID$(S$,f%,1); 509IFMID$(S$,f%,1)=CHR$13THENMOVEBY0,-8 510NEXTf% 511VDU26 512IFPrinterOn%=FALSETHENVDU4 513OFF 514ENDPROC 515DEFPROCCalcText(Tw%) 516Tp%=0:Ap%=0:Th%=1 517REPEAT 518Tp%=Tp%+Tw%+1 519IFTp%<LEN(S$)THEN 520WHILEMID$(S$,Tp%,1)<>" "ANDTp%>0 521Tp%=Tp%-1 522ENDWHILE 523S$=LEFT$(S$,Tp%-1)+CHR$13+CHR$10+RIGHT$(S$,LEN(S$)-Tp%) 524Th%=Th%+1:Tp%=Tp%+1 525ENDIF 526UNTILTp%>=LEN(S$) 527ENDPROC 528DEFPROCOval(Tx%,Ty%,Tw%,Th%) 529MOVE(Tx%+(Tw%/2)+32),Ty%-(Th%/2):MOVEBYTw%/2+64,0:PLOT&CD,Tx%+(Tw%/2)+32,Ty%+(Th%/2) 530ENDPROC 531DEFPROCBackRem(Tx%,Ty%,Tw%,Ty%) 532MOVETx%,Ty%-Th%:MOVETx%+Tw%,Ty% 533*SGET temp 534ENDPROC 535DEFPROCWait(t%) 536TIME=0 537REPEAT:UNTILTIME=t% 538ENDPROC 539DEFPROCConsole 540WAIT 541IFPart%=1THENFsgiNumber%=0 542PROCPlotSprite(FsgiNumber%,0,0,0) 543IFPart%=2THENPROCPlotSprite(145,720,28,0) 544IFPart%=1THENPROCClock:IFDoingObjectInfo%=FALSETHENPROCTools 545IFPart%=2ANDDontPrintObjects%=FALSETHENPROCPrintObjects 546ENDPROC 547DEFPROCShadow(Shx%,Shy%,S$) 548VDU5 549GCOL0,FNGcol(0):MOVEShx%,Shy%-4:PRINTS$ 550MOVEShx%+4,Shy%-4:PRINTS$ 551GCOL0,FNGcol(&FFFFFF00):MOVEShx%,Shy%:PRINTS$ 552VDU4 553OFF 554ENDPROC 555DEFPROCScrClo 556LOCALw% 557FORw%=0TO900STEP32 558TIME=0 559GCOL0,13 560CIRCLE640,512,w% 561GCOL0,0 562CIRCLEFILL640,512,w%-20 563REPEAT:UNTILTIME>0 564NEXTw% 565ENDPROC 566DEFPROCContBox(cx%,cy%) 567LOCALx%,y%,b%,z%,c$ 568cw%=296 569IFcx%=-1THENcx%=492:cw%=296 570IFcx%=-2THENcx%=268:cw%=744 571c$="cont"+STR$(ContCount%):ContCount%=ContCount%+1 572SYS&0000002E,16+256,SpriteArea%,c$,0,cx%,cy%-68,cx%+cw%,cy% 573ContBox%=TRUE 574IFcw%=744THENS$="Click here to continue"ELSES$="Continue":ENDIF 575Exportcx%=cx%:Exportcy%=cy% 576PROCTile(cx%,cy%,(cw%-40)DIV32,3) 577REPEAT 578PROCMouse 579UNTIL(ButtonPressed%=4ANDMouseX%>cx%ANDMouseX%<cx%+cw%ANDMouseY%>cy%-72ANDMouseY%<cy%)ORAnswerQuestions% 580SYS&0000002E,34+256,SpriteArea%,c$,cx%,cy%-68,0 581ContCount%=ContCount%-1 582REPEAT 583MOUSEx%,y%,b% 584UNTILb%=0ORAnswerQuestions% 585*FX15,0 586ContBox%=FALSE 587ENDPROC 588DEFPROCClw 589GCOL0,0 590RECTANGLEFILL0,256,1279,767 591ENDPROC 592DEFPROCSpeak(sx%,sy%) 593LOCALXOffset% 594XOffset%=0 595IFLEN(S$)>25THENsw%=25ELSEsw%=LEN(S$) 596IFsx%+(sw%*32)>1279THENXOffset%=sx%+(sw%*32)-1279 597IFsx%-((sw%*32)/2)<0THENXOffset%=sx%-((sw%*32)/2) 598IFsy%>1023THENsy%=1023 599d%=SpDir% 600PROCTile(sx%-(XOffset%/2),sy%,sw%,4) 601sh%=ExportTh% 602sy%=ExportTy%:sx%=ExportTx%+(XOffset%/2) 603GCOL0,FNGcol(&FFFFFF00) 604MOVEsx%+(sw%*16),sy%-(sh%*40)-28:MOVEsx%+(sw%*16)+50,sy%-(sh%*40)-28 605IFd%=0THENPLOT&51,-70,-70ELSEPLOT&51,70,-70 606GCOL0,FNGcol(&00000000) 607MOVEsx%+(sw%*16)+50,sy%-(sh%*40)-28 608IFd%=0THENDRAWBY-70,-70ELSEDRAWBY70,-70 609DRAWsx%+(sw%*16),sy%-(sh%*40)-28 610SpDir%=0 611ENDPROC 612DEFPROCMouse 613LOCALx%,y%,b%,z%,K$,l% 614REPEAT 615MOUSEx%,y%,b%,z% 616K$=INKEY$(0) 617IFAnswerQuestions%=TRUETHENK$="�" 618IFINKEY(-63)ANDPart%=2THENAnswerQuestions%=TRUE 619IFINKEY(-5)ORINKEY(-8)THEN 620IFINKEY(-17)ANDContCount%<4THENERROR99,"Return to Desktop" 621ENDIF 622IFINKEY(-83)ANDINKEY(-85)ANDINKEY(-35)ANDINKEY(-66)ANDINKEY(-36)ANDPart%=1THENFORl%=0TO19:?(PObjects%+l%)=l%:NEXTl%:!PObNo%=19 623IFINKEY(-36)ANDINKEY(-38)ANDINKEY(-102)ANDINKEY(-35)ANDPart%=1THENPROCClockAdvance(-1,1) 624IFINKEY(-85)ANDINKEY(-35)ANDINKEY(-87)ANDINKEY(-56)ANDPart%=2THENPROCReturnToRoom1 625IFINKEY(-114)THENSVol%=0 626IFINKEY(-115)THENSVol%=-10 627IF(K$="D"ORK$="d")ANDPart%=2THENPROCCloseDoor 628IF(K$="�")ANDPart%=2THEN!PMoney%=10 629IFNOTContBox%THEN 630IF(K$="L"ORK$="l")ANDPart%=2THENPROCLook 631IF(K$="M"ORK$="m")ANDPart%=2THENPROCPrintMoney 632ENDIF 633UNTILb%<>0ORK$<>"" 634ButtonPressed%=b% 635MouseX%=x% 636MouseY%=y% 637KeyPressed$=K$ 638IFKeyPressed$<>""THENMouseX%=9999:MouseY%=9999 639ENDPROC 640DEFFNConLoc(x%,y%) 641LOCALLoc% 642Loc%=0 643IFy%<224ANDy%>40ANDx%>41ANDx%<1233THEN 644IFx%<700THEN 645IFy%>168THENLoc%=1 646IFy%<168ANDy%>100THENLoc%=2 647IFy%<100THENLoc%=3 648ENDIF 649IFx%>700ANDx%<800THEN 650IFy%>130THENLoc%=4 651IFy%<130THENLoc%=6 652ENDIF 653IFx%>800ANDx%<924THEN 654IFy%>130THENLoc%=5 655IFy%<130THENLoc%=7 656ENDIF 657IFx%>930ANDx%<1090THEN 658IFy%>130THENLoc%=8 659IFy%<130THENLoc%=10 660ENDIF 661IFx%>1090THEN 662IFy%>130THENLoc%=9 663IFy%<130THENLoc%=11 664ENDIF 665ENDIF 666IFAnswerQuestions%THENLoc%=4 667=Loc% 668DEFPROCOp(a$,b$,c$) 669LOCALx%,y%,b% 670PROCConsole 671REPEAT 672MOUSEx%,y%,b% 673UNTILb%=0 674CurOpa$=a$:CurOpb$=b$:CurOpc$=c$ 675PROCShadow(40,216,a$) 676PROCShadow(40,146,b$) 677PROCShadow(40,72,c$) 678*FX 15,0 679ENDPROC 680DEFPROCSetupSpritePool(l%) 681DIM SpriteArea% l% 682!SpriteArea%=l%:SpriteArea%!8=16 683SYS&0000002E,9+256,SpriteArea% 684ENDPROC 685DEFPROCLoadSpriteFile(f$) 686SYS&0000002E,10+256,SpriteArea%,f$ 687ENDPROC 688DEFPROCMergeSpriteFile(f$) 689SYS&0000002E,11+256,SpriteArea%,f$ 690ENDPROC 691DEFFNReturnAddressOfSprite(n$) 692LOCALSpriteAddress% 693SYS&0000002E,24+256,SpriteArea%,n$TO,,SpriteAddress% 694=SpriteAddress% 695DEFPROCPlotSprite(sn%,x%,y%,pc%) 696SYS&0000002E,34+512,SpriteArea%,SprAdd%(sn%),x%,y%,pc% 697ENDPROC 698DEFPROCPlotSpriteNamed(sn$,x%,y%,pc%) 699SYS&0000002E,34+256,SpriteArea%,sn$,x%,y%,pc% 700ENDPROC 701DEFPROCPlotSpriteScaled(sn$,x%,y%,x1%,y1%,x2%,y2%) 702!ScaleFactors%=x1%:!(ScaleFactors%+4)=y1% 703!(ScaleFactors%+8)=x2%:!(ScaleFactors%+12)=y2% 704SYS&0000002E,52+256,SpriteArea%,sn$,x%,y%,0,ScaleFactors% 705ENDPROC 706DEFPROCFade 707LOCALm% 708SYS&000400E5,,Pal1% 709FORa%=0TO19 710Word%=!(Pal1%+(a%*4)) 711Word%=Word%DIV256 712Pal2%(a%,1)=Word%AND&FF 713Word%=Word%DIV256 714Pal2%(a%,2)=Word%AND&FF 715Word%=Word%DIV256 716Pal2%(a%,3)=Word%AND&FF 717NEXTa% 718SYS&00000035,-1,3TO,,m% 719IFm%<>15THENENDPROC 720FORf%=0TO16 721WAIT 722FORa%=0TO16 723IFa%<16THEN 724VDU19,a%,16,Pal2%(a%,1),Pal2%(a%,2),Pal2%(a%,3) 725ELSE 726VDU19,0,24,Pal2%(a%,1),Pal2%(a%,2),Pal2%(a%,3) 727ENDIF 728Pal2%(a%,1)=Pal2%(a%,1)-20:IFPal2%(a%,1)<0THENPal2%(a%,1)=0 729Pal2%(a%,2)=Pal2%(a%,2)-20:IFPal2%(a%,2)<0THENPal2%(a%,2)=0 730Pal2%(a%,3)=Pal2%(a%,3)-20:IFPal2%(a%,3)<0THENPal2%(a%,3)=0 731NEXTa% 732NEXTf% 733ENDPROC 734DEFPROCPrintDrawFile(Fl$) 735FromFile%=TRUE 736Fh%=OPENIN(Fl$) 737PTR#Fh%=PTR#Fh%+40 738REPEAT 739PROCPrintDrawObject 740UNTILEOF#Fh% 741CLOSE#Fh% 742ENDPROC 743DEFPROCPrintDrawObject 744Ot%=FNWGET(Fh%) 745CASEOt%OF 746WHEN2:PROCPrintDrawPath 747WHEN6:PTR#Fh%=PTR#Fh%+32 748OTHERWISE:OSize%=FNWGET(Fh%):PTR#Fh%=PTR#Fh%+(OSize%-8) 749ENDCASE 750ENDPROC 751DEFPROCPrintDrawObjectMem 752Ot%=FNWGET(Fh%) 753CASEOt%OF 754WHEN2:PROCPrintDrawPathMem 755WHEN6:Fh%=Fh%+32 756OTHERWISE:OSize%=FNWGET(Fh%):Fh%=Fh%+(OSize%-8) 757ENDCASE 758ENDPROC 759DEFPROCPrintDrawPath 760!Style%=2:!(Style%+4)=0:!(Style%+8)=0:!(Style%+12)=0 761OSize%=FNWGET(Fh%):PTR#Fh%=PTR#Fh%+16 762FillC%=FNWGET(Fh%):LineC%=FNWGET(Fh%) 763LineW%=FNWGET(Fh%)*(350/256):PathS%=FNWGET(Fh%) 764FORf%=0TOOSize%-44STEP4 765!(Temp%+f%)=FNWGET(Fh%) 766NEXTf% 767IFFillC%<>-1THENSYS&00040743,FillC%,0,0,0,0:SYS&00040702,Temp%,0,0,0 768IFLineC%<>-1THENSYS&00040743,LineC%,0,0,0,0:SYS&00040704,Temp%,0,0,0,0,0,0 769ENDPROC 770DEFPROCPrintDrawPathMem 771!Style%=2:!(Style%+4)=0:!(Style%+8)=0:!(Style%+12)=0 772OSize%=FNWGET(Fh%):Fh%=Fh%+16 773FillC%=FNWGET(Fh%):LineC%=FNWGET(Fh%) 774LineW%=FNWGET(Fh%)*(350/256):PathS%=FNWGET(Fh%) 775FORf%=0TOOSize%-44STEP4 776!(Temp%+f%)=FNWGET(Fh%) 777NEXTf% 778IFFillC%<>-1THENSYS&00040743,FillC%,0,0,0,0:SYS&00040702,Temp%,0,0,0 779IFLineC%<>-1THENSYS&00040743,LineC%,0,0,0,0:SYS&00040704,Temp%,0,0,0,1000,Style%,0 780ENDPROC 781DEFFNWGET(RETURNFh%) 782LOCALd% 783IFFromFile%THEN 784d%=BGET#Fh% 785d%=d%+(BGET#Fh%<<8) 786d%=d%+(BGET#Fh%<<16) 787d%=d%+(BGET#Fh%<<24) 788=d% 789ELSE 790d%=!Fh% 791Fh%=Fh%+4 792=d% 793ENDIF 794DEFFNIsPrinterDriverPresent 795=FALSE 796DEFPROCPrintPrinterPage 797ENDPROC 798DEFPROCInfoHut 799PROCScroll:ViewingObjectStart%=0 800PROCGetBackgroundPalette("Arc1"):PROCSetPalette 801IF!Day%=3AND!Time%>=17ANDCertShown%=FALSETHENPROCOutOfTime:PROCScroll 802IFFNNoofUOFound=3AND!Day%<14ANDPuzzleSolvedShown%=FALSETHENPROCAllPuzzlesSolved:PROCScroll 803S$="Information hut":PROCTile(-1,1020,-1,1) 804COLOURFNGcol(&FFFFFF00) 805PRINTTAB(1,4);"Objects Collected :" 806PROCBlankTile(0,800,800,530) 807DoingObjectInfo%=FALSE 808PROCConsole 809S$="Day "+STR$(!Day%AND&FF):PROCTile(8,1020,-1,0) 810S$="Score : "+STR$(!Score%):PROCTile(850,400,-1,0) 811S$="Which item would you like to find out more about?" 812PROCTile(850,800,12,0) 813FORf%=1280TO1000STEP-4:PROCPlotSprite(1,f%,850,0):NEXTf% 814PROCPrintObjectsFound(ViewingObjectStart%) 815IF!Time%=9AND!Day%=1THENd$="Start Digging"ELSEd$="Continue Digging" 816IF!Day%>2AND!Time%>=17THENd$="" 817IF!PObNo%>ViewingObjectStart%+11THENS1$="Page forward"ELSES1$="Help" 818IFViewingObjectStart%>0THENS2$="Page back"ELSES2$="" 819PROCOp(S1$,d$,S2$) 820IHq%=FALSE:ExDSq%=FALSE 821REPEAT 822PROCMouse 823Loc%=FNConLoc(MouseX%,MouseY%) 824CASELoc%OF 825WHEN1:IF!PObNo%>ViewingObjectStart%+11THEN 826ViewingObjectStart%=ViewingObjectStart%+11:PROCPrintObjectsFound(ViewingObjectStart%) 827IF!PObNo%>ViewingObjectStart%+11THENS1$="Page forward"ELSES1$="Help" 828IFViewingObjectStart%>0THENS2$="Page back"ELSES2$="" 829PROCOp(S1$,d$,S2$) 830ELSE 831PROCHelp(1) 832ENDIF 833WHEN2:IF!Day%>2AND!Time%>=17THEN 834ELSE 835IF!Time%>=17THENPROCClockAdvance(24-(!Time%)+9,10):!Day%=!Day%+1 836REPEAT:PROCDigSite:UNTILExDSq%:IHq%=TRUE 837ENDIF 838WHEN3:IFViewingObjectStart%>0THEN 839ViewingObjectStart%=ViewingObjectStart%-11:PROCPrintObjectsFound(ViewingObjectStart%) 840IF!PObNo%>ViewingObjectStart%+11THENS1$="Page forward"ELSES1$="Help" 841IFViewingObjectStart%>0THENS2$="Page back"ELSES2$="" 842PROCOp(S1$,d$,S2$) 843ELSE 844ENDIF 845WHEN4,5,6,7:IFINKEY(-101)ANDINKEY(-66)ANDINKEY(-83)ANDINKEY(-71)THENPROCPart2:IHq%=TRUE 846OTHERWISE 847on%=FNGetInfoHutObject(MouseX%,MouseY%,ViewingObjectStart%) 848IFon%<>-1THENPROCObjectInfo(on%):IHq%=TRUE 849ENDCASE 850UNTILIHq% 851ENDPROC 852DEFPROCShowCertificate 853ENDPROC 854DEFPROCPrintCertificate 855ENDPROC 856DEFPROCOutOfTime 857PROCConsole 858IFUnknownFound%=FALSETHENPROCGotoPart2Anyway 859S$="You have reached the end of your 3 days." 860IF?(PUObjects%+3)=0THENS$=S$+" Now go back to the Information hut and find out what the unknown object is."ELSES$=S$+" This is the end of this demonstration." 861PROCTile(-1,700,20,2) 862PROCContBox(-1,350):PROCReplaceTemp 863IF?(PUObjects%+3)<>0THEN 864PROCScrClo 865S$="We hope that you have enjoyed your brief expedition into Viking times.":PROCTile(-1,900,-1,1) 866S$="The full version, which contains 28 objects and 26 characters is available from:":PROCTile(-1,750,-1,1) 867S$="Sherston Software (Dept.AC), Swan Barton, Sherston, Malmesbury, Wilts. SN16 0LH." 868PROCTile(-1,500,30,1) 869S$="Tel. 0666 840433 Fax. 0666 840048" 870PROCTile(-1,310,-1,1) 871PROCContBox(-1,80) 872ERROR99,"Desktop" 873ENDIF 874ENDPROC 875DEFPROCGotoPart2Anyway 876S$="You have reached the end of your 3 days. Someone else at the dig has found an interesting object." 877PROCTile(-1,700,20,2) 878PROCContBox(-1,350):PROCReplaceTemp 879S$="Let's have a look at what it is." 880PROCTile(-1,700,20,2) 881PROCContBox(-1,350):PROCReplaceTemp 882PROCUnknown4Link 883ENDPROC 884DEFPROCAllPuzzlesSolved 885S$="You have solved the puzzle. You can now go back to the dig to finish your 14 days.":PROCTile(-1,700,20,2):PROCContBox(-1,350):PROCReplaceTemp 886PuzzleSolvedShown%=TRUE 887ENDPROC 888DEFFNNoofUOFound 889LOCALno% 890no%=0 891IF?(PUObjects%+3)no%=no%+1 892MaxObs%=1 893=no% 894DEFFNGetInfoHutObject(x%,y%,st%) 895IFy%>800ORy%<270ORx%>800THEN=-1 896HutListNumber%=((1024-(y%+240))DIV40)+st% 897ObjectFound%=0:count%=HutListNumber% 898IFHutListNumber%>=!PObNo%THEN=-1ELSE=?(PObjects%+HutListNumber%) 899DEFPROCPrintObjectsFound(st%) 900LOCALen% 901yd%=780 902IFst%+11>!PObNo%THENen%=!PObNo%ELSEen%=st%+11 903PROCBlankTile(0,800,800,530) 904FORf%=st%TOen% 905CASE?(PObjects%+f%)OF 906WHEN4:IF?(PUObjects%+3)=0THENPROCShadow(24,yd%,"Unknown")ELSEPROCShadow(24,yd%,ObDesc$(?(PObjects%+f%))) 907OTHERWISE: 908IF?(PObjects%+f%)<32THENPROCShadow(24,yd%,ObDesc$(?(PObjects%+f%))) 909ENDCASE 910yd%=yd%-40 911NEXTf% 912ENDPROC 913DEFPROCObjectInfo(on%) 914LOCALOIq%,r$,c$,r%,sw%,sh% 915SavedOb%=on%:DoingObjectInfo%=TRUE 916CASEon%OF 917WHEN4:IF?(PUObjects%+3)=0THENPROCUnknown4Link 918ENDCASE 919on%=SavedOb% 920PROCScroll 921PROCGetBackgroundPalette(SprNm$(ObjectStart%+(on%*2))):PROCSetPalette 922PROCConsole 923SYS&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(on%*2))TO,,,sw%,sh% 924SpriteBottom%=390-sh% 925PROCPlotSprite(ObjectStart%+(on%*2),640-((sw%*4)/2),SpriteBottom%,0) 926PROCTelex(0,0,ObDesc$(on%),40) 927PROCTelex2(2,ObNara%(on%)) 928r$="Reconstruct":r%=TRUE 929CASEon%OF 930WHEN0,9,11,14,19,20:ei%=TRUE 931OTHERWISE:ei%=FALSE 932ENDCASE 933IFei%THENc$="Extra Info"ELSEc$="" 934REPEAT 935PROCOp("Back to list",r$,c$) 936OIq%=0 937REPEAT 938PROCMouse 939Loc%=FNConLoc(MouseX%,MouseY%) 940CASELoc%OF 941WHEN1:OIq%=1 942WHEN2:IFr%THENPROCReconstruct(on%):OIq%=2:r%=FALSE:r$="" 943WHEN3:IFei%THENPROCPotteryEI:OIq%=1 944WHEN0:IFMouseX%>590ANDMouseX%<700ANDMouseY%>336ANDMouseY%<374ANDr%THENPROCReconstruct(on%):OIq%=2:r%=FALSE:r$="" 945ENDCASE 946UNTILOIq% 947UNTILOIq%=1 948DoingObjectInfo%=FALSE 949ENDPROC 950DEFPROCTelex(x%,y%,t$,w%) 951LOCALc% 952PRINTTAB(x%,y%); 953IFx%+w%>40THENw%=40-x% 954IFw%<>40THENVDU28,x%,30,x%+w%,y% 955c%=1:COLOURFNGcol(&FFFFFF00) 956S$=t$:PROCCalcText(w%):t$=S$ 957REPEAT 958IFNOTINKEY(-1)ANDMID$(t$,c%,1)<>CHR$13ANDMID$(t$,c%,1)<>CHR$10THEN 959PRINT"*";CHR$8; 960TIME=0:r%=RND(20) 961REPEAT 962IF(TIMEMOD10)>4THENPRINT"*";CHR$8;ELSEPRINT" ";CHR$8; 963UNTILTIME>r% 964SOUND2,SVol%,RND(10)+50,1 965ENDIF 966PRINTMID$(t$,c%,1); 967c%=c%+1 968UNTILc%>LEN(t$) 969PRINT 970VDU26 971ENDPROC 972DEFPROCTelex2(y%,t%) 973LOCALc% 974VDU4 975PRINTTAB(0,y%); 976IFx%+w%>40THENw%=40-x% 977COLOURFNGcol(&FFFFFF00) 978LastWord%=FALSE 979REPEAT 980t$=FNGetWordFromMem(t%) 981FORc%=1TOLEN(t$) 982IFNOTINKEY(-1)ANDMID$(t$,c%,1)<>CHR$13ANDMID$(t$,c%,1)<>CHR$10THEN 983PRINT"*";CHR$8; 984TIME=0:r%=RND(20) 985REPEAT 986IF(TIMEMOD10)>4THENPRINT"*";CHR$8;ELSEPRINT" ";CHR$8; 987UNTILTIME>r% 988SOUND2,SVol%,RND(10)+50,1 989ENDIF 990PRINTMID$(t$,c%,1); 991NEXTc% 992UNTILLastWord% 993PRINT 994VDU26 995ENDPROC 996DEFFNGetWordFromMem(RETURNt%) 997LOCALt$,b%,c% 998t$="":c%=t% 999REPEAT 1000b%=?t% 1001IFCHR$(b%)<>"*"THENt$=t$+CHR$(b%) 1002t%=t%+1 1003IFt%-c%>100THENPRINT"OOPS":b%=32 1004UNTILb%=32ORb%=10ORb%=13ORCHR$(b%)="*" 1005IFCHR$(b%)="*"ORb%=10THENLastWord%=TRUEELSELastWord%=FALSE 1006IFPOS>40-LEN(t$)THENt$=CHR$(10)+CHR$(13)+t$ 1007=t$ 1008DEFPROCReconstruct(on%) 1009LOCALsw%,sy%,sh%,sw2%,sy2% 1010step%=4 1011SYS&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(on%*2))TO,,,sw%,sh% 1012SYS&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(on%*2)+1)TO,,,sw2%,sh2% 1013IFsw2%>sw%THENsw%=sw2% 1014IFsh2%>sh%THENsh%=sh2% 1015FORf%=SpriteBottom%TOSpriteBottom%+(sh%*4)STEP4 1016TIME=0 1017IFINKEY(-1)THENstep%=16ELSEstep%=4 1018VDU24,640-((sw%*4)/2);SpriteBottom%;640+((sw%*4)/2);f%; 1019FORp%=640-((sw%*4)/2)TO640+((sw%*4)/2)STEPstep% 1020IFPOINT(p%,f%+4)THENGCOL0,RND(15):POINTp%,f%+4 1021NEXTp% 1022GCOL0,0:MOVE640-((sw%*4)/2),f%:DRAWBYsw%*4,0 1023PROCPlotSprite(ObjectStart%+(on%*2)+1,640-((sw%*4)/2),SpriteBottom%,0) 1024IFNOTINKEY(-1)THENREPEAT:UNTILTIME>2 1025NEXTf% 1026VDU26:GCOL0,7 1027ENDPROC 1028DEFPROCScroll 1029VDU28,0,23,39,0 1030FORf%=1TO80 1031TIME=0 1032VDU23,7,0,1,0 1033IFNOTINKEY(-1)THENREPEAT:UNTILTIME>0 1034NEXTf% 1035VDU26 1036ENDPROC 1037DEFPROCDigSite 1038UsingTool%=0 1039REPEAT 1040DSq%=0 1041PROCPMap 1042PROCOp("Help","Leave Dig","") 1043PROCPTBar 1044S$="Choose a tool to dig with." 1045PROCTile(-1,370,-1,2) 1046REPEAT 1047PROCMouse 1048IFButtonPressed%<>1THEN 1049Loc%=FNConLoc(MouseX%,MouseY%) 1050CASELoc%OF 1051WHEN1:PROCHelp(2) 1052WHEN2:DSq%=1 1053WHEN8,9,10:UsingTool%=Loc%-7:DSq%=2 1054WHEN11:PROCMagnify(1) 1055ENDCASE 1056ENDIF 1057UNTILDSq%>0 1058PROCReplaceTemp 1059IFDSq%=1THENExDSq%=TRUE:ENDPROC 1060DSq%=0 1061PROCHighlightTool 1062S$="Choose a place to dig." 1063PROCTile(-1,370,-1,2) 1064REPEAT 1065PROCMouse 1066IFButtonPressed%=1THENDSq%=3 1067IFDSq%<>3THEN 1068Loc%=FNConLoc(MouseX%,MouseY%) 1069CASELoc%OF 1070WHEN1:PROCHelp(2):MouseY%=0 1071WHEN2:DSq%=1 1072ENDCASE 1073IFMouseY%>380ANDMouseY%<860ANDMouseX%>40ANDMouseX%<1240THEN 1074DigLoc%=FNDigLoc(MouseX%,MouseY%) 1075IFObjectDug%=-1THENPROCReplaceTemp:PROCConsole:S$="Sorry, that area has been damaged.":PROCTile(-1,900,-1,2):PROCContBox(-1,370):PROCReplaceTemp:S$="Choose a place to dig.":PROCTile(-1,370,-1,2):PROCOp(CurOpa$,CurOpb$,CurOpc$) 1076IFObjectDug%=999THENPROCReplaceTemp:PROCConsole:S$="Sorry you have already dug there.":PROCTile(-1,900,-1,2):PROCContBox(-1,370):PROCReplaceTemp:S$="Choose a place to dig.":PROCTile(-1,370,-1,2):PROCOp(CurOpa$,CurOpb$,CurOpc$) 1077IFObjectDug%>=0ANDObjectDug%<>999THENDSq%=2:?PUnknown%=?PUnknown%+1 1078ENDIF 1079ENDIF 1080UNTILDSq%>0 1081PROCReplaceTemp 1082IFDSq%=1THENExDSq%=TRUE:ENDPROC 1083UNTILDSq%<>3 1084PROCConsole 1085PROCHighlightTool 1086DigX%=MouseX%:DigY%=MouseY% 1087PROCDigZoom 1088PROCDigAnim(1) 1089IFObjectDug%=998THEN 1090PROCClockAdvance(UsingTool%,2):PROCPTBar:S$="You don't find anything here.":PROCTile(DigX%-244,DigY%+248,14,2):PROCContBox(-1,350):PROCReplaceTemp:DigZone%(DigLoc%)=-2 1091IF!Time%>=17ANDDSq%<>1THENS$="It is getting dark now. You must return to the Information hut.":PROCTile(-1,700,30,2):PROCContBox(-1,370):PROCReplaceTemp:ExDSq%=TRUE 1092ENDPROC 1093ENDIF 1094PROCClockAdvance(UsingTool%,2):PROCAwardScore:PROCPTBar 1095IFDigZone%(DigLoc%)<256THEN 1096S$=ObDig1$(ObjectDug%):PROCTile(DigX%-244,DigY%+248,14,2) 1097DigZone%(DigLoc%)=DigZone%(DigLoc%)+1000 1098PROCOp("Keep Digging","Dig somewhere else","Leave dig") 1099DSq%=0 1100REPEAT 1101PROCMouse 1102Loc%=FNConLoc(MouseX%,MouseY%) 1103CASELoc%OF 1104WHEN1:DSq%=2 1105WHEN2:DSq%=3 1106WHEN3:DSq%=1 1107ENDCASE 1108UNTILDSq%>0 1109PROCReplaceTemp 1110IF!Time%>=17ANDDSq%<>1THENS$="It is getting dark now. You must return to the Information hut.":PROCTile(-1,700,30,2):PROCContBox(-1,370):PROCReplaceTemp:DSq%=1 1111IFDSq%=1THENExDSq%=TRUE:ENDPROC 1112IFDSq%=3THENENDPROC 1113PROCConsole 1114S$="Choose a tool to dig with.":PROCTile(-1,370,-1,2) 1115DSq%=0 1116REPEAT 1117PROCMouse 1118Loc%=FNConLoc(MouseX%,MouseY%) 1119CASELoc%OF 1120WHEN8,9,10:UsingTool%=Loc%-7:DSq%=2 1121WHEN11:PROCMagnify(0) 1122ENDCASE 1123UNTILDSq%=2 1124PROCHighlightTool 1125PROCReplaceTemp 1126PROCDigAnim(2) 1127PROCClockAdvance(UsingTool%,2):PROCAwardScore:PROCPTBar 1128IFBrokenObject%THENS$="The spade was the wrong tool for this job. I am afraid you have damaged this area.":PROCTile(DigX%-244,DigY%+248,14,2):PROCContBox(-1,350):DigZone%(DigLoc%)=-1:PROCReplaceTemp:ENDPROC 1129ENDIF 1130IFDigZone%(DigLoc%)>999ANDDigZone%(DigLoc%)<9999THEN 1131S$=ObDig2$(ObjectDug%):PROCTile(DigX%-244,DigY%+248,14,2) 1132DigZone%(DigLoc%)=DigZone%(DigLoc%)+10000 1133PROCOp("Keep Digging","Dig somewhere else","Leave dig") 1134DSq%=0 1135REPEAT 1136PROCMouse 1137Loc%=FNConLoc(MouseX%,MouseY%) 1138CASELoc%OF 1139WHEN1:DSq%=2 1140WHEN2:DSq%=3 1141WHEN3:DSq%=1 1142ENDCASE 1143UNTILDSq%>0 1144PROCReplaceTemp 1145IF!Time%>=17ANDDSq%<>1THENS$="It is getting dark now. You must return to the Information hut.":PROCTile(-1,700,30,2):PROCContBox(-1,370):PROCReplaceTemp:DSq%=1 1146IFDSq%=1THENExDSq%=TRUE:ENDPROC 1147IFDSq%=3THENENDPROC 1148PROCConsole 1149S$="Choose a tool to dig with.":PROCTile(-1,370,-1,2) 1150DSq%=0 1151REPEAT 1152PROCMouse 1153Loc%=FNConLoc(MouseX%,MouseY%) 1154CASELoc%OF 1155WHEN8,9,10:UsingTool%=Loc%-7:DSq%=2 1156WHEN11:PROCMagnify(0) 1157ENDCASE 1158UNTILDSq%=2 1159PROCHighlightTool 1160PROCReplaceTemp 1161PROCDigAnim(3) 1162PROCClockAdvance(UsingTool%,2):PROCAwardScore:PROCPTBar 1163IFBrokenObject%THENS$="The spade was the wrong tool for this job. I am afraid you have damaged this area.":PROCTile(DigX%-244,DigY%+248,14,2):DigZone%(DigLoc%)=-1:PROCContBox(-1,350):PROCReplaceTemp:ENDPROC 1164ENDIF 1165IFDigZone%(DigLoc%)>9999THEN 1166S$=ObDig3$(ObjectDug%):PROCTile(DigX%-244,DigY%+248,14,1) 1167?(PObjects%+!PObNo%)=ObjectDug%:DigZone%(DigLoc%)=999:!PObNo%=(!PObNo%)+1 1168IFObjectDug%=4THENUnknownFound%=TRUE 1169DoNotReplace%=TRUE 1170PROCAskObjectQuestion 1171PROCOp("Look at object","Dig somewhere else","Leave dig") 1172DSq%=0:PROCSingleScreen 1173REPEAT 1174PROCMouse 1175Loc%=FNConLoc(MouseX%,MouseY%) 1176CASELoc%OF 1177WHEN1:IFCurOpa$<>""THEN 1178PROCCloserLook:DSq%=3 1179ENDIF 1180WHEN2:DSq%=3 1181WHEN3:DSq%=1 1182WHEN11:IFCurOpa$<>""THEN 1183PROCCloserLook:DSq%=3 1184ENDIF 1185ENDCASE 1186UNTILDSq%>0 1187IF!Time%>=17ANDDSq%<>1THENS$="It is getting dark now. You must return to the Information hut.":PROCTile(-1,700,30,2):PROCContBox(-1,370):PROCReplaceTemp:DSq%=1 1188IFDSq%=1THENExDSq%=TRUE:ENDPROC 1189IFDSq%=3THENENDPROC 1190ENDIF 1191ENDPROC 1192DEFPROCCloserLook 1193LOCALx%,w%,sw%,sh% 1194x%=DigX%:y%=DigY%:w%=1 1195PROCDoubleBuffer 1196GCOL0,0 1197FORw%=256TO640STEP32 1198TIME=0 1199IFx%-w%<0THENx%=w% 1200IFx%+w%>1276THENx%=1276-w% 1201IFy%+w%>950THENy%=950-w% 1202IFy%-w%<256THENy%=256+w% 1203PROCPlotSpriteScaled("DigSpr1",x%-w%,y%-w%,w%,w%,256,256) 1204IFw%<320THENPROCConsole 1205WAIT 1206PROCSwapScreen 1207NEXTw% 1208PROCSingleScreen:PROCScrClo:PROCDoubleBuffer 1209VDU26:CLG:CLS 1210PROCGetBackgroundPalette(SprNm$(ObjectStart%+(ObjectDug%*2))):PROCSetPalette 1211SYS&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(ObjectDug%*2))TO,,,sw%,sh% 1212PROCPlotSprite(ObjectStart%+(ObjectDug%*2),640-((sw%*4)/2),300,0) 1213PROCSwapScreen 1214DigX%=x%:DigY%=y% 1215PROCSingleScreen 1216PROCContBox(-1,100) 1217ENDPROC 1218DEFPROCHighlightTool 1219GCOL0,4 1220CASEUsingTool%OF 1221WHEN1: 1222RECTANGLE944,150,128,68 1223WHEN2: 1224RECTANGLE1110,150,128,68 1225WHEN3: 1226RECTANGLE944,40,128,68 1227WHEN4: 1228RECTANGLE1110,40,128,68 1229ENDCASE 1230ENDPROC 1231DEFPROCAskObjectQuestion 1232IFQuestionAsked%(ObjectDug%)=FALSETHEN 1233CASEObjectDug%OF 1234ENDCASE 1235QuestionAsked%(ObjectDug%)=TRUE 1236ENDIF 1237ENDPROC 1238DEFPROCObQuestion(q$,a1$,a2$,a3$,ca%) 1239PROCContBox(-1,350) 1240PROCReplaceTemp:DoNotReplace%=TRUE 1241S$=q$:PROCTile(-1,700,30,2) 1242CASEca%OF 1243WHEN1:ca$=a1$ 1244WHEN2:ca$=a2$ 1245WHEN3:ca$=a3$ 1246ENDCASE 1247PROCOp(a1$,a2$,a3$) 1248REPEAT 1249PROCMouse 1250Loc%=FNConLoc(MouseX%,MouseY%) 1251IFLoc%=ca%THENPROCReplaceTemp:S$="That's right.":PROCTile(-1,700,-1,2):PROCContBox(-1,350):PROCReplaceTemp:!Score%=!Score%+1 1252IFLoc%<>ca%ANDLoc%<4ANDLoc%>0THENPROCReplaceTemp:S$="Sorry, the answer was : "+ca$:PROCTile(-1,700,-1,2):PROCContBox(-1,350):PROCReplaceTemp 1253UNTILLoc%=1ORLoc%=2ORLoc%=3 1254ENDPROC 1255DEFPROCMagnify(NotDug%) 1256PROCClockAdvance(1,2) 1257PROCReplaceTemp 1258IFNotDug%THENS$="I think a spade would be a good tool to start with.":PROCTile(-1,800,30,2):PROCContBox(-1,350):PROCReplaceTemp:S$="Choose a tool to dig with.":PROCTile(-1,370,-1,2):ENDPROC 1259CASEObTol%(ObjectDug%)OF 1260WHEN1:S$="There is quite a lot of soil to move." 1261WHEN2:S$="There could be fragile things here." 1262WHEN3:S$="You must be very careful here." 1263ENDCASE 1264PROCTile(-1,800,-1,2):PROCContBox(-1,350):PROCReplaceTemp 1265S$="Choose a tool to dig with.":PROCTile(-1,370,-1,2) 1266ENDPROC 1267DEFPROCAwardScore 1268BrokenObject%=FALSE 1269IFObTol%(ObjectDug%)=UsingTool%THEN!Score%=!Score%+2 1270IFObTol%(ObjectDug%)=UsingTool%-1ORObTol%(ObjectDug%)=UsingTool%+1THEN!Score%=!Score%+1 1271IFObTol%(ObjectDug%)=UsingTool%+2THENBrokenObject%=TRUE 1272ENDPROC 1273DEFPROCDigAnim(t%) 1274LOCALf%,a% 1275IFt%>1THENWAIT:SYS&0000002E,34+256,SpriteArea%,"animback",DigX%-64,DigY%-220,0 1276SYS&0000002E,16+256,SpriteArea%,"animback",0,DigX%-64,DigY%-220,DigX%+68,DigY%-50 1277IFUsingTool%=1THENPROCDigAnim1 1278IFUsingTool%=2THENPROCDigAnim2 1279IFUsingTool%=3THENPROCDigAnim3 1280ENDPROC 1281DEFPROCDigAnim1 1282FORa%=1TO6 1283SOUND2,SVol%,50,1 1284FORf%=DigAnimStart%TODigAnimStart%+5 1285TIME=0 1286PROCPlotSprite(f%,DigX%-64,DigY%-220,8) 1287IFf%=DigAnimStart%+1ORf%=DigAnimStart%+2THENtl%=20ELSEtl%=10 1288IFNOTINKEY(-1)THENREPEAT:UNTILTIME>tl% 1289WAIT 1290SYS&0000002E,34+256,SpriteArea%,"animback",DigX%-64,DigY%-220,0 1291NEXTf% 1292SOUND2,SVol%,50,1 1293NEXTa% 1294PROCPlotSprite(DigAnimStart%,DigX%-64,DigY%-220,8) 1295ENDPROC 1296DEFPROCDigAnim2 1297*CHANNELVOICE 2 Percussion-Noise 1298FORa%=1TO6 1299SOUND2,SVol%/3,0,10 1300FORf%=DigAnimStart%+6TODigAnimStart%+7 1301TIME=0 1302PROCPlotSprite(f%,DigX%-64,DigY%-220,8) 1303tl%=50 1304IFNOTINKEY(-1)THENREPEAT:UNTILTIME>tl% 1305WAIT 1306SYS&0000002E,34+256,SpriteArea%,"animback",DigX%-64,DigY%-220,0 1307NEXTf% 1308NEXTa% 1309PROCPlotSprite(DigAnimStart%+6,DigX%-64,DigY%-220,8) 1310*CHANNELVOICE 2 Percussion-Soft 1311ENDPROC 1312DEFPROCDigAnim3 1313*CHANNELVOICE 2 Percussion-Noise 1314FORa%=1TO6 1315SOUND2,SVol%/10,0,10 1316FORf%=DigAnimStart%+8TODigAnimStart%+9 1317TIME=0 1318PROCPlotSprite(f%,DigX%-64,DigY%-220,8) 1319tl%=50 1320IFNOTINKEY(-1)THENREPEAT:UNTILTIME>tl% 1321WAIT 1322SYS&0000002E,34+256,SpriteArea%,"animback",DigX%-64,DigY%-220,0 1323NEXTf% 1324NEXTa% 1325PROCPlotSprite(DigAnimStart%+8,DigX%-64,DigY%-220,8) 1326*CHANNELVOICE 2 Percussion-Soft 1327ENDPROC 1328DEFPROCTools 1329PROCPlotSprite(4,980,150,8) 1330PROCPlotSprite(5,1140,150,8) 1331PROCPlotSprite(6,980,40,8) 1332PROCPlotSprite(7,1140,40,8) 1333ENDPROC 1334DEFPROCGetBackgroundPalette(spr$) 1335LOCALf%,adr% 1336SYS&0000002E,24+256,SpriteArea%,spr$TO,,adr% 1337adr%=adr%+48 1338FORf%=0TO15 1339Pal2%(f%,1)=?(adr%+1):Pal2%(f%,2)=?(adr%+2):Pal2%(f%,3)=?(adr%+3) 1340adr%=adr%+8 1341NEXTf% 1342ENDPROC 1343DEFPROCFadeUp 1344LOCALf%,a%,t% 1345FORf%=0TO15 1346Pal3%(f%,1)=0:Pal3%(f%,2)=0:Pal3%(f%,3)=0 1347NEXTf% 1348FORf%=0TO31 1349t%=TIME 1350WAIT 1351FORa%=0TO15 1352VDU19,a%,16,Pal3%(a%,1),Pal3%(a%,2),Pal3%(a%,3) 1353Pal3%(a%,1)=Pal3%(a%,1)+10:IFPal3%(a%,1)>=Pal2%(a%,1)THENPal3%(a%,1)=Pal2%(a%,1) 1354Pal3%(a%,2)=Pal3%(a%,2)+10:IFPal3%(a%,2)>=Pal2%(a%,2)THENPal3%(a%,2)=Pal2%(a%,2) 1355Pal3%(a%,3)=Pal3%(a%,3)+10:IFPal3%(a%,3)>=Pal2%(a%,3)THENPal3%(a%,3)=Pal2%(a%,3) 1356NEXTa% 1357REPEAT:UNTILTIME>t%+5 1358NEXTf% 1359ENDPROC 1360DEFPROCBlackOut 1361LOCALf% 1362FORf%=0TO15 1363?(Fp%)=f% 1364SYS&00000007,11,Fp% 1365Pal2%(f%,1)=?(Fp%+2) 1366Pal2%(f%,2)=?(Fp%+3) 1367Pal2%(f%,3)=?(Fp%+4) 1368VDU19,f%,16,0,0,0 1369NEXTf% 1370ENDPROC 1371DEFFNDigLoc(x%,y%) 1372LOCALDigLoc% 1373DigLoc%=((x%-40)DIV120)+(((860-y%)DIV120)*10) 1374ObjectDug%=DigZone%(DigLoc%) 1375IFFNGetNextUnknownObject<>0ANDObjectDug%<999THENObjectDug%=FNGetNextUnknownObject:DigZone%(DigLoc%)=ObjectDug% 1376IFFNGetNextUnknownObject<>0ANDObjectDug%>999THEN?PUnknown%=?PUnknown%-1 1377IFObjectDug%>=1000THENObjectDug%=ObjectDug%-1000 1378IFObjectDug%>=10000THENObjectDug%=ObjectDug%-10000 1379=DigLoc% 1380DEFFNGetNextUnknownObject 1381LOCALuo% 1382CASE?PUnknown%OF 1383WHEN0:uo%=14 1384WHEN1:uo%=4 1385WHEN2:uo%=23 1386WHEN3:uo%=15 1387WHEN4:uo%=14 1388WHEN5:uo%=23 1389WHEN6:uo%=15 1390WHEN7:uo%=14 1391ENDCASE 1392=uo% 1393DEFPROCPMap 1394LOCALx%,y% 1395PROCGetBackgroundPalette("Dig"):PROCSetPalette 1396PROCPlotSprite(MapSprite%,0,260,0) 1397FORf%=0TO49 1398x%=(f%MOD10)*120+68 1399y%=860-(f%DIV10)*120-96 1400IFDigZone%(f%)=999THEN 1401VDU24,x%-32;y%-40;x%+92;y%+100; 1402PROCPlotSprite(10,x%,y%,8) 1403VDU26 1404ENDIF 1405IFDigZone%(f%)=-1THEN 1406VDU24,x%-32;y%-40;x%+92;y%+100; 1407PROCPlotSprite(13,x%,y%,8) 1408VDU26 1409ENDIF 1410IFDigZone%(f%)=-2THEN 1411VDU24,x%-32;y%-40;x%+92;y%+100; 1412PROCPlotSprite(14,x%,y%,8) 1413VDU26 1414ENDIF 1415IFDigZone%(f%)>999ORDigZone%(f%)>9999THENPROCPlotSprite(11,x%,y%,8) 1416NEXTf% 1417ENDPROC 1418DEFPROCSetPalette 1419FORf%=0TO15 1420?(Palette+(f%*12))=Pal2%(f%,1) 1421?(Palette+(f%*12)+4)=Pal2%(f%,2) 1422?(Palette+(f%*12)+8)=Pal2%(f%,3) 1423NEXTf% 1424CALLChangePal 1425SYS&00040750 1426ENDPROC 1427DEFFNGcol(pe%) 1428LOCALgcol% 1429SYS&00040742,pe%TOgcol% 1430=gcol% 1431DEFPROCPTBar 1432IF?PName%>&60AND?PName%<&7BTHEN?PName%=?PName%-32 1433S$=$PName%:SS$="Score : "+STR$(!Score%) 1434DSS$="Day : "+STR$((!Day%)AND&FF) 1435sl%=(39-(LEN(S$)+LEN(SS$)+LEN(DSS$)))DIV2 1436IF(39-(LEN(S$)+LEN(SS$)+LEN(DSS$)))MOD2=1THENesl%=1ELSEesl%=0 1437S$=S$+STRING$(sl%," ")+DSS$+STRING$(sl%+esl%," ")+SS$ 1438PROCTile(0,1023,39,1) 1439ENDPROC 1440DEFPROCClock 1441hour%=!Time%:min%=0 1442a=(360/12)*hour%+(min%/2) 1443b=(360/60)*min% 1444GCOL0,FNGcol(&22222200):PROCClockHands(8,-8) 1445GCOL0,FNGcol(&FFFFFF00):PROCClockHands(0,0) 1446ENDPROC 1447DEFPROCClockHands(x%,y%) 1448MOVE820+x%,130+y%:DRAWSIN(RAD(a))*40+820+x%,COS(RAD(a))*40+130+y% 1449MOVE820+x%,130+y%:DRAWSIN(RAD(b))*66+820+x%,COS(RAD(b))*66+130+y% 1450ENDPROC 1451DEFPROCClockAdvance(h%,s%) 1452LOCALclh%,clm%,ch%,nt%,st% 1453ch%=!Time% 1454IFh%=3THENh%=2 1455IFNOTINKEY(-1)THEN 1456VDU24,670;20;880;236; 1457IFh%>0THENFORclh%=ch%TOch%+h%-1ELSEFORclh%=ch%-1TOch%+h%:ENDIF 1458IFNOTINKEY(-1)THEN 1459IFh%>0THENFORclm%=0TO60STEPs%ELSEFORclm%=60TO0STEP(-1*s%):ENDIF 1460a=(360/12)*clh%+(clm%/2) 1461b=(360/60)*clm% 1462IFclm%=60THENb=0 1463WAIT 1464PROCPlotSprite(FsgiNumber%,0,0,0) 1465GCOL0,FNGcol(&22222200):PROCClockHands(8,-8) 1466GCOL0,FNGcol(&FFFFFF00):PROCClockHands(0,0) 1467NEXTclm% 1468ENDIF 1469NEXTclh% 1470VDU26:GCOL0,7 1471ENDIF 1472nt%=ch%+h%:IFnt%>23THENnt%=nt%-24 1473!Time%=nt% 1474DataSaved%=FALSE 1475ENDPROC 1476DEFPROCDigZoom 1477LOCALx%,w% 1478x%=DigX%:y%=DigY%:w%=1 1479PROCDoubleBuffer 1480CLS 1481PROCConsole 1482PROCPMap 1483PROCPTBar 1484PROCHighlightTool 1485GCOL0,0 1486FORw%=0TO256STEP8 1487TIME=0 1488IFx%-w%<0THENx%=w% 1489IFx%+w%>1276THENx%=1276-w% 1490IFy%-w%<272THENy%=272+w% 1491IFy%+w%>950THENy%=950-w% 1492WAIT 1493RECTANGLEFILLx%-w%+12,y%-w%-12,(w%*2)-4,w%*2 1494PROCPlotSpriteScaled("DigSpr1",x%-w%,y%-w%,w%,w%,256,256) 1495IFNOTINKEY(-1)THENREPEAT:UNTILTIME>5 1496PROCSwapScreen 1497NEXTw% 1498PROCSingleScreen 1499PROCPlotSpriteScaled("DigSpr1",x%-w%,y%-w%,w%,w%,256,256) 1500DigX%=x%:DigY%=y% 1501ENDPROC 1502DEFPROCHelp(h%) 1503LOCALcx%,cy%,l%,hh% 1504PROCConsole 1505CASEh%OF 1506WHEN1:S$="The things that you find at the dig site are listed here." 1507WHEN2:S$="Be careful when choosing which tool to use." 1508OTHERWISE:S$="No help here." 1509ENDCASE 1510l%=LEN(S$) 1511IFl%>38THENl%=38:hh%=2ELSEhh%=1 1512cx%=640-(((l%*32)+40)/2):cy%=900 1513SYS&0000002E,16+256,SpriteArea%,"help",0,cx%,cy%-((hh%*40)+28),cx%+((l%*32)+40),cy% 1514PROCTile(cx%,cy%,l%,1) 1515PROCContBox(-1,450) 1516SYS&0000002E,34+256,SpriteArea%,"help",cx%,cy%-((hh%*40)+28),0 1517PROCOp(CurOpa$,CurOpb$,CurOpc$) 1518*FX15,0 1519ENDPROC 1520DEFPROCLoadObjectText 1521OSCLI("LOAD <ArcV3$Dir>.Data.ObjectText "+STR$~(ObText%)) 1522o%=0:xf%=ObText% 1523REPEAT 1524ObDesc$(o%)=FNGetStringFromMem(xf%) 1525ObNara%(o%)=FNGetAddressFromMem(xf%) 1526ObDig1$(o%)=FNGetStringFromMem(xf%) 1527ObDig2$(o%)=FNGetStringFromMem(xf%) 1528ObDig3$(o%)=FNGetStringFromMem(xf%) 1529ObTol%(o%)=VAL(FNGetStringFromMem(xf%)) 1530NewLine$=FNGetStringFromMem(xf%) 1531o%=o%+1 1532UNTILNewLine$="*" 1533NoofObjects%=o% 1534xf%=OPENIN("<ArcV3$Dir>.Data.ObZones") 1535o%=0 1536REPEAT 1537DigZone%(o%)=VAL(FNGetStringFromFile(xf%)) 1538o%=o%+1 1539UNTILEOF#xf% 1540CLOSE#xf% 1541ENDPROC 1542DEFPROCLoadRoomText 1543xf%=OPENIN("<ArcV3$Dir>.Data.RoomText") 1544o%=0 1545REPEAT 1546RoomName$(o%)=FNGetStringFromFile(xf%) 1547o%=o%+1 1548UNTILEOF#xf% 1549CLOSE#xf% 1550ENDPROC 1551DEFFNGetStringFromFile(xf%) 1552LOCALt$ 1553t$="" 1554REPEAT 1555b%=BGET#xf% 1556IFb%<>10THENt$=t$+CHR$(b%) 1557UNTILb%=10OREOF#xf% 1558=t$ 1559DEFFNGetStringFromMem(RETURNxf%) 1560LOCALt$ 1561t$="" 1562REPEAT 1563b%=?xf% 1564IFb%<>10ANDb%<>13THENt$=t$+CHR$(b%) 1565xf%=xf%+1 1566UNTILb%=10ORb%=13ORCHR$(b%)="*" 1567=t$ 1568DEFFNGetAddressFromMem(RETURNxf%) 1569LOCALt$,Oldxf% 1570t$="":Oldxf%=xf% 1571REPEAT 1572b%=?xf% 1573xf%=xf%+1 1574UNTILb%=10ORCHR$(b%)="*" 1575=Oldxf% 1576DEFPROCTimeTunnel 1577CLS 1578FORtf%=5TO5 1579PROCScrClo:PROCScrClo:PROCScrClo 1580FORz%=1TO256STEP8 1581WAIT 1582PROCGetBackgroundPalette("tl"+STR$(tf%)):PROCSetPalette 1583PROCPlotSpriteScaled("tl"+STR$(tf%),600-z%,600-z%,z%,z%,256,256) 1584NEXTz% 1585z%=256 1586PROCPlotSpriteScaled("tl"+STR$(tf%),600-z%,600-z%,z%,z%,256,256) 1587CASEtf%OF 1588WHEN5:S$="Viking Times" 1589ENDCASE 1590PROCTile(-1,300,-1,1) 1591IFtf%<>5THENTIME=0 1592REPEAT 1593IFINKEY(-1)THENTIME=300 1594UNTILTIME>300 1595ENDIF 1596NEXTtf% 1597ENDPROC 1598DEFPROCInit2 1599DIM VarBlock% 20,Background% 32000,PlayAnim%(4,7),Orn%(NoofP2Objects%),Ofn%(NoofP2Objects%),ox%(NoofP2Objects%),oy%(NoofP2Objects%),P2ObDesc$(NoofP2Objects%),P2ObNara$(NoofP2Objects%) 1600DIM CodeTable% 1024 , ObBoxX%(4),ObBoxY%(4) , PersonType%(NoofPeople%), PVOb1%(NoofPeople%),PVOb2%(NoofPeople%),PVOb3%(NoofPeople%), P2ObName$(NoofP2Objects%), P2ObPrice%(NoofP2Objects%) 1601DIM PersonName$(NoofPeople%),PersonNara$(NoofPeople%),PersonRn%(NoofPeople%),PersonX%(NoofPeople%),PersonY%(NoofPeople%),Pfn%(NoofPeople%):!(VarBlock%)=148:!(VarBlock%+8)=-1 1602vb%=1:db%=2:Skipdoor%=FALSE 1603DIM RoomData% 16000, LinkPoint%(32) 1604PROCDoubleBuffer 1605PROCGetScreenVars 1606PROCSingleScreen 1607PROCCodeAss 1608DIM DoorResponse$(NoofRooms%) 1609PROCSetDoorResponses 1610ObBoxX%(0)=970:ObBoxX%(1)=1130:ObBoxX%(2)=970:ObBoxX%(3)=1130 1611ObBoxY%(0)=150:ObBoxY%(1)=150:ObBoxY%(2)=40:ObBoxY%(3)=40 1612px%=3:py%=4:ChangeRoom%=FALSE:TempCode%=0:ChangingRoom%=FALSE:DoorClosing%=FALSE:JustClosedDoor%=FALSE:RoomNumber%=1 1613ENDPROC 1614DEFPROCPart2 1615PROCSingleScreen 1616PROCTimeTunnel 1617PROCMakeRoom 1618PROCMakeLinkTable 1619PROCPutObjects 1620vb%=2:db%=1 1621FsgiNumber%=10:Part%=2:DoorKnocked%=RoomNumber% 1622PROCMakeSpriteTable2 1623PROCMakeAnimTables 1624PROCSetTables 1625Part%=2 1626PROCBlackOut:CLS:vb%=2:db%=1 1627PROCDoubleBuffer:CLG:PROCSwapScreen 1628PROCGetScreenVars 1629CLS:PROCConsole 1630PROCGetBackgroundPalette("w21"):PROCSetPalette 1631IFvb%=1THEN!CurScreenAddr=Bank1Addr%:Bank%=Bank1Addr%ELSE!CurScreenAddr=Bank2Addr%:Bank%=Bank2Addr% 1632A%=Room%:B%=SpriteArea% 1633CALLBackdropPrint 1634PROCPrintRoomName 1635A%=Bank%:D%=Background% 1636CALLGrabBack 1637A%=Bank%:D%=Background% 1638CALLPutBack 1639PROCBlackOut 1640PROCConsole 1641PROCPlacePlay 1642PROCDisplayLoop 1643PROCConsole 1644PROCRemovePlay 1645PROCFadeUp 1646PROCGameLoop2 1647PROCSingleScreen 1648Part%=1 1649PROCClw 1650PROCMakeSpriteTable:FsgiNumber%=0 1651ENDPROC 1652DEFPROCMakeSpriteTable2 1653LOCALsn$,c% 1654RESTORE1664 1655FORc%=0TO146 1656READsn$ 1657SprAdd%(c%)=FNReturnAddressOfSprite(sn$) 1658SprNm$(c%)=sn$ 1659IFSprAdd%(c%)=0THENERROR99,"Help" 1660NEXTc% 1661PersonSprites%=120 1662P2ObjectSprites%=90 1663ENDPROC 1664DATA"floor1","w21","wall1","n","wall1","house1","house2","house3","house4","n" 1665DATA"fsgi","floor1","floor2","floor3","wall1","wall2","floor4","house6","wall3","house7" 1666DATA"fence1","fence2","w31","door1","door2","door3","w21","fire1","house10","house11" 1667DATA"house12","loom","house13","wall2","door7","door5","door4","door8","wall4","wall5" 1668DATA"w51","door7","door8","furnace","n","door6","n","n","floor2","arch" 1669DATA"p30","p31","p32","p33","p34","p35","p36","p37","arch","rubbish" 1670DATA"p30","n","n","n","n","n","n","n","sign","n" 1671DATA"p10","n","n","n","n","n","n","n","n","n" 1672DATA"p10","p11","p12","p13","p14","p15","p16","p17","table","n" 1673DATA"n","n","n","n","n","n","n","n","unknown42","key1" 1674DATA"iron","n","n","n","n","n","n","n","n","n" 1675DATA"n","n","n","n","n","n","n","n","sheep","pig" 1676DATA"oldman","weaver","n","smith","n","n","n","n","locksmith","n" 1677DATA"n","n","n","n","n","n","n","n","n","n" 1678DATA"n","n","n","n","arc2","arrows","arc1" 1679DEFPROCFlipSprites 1680LOCALf% 1681FORf%=51TO57 1682SYS&0000002E,47+512,SpriteArea%,SprAdd%(f%) 1683NEXTf% 1684FORf%=81TO87 1685SYS&0000002E,47+512,SpriteArea%,SprAdd%(f%) 1686NEXTf% 1687IFPDirection%=1THENPDirection%=2ELSEPDirection%=1 1688ENDPROC 1689DEFPROCMakeAnimTables 1690RESTORE1698 1691FORf%=1TO4 1692FORa%=0TO7 1693READd% 1694PlayAnim%(f%,a%)=d%+PlayFramesStart% 1695NEXTa% 1696NEXTf% 1697ENDPROC 1698DATA20,31,32,33,34,35,36,37 1699DATA20,31,32,33,34,35,36,37 1700DATA0,1,2,3,4,5,6,7 1701DATA0,1,2,3,4,5,6,7 1702DEFPROCGameLoop2 1703LOCALt%,c% 1704GL2q%=FALSE 1705REPEAT 1706PROCMouse 1707IF(INKEY(-63)ANDPart%=2)ORAnswerQuestions%ORK$="�"THENAnswerQuestions%=FALSE:PROCAnswerQuestions 1708IFINKEY(-51)ANDINKEY(-38)ANDINKEY(-84)THENGL2q%=TRUE 1709Loc%=FNConLoc(MouseX%,MouseY%) 1710PlayerMoved%=FALSE:DoorChanged%=FALSE:c%=0 1711CASELoc%OF 1712WHEN4: 1713c%=FNGetContents(Room2%,px%-1,py%) 1714IFc%=999THEN 1715PROCLookForLink(px%-1,py%) 1716ELSE 1717IFc%<>0AND(c%<P2ObjectStart%ORc%>PersonEnd%)THENc%=997:PROCLookForLink(px%-1,py%) 1718ENDIF 1719IFpx%-1<>0ANDpy%<>0THENDoorChanged%=FALSE 1720IF(c%=0OR(c%>996ANDChangeRoom%))ANDNOTDoorChanged%THENPROCMovePlay(-1,0,1) 1721WHEN5:c%=FNGetContents(Room2%,px%,py%-1) 1722IFc%=999THEN 1723PROCLookForLink(px%,py%-1) 1724ELSE 1725IFc%<>0AND(c%<P2ObjectStart%ORc%>PersonEnd%)THENc%=997:PROCLookForLink(px%,py%-1) 1726ENDIF 1727IFpx%<>0ANDpy%-1<>0THENDoorChanged%=FALSE 1728IF(c%=0OR(c%>996ANDChangeRoom%))ANDNOTDoorChanged%THENPROCMovePlay(0,-1,2) 1729WHEN6:c%=FNGetContents(Room2%,px%,py%+1) 1730IFc%=998THEN 1731PROCLookForLink(px%,py%) 1732ELSE 1733IFc%<>0AND(c%<P2ObjectStart%ORc%>PersonEnd%)THENc%=997:PROCLookForLink(px%,py%+1) 1734ENDIF 1735IFc%=0OR(c%>996ANDChangeRoom%)THENPROCMovePlay(0,1,3) 1736WHEN7:c%=FNGetContents(Room2%,px%+1,py%) 1737IFc%=998THEN 1738PROCLookForLink(px%,py%) 1739ELSE 1740IFc%<>0AND(c%<P2ObjectStart%ORc%>PersonEnd%)THENc%=997:PROCLookForLink(px%+1,py%) 1741ENDIF 1742IFc%=0OR(c%>996ANDChangeRoom%)THENPROCMovePlay(1,0,4) 1743WHEN8,9,10,11:PROCObject2(Loc%-8) 1744ENDCASE 1745IFPlayerMoved%=FALSETHEN 1746IFc%>=P2ObjectStart%ANDc%<=P2ObjectEnd%THENPROCObject(c%-P2ObjectStart%) 1747IFc%>=PersonStart%ANDc%<=PersonEnd%THENPROCPerson(c%-PersonStart%) 1748ENDIF 1749IFLoc%>3ANDLoc%<8ANDPlayerMoved%THEN 1750PROCPlacePlay 1751IFvb%=1THENA%=Bank1Addr%ELSEA%=Bank2Addr% 1752D%=Background% 1753!CurScreenAddr=A% 1754CALLPutBack 1755A%=Room2%:B%=SpriteArea% 1756CALLBackdropPrint 1757PROCRemovePlay 1758WAIT 1759PROCSwapScreen 1760ENDIF 1761PlayerMoved%=FALSE 1762UNTILGL2q% 1763ENDPROC 1764DEFPROCMovePlay(x%,y%,d%) 1765LOCALl% 1766IFMenuChangeRoom%THENMenuChangeRoom%=FALSE:ENDPROC 1767*CHANNELVOICE 2 Percussion-Soft 1768PROCPlacePlay 1769DataSaved%=FALSE 1770IF(d%=1ORd%=3)ANDPDirection%=2THENPROCFlipSprites 1771IF(d%=2ORd%=4)ANDPDirection%=1THENPROCFlipSprites 1772REPEAT 1773FORF=1TO7 1774TIME=0 1775!(CodeTable%+(10*4))=SprAdd%(PlayAnim%(d%,F)) 1776IFF=1THENSOUND2,SVol%/2,50,1 1777IFF=4THENSOUND2,SVol%/2,60,1 1778IF(NOTINKEY(-1))ORF=7THENPROCDisplayLoop 1779IF(F=4ANDNOTChangeRoom%)OR(F=4ANDChangeRoom%)THEN 1780PROCRemovePlay 1781IFChangeRoom%THEN 1782tx%=0:ty%=0 1783IFSkipdoor%THENtx%=x%:ty%=y% 1784IFLoc%=6ORLoc%=7THENtx%=x%:ty%=y% 1785px%=Cpx%+tx%:py%=Cpy%+ty%:PROCChangeRoom(Crn%) 1786ELSE 1787px%=px%+x%:py%=py%+y% 1788ENDIF 1789PROCPlacePlay 1790ENDIF 1791IFNOTINKEY(-1)THENREPEAT:UNTILTIME>5 1792NEXTF 1793MOUSEXx%,Yy%,Bb% 1794IFChangeRoom%THENPROCMakeLinkTable 1795ChangeRoom%=FALSE 1796UNTILBb%=0ORFNGetContents(Room2%,px%+x%,py%+y%)<>0ORSkipdoor% 1797!(CodeTable%+(10*4))=SprAdd%(PlayAnim%(d%,0)) 1798PROCDisplayLoop 1799PROCRemovePlay 1800IFSkipdoor%ANDDoorResponse$(RoomNumber%)<>""ANDDoorKnocked%<>RoomNumber%THENPROCCheckChrReaction(RoomNumber%) 1801IFSkipdoor%ANDJustClosedDoor%=FALSETHEN 1802PROCSingleScreen 1803PROCOp("Shut door.","","") 1804PROCMouse 1805l%=FNConLoc(MouseX%,MouseY%) 1806IFl%=1THENPROCCloseDoor:JustClosedDoor%=TRUEELSEJustClosedDoor%=FALSE 1807PROCDoubleBuffer 1808PROCFreshAll 1809ELSEJustClosedDoor%=FALSE 1810ENDIF 1811PlayerMoved%=TRUE:Skipdoor%=FALSE 1812ENDPROC 1813DEFPROCDisplayLoop 1814LOCALt% 1815PROCDoubleBuffer 1816IFvb%=1THENA%=Bank1Addr%ELSEA%=Bank2Addr% 1817D%=Background% 1818!CurScreenAddr=A% 1819CALLPutBack 1820A%=Room2%:B%=SpriteArea% 1821CALLBackdropPrint 1822PROCSwapScreen 1823ENDPROC 1824DEFPROCOp2(a$,b$,c$) 1825LOCALx%,y%,b% 1826SYS&00000006,112,db% 1827SYS&00000006,113,db% 1828PROCConsole 1829REPEAT 1830MOUSEx%,y%,b% 1831UNTILb%=0 1832CurOpa$=a$:CurOpb$=b$:CurOpc$=c$ 1833PROCShadow(60,216,a$) 1834PROCShadow(60,146,b$) 1835PROCShadow(60,72,c$) 1836*FX 15,0 1837SYS&00000006,112,vb% 1838ENDPROC 1839DEFPROCCodeAss 1840DIM Code% 2048 1841FORl%=0TO2STEP2 1842P%=Code% 1843[ OPT l% 1844.BackdropPrint 1845STMFD R13!,{R14} 1846MOV R3,#608 1847MOV R4,#752 1848LDRB R5,[R0] 1849LDRB R6,[R0,#1] 1850ADD R0,R0,#2 1851MOV R8,#0 1852.Loop2 1853MOV R7,#0 1854.Loop1 1855LDRB R2,[R0] 1856MOV R2,R2,LSL #2 1857CMP R2,#0 : BEQ Jn 1858LDR R10,Codes 1859ADD R10,R10,R2 1860LDR R2,[R10] 1861BL SpritePlot 1862.Jn 1863SUB R3,R3,#64:SUB R4,R4,#32:ADD R7,R7,#1:ADD R0,R0,#1 1864CMP R7,R5:BLT Loop1 1865MOV R9,#64:MUL R7,R5,R9:ADD R3,R3,R7:ADD R3,R3,#64 1866MOV R9,#32:MUL R7,R5,R9:ADD R4,R4,R7:SUB R4,R4,#32 1867ADD R8,R8,#1:CMP R8,R6 :BLT Loop2 1868LDMFD R13!,{PC} 1869.RoomLoop 1870STMFD R13!,{R14} 1871MOV R12,#0 1872.l 1873STMFD R13!,{R0} 1874BL BackdropPrint 1875LDMFD R13!,{R0} 1876ADD R12,R12,#1 1877CMP R12,#100 1878BLT l 1879LDMFD R13!,{PC} 1880.SpritePlot 1881STMFD R13!,{R0,R5,R14} 1882BL SpritePlot2 1883LDMFD R13!,{R0,R5,PC} 1884.SpritePlot2 1885STMFD R13!,{R0-R11,R14} 1886LDR R1,CurScreenAddr 1887ADD R1,R1,#40960 1888LDR R11,[R2,#20] 1889ADD R4,R4,R11,LSL#2 1890MOV R6,#40 1891MUL R5,R4,R6 1892MOV R4,R5 1893MOV R3,R3,LSR#3 1894SUB R1,R1,R4 1895ADD R1,R1,R3 1896LDR R5,[R2,#32] 1897ADD R5,R5,R2 1898LDR R6,[R2,#36] 1899ADD R6,R6,R2 1900LDR R11,[R2,#20] 1901.SpLoop1 1902LDR R10,CurScreenAddr 1903CMP R10,R1 1904BGT EndLoop1 1905MOV R7,#0 1906.SpLoop2 1907LDR R9,[R1,R7] 1908LDR R10,[R6,R7] 1909LDR R0,[R5,R7] 1910AND R0,R0,R10 1911ORR R9,R9,R10 1912EOR R9,R9,R10 1913ORR R9,R9,R0 1914STR R9,[R1,R7] 1915ADD R7,R7,#4 1916CMP R7,#16 1917BLT SpLoop2 1918.EndLoop1 1919ADD R1,R1,#160 1920ADD R5,R5,#16 1921ADD R6,R6,#16 1922SUB R11,R11,#1 1923CMP R11,#0 1924BGT SpLoop1 1925LDMFD R13!,{R0-R11,PC} 1926.Codes 1927EQUD CodeTable% 1928.CurScreenAddr 1929EQUD 0 1930.Debug 1931EQUD 0 1932.GrabBack 1933STMFD R13!,{R0-R9,R14} 1934MOV R1,#0 1935.GrabLoop1 1936LDR R2,[R0,R1] 1937STR R2,[R3,R1] 1938ADD R1,R1,#4 1939CMP R1,#30720 1940BLT GrabLoop1 1941LDMFD R13!,{R0-R9,PC} 1942.PutBack 1943STMFD R13!,{R0-R9,R14} 1944MOV R1,#0 1945.PutLoop1 1946LDR R2,[R3,R1] 1947STR R2,[R0,R1] 1948ADD R1,R1,#4 1949CMP R1,#30720 1950BLT PutLoop1 1951LDMFD R13!,{R0-R9,PC} 1952.Scr1 1953EQUD Bank1Addr% 1954.Scr2 1955EQUD Bank2Addr% 1956.BackStore 1957EQUD Background% 1958.ChangePal 1959ADR R7,Palette 1960MOV R8,#0 1961MOV R6,#0 1962MOV R0,#19 1963SWI "OS_Byte" 1964.Loop 1965SWI 256+19 1966MOV R0,R6 1967SWI "OS_WriteC" 1968SWI 256+16 1969LDR R0,[R7,#0] 1970SWI "OS_WriteC" 1971LDR R0,[R7,#4] 1972SWI "OS_WriteC" 1973LDR R0,[R7,#8] 1974SWI "OS_WriteC" 1975ADD R7,R7,#12 1976ADD R6,R6,#1 1977CMP R6,#15 1978BLE Loop 1979MOV PC,R14 1980ALIGN 1981.Palette 1982EQUS STRING$(64,CHR$(0)) 1983ALIGN 1984] 1985NEXTl% 1986ENDPROC 1987DEFPROCSetTables 1988LOCALps%,os% 1989RESTORE1997 1990ps%=PersonSprites% 1991os%=P2ObjectSprites% 1992READNoofEntries% 1993FORa%=0TONoofEntries%-1 1994READs%:!(CodeTable%+(a%*4))=SprAdd%(s%) 1995NEXTa% 1996ENDPROC 1997DATA130 1998DATA0,0,1,2,3,4,5,6,7,8 1999DATAPlayFramesStart% 2000DATA9,11,12,13,14,15,16,17,18 2001DATA19,20,21,22,23,24,25,26,27,28 2002DATA29,30,31,32,33,34,38,39,40,41 2003DATA42,43,44,17,24,41,46,47,48,49 2004DATA58,59,68,69,78,79,88,89,0,0 2005DATAos%,os%+1,os%+2,os%+3,os%+4,os%+5,os%+6,os%+7,os%+8,os%+9 2006DATAos%+10,os%+11,os%+12,os%+13,os%+14,os%+15,os%+16,os%+17,os%+18,os%+19 2007DATAos%+20,os%+21,os%+22,os%+23,os%+24,os%+25,os%+26,os%+27,os%+28,os%+29 2008DATAps%,ps%+1,ps%+2,ps%+3,ps%+4,ps%+5,ps%+6,ps%+7,ps%+8,ps%+9 2009DATAps%+10,ps%+11,ps%+12,ps%+13,ps%+14,ps%+15,ps%+16,ps%+17,ps%+18,ps%+19 2010DATAps%+20,ps%+21,ps%+22,ps%+23,ps%+24,ps%+25,0,0,0,0 2011DATA35,36,37,45,0,0,0,0,0,0 2012DEFPROCMakeRoom 2013OSCLI("LOAD <ArcV3$Dir>.Data.RData "+STR$~(RoomData%)) 2014NoofRooms%=?RoomData% 2015CLOSE#0 2016?(PRoom%+2)=1 2017PROCMakeRoomTable 2018PROCPlaceExtraFixedObjects 2019ENDPROC 2020DEFPROCPlaceExtraFixedObjects 2021IF?PP2Ob%=8THENPROCPutContents2(79,3,3,19+PersonStart%):PROCPutContents2(77,5,1,25) 2022PROCPutContents2(51,1,1,28+P2ObjectStart%):PROCPutContents2(51,5,1,28+P2ObjectStart%):PROCPutContents2(51,3,3,28+P2ObjectStart%) 2023PROCPutContents2(63,3,1,29+P2ObjectStart%):PROCPutContents2(63,4,5,29+P2ObjectStart%) 2024PROCPutContents2(146,0,5,57) 2025ENDPROC 2026DEFPROCReLoadRoomData 2027OSCLI("LOAD <ArcV3$Dir>.Data.RData "+STR$~(RoomData%)) 2028NoofRooms%=?RoomData% 2029CLOSE#0 2030ENDPROC 2031DEFPROCPlacePlay 2032w%=?Room%:l%=?(Room%+1) 2033TempCode%=?(Room2%+(px%*w%)+py%+2) 2034IFTempCode%=10THENTempCode%=0 2035?(Room2%+(px%*w%)+py%+2)=10 2036ENDPROC 2037DEFPROCRemovePlay 2038w%=?Room2%:l%=?(Room2%+1) 2039?(Room2%+(px%*w%)+py%+2)=TempCode% 2040TempCode%=0 2041ENDPROC 2042DEFFNGetContents(RAdd%,x%,y%) 2043ContentsX%=x%:ContentsY%=y% 2044w%=?(RAdd%):l%=?(RAdd%+1) 2045IFx%=0ORy%=0THEN=999 2046IFx%=l%ORy%=w%THEN=998 2047=?(RAdd%+((x%*w%)+y%)+2) 2048DEFFNGetContentsBack(rn%,x%,y%) 2049LOCALRAdd% 2050RAdd%=RoomAdd%(rn%) 2051RAdd2%=RAdd%+2+(?(RAdd%)*?(RAdd%+1)) 2052w%=?(RAdd2%):l%=?(RAdd2%+1) 2053=?(RAdd%+((x%*w%)+y%)+2) 2054DEFFNGetContents2(rn%,x%,y%) 2055LOCALRAdd% 2056RAdd%=RoomAdd%(rn%) 2057RAdd2%=RAdd%+2+(?(RAdd%)*?(RAdd%+1)) 2058w%=?(RAdd2%):l%=?(RAdd2%+1) 2059=?(RAdd2%+((x%*w%)+y%)+2) 2060DEFPROCChangeRoom(rn%) 2061LOCALt% 2062PROCDoubleBuffer 2063ChangingRoom%=TRUE 2064Room%=RoomAdd%(rn%) 2065Room2%=Room%+2+(?(Room%)*?(Room%+1)) 2066PROCMovingChrs(rn%) 2067RoomNumber%=rn% 2068IFDoorKnocked%<>rn%THENDoorKnocked%=999 2069w%=?Room%:l%=?(Room%+1) 2070PROCClw 2071IFvb%=1THEN!CurScreenAddr=Bank1Addr%ELSE!CurScreenAddr=Bank2Addr% 2072A%=Room%:B%=SpriteArea% 2073CALLBackdropPrint 2074PROCPrintRoomName 2075IFvb%=1THENA%=Bank1Addr%ELSEA%=Bank2Addr% 2076D%=Background% 2077CALLGrabBack 2078PROCPlacePlay 2079A%=Room2%:B%=SpriteArea% 2080CALLBackdropPrint 2081PROCSwapScreen 2082PROCRemovePlay 2083ChangingRoom%=FALSE 2084ENDPROC 2085DEFPROCReturnToRoom1 2086px%=3:py%=4:?(PRoom%+2)=1:PROCMakeRoomTable:PROCChangeRoom(0):PROCFreshAll:SYS&00000006,112,vb%:SYS&00000006,113,db% 2087PROCMakeLinkTable 2088*FX15,1 2089ENDPROC 2090DEFPROCMovingChrs(rn%) 2091LOCALr% 2092CASErn%OF 2093WHEN68,72: 2094PROCPutContents2(71,1,6,20+PersonStart%) 2095PROCPutContents2(71,2,6,0) 2096PROCPutContents2(71,1,5,0) 2097PROCPutContents2(71,1,7,24) 2098PROCPutContentsBack(73,1,0,39) 2099WHEN149: 2100r%=Room2% 2101PROCPutContents(r%,1,3,25+PersonStart%) 2102PROCPutContents(r%,2,4,0) 2103WHEN26: 2104IFRoomNumber%=70ORRoomNumber%=69THEN 2105PROCPutContents2(26,2,3,5+PersonStart%):PROCPutContents2(26,2,4,0):PROCPutContents2(26,1,4,0) 2106ELSE 2107PROCPutContents2(26,2,4,5+PersonStart%):PROCPutContents2(26,2,3,0):PROCPutContents2(26,1,4,0) 2108ENDIF 2109ENDCASE 2110CASErn%OF 2111WHEN71,26,69,68: 2112PROCPutContents2(72,4,4,25) 2113PROCPutContentsBack(70,0,2,39) 2114WHEN0,135: 2115PROCPutContents2(3,3,4,24) 2116PROCPutContentsBack(4,3,0,35) 2117ENDCASE 2118ENDPROC 2119DEFPROCPrintRoomName 2120IF?(PRoom%+2)=1THENRoff%=0 2121IF?(PRoom%+2)=2THENRoff%=29 2122IF?(PRoom%+2)=3THENRoff%=49 2123IF?(PRoom%+2)=4THENRoff%=56 2124IF?(PRoom%+2)=5THENRoff%=60 2125S$=RoomName$(RoomNumber%+Roff%):PROCTile(-1,1023,-1,1) 2126ENDPROC 2127DEFPROCMakeRoomTable 2128LOCALAdr% 2129IF?(PRoom%+2)=1THENAdr%=RoomData%+1 2130NoofRooms%=?(Adr%-1) 2131FORf%=0TONoofRooms%-1 2132RoomAdd%(f%)=Adr% 2133Adr%=Adr%+(?(Adr%)*?(Adr%+1))+2 2134Adr%=Adr%+(?(Adr%)*?(Adr%+1))+2 2135NEXTf% 2136EndOfRoomData%=Adr%-1 2137Links%=Adr%+2:NoofLinks%=?Adr%+((?(Adr%+1))*256) 2138ENDPROC 2139DEFPROCMakeLinkTable 2140p%=0 2141FORa%=0TONoofLinks%*4STEP4 2142IF(?(Links%+a%))=RoomNumber%THEN 2143LinkPoint%(p%)=a%:p%=p%+1 2144ENDIF 2145IF(?(Links%+a%+1))=RoomNumber%THEN 2146LinkPoint%(p%)=a%:p%=p%+1 2147ENDIF 2148NEXTa% 2149ENDPROC 2150DEFPROCLookForLink(x%,y%) 2151LOCALd%,f%,LinkFound% 2152FORf%=0TO32 2153a%=LinkPoint%(f%) 2154IF(?(Links%+a%))=RoomNumber%THEN 2155TestX1%=((!(Links%+a%)AND(&F<<16))>>16) 2156TestX2%=x% 2157ly%=((!(Links%+a%)AND(&F<<28))>>28):IFly%<0THENly%=ly%*(-1) 2158IF((!(Links%+a%)AND(&F<<16))>>16)=x%AND((!(Links%+a%)AND(&F<<20))>>20)=y%THEN 2159Ppx%=((!(Links%+a%)AND(&F<<24))>>24) 2160Ppy%=ly% 2161Prn%=?(Links%+a%+1) 2162LinkFound%=TRUE 2163d%=FNCheckForDoor(RoomNumber%,x%,y%) 2164IFd%THEN 2165Cpx%=Ppx% 2166Cpy%=Ppy% 2167Crn%=Prn% 2168ChangeRoom%=TRUE 2169ENDIF 2170ENDIF 2171ENDIF 2172IF(?(Links%+a%+1))=RoomNumber%THEN 2173ly%=((!(Links%+a%)AND(&F<<28))>>28):IFly%<0THENly%=ly%*(-1) 2174IF((!(Links%+a%)AND(&F<<24))>>24)=x%ANDly%=y%THEN 2175Ppx%=((!(Links%+a%)AND(&F<<16))>>16) 2176Ppy%=((!(Links%+a%)AND(&F<<20))>>20) 2177Prn%=?(Links%+a%) 2178LinkFound%=TRUE 2179d%=FNCheckForDoor(RoomNumber%,x%,y%) 2180IFd%THEN 2181Cpx%=Ppx% 2182Cpy%=Ppy% 2183Crn%=Prn% 2184ChangeRoom%=TRUE 2185ENDIF 2186ENDIF 2187ENDIF 2188NEXTf% 2189d%=FNCheckForDoor2(RoomNumber%,x%,y%) 2190IFd%ANDLinkFound%=FALSETHEN 2191PROCLockedDoor 2192ENDIF 2193c1%=FNGetContents(Room2%,x%,y%):c2%=FNGetContentsBack(RoomNumber%,x%,y%) 2194IFc1%=51ORc1%=1ORc2%=51THENChangeRoom%=FALSE 2195ENDPROC 2196DEFFNCheckForDoor(r%,x%,y%) 2197LOCALc%,d% 2198IFx%=0ORy%=0THENc%=FNGetContentsBack(r%,x%,y%)ELSEc%=FNGetContents(Room2%,x%,y%) 2199IFc%=120ORc%=31ORc%=122ORc%=121ORc%=123ORc%=40ORc%=30THENSkipdoor%=TRUE:JustClosedDoor%=FALSE:=TRUE 2200IFc%=26ORc%=24ORc%=25ORc%=18ORc%=33ORc%=35ORc%=39THENd%=FNClosedDoor(c%,x%,y%):Skipdoor%=FALSE:=d% 2201IFc%=43ORc%=44ORc%=45THENPROCLockedDoor:=FALSE 2202=TRUE 2203DEFFNCheckForDoor2(r%,x%,y%) 2204LOCALc%,d% 2205IFx%=0ORy%=0THENc%=FNGetContentsBack(r%,x%,y%)ELSEc%=FNGetContents(Room2%,x%,y%) 2206IFc%=120ORc%=31ORc%=122ORc%=121ORc%=123ORc%=40ORc%=30THEN=TRUE 2207IFc%=26ORc%=24ORc%=25ORc%=18ORc%=33ORc%=35ORc%=39THEN=TRUE 2208IFc%=43ORc%=44ORc%=45THEN=TRUE 2209=FALSE 2210DEFFNClosedDoor(c%,x%,y%) 2211LOCALnc% 2212PROCSingleScreen 2213S$="This door is closed." 2214PROCTile(-1,400,-1,1) 2215REPEAT 2216PROCSingleScreen 2217PROCOp("Knock on door.","Open door.","") 2218REPEAT 2219PROCMouse 2220Loc2%=FNConLoc(MouseX%,MouseY%) 2221UNTILLoc2%=1ORLoc2%=2ORLoc2%>3 2222IFLoc2%=2THENPROCChangeDoor(r%,x%,y%):=FALSE 2223IFLoc2%=1THENPROCKnockOnDoor(r%,x%,y%) 2224PROCConsole 2225IFLoc2%>3THENJustClosedDoor%=FALSE:=FALSE 2226UNTILLoc2%>2 2227PROCDoubleBuffer 2228PROCFreshAll 2229=FALSE 2230DEFPROCLockedDoor 2231PROCGiveLookInfo("This door is locked.") 2232PROCFreshAll 2233ENDPROC 2234DEFPROCKnockOnDoor(r%,x%,y%) 2235OSCLI"CHANNELVOICE 2 Knock1" 2236SOUND2,SVol%,0,1 2237PROCWait(50) 2238SOUND2,SVol%,0,1 2239IFDoorResponse$(Prn%)<>""THEN 2240PROCFreshAll 2241PROCGiveLookInfo("You hear a voice from inside say, '"+DoorResponse$(Prn%)+"'") 2242DoorKnocked%=Prn% 2243ELSE 2244PROCFreshAll 2245PROCGiveLookInfo("There is no answer.") 2246ENDIF 2247PROCFreshAll 2248ENDPROC 2249DEFPROCChangeDoor(r%,x%,y%) 2250LOCALc%,nc% 2251IFx%=0ORy%=0THEN 2252c%=FNGetContentsBack(r%,x%,y%) 2253nc%=FNGetncBack(c%) 2254PROCPutContentsBack(r%,x%,y%,nc%) 2255DRoom%=RoomAdd%(Prn%) 2256DRoom2%=DRoom%+2+(?(DRoom%)*?(DRoom%+1)) 2257c%=FNGetContents(DRoom2%,Ppx%,Ppy%) 2258nc%=FNGetnc(c%) 2259PROCPutContents(DRoom2%,Ppx%,Ppy%,nc%) 2260PROCChangeRoom(r%) 2261ELSE 2262c%=FNGetContents(Room2%,x%,y%) 2263nc%=FNGetnc(c%) 2264PROCPutContents(Room2%,x%,y%,nc%) 2265c%=FNGetContentsBack(Prn%,Ppx%,Ppy%) 2266nc%=FNGetncBack(c%) 2267PROCPutContentsBack(Prn%,Ppx%,Ppy%,nc%) 2268ENDIF 2269IFNOTDoorClosing%THENOSCLI"CHANNELVOICE 2 Door1"ELSEOSCLI"CHANNELVOICE 2 Click1" 2270SOUND2,SVol%,&200,1 2271PROCDoubleBuffer 2272PROCFreshAll 2273ChangeRoom%=FALSE:DoorClosing%=FALSE:DoorChanged%=TRUE 2274ENDPROC 2275DEFFNGetncBack(c%) 2276CASEc%OF 2277WHEN33:=30 2278WHEN26:=121 2279WHEN35:=122 2280WHEN30:=33 2281WHEN121:=26 2282WHEN122:=35 2283WHEN18:=31 2284WHEN31:=18 2285WHEN39:=40 2286WHEN40:=39 2287OTHERWISE=c% 2288ENDCASE 2289DEFFNGetnc(c%) 2290CASEc%OF 2291WHEN24:=120 2292WHEN120:=24 2293WHEN25:=123 2294WHEN123:=25 2295OTHERWISE=c% 2296ENDCASE 2297DEFPROCCloseDoor 2298LOCALx%,y% 2299IFDoorClosing%=TRUETHENENDPROC 2300x%=px%:y%=py%:DoorClosing%=TRUE 2301PROCLookForLink(px%-1,py%):IFChangeRoom%THENx%=px%-1:PROCChangeDoor(RoomNumber%,x%,y%):ENDPROC 2302PROCLookForLink(px%+1,py%):IFChangeRoom%THENx%=px%+1:PROCChangeDoor(RoomNumber%,x%,y%):ENDPROC 2303PROCLookForLink(px%,py%-1):IFChangeRoom%THENy%=py%-1:PROCChangeDoor(RoomNumber%,x%,y%):ENDPROC 2304PROCLookForLink(px%,py%+1):IFChangeRoom%THENy%=py%+1:PROCChangeDoor(RoomNumber%,x%,y%):ENDPROC 2305ENDPROC 2306DEFPROCLoadP2ObjectText 2307xf%=OPENIN("<ArcV3$Dir>.Data.P2Objects") 2308IFxf%=0THENERROR100,"No Object text file present" 2309o%=0 2310REPEAT 2311P2ObDesc$(o%)=FNGetStringFromFile(xf%) 2312P2ObNara$(o%)=FNGetStringFromFile(xf%) 2313P2ObName$(o%)=FNGetStringFromFile(xf%) 2314P2ObPrice%(o%)=VAL(FNGetStringFromFile(xf%)) 2315Ofn%(o%)=VAL(FNGetStringFromFile(xf%)) 2316Orn%(o%)=VAL(FNGetStringFromFile(xf%)) 2317ox%(o%)=VAL(FNGetStringFromFile(xf%)) 2318oy%(o%)=VAL(FNGetStringFromFile(xf%)) 2319NewLine$=FNGetStringFromFile(xf%) 2320o%=o%+1 2321UNTILEOF#xf% 2322CLOSE#xf% 2323NoofP2Objects%=o% 2324ENDPROC 2325DEFPROCLoadPeopleText 2326xf%=OPENIN("<ArcV3$Dir>.Data.People") 2327IFxf%=0THENERROR100,"No Person text file present" 2328o%=0 2329REPEAT 2330PersonName$(o%)=FNGetStringFromFile(xf%) 2331PersonNara$(o%)=FNGetStringFromFile(xf%) 2332PersonType%(o%)=VAL(FNGetStringFromFile(xf%)) 2333IFPersonType%(o%)=1THEN 2334PVOb1%(o%)=VAL(FNGetStringFromFile(xf%)) 2335PVOb2%(o%)=VAL(FNGetStringFromFile(xf%)) 2336PVOb3%(o%)=VAL(FNGetStringFromFile(xf%)) 2337ENDIF 2338Pfn%(o%)=VAL(FNGetStringFromFile(xf%)) 2339PersonRn%(o%)=VAL(FNGetStringFromFile(xf%)) 2340PersonX%(o%)=VAL(FNGetStringFromFile(xf%)) 2341PersonY%(o%)=VAL(FNGetStringFromFile(xf%)) 2342NewLine$=FNGetStringFromFile(xf%) 2343o%=o%+1 2344UNTILEOF#xf% 2345CLOSE#xf% 2346NoofPeople%=o% 2347ENDPROC 2348DEFPROCPutContents(RAdd%,x%,y%,c%) 2349w%=?(RAdd%):l%=?(RAdd%+1) 2350?(RAdd%+((x%*w%)+y%)+2)=c% 2351ENDPROC 2352DEFPROCPutContentsBack(rn%,x%,y%,c%) 2353LOCALRAdd% 2354RAdd%=RoomAdd%(rn%) 2355RAdd2%=RAdd%+2+(?(RAdd%)*?(RAdd%+1)) 2356w%=?(RAdd2%):l%=?(RAdd2%+1) 2357?(RAdd%+((x%*w%)+y%)+2)=c% 2358ENDPROC 2359DEFPROCPutContents2(rn%,x%,y%,c%) 2360LOCALRAdd% 2361RAdd%=RoomAdd%(rn%) 2362RAdd2%=RAdd%+2+(?(RAdd%)*?(RAdd%+1)) 2363w%=?(RAdd2%):l%=?(RAdd2%+1) 2364?(RAdd2%+((x%*w%)+y%)+2)=c% 2365ENDPROC 2366DEFPROCSetObjectData(RAdd%,x%,y%,on%) 2367w%=?(RAdd%):l%=?(RAdd%+1) 2368!(PP2Data%+(on%*4))=((RAdd%+((x%*w%)+y%)+2)-RoomData%) 2369ENDPROC 2370DEFFNIsObjectHere(on%) 2371LOCALc%,r%,w%,l%,rs%,rf%,found% 2372found%=FALSE 2373r%=RoomAdd%(RoomNumber%) 2374r%=r%+(?(r%)*?(r%+1))+2 2375w%=?(r%):l%=?(r%) 2376rs%=r% 2377rf%=rs%+(w%*l%) 2378FORf%=rs%TOrf% 2379IF?f%=on%+P2ObjectStart%THENfound%=TRUE 2380NEXTf% 2381=found% 2382DEFPROCPutObjects 2383LOCALr% 2384PROCReLoadRoomData 2385FORa%=-1TO1 2386IFa%>0THEN?(PRoom%+2)=a%:PROCMakeRoomTable 2387FORf%=0TONoofP2Objects% 2388IFOfn%(f%)=a%THEN 2389IFa%>0THEN 2390?(PObjects2%+f%)=0:!(PP2Data%+(f%*4))=0 2391r%=RoomAdd%(Orn%(f%)) 2392r%=r%+(?(r%)*?(r%+1))+2 2393PROCPutContents(r%,ox%(f%),oy%(f%),f%+P2ObjectStart%) 2394PROCSetObjectData(r%,ox%(f%),oy%(f%),f%) 2395ELSE 2396IFa%=-1THEN?(PObjects2%+f%)=2:!(PP2Data%+(f%*4))=2 2397IFa%=0THEN?(PObjects2%+f%)=0:!(PP2Data%+(f%*4))=0 2398ENDIF 2399ENDIF 2400NEXTf% 2401NEXTa% 2402?(PObjects2%+8)=1 2403?(PRoom%+2)=1:PROCMakeRoomTable 2404PROCPlaceExtraFixedObjects 2405PROCPutPeople 2406ENDPROC 2407DEFPROCPutPeople 2408LOCALr% 2409FORa%=1TO1 2410?(PRoom%+2)=a%:PROCMakeRoomTable 2411FORf%=0TONoofPeople% 2412IFPfn%(f%)=a%THEN 2413r%=RoomAdd%(PersonRn%(f%)) 2414r%=r%+(?(r%)*?(r%+1))+2 2415PROCPutContents(r%,PersonX%(f%),PersonY%(f%),f%+PersonStart%) 2416ENDIF 2417NEXTf% 2418NEXTa% 2419?(PRoom%+2)=1:PROCMakeRoomTable 2420ENDPROC 2421DEFPROCObject(on%) 2422Oq%=FALSE 2423SYS&00000006,112,db% 2424SYS&00000006,113,db% 2425IFon%=22ORon%=28ORon%=29THENa$="Examine animal"ELSEa$="Examine object" 2426PROCOp(a$,"Pick up object","") 2427REPEAT 2428PROCMouse 2429Loc%=FNConLoc(MouseX%,MouseY%) 2430CASELoc%OF 2431WHEN1:PROCConsole:PROCExamineObject(on%):PROCOp(CurOpa$,CurOpb$,CurOpc$) 2432WHEN2:PROCPickupObject(on%):Oq%=TRUE 2433WHEN3: 2434OTHERWISE:Oq%=TRUE 2435ENDCASE 2436UNTILOq%=TRUE 2437PROCConsole 2438SYS&00000006,112,vb% 2439ENDPROC 2440DEFPROCPerson(pn%) 2441LOCALFirstTime% 2442Pq%=FALSE 2443PROCSingleScreen 2444PROCGetPersonCoords(pn%) 2445PROCPlotSpriteNamed(SprNm$(pn%+PersonSprites%)+"z",0,260,0) 2446IFpn%<>24THEN 2447IFDoorKnocked%<>RoomNumber%ANDNoKnock$(RoomNumber%)<>""THENS$=NoKnock$(RoomNumber%):PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp:PROCDoubleBuffer:PROCFreshAll:ENDPROC 2448ENDIF 2449S$="Hello.":PROCSpeak(PerX%,PerY%+280) 2450REPEAT 2451PROCOp("Talk to person","Ask about objects","Ask person's name") 2452PROCMouse 2453IFFirstTime%THENPROCReplaceTemp:FirstTime%=FALSE 2454Loc%=FNConLoc(MouseX%,MouseY%) 2455CASELoc%OF 2456WHEN1:PROCConsole 2457PROCGetPersonCoords(pn%) 2458S$=PersonNara$(pn%) 2459IFpn%=19AND?PP2Ob%=8THENS$="How can I help you?" 2460IFpn%=11ANDRoomNumber%<>61THENS$="Hello again." 2461IFpn%=4ANDFNIsObjectAvailable(6)=FALSETHENS$="I have run out of vegetables." 2462PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,370):PROCReplaceTemp 2463CASEPersonType%(pn%)OF 2464WHEN1: 2465PROCVendor(pn%) 2466WHEN2: 2467PROCBuyer(pn%) 2468OTHERWISE 2469PROCCheckExtraPersonInfo(pn%) 2470ENDCASE 2471WHEN2:PROCAskAboutObject(pn%) 2472WHEN3:PROCConsole 2473PROCGetPersonCoords(pn%) 2474S$="My name is "+PersonName$(pn%)+".":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,370):PROCReplaceTemp 2475OTHERWISE:Pq%=TRUE 2476ENDCASE 2477UNTILPq%=TRUE 2478PROCConsole 2479PROCGetPersonCoords(pn%) 2480S$="Goodbye.":PROCSpeak(PerX%,PerY%+280) 2481PROCWait(50) 2482PROCReplaceTemp 2483SYS&00000006,112,vb% 2484SYS&00000006,113,db% 2485PROCFreshAll 2486ENDPROC 2487DEFPROCAskAboutObject(pn%) 2488LOCALAAOq% 2489AAOq%=FALSE 2490REPEAT:MOUSEX%,y%,b%:UNTILb%=0 2491PROCConsole:S$="Please choose an object.":PROCTile(-1,350,-1,2) 2492REPEAT 2493PROCMouse 2494PROCReplaceTemp 2495Loc%=FNConLoc(MouseX%,MouseY%) 2496CASELoc%OF 2497WHEN8,9,10,11 2498on%=FNGetObjectNumberFromConsole(Loc%-7) 2499IFon%<>999THEN 2500PROCGetInfoAboutObject(pn%,on%) 2501ENDIF 2502AAOq%=TRUE 2503OTHERWISEAAOq%=TRUE 2504ENDCASE 2505UNTILAAOq% 2506ENDPROC 2507DEFPROCGetPersonCoords(pn%) 2508PerX%=FNGetXCoordFromGridLoc(PersonX%(pn%),PersonY%(pn%)) 2509PerY%=FNGetYCoordFromGridLoc(PersonX%(pn%),PersonY%(pn%)) 2510PerX%=160 2511PerY%=300 2512ENDPROC 2513DEFPROCGetPlayerCoords 2514Psx%=FNGetXCoordFromGridLoc(px%,py%) 2515Psy%=FNGetYCoordFromGridLoc(px%,py%) 2516ENDPROC 2517DEFFNGetXCoordFromGridLoc(gx%,gy%) 2518=600-(gy%*64)+(gx%*64) 2519DEFFNGetYCoordFromGridLoc(gx%,gy%) 2520=752-(gy%*32)-(gx%*32) 2521DEFPROCObject2(on%) 2522on%=FNGetObjectNumberFromConsole(on%+1) 2523IFon%=999THENENDPROC 2524Oq%=FALSE 2525SYS&00000006,112,db% 2526SYS&00000006,113,db% 2527PROCOp("Examine object","Give or Use object","Drop object") 2528REPEAT 2529PROCMouse 2530Loc%=FNConLoc(MouseX%,MouseY%) 2531CASELoc%OF 2532WHEN1:PROCConsole:PROCExamineObject(on%):PROCOp(CurOpa$,CurOpb$,CurOpc$) 2533WHEN2:PROCUseObject(on%):Oq%=TRUE 2534WHEN3:PROCDropObject(on%):Oq%=TRUE 2535OTHERWISE:Oq%=TRUE 2536ENDCASE 2537UNTILOq%=TRUE 2538PROCConsole 2539SYS&00000006,112,vb% 2540PROCFreshAll 2541ENDPROC 2542DEFPROCUseObject(on%) 2543LOCALObjectUsed% 2544ObjectUsed%=FALSE 2545CASEon%OF 2546WHEN2:IFRoomNumber%=26AND?(PRoom%+2)=1THENPROCGiveLookInfo("You give the sword to the guard."):PROCSetFlag(3):PROCTakeObject(2):ObjectUsed%=TRUE 2547IFRoomNumber%=72AND?(PRoom%+2)=1THENPROCGiveLookInfo("You give the sword to the King."):PROCSetFlag(3):PROCTakeObject(2):ObjectUsed%=TRUE 2548WHEN5:IFRoomNumber%=63AND?(PRoom%+2)=1THENPROCGiveLookInfo("You give the toy sword to Thorkel."):PROCDiscardObject(5):ObjectUsed%=TRUE 2549WHEN10:IFRoomNumber%=7AND?(PRoom%+2)=1THENPROCGiveLookInfo("You give the iron bar to the smith."):PROCSetFlag(9):PROCTakeObject(10):ObjectUsed%=TRUE 2550WHEN20:IFRoomNumber%=4THENPROCGiveLookInfo("You give the string to Gisla."):PROCTakeObject(20):PROCSetFlag(25):ObjectUsed%=TRUE 2551IFRoomNumber%<>4THEN 2552IFFNIsObjectHeld(19)ANDFNIsObjectHeld(20)ANDFNIsObjectHeld(21)THENPROCGiveLookInfo("You make a fishing rod."):PROCTakeObject(19):PROCTakeObject(20):PROCTakeObject(21):PROCGiveObject(27):ObjectUsed%=TRUE 2553ENDIF 2554WHEN9:IFRoomNumber%=35AND?(PRoom%+2)=1THEN 2555PROCGiveLookInfo("You unlock the door to the smith's store."):ObjectUsed%=TRUE 2556PROCPutContentsBack(35,0,1,18) 2557PROCChangeRoom(35) 2558ENDIF 2559IFRoomNumber%=37AND?(PRoom%+2)=1THEN 2560PROCGiveLookInfo("You unlock the door to the smith's store."):ObjectUsed%=TRUE 2561PROCPutContents(Room2%,6,2,25) 2562ENDIF 2563WHEN12:IFRoomNumber%=51AND?(PRoom%+2)=1THENPROCGiveLookInfo("You give the hay to the sheep."):PROCSetFlag(13):PROCTakeObject(12):ObjectUsed%=TRUE 2564WHEN7:IFRoomNumber%=41AND?(PRoom%+2)=1THENPROCGiveLookInfo("You give the bowl to the locksmith."):PROCDiscardObject(7):ObjectUsed%=TRUE 2565WHEN16:IFRoomNumber%=73AND?(PRoom%+2)=1THENPROCGiveLookInfo("You give the books to the tanner."):PROCSetFlag(20):PROCTakeObject(16)ObjectUsed%=TRUE 2566WHEN19,21:IFFNIsObjectHeld(19)ANDFNIsObjectHeld(20)ANDFNIsObjectHeld(21)THENPROCGiveLookInfo("You make a fishing rod."):PROCTakeObject(19):PROCTakeObject(20):PROCTakeObject(21):PROCGiveObject(27):ObjectUsed%=TRUE 2567WHEN27:IFRoomNumber%=146AND?(PRoom%+2)=1THEN 2568PROCGiveLookInfo("You fish in the Ouse."):ObjectUsed%=TRUE 2569rnd%=RND(10):IFNoofTimesFished%>5THENrnd%=9 2570NoofTimesFished%=NoofTimesFished%+1 2571IFFNIsObjectAvailable(25)ANDrnd%>=8THEN 2572PROCGiveLookInfo("You catch some fish."):PROCGiveObject(25) 2573g%=FNGetContents2(61,2,3):IFg%<>0THENPROCPutContents2(111,5,3,g%):PROCPutContents2(61,2,3,0) 2574PROCPutContents2(111,5,2,22+P2ObjectStart%):PROCPutContents2(111,5,1,23+P2ObjectStart%) 2575NoofTimesFished%=0 2576ENDIF 2577ENDIF 2578WHEN25:IFRoomNumber%=111AND?(PRoom%+2)=1THENPROCGiveLookInfo("You try to give the fish to the market keeper."):ObjectUsed%=TRUE 2579IFRoomNumber%=4AND?(PRoom%+2)=1THEN 2580PROCGiveLookInfo("You give the fish to Edda."):PROCTakeObject(25):PROCSetFlag(27):ObjectUsed%=TRUE 2581g%=FNGetContents2(111,5,3):IFg%<>0THENPROCPutContents2(153,1,3,g%):PROCPutContents2(111,5,3,0) 2582PROCPutContents2(153,2,3,24+P2ObjectStart%) 2583PROCPutContents2(111,5,2,0):PROCPutContents2(111,5,1,0) 2584PROCPutContents2(153,1,2,22+P2ObjectStart%):PROCPutContents2(153,1,1,23+P2ObjectStart%) 2585ENDIF 2586ENDCASE 2587IFNOTObjectUsed%THENPROCGiveLookInfo("You can't use or give that to anyone here.") 2588ENDPROC 2589DEFPROCDropObject(on%) 2590LOCALx%,y% 2591x%=0:y%=0:?Px%=px%:?Py%=py% 2592w%=?(RAdd%):l%=?(RAdd%+1) 2593c%=FNGetContents(Room2%,(?Px%)-1,?Py%) 2594IFc%=0AND(?Px%)-1>0THENx%=(?Px%)-1:y%=?Py% 2595c%=FNGetContents(Room2%,?Px%,(?Py%)-1) 2596IFc%=0AND(?Py%)-1>0THENx%=?Px%:y%=(?Py%)-1 2597c%=FNGetContents(Room2%,(?Px%)+1,?Py%) 2598IFc%=0AND(?Px%)+1<w%THENx%=(?Px%)+1:y%=?Py% 2599c%=FNGetContents(Room2%,?Px%,(?Py%)+1) 2600IFc%=0AND(?Py%)+1<l%THENx%=?Px%:y%=(?Py%)+1 2601IFx%<>0ANDy%<>0THENPROCPutContents(Room2%,x%,y%,P2ObjectStart%+on%):?(PObjects2%+on%)=0:SYS&00000006,112,vb%:PROCFreshAll:SYS&00000006,112,db%:PROCSetObjectData(Room2%,x%,y%,on%) 2602ENDPROC 2603DEFFNGetObjectNumberFromConsole(on%) 2604LOCALo%,c%,f% 2605o%=999:c%=0 2606FORf%=0TONoofP2Objects%-1 2607IF?(PObjects2%+f%)=1ANDc%<>on%THENc%=c%+1 2608IF?(PObjects2%+f%)=1ANDc%=on%THENo%=f%:c%=c%+1 2609NEXTf% 2610=o% 2611DEFPROCPickupObject(on%) 2612IFon%=28THENPROCGiveLookInfo("Sorry, you cannot pick up the sheep."):PROCFreshAll:ENDPROC 2613IFon%=29THENPROCGiveLookInfo("Sorry, you cannot pick up the pig."):PROCFreshAll:ENDPROC 2614IFFNNumberOfObjectsHeld=4THENPROCGiveLookInfo("Sorry, you can't carry any more."):PROCFreshAll:ENDPROC 2615PROCPutContents(Room2%,ContentsX%,ContentsY%,0) 2616?(PObjects2%+on%)=1 2617!(PP2Data%+(on%*4))=0 2618SYS&00000006,112,vb% 2619PROCFreshAll 2620SYS&00000006,112,db% 2621ENDPROC 2622DEFPROCGiveObject(on%) 2623ObjectNotGiven%=FALSE 2624IFFNNumberOfObjectsHeld>=4THENPROCGiveLookInfo("Sorry, you can't carry any more."):ObjectNotGiven%=TRUE:ENDPROC 2625?(PObjects2%+on%)=1 2626PROCConsole 2627ENDPROC 2628DEFFNNumberOfObjectsHeld 2629LOCALo% 2630o%=0 2631FORf%=0TONoofP2Objects%-1 2632IF?(PObjects2%+f%)=1THENo%=o%+1 2633NEXTf% 2634=o% 2635DEFPROCTakeObject(on%) 2636?(PObjects2%+on%)=2 2637PROCFreshAll 2638ENDPROC 2639DEFPROCDiscardObject(on%) 2640?(PObjects2%+on%)=0 2641PROCFreshAll 2642ENDPROC 2643DEFFNIsObjectAvailable(on%) 2644IF?(PObjects2%+on%)=2THEN=TRUEELSE=FALSE 2645DEFFNIsObjectHeld(on%) 2646IF?(PObjects2%+on%)=1THEN=TRUEELSE=FALSE 2647DEFFNIsObjectNull(on%) 2648IF?(PObjects2%+on%)=0THEN=TRUEELSE=FALSE 2649DEFPROCFreshAll 2650PROCPlacePlay 2651PROCConsole 2652PROCDisplayLoop 2653PROCConsole 2654PROCDisplayLoop 2655PROCRemovePlay 2656ENDPROC 2657DEFPROCExamineObject(on%) 2658S$=P2ObDesc$(on%):PROCTile(-1,450,-1,2) 2659PROCContBox(-1,370) 2660PROCReplaceTemp 2661ENDPROC 2662DEFPROCPrintObjects 2663LOCALo% 2664o%=0 2665FORf%=0TONoofP2Objects%-1 2666IF?(PObjects2%+f%)=1THENPROCPlotSpriteNamed(SprNm$(P2ObjectSprites%+f%)+"l",ObBoxX%(o%),ObBoxY%(o%),8):o%=o%+1 2667IFo%>4THENf%=NoofP2Objects%-1 2668NEXTf% 2669ENDPROC 2670DEFPROCGetInfoAboutObject(pn%,on%) 2671CASEon%OF 2672WHEN8 2673CASEpn%OF 2674WHEN8 2675PROCGiveInfo(pn%,"It looks a bit of a mess.") 2676PROCGiveInfo(pn%,"It is probably a barrel lock. That is a lock which is usually used for locking boxes and chests.") 2677PROCGiveInfo(pn%,"There should be a key with a flat, round end with it.") 2678PROCGiveInfo(pn%,"I'm sorry, I don't know which metal it is made of. You could try asking the smith in Coppergate.") 2679PROCSetFlag(8) 2680WHEN3 2681IFFNIsFlagSet(10)THEN 2682PROCGiveInfo(pn%,"I am fairly certain that the lump of metal that you have is made of iron.") 2683ELSE 2684IFFNIsFlagSet(9)THEN 2685PROCGiveInfo(pn%,"Thank you for the iron. I think the metal that you have is also iron.") 2686PROCSetFlag(10) 2687ELSE 2688PROCGiveInfo(pn%,"I wonder if you could give me a hand.") 2689PROCGiveInfo(pn%,"I have lost the key to my store next door.") 2690PROCGiveInfo(pn%,"I'm sure that I put it down somewhere. If you find it, could you open my store and bring me an iron bar?") 2691ENDIF 2692ENDIF 2693OTHERWISE 2694IFRND(5)>=3THEN 2695PROCGiveInfo(pn%,"You could try asking a locksmith.") 2696ENDIF 2697ENDCASE 2698OTHERWISE:PROCGiveInfo(pn%,P2ObDesc$(on%)) 2699IFRND(5)>3THENPROCGiveInfo(pn%,P2ObNara$(on%)) 2700ENDCASE 2701ENDPROC 2702DEFPROCGiveInfo(pn%,S$) 2703PROCGetPersonCoords(pn%) 2704PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp 2705ENDPROC 2706DEFPROCLook 2707IFContCount%>3ORContBox%THENENDPROC 2708CASERoomNumber%OF 2709WHEN61:IFFNIsObjectHere(26)THENPROCGiveLookInfo("You see a note here.")ELSEPROCGiveLookInfo("You are at the market place.") 2710WHEN146:PROCGiveLookInfo("You see the River Ouse.") 2711WHEN148:PROCGiveLookInfo("You see a bridge.") 2712WHEN22:PROCGiveLookInfo("Through the window you see someone working.") 2713PROCGiveLookInfo("There is a sign here that reads 'Toymaker'.") 2714WHEN51:PROCGiveLookInfo("You see some sheep.") 2715WHEN63:PROCGiveLookInfo("You see some pigs.") 2716WHEN75:PROCGiveLookInfo("You see lots of wallhangings on the walls.") 2717WHEN7:PROCGiveLookInfo("You see a very hot furnace.") 2718WHEN3:PROCGiveLookInfo("There is a sign here that reads 'Potter'.") 2719WHEN21:PROCGiveLookInfo("There is a sign here that reads 'Wallhangings'.") 2720WHEN40:PROCGiveLookInfo("There is a sign here that reads 'Locksmith'.") 2721WHEN53:PROCGiveLookInfo("There is a sign here that reads 'Craftsman'.") 2722WHEN13:PROCGiveLookInfo("There is a sign here that reads 'Carpenter'.") 2723WHEN16:PROCGiveLookInfo("There is a sign here.") 2724PROCGiveLookInfo("It says, 'You cannot go along here on this demo version. Try another route.'") 2725WHEN143:PROCGiveLookInfo("There is a sign here.") 2726PROCGiveLookInfo("It says, 'You cannot go along here on this demo version. Try another route.'") 2727WHEN45:PROCGiveLookInfo("There is a sign here.") 2728PROCGiveLookInfo("It says, 'You cannot go along here on this demo version. Try another route.'") 2729OTHERWISE:PROCGiveLookInfo("You see nothing of interest here.") 2730ENDCASE 2731ENDPROC 2732DEFPROCGiveLookInfo(S$) 2733LOCALl% 2734IFDoubleBuffer%THENDoubBuff%=TRUEELSEDoubBuff%=FALSE 2735PROCSingleScreen 2736IFLEN(S$)>=30THENl%=30ELSEl%=-1 2737PROCTile(-1,600,l%,2) 2738PROCContBox(-1,350) 2739PROCReplaceTemp 2740IFDoubBuff%THENPROCDoubleBuffer 2741ENDPROC 2742DEFPROCSetFlag(fn%) 2743!(PFlags%)=!(PFlags%)OR(1<<fn%) 2744ENDPROC 2745DEFPROCClearFlags 2746!(PFlags%)=0 2747ENDPROC 2748DEFFNIsFlagSet(fn%) 2749=(!(PFlags%)AND(1<<fn%))>>fn% 2750DEFPROCAnswerQuestions 2751SYS&00000006,112,db% 2752SYS&00000006,113,db% 2753PROCClw 2754DontPrintObjects%=TRUE 2755PROCConsole 2756PROCGetBackgroundPalette("Arc2"):PROCSetPalette 2757PROCAnim(144,-100,270,8,0,40) 2758IFFNHasInfoBeenFoundTHEN 2759S$="Are you ready to answer my questions?" 2760IF?PP2Ob%=7OR?PP2Ob%=8THENS$="Are you ready to answer my question?" 2761PROCSpeak(300,600) 2762PROCOp("Yes","No","") 2763REPEAT 2764PROCMouse 2765Loc%=FNConLoc(MouseX%,MouseY%) 2766UNTILLoc%=1ORLoc%=2 2767PROCReplaceTemp 2768IFLoc%=2THENSYS&00000006,112,vb%:PROCClw:PROCGetBackgroundPalette("w21"):PROCSetPalette:PROCFreshAll:ENDPROC 2769CASE?PP2Ob%OF 2770WHEN4: 2771S$="What is this object?":PROCSpeak(300,600) 2772PROCOneQuestion("A barrel lock","A horse shoe","A tin can",1) 2773S$="Correct. What is it made of?":PROCSpeak(300,600) 2774PROCOneQuestion("Silver","Brass","Iron",3) 2775S$="Correct. I shall now take you back to the dig site.":PROCSpeak(300,600):PROCContBox(-1,350):PROCReplaceTemp 2776S$="I am afraid you will have to leave behind anything that you collected on the expedition.":PROCSpeak(300,600):PROCContBox(-1,350):PROCReplaceTemp 2777?(PUObjects%+3)=1 2778GL2q%=TRUE:!Score%=!Score%+2 2779ENDCASE 2780ELSE 2781S$="I am sorry but you have not found the information which you need to answer my questions yet." 2782PROCSpeak(300,600):PROCContBox(-1,350):PROCReplaceTemp 2783PROCClw:PROCGetBackgroundPalette("w21"):PROCSetPalette 2784DontPrintObjects%=FALSE 2785SYS&00000006,112,vb%:PROCFreshAll 2786ENDIF 2787SYS&00000006,112,vb% 2788PROCClw:PROCGetBackgroundPalette("w21"):PROCSetPalette 2789DontPrintObjects%=FALSE 2790ENDPROC 2791DEFPROCOneQuestion(a$,b$,c$,c%) 2792REPEAT 2793PROCOp(a$,b$,c$) 2794REPEAT 2795PROCMouse 2796Loc%=FNConLoc(MouseX%,MouseY%) 2797UNTILLoc%=1ORLoc%=2ORLoc%=3 2798PROCReplaceTemp 2799IFLoc%<>c%THENS$="No, not that one. Try again.":PROCSpeak(300,600) 2800UNTILLoc%=c% 2801ENDPROC 2802DEFFNYesNo 2803LOCALa%,Loc% 2804PROCOp("Yes","No","") 2805REPEAT 2806PROCMouse 2807Loc%=FNConLoc(MouseX%,MouseY%) 2808UNTILLoc%<3 2809IFLoc%=1THENa%=TRUEELSEa%=FALSE 2810PROCConsole 2811=a% 2812DEFFNHasInfoBeenFound 2813CASE?PP2Ob%OF 2814WHEN4:IFFNIsFlagSet(8)ANDFNIsFlagSet(10)THEN=TRUEELSE=FALSE 2815ENDCASE 2816=FALSE 2817DEFPROCVendor(pn%) 2818Pq%=FALSE:Loc1%=999:ItemBought%=0 2819PROCSingleScreen 2820PROCGetPersonCoords(pn%) 2821IF?(PObjects2%+PVOb1%(pn%))<>2AND?(PObjects2%+PVOb2%(pn%))<>2AND?(PObjects2%+PVOb3%(pn%))<>2THEN 2822S$="I'm sorry, I have nothing to sell today.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp 2823ELSE 2824S$="Would you like to buy anything? I have " 2825comma$="" 2826IF?(PObjects2%+PVOb2%(pn%))<>2AND?(PObjects2%+PVOb3%(pn%))<>2THENcomma$="" 2827IF?(PObjects2%+PVOb2%(pn%))=2AND?(PObjects2%+PVOb3%(pn%))<>2THENcomma$="" 2828IF?(PObjects2%+PVOb2%(pn%))=2AND?(PObjects2%+PVOb3%(pn%))=2THENcomma$="," 2829IF?(PObjects2%+PVOb1%(pn%))=2THENS$=S$+P2ObName$(PVOb1%(pn%))+comma$ 2830IF?(PObjects2%+PVOb3%(pn%))<>2THENand$=" and ":comma$=""ELSEand$="":comma$=", " 2831IF?(PObjects2%+PVOb2%(pn%))=2THENS$=S$+and$+P2ObName$(PVOb2%(pn%))+comma$ 2832IF?(PObjects2%+PVOb3%(pn%))=2THENS$=S$+" and "+P2ObName$(PVOb3%(pn%)) 2833S$=S$+" to sell." 2834PROCSpeak(PerX%,PerY%+280) 2835PROCOp("Yes","No","") 2836REPEAT 2837PROCMouse 2838Loc%=FNConLoc(MouseX%,MouseY%) 2839PROCConsole 2840CASELoc%OF 2841WHEN1:PROCReplaceTemp 2842S$="What would you like to buy?":PROCSpeak(PerX%,PerY%+280) 2843IF?(PObjects2%+PVOb1%(pn%))=2THENV1$=P2ObName$(PVOb1%(pn%))ELSEV1$="" 2844IF?(PObjects2%+PVOb2%(pn%))=2THENV2$=P2ObName$(PVOb2%(pn%))ELSEV2$="" 2845IF?(PObjects2%+PVOb3%(pn%))=2THENV3$=P2ObName$(PVOb3%(pn%))ELSEV3$="" 2846PROCOp(V1$,V2$,V3$) 2847REPEAT 2848PROCMouse 2849Loc1%=FNConLoc(MouseX%,MouseY%) 2850CASELoc1%OF 2851WHEN1:IFV1$<>""THENPROCDoVend(PVOb1%(pn%),pn%) 2852WHEN2:IFV2$<>""THENPROCDoVend(PVOb2%(pn%),pn%) 2853WHEN3:IFV3$<>""THENPROCDoVend(PVOb3%(pn%),pn%) 2854ENDCASE 2855UNTILLoc1%<12 2856PROCReplaceTemp 2857IFLoc1%<4THENS$="Thank you.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp 2858OTHERWISE:PROCReplaceTemp 2859ENDCASE 2860UNTILLoc%<12 2861ENDIF 2862PROCCheckExtraPersonInfo(pn%) 2863IFpn%=22ANDItemBought%=24THEN 2864PROCGiveInfo(pn%,"If you need to take the sand somewhere, a horse and cart would be useful.") 2865PROCGiveInfo(pn%,"You often see carts up at the market.") 2866ENDIF 2867PROCConsole 2868PROCGetPersonCoords(pn%) 2869IFLoc1%>=4THENS$="Goodbye.":PROCSpeak(PerX%,PerY%+280):PROCWait(50):PROCReplaceTemp 2870SYS&00000006,112,vb% 2871SYS&00000006,113,db% 2872PROCFreshAll 2873ENDPROC 2874DEFPROCBuyer(pn%) 2875PROCSingleScreen 2876PROCGetPersonCoords(pn%) 2877S$="Do you have anything that you want to sell?":PROCSpeak(PerX%,PerY%+280) 2878IFFNYesNoTHEN 2879PROCReplaceTemp 2880S$="Which object do you want to sell?":PROCSpeak(PerX%,PerY%+280) 2881REPEAT 2882PROCMouse 2883Locb%=FNConLoc(MouseX%,MouseY%) 2884CASELocb%OF 2885WHEN8,9,10,11: 2886PROCReplaceTemp 2887on%=FNGetObjectNumberFromConsole(Locb%-7) 2888IFon%<>999THENPROCDoBuy(on%,pn%) 2889ENDCASE 2890UNTILLocb%>3 2891ENDIF 2892PROCReplaceTemp 2893PROCCheckExtraPersonInfo(pn%) 2894ENDPROC 2895DEFFNCheckVend 2896TradeOb%=0 2897FORf%=1TONoofP2Objects% 2898IF?(PObjects2%+f%)=1THENTradeOb%=f% 2899NEXTf% 2900=TradeOb% 2901DEFPROCDoVend(on%,pn%) 2902LOCALLoc% 2903PROCReplaceTemp 2904VendPrice%=P2ObPrice%(on%) 2905IFVendPrice%=1THENp$=" penny."ELSEp$=" pennies." 2906S$="That will cost you "+STR$(VendPrice%)+p$:PROCSpeak(PerX%,PerY%+280) 2907PROCOp("It's a deal","That's a bit much","No thank you") 2908REPEAT 2909PROCMouse 2910Loc%=FNConLoc(MouseX%,MouseY%) 2911CASELoc%OF 2912WHEN1:PROCPlaceVendOb(on%,VendPrice%,pn%) 2913WHEN2: 2914IFRND(5)>3ANDVendPrice%-1>0THEN 2915VendPrice%=VendPrice%-1:PROCReplaceTemp 2916IFVendPrice%=1THENp$=" penny."ELSEp$=" pennies." 2917S$="Ok, I'll give it to you for "+STR$(VendPrice%)+p$:PROCSpeak(PerX%,PerY%+280) 2918PROCOp("It's a deal","That's a bit much","No thank you") 2919REPEAT 2920PROCMouse 2921Loc2%=FNConLoc(MouseX%,MouseY%) 2922CASELoc2%OF 2923WHEN1: 2924PROCPlaceVendOb(on%,VendPrice%,pn%) 2925WHEN2: 2926IFRND(5)>3ANDVendPrice%-1>0THEN 2927VendPrice%=VendPrice%-1:PROCReplaceTemp 2928IFVendPrice%=1THENp$=" penny."ELSEp$=" pennies." 2929S$="Ok, I'll give it to you for "+STR$(VendPrice%)+p$:PROCSpeak(PerX%,PerY%+280) 2930PROCOp("It's a deal","That's a bit much","No thank you") 2931REPEAT 2932PROCMouse 2933Loc3%=FNConLoc(MouseX%,MouseY%) 2934CASELoc3%OF 2935WHEN1: 2936PROCPlaceVendOb(on%,VendPrice%,pn%) 2937WHEN2: 2938PROCReplaceTemp:S$="I'm sorry I can't sell that for any less.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):ENDPROC 2939WHEN3:PROCReplaceTemp:S$="Ok":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):ENDPROC 2940ENDCASE 2941UNTILLoc3%>3 2942ELSE 2943PROCReplaceTemp:S$="I'm sorry I can't sell that for any less.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):ENDPROC 2944ENDIF 2945WHEN3:PROCReplaceTemp:S$="Ok":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):ENDPROC 2946ENDCASE 2947UNTILLoc2%<3 2948ELSE 2949PROCReplaceTemp:S$="I'm sorry I can't sell that for any less.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):ENDPROC 2950ENDIF 2951WHEN3:PROCReplaceTemp:S$="Ok":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):ENDPROC 2952ENDCASE 2953UNTILLoc%<3 2954ENDPROC 2955DEFPROCDoBuy(on%,pn%) 2956LOCALLoc%,Loc1%,Loc2%,Loc3% 2957CASEon%OF 2958WHEN0,1,3,8,11,13,15,18:S$="I'm sorry, I don't want to buy that.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp:ENDPROC 2959ENDCASE 2960VendPrice%=P2ObPrice%(on%)+RND(2)-2 2961IFVendPrice%<1THENVendPrice%=1 2962IFVendPrice%=1THENp$=" penny."ELSEp$=" pennies." 2963S$="I'll give you "+STR$(VendPrice%)+p$+" for that.":PROCSpeak(PerX%,PerY%+280) 2964PROCOp("It's a deal","That's not enough","No, goodbye") 2965REPEAT 2966PROCMouse 2967Loc1%=FNConLoc(MouseX%,MouseY%) 2968CASELoc1%OF 2969WHEN1:PROCPlaceBuyOb(on%,VendPrice%,pn%) 2970WHEN2: 2971IFRND(5)>3THEN 2972VendPrice%=VendPrice%+1:PROCReplaceTemp 2973IFVendPrice%=1THENp$=" penny."ELSEp$=" pennies." 2974S$="Ok, I'll give you "+STR$(VendPrice%)+p$+" for it.":PROCSpeak(PerX%,PerY%+280) 2975PROCOp("It's a deal","That's not enough","No, goodbye") 2976REPEAT 2977PROCMouse 2978Loc2%=FNConLoc(MouseX%,MouseY%) 2979CASELoc2%OF 2980WHEN1: 2981PROCPlaceBuyOb(on%,VendPrice%,pn%) 2982WHEN2: 2983IFRND(5)>3THEN 2984VendPrice%=VendPrice%+1:PROCReplaceTemp 2985IFVendPrice%=1THENp$=" penny."ELSEp$=" pennies." 2986S$="Ok, I'll give you "+STR$(VendPrice%)+p$+" for it.":PROCSpeak(PerX%,PerY%+280) 2987PROCOp("It's a deal","That's not enough","No, goodbye") 2988REPEAT 2989PROCMouse 2990Loc3%=FNConLoc(MouseX%,MouseY%) 2991CASELoc3%OF 2992WHEN1: 2993PROCPlaceBuyOb(on%,VendPrice%,pn%) 2994WHEN2: 2995PROCReplaceTemp:S$="I'm sorry that's as much as I can afford.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp:ENDPROC 2996WHEN3:PROCReplaceTemp:S$="Ok":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp:ENDPROC 2997ENDCASE 2998UNTILLoc3%>3 2999ELSE 3000PROCReplaceTemp:S$="I'm sorry that's all I can afford.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp:ENDPROC 3001ENDIF 3002WHEN3:PROCReplaceTemp:S$="Ok":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp:ENDPROC 3003ENDCASE 3004UNTILLoc2%<3 3005ELSE 3006PROCReplaceTemp:S$="I'm sorry that's all I can afford.":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp:ENDPROC 3007ENDIF 3008WHEN3:PROCReplaceTemp:S$="Ok":PROCSpeak(PerX%,PerY%+280):PROCContBox(-1,350):PROCReplaceTemp:ENDPROC 3009ENDCASE 3010UNTILLoc1%<3 3011ENDPROC 3012DEFPROCPlaceVendOb(on%,p%,pn%) 3013PROCReplaceTemp 3014IFp%>!PMoney%THENPROCGiveInfo(pn%,"Sorry, you don't have enough money."):PROCContBox(-1,350):ENDPROC 3015IFon%=24THENPROCDropObject(on%):PROCSetFlag(30):PROCPlotSpriteNamed(SprNm$(pn%+PersonSprites%)+"z",0,260,0) 3016IFon%<>24THENPROCGiveObject(on%) 3017!PMoney%=!PMoney%-p% 3018ItemBought%=on% 3019IFpn%=7AND?PP2Ob%=3THENPROCSetFlag(6) 3020ENDPROC 3021DEFPROCPlaceBuyOb(on%,p%,pn%) 3022PROCReplaceTemp 3023?(PObjects2%+on%)=2:!PMoney%=!PMoney%+p% 3024PROCContBox(-1,350) 3025ENDPROC 3026DEFPROCPotteryEI 3027PROCClw 3028PROCTelex(0,0,"About Pottery in Viking Times.",39) 3029PROCTelex(0,3,"Many different kinds of pottery were found at the Coppergate site. There were signs that the Vikings made some use of old Roman pots.",39) 3030PROCTelex(0,10,"There were also a few pieces of foreign pottery but most of the pieces found were made fairly close to York. Some pots were brought from Ipswich, Lincoln and York itself.",39) 3031PROCContBox(-1,350) 3032ENDPROC 3033DEFPROCUnknown4Link 3034PROCScrClo 3035PROCGetBackgroundPalette(SprNm$(ObjectStart%+(4*2))):PROCSetPalette 3036SYS&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(4*2))TO,,,sw%,sh% 3037PROCPlotSprite(ObjectStart%+(4*2),640-(sw%*2),1023-(sh%*4),0) 3038S$="There is some information that I need to find out about this object.":PROCTile(64,600,36,1):PROCContBox(-1,100) 3039S$="The 2 things that I need to know about this object are as follows :":PROCTile(64,450,36,1):PROCContBox(-1,100) 3040S$="What is this object?":PROCTile(20,300,17,1) 3041S$="What is it made of?":PROCTile(700,300,17,1) 3042PROCClearPlayerBits 3043PROCContBox(-1,100):?PP2Ob%=4:?(PObjects2%+8)=1 3044UnknownObjectNumber%=8 3045PROCSetRoom1 3046PROCLink1 3047ENDPROC 3048DEFPROCSetRoom1 3049RoomNumber%=0:?PRoom%=0:?(PRoom%+2)=1 3050PROCMakeRoomTable 3051Room%=RoomAdd%(0) 3052Room2%=Room%+(?(Room%)*?(Room%+1))+2 3053w%=?Room%:l%=?(Room%+1) 3054PROCMakeLinkTable 3055px%=3:py%=4:ChangeRoom%=FALSE:TempCode%=0:ChangingRoom%=FALSE 3056ENDPROC 3057DEFPROCLink1 3058CLG 3059PROCGetBackgroundPalette("arc1"):PROCSetPalette 3060SYS&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(1*2))TO,,,sw%,sh% 3061PROCAnim(9,0,100,8,0,140) 3062PROCPlotSprite(1,1112,100,0) 3063SpDir%=1:S$="I shall now reconstruct Viking times so that you can find the information which I need." 3064PROCSpeak(600,400):PROCContBox(-1,100):PROCReplaceTemp 3065SpDir%=1:S$="Make good use of your journey to Viking times. There will be lots of people there who can help you." 3066PROCSpeak(600,400):PROCContBox(-1,100):PROCReplaceTemp 3067SpDir%=1:S$="When you have found the answers I need, call me by pressing the 'Home' key." 3068PROCSpeak(600,400):PROCContBox(-1,100):PROCReplaceTemp 3069SpDir%=1:S$="Good Luck." 3070PROCSpeak(600,400):PROCContBox(-1,100):PROCReplaceTemp 3071StartFrom%=1:PROCClearFlags 3072PROCPart2 3073ENDPROC 3074DEFPROCClearPlayerBits 3075PROCPutObjects 3076!PMoney%=0 3077PROCClearFlags 3078ENDPROC 3079DEFPROCReAskQuestions 3080ENDPROC 3081DEFPROCCheckExtraPersonInfo(pn%) 3082LOCALq1%,q2%,q3%,q4% 3083q1%=FALSE:q2%=FALSE:q3%=FALSE:q4%=FALSE 3084CASEpn%OF 3085WHEN0: 3086PROCOp("Ask how he is","","") 3087PROCMouse 3088Loc%=FNConLoc(MouseX%,MouseY%) 3089IFLoc%=1THEN 3090PROCGiveInfo(pn%,"Oh, I'm not too bad. My joints are starting to ache now that winter is on its way.") 3091ENDIF 3092PROCConsole 3093WHEN25 3094PROCGiveInfo(pn%,"The edge of the demo.") 3095ENDCASE 3096ENDPROC 3097DEFPROCSwapScreen 3098WAIT 3099SYS&00000006,112,db% 3100SYS&00000006,113,vb% 3101IFvb%=1THENvb%=2:db%=1ELSEvb%=1:db%=2 3102ENDPROC 3103DEFPROCSingleScreen 3104IFNOTDoubleBuffer%THENENDPROC 3105SYS&00000006,112,db% 3106SYS&00000006,113,db% 3107DoubleBuffer%=FALSE 3108ENDPROC 3109DEFPROCDoubleBuffer 3110IFDoubleBuffer%THENENDPROC 3111SYS&00000006,112,vb% 3112SYS&00000006,113,db% 3113DoubleBuffer%=TRUE 3114ENDPROC 3115DEFPROCSetDoorResponses 3116LOCALf%,r% 3117DIM NoKnock$(NoofRooms%) 3118RESTORE3125 3119READNoofEntries% 3120FORf%=0TONoofEntries% 3121READr% 3122READDoorResponse$(r%),NoKnock$(r%) 3123NEXTf% 3124ENDPROC 3125DATA13 3126DATA4,"Come in.","" 3127DATA5,"","" 3128DATA72,"Enter.","" 3129DATA7,"Come in.","" 3130DATA31,"Come in.","" 3131DATA33,"","" 3132DATA41,"Come in.","" 3133DATA75,"Come in.","" 3134DATA62,"Come in.","" 3135DATA68,"Come in.","" 3136DATA80,"Come in.","" 3137DATA71,"Come in.","" 3138DATA155,"Come in.","" 3139DATA128,"Come in.","" 3140DEFPROCCheckChrReaction(r%) 3141ENDPROC 3142DEFPROCPrintMoney 3143LOCALx%,y%,b%,z%,c$,w% 3144IFDoubleBuffer%THENPROCSingleScreen:DoubleBBack%=TRUEELSEDoubleBBack%=FALSE 3145IF!PMoney%>1THENS$="You have "+STR$(!PMoney%)+" pennies."ELSES$="You have 1 penny." 3146IF!PMoney%=0THENS$="You have no money." 3147w%=LEN(S$)*16:cx%=620-w%:cy%=600 3148SYS&0000002E,16+256,SpriteArea%,"mon",0,cx%,cy%-68,cx%+(w%*2+40),cy% 3149PROCTile(cx%,cy%,LEN(S$),1) 3150REPEAT:UNTILINKEY$(0)="" 3151PROCContBox(-1,350) 3152SYS&0000002E,34+256,SpriteArea%,"mon",cx%,cy%-68,0 3153IFDoubleBBack%THENPROCDoubleBuffer 3154ENDPROC 3155DEFPROCSummariseOldGame 3156ENDPROC
+�ADFS::AC_AV3Demo.$.!AV3Demo.!RunImage WimpNotOpen%=� Polling%=� SpritePoolSize%=330000 NumberOfSprites%=150 FsgiNumber%=0 MapSprite%=2 MapSprite2%=12 AnimStart%=20 SVol%=-15 DigAnimStart%=20 ObjectStart%=30 NoofP2Objects%=30 NoofPeople%=30 NoofMaxRooms%=160 NoofRooms%=160 FileType%=&AE8 PlayFramesStart%=50 P2ObjectStart%=60 P2ObjectEnd%=89 PersonStart%=90 PersonEnd%=119 pdbs%=&40000 �Init ��Error � �Poll �� ��Error �Polling%��=99� Polling%=�:�Desktop � �Polling%� !tPolling%=�:S$=�$+" , Internal code "+�(�):�Tile(-1,1000,39,1):S$="Press any key":�Tile(-1,900,-1,1):K=�:�Desktop " ��End #� $� %� & ��End '�WimpNotOpen%�� (ș&000400DD )� *� +��WimpClose ,�WimpNotOpen%�� -ș&000400DD .WimpNotOpen%=� /�:Polling%=� 0 *FX 229,1 1� 2��WimpOpen 3*FX 229 4/ș&000400C0,200,&4B534154,"ArcVenture"�,Th% 5WimpNotOpen%=� 6 �Icon 7�GetWindowTemplates 8� 9 ��Desktop :�DiscardTemp ;�:��(0)="" <ș&00000006,15,1:*FX20 =ș&00000006,114,1 > �WimpOpen ?ș&000400E3,WimpMode% @q%=� A� B ��Restart Cș&00000006,135�,,WimpMode% D �Fade E�WimpClose Fș&00000006,114,0 G�9:�:*Pointer H�GetScreenVars I�DoubleBuffer:�SingleScreen J�MakeLinkTable K �GameLoop L� M��GetScreenVars N&!(VarBlock%)=148:!(VarBlock%+8)=-1 O#ș&00000031,VarBlock%,VarBlock% PBank1Addr%=!(VarBlock%) QF!(VarBlock%)=149:!(VarBlock%+8)=-1:ș&00000031,VarBlock%,VarBlock% RBank2Addr%=!(VarBlock%) S� T��ClearPlayer U!Day%=0:!Score%=0:!Time%=9 V.�f%=0�NoofObjects%:?(PObjects%+f%)=255:�f% W$PName%="Demo":!PObNo%=0 X#�f%=0�31:?(PObjects2%+f%)=0:�f% Y!Day%=1 Z�f%=0�14 [$(PNotes%+(f%*190))="" \�f% ]6Intro%=�:?PUnknown%=0:!PFlags%=0:Part%=1:!PPart%=1 ^"�f%=0�5:?(PUObjects%+f%)=0:�f% _�ClearPlayerBits `� a ��Init b3� D% 100:ș&00000023,"ArcV3$Dir",D%,100,0,0�,,N c"D$="":�i%=0�N-1:D$+=�(D%?i%):� dFromMovie%=� e� IconText% 10 f!PDirection%=1:UnknownFound%=� g�� SprAdd%(NumberOfSprites%),SprNm$(NumberOfSprites%), Block% 1024, MasterMenu% 256,NewGame% 256,Teacher% 256, Pal1% 100, Pal2%(19,3),Pal3%(19,3),ScaleFactors% 20, Temp% 4048, TextLine$(10), DigZone%(50), ObDig$(2,30) , PrintBlock% 100, Pblk% 100 h=�FromMovie%=��ș&000400C0,200,&4B534154,"ArcVenture"�,Th% iDWimpNotOpen%=�:Part%=1:Disk%=1:FirstTime%=�:StraightIntoPart2%=� j9Ƞ4:��:PrinterOn%=�:PuzzleSolvedShown%=�:DataSaved%=� k#*CHANNELVOICE 2 Percussion-Soft luNoofWindows%=5:AskingQuestions%=�:Timer%=0:StartFrom%=1:NoofTimesFished%=0:AnswerQuestions%=�:DontPrintObjects%=� mQ� Windows% (NoofWindows%*2048), Win_H%(NoofWindows%), WinPoint%(NoofWindows%) n%�FromMovie%=���GetWindowTemplates oMDoingJournal%=�:ContBox%=�:ContCount%=0:SongPlaying%=�:LogoAnimPlaying%=� pbNoofObjects%=30:Part%=1:SpDir%=0:MenuChangeRoom%=�:OldGame%=�:TempSprite%=�:A%=Block%:B%=Temp% qi� RoomAdd%(NoofMaxRooms%),ObPool%(4), RoomName$(NoofMaxRooms%), QuestionAsked%(NoofObjects%), Fp% 128 r�� ObDesc$(NoofObjects%),ObNara$(NoofObjects%), ObDig1$(NoofObjects%),ObDig2$(NoofObjects%),ObDig3$(NoofObjects%),ObTol%(NoofObjects%) s*� ObNara%(NoofObjects%), ObText% 10240 tK� scale% 16,ctrans% 256,paltab% 64 ,Style% 16,pdbbuff% 256,palcode% 900 u#*RMLoad <ArcV3$Dir>.Sound.Door1 v$*RMLoad <ArcV3$Dir>.Sound.Click1 w$*RMLoad <ArcV3$Dir>.Sound.Knock1 x%�SetupSpritePool(SpritePoolSize%) y*�LoadSpriteFile("<ArcV3$Dir>.Sprites") z �Icon {LengthOfPlayerBlock%=3072 |"� Player% LengthOfPlayerBlock% }9PName%=Player%+4:Gender%=Player%+40:PPart%=Player%+44 ~6Day%=Player%+72:Time%=Player%+76:Score%=Player%+80 3PRoom%=Player%+84:Px%=Player%+88:Py%=Player%+92 ��PObjects%=Player%+96:PMoney%=Player%+128:PDoors%=Player%+132:PUObjects%=Player%+148:PUnknown%=Player%+156:PFlags%=Player%+160 �Teacher%=Player%+164 �PObNo%=Player%+168 �PP2Ob%=Player%+172 �PObjects2%=Player%+180 �PNotes%=Player%+212 �PP2Data%=Player%+2880 �&!Day%=0:!Score%=0:!Time%=9:Part%=1 �.�f%=0�NoofObjects%:?(PObjects%+f%)=255:�f% �$PName%="":!PObNo%=0 �#�f%=0�31:?(PObjects2%+f%)=0:�f% �'�f%=PP2Ob%�PP2Data%+128�4:!f%=0:�f% �+!Day%=1:CertShown%=�:DoingObjectInfo%=� ��f%=0�14 �$(PNotes%+(f%*190))="" ��f% �4Intro%=�:?PUnknown%=0:!PFlags%=0:DoubleBuffer%=� �"�f%=0�7:?(PUObjects%+f%)=0:�f% � �Init2 �"SongBuffer%=SpriteArea%+280000 �"DrawBuffer%=SpriteArea%+300000 �q%=� �� ���MainProgram � �BlackOut ��FromMovie%=���WimpClose �&Disk%=2:FgsiNumber%=0:DataSaved%=� ��9:� ��7,10); �-�GetBackgroundPalette("arc1"):�SetPalette �FirstTime%=� �*POINTER ��DoubleBuffer ��GetScreenVars ��SingleScreen � �ScrClo:� ��LoadObjectText ��LoadRoomText ��ScrClo � �MakeRoom ��LoadP2ObjectText ��ScrClo ��LoadPeopleText ��PutObjects ��GetPlayer ��MakeSpriteTable ��ClearIcons � �GameLoop �� ���ClearIcons �� ���Intro ��ScrClo �-�GetBackgroundPalette("Arc1"):�SetPalette ��Anim(9,-100,100,8,2,30) ��FromInstr%� �GS$="Hello, I'm ARC1.":�Speak(300,400):�ContBox(-1,100):�ReplaceTemp �� �uS$="I shall be helping you to find your way around the Viking dig.":�Speak(300,400):�ContBox(-1,100):�ReplaceTemp �3�PrintDrawFile("<ArcV3$Dir>.DrawFiles.Britain") ��0,�Gcol(&00000000) �z�5:�950,500:�"E";:�BY-16,-40:�"N";:�BY-16,-40:�"G";:�BY-16,-40:�"L";:�BY-16,-40:�"A";:�BY-16,-40:�"N";:�BY-16,-40:�"D" ��0,�Gcol(&FFFFFF00) �w�946,504:�"E";:�BY-16,-40:�"N";:�BY-16,-40:�"G";:�BY-16,-40:�"L";:�BY-16,-40:�"A";:�BY-16,-40:�"N";:�BY-16,-40:�"D" �O�0,�Gcol(&00000000):�780,270:�"WALES":�0,�Gcol(&FFFFFF00):�776,274:�"WALES" �U�0,�Gcol(&00000000):�750,700:�"SCOTLAND":�0,�Gcol(&FFFFFF00):�746,704:�"SCOTLAND" �A�0,�Gcol(&FFFFFF00):�990,200:�"London":�1060,450:�"York":�4:� �yS$="Here is a map of Britain. There are some places that you may know.":�Speak(300,400):�ContBox(-1,100):�ReplaceTemp �cS$="The place that we are interested in is York.":�Speak(300,400):�ContBox(-1,100):�ReplaceTemp �1�PrintDrawFile("<ArcV3$Dir>.DrawFiles.York1") ��0,�Gcol(&00000000) �;�5:�100,800:�"York":�0,�Gcol(&FFFFFF00):�96,804:�"York" �R�0,�Gcol(&00000000):�40,680:�"Leeds":�0,�Gcol(&FFFFFF00):�36,684:�"Leeds":�4:� �qS$="In the tenth century A.D. York was a very big Viking town.":�Speak(300,400):�ContBox(-1,100):�ReplaceTemp �vS$="We shall now take a closer look at the Coppergate part of York.":�Speak(300,400):�ContBox(-1,100):�ReplaceTemp ��ScrClo �4�PrintDrawFile("<ArcV3$Dir>.DrawFiles.Digsite1") ��ContBox(-1,100) ��Anim(9,-100,-20,8,2,20) ��S$="Between May 1976 and September 1981 a large archaeological dig took place to find out more about the people who lived in York hundreds of years ago.":�Speak(300,300):�ContBox(-1,100):�ReplaceTemp �\S$="I shall take you to the dig site now.":�Speak(300,300):�ContBox(-1,100):�ReplaceTemp ��ScrClo �,�GetBackgroundPalette("Dig"):�SetPalette �,�Console:�PlotSprite(MapSprite%,0,260,0) �S$="We are now at the Coppergate dig site.The top layers of soil have been removed. You will be helping the other archaeologists to uncover the mysteries of this site.":�Tile(-1,1020,38,1) ��ContBox(-1,350) �#�PlotSprite(MapSprite%,0,260,0) �kS$="You now have 3 days to find out as much as you can about life in Viking times.":�Tile(-1,1020,38,1) ��ContBox(-1,350) ��ScrClo �� �"��Anim(sn%,x1%,y1%,xi%,yi%,n%) �� ��=0 �Ȗ ��PlotSprite(sn%,x1%,y1%,0) �x1%+=xi%:y1%+=yi%:n%-=1 � �:��>0 � �n%<=0 �� ���Menu1 ��GetTeacherControl �F�FromMovie%=��ș&00000006,135�,,WimpMode%�WimpMode%=�(�Data$,6,3)) ��FromMovie%=���Fade �$�:Ȗ:Polling%=� :UnknownFound%=� ��WimpClose �ș&00000006,114,0 ��9:� ��GetScreenVars �-�GetBackgroundPalette("arc1"):�SetPalette �;�DoubleBuffer:�:�SwapScreen:�:�SwapScreen:�SingleScreen �*POINTER ��TitleScreen �� �FromMovie%=� ��ScrClo �8S$="Archaeologist's Instructions":�Tile(-1,700,-1,1) �)S$="Start Venture":�Tile(-1,400,-1,1) �M1q%=�:FromInstr%=� �� � �Mouse �1�MouseY%>628�MouseY%<700��Instructions:M1q%=� �0�MouseY%>328�MouseY%<400��MainProgram:M1q%=� � �M1q% ��� �� ���TitleScreen �8S$="Arcventure III - The Vikings":�Tile(-1,940,-1,1) 4S$="� Sherston Software 1993":�Tile(-1,800,-1,1) )S$="Demonstration":�Tile(-1,450,-1,1) �ContBox(-2,100) �ScrClo 8S$="Arcventure III - The Vikings":�Tile(-1,940,-1,1) *S$="By M. Vanstone":�Tile(-1,830,-1,1) �S$="This is a demonstration version of the third in the popular series of archaeological adventures. It is based on the celebrated Coppergate dig in York." �Tile(-1,660,35,1) JS$="Other titles in this series are 'The Romans' and 'The Egyptians'." �Tile(-1,410,35,1) US$="For details about any of these titles call Sherston Software on 0666 840433." �Tile(-1,270,35,1) �ContBox(-1,80) � ��Instructions �ScrClo:Disk%=1 �MakeSpriteTable -�GetBackgroundPalette("arc1"):�SetPalette �Anim(9,-100,100,8,4,50) NS$="Hello. My name is ARC1.":�Speak(300,600):�ContBox(-1,100):�ReplaceTemp dS$="I am going to tell you how to use ArcVenture.":�Speak(300,600):�ContBox(-1,100):�ReplaceTemp 4�Anim(9,300,300,8,2,60):�PlotSprite(1,780,420,0) 7�f%=-256�0�4:Ȗ:�PlotSprite(FsgiNumber%,0,f%,0):�f% �Clock �S$="Below me is the choice board. By moving the mouse to the boxes and clicking the left button, you can tell me what you want to do." :SpDir%=1:�Speak(500,720):�ContBox(-1,350):�ReplaceTemp 5�Anim(1,780,420,-8,0,60):�PlotSprite(9,300,420,0) QS$="Press the RIGHT mouse button to go to the next part.":�Tile(740,500,16,1) cS$="Try clicking on a few of the boxes and I shall tell you what they are for.":�Speak(300,720) � (�Mouse:Loc%=�ConLoc(MouseX%,MouseY%) �ButtonPressed%=4� OldS$=S$ !ȎLoc%� "��1,2,3:NewS$="This is an option bar. Special choices will be shown here, make your choice by clicking on one of the bars.":�OptionInfo #��4,5,6,7:NewS$="During the dig, this will tell you the game time. During the expedition, this will change to four direction arrows.":�OptionInfo $��8,9,10,11:NewS$="This is an object box. During the dig you will find tools for digging in these boxes. During the expedition, the objects which you collect will be put in here.":�OptionInfo %� &�:ȗx%,y%,b%:�b%=0 '� (�ButtonPressed%=1 )�Clw *4�Anim(9,300,420,8,0,80):�PlotSprite(1,940,420,0) +S$="During the dig the boxes below me will have four tools in them.":SpDir%=1:�Speak(600,700):�ContBox(-1,350):�ReplaceTemp ,�PlotSprite(4,980,150,8) -�S$="The first is a spade. You can use the spade to dig quickly and find large objects.":SpDir%=1:�Speak(600,700):�ContBox(-1,350):�ReplaceTemp .�PlotSprite(5,1140,150,8) /�S$="The second is a trowel. You can use the trowel to find smaller objects in the ground, but it will take longer than the spade to dig.":SpDir%=1:�Speak(600,700):�ContBox(-1,350):�ReplaceTemp 0�PlotSprite(6,980,40,8) 1�S$="The brush is for cleaning up fragile objects so that you can see what they are.":SpDir%=1:�Speak(600,700):�ContBox(-1,350):�ReplaceTemp 2�PlotSprite(7,1140,40,8) 3�S$="The magnifying glass can be used to get a closer look at what you have found or to get an idea of which tool you should be using.":SpDir%=1:�Speak(600,700):�ContBox(-1,350):�ReplaceTemp 4�S$="When you dig, you will see letters on the grid. These are : 'U' for unfinished, 'O' for object found, 'D' for damaged and 'N' for no object.":SpDir%=1:�Speak(600,700):�ContBox(-1,350):�ReplaceTemp 55�Anim(1,940,420,-8,0,30):�PlotSprite(1,700,420,0) 6 �PTBar 7�S$="I will print the day number at the top of the screen and your score in the top right corner.":SpDir%=1:�Speak(400,690):�ContBox(-1,350):�ReplaceTemp 8�S$="I will give you points for finding objects and using the right tools for the job.":SpDir%=1:�Speak(400,690):�ContBox(-1,350):�ReplaceTemp 95�Anim(1,700,420,-8,-2,80):�PlotSprite(9,60,260,0) :qS$="That's the end of the lesson. Now we shall start the game.":�Speak(280,650):�ContBox(-1,350):�ReplaceTemp ;FromInstr%=� <� =��OptionInfo >�NewS$<>OldS$� ?S$=NewS$ @�ReplaceTemp A�Speak(300,720) B� C� D��GameLoop EDoingObjectInfo%=� F$�OldGame%=��StartFrom%<>4��Intro GF�Part%=2�StartFrom%<>4�StraightIntoPart2%=�:�ReAskQuestions:�Part2 H�Part%=2�StartFrom%=4� IStraightIntoPart2%=�: J�AskingQuestions%� K/StraightIntoPart2%=�:�ReAskQuestions:�Part2 L� M �Part2 N� O� P� Q� R�InfoHut S�� T� U��LogoAnim V� W ��Poll Xr%=0:Msk%=0:Polling%=� Y� Zș&000400C7,Msk%,Block%�r% [ Ȏr%� \�6:�PollMouseClick ]�1:ș&000400C8,,Block% ^�2:ș&000400C5,,Block% _�3:ș&000400C6,,Block% `�8:�PollKeyPressed a�9:�PollMenuSelection b"�17,18,19:�!(Block%+16)=0��End c� d�q% eș&000400D4,,-1 fPolling%=� g� h��PollKeyPressed iȎ!Block%� j1�Win_H%(1):�!(Block%+24)=13�StartFrom%=2:q%=� k1�Win_H%(2):�!(Block%+24)=13�StartFrom%=3:q%=� l� m� n��PollMouseClick oȎ!(Block%+12)� p�-2 qȎ!(Block%+8)� r�2:�MasterMenu s�4:StartFrom%=1:�Menu1 t� u� v� w��MasterMenu x�SetIconMenu y+ș&000400D4,,MasterMenu%,!Block%-90,316 z� {��PollMenuSelection |Ȏ!(Block%)� }�1:StartFrom%=4:�Restart ~.�3:�"Filer_OpenDir <ArcV3SG$Dir>.Journals" �4:�End �� �� � ��Icon �$IconText%="!av3demo" �!Block%=-1 ��!(Block%+4)=-4:!(Block%+8)=0:!(Block%+16)=100:!(Block%+12)=68:!(Block%+20)=&3102:!(Block%+24)=IconText%:!(Block%+28)=1:!(Block%+32)=8 �ș&000400C2,,Block%�Icon_H% �� ���MenuStart(p%,t$,w%) � Mp%=p% �)$Mp%=t$:!(Mp%+12)=&70207:!(Mp%+16)=w% �!(Mp%+20)=44:!(Mp%+24)=0 �Mp%=Mp%+28 �� ���MenuEntry(a%,Sub%,f%,e$) ��f%=1�f%=&07003011 ��f%=2�f%=&07403011 �!(Mp%)=0 �?(Mp%)=a%:!(Mp%+4)=Sub% �!(Mp%+8)=f%:$(Mp%+12)=e$ �Mp%=Mp%+24 �� ���SetIconMenu �,�MenuStart(MasterMenu%,"ArcVenture",140) �$�MenuEntry(0,Win_H%(3),1,"Info") ��MenuEntry(0,0,2,"Restart") ��MenuEntry(0,0,2,"Teacher") � �MenuEntry(0,0,2,"Journals") ��MenuEntry(&80,0,1,"Quit") �� ���GetWindowTemplates �p%=Windows% ��FirstTime%� �(ș&000400D9,,"<ArcV3$Dir>.Templates" �� �(ș&000400D9,,"<ArcV3$Dir>.Templates" �� �.WinPoint%(3)=p%:Win_H%(3)=�MakeWin("Info") �ș&000400DA �� �ݤMakeWin(n$) �Oldp%=p% �+ș&000400DB,,p%,p%+1024,p%+2048,-1,n$,0 �p%=p%+2048 �ș&000400C1,,Oldp%�w% �=w% ���GetPlayer ��ClearPlayer �($PName%="Demo":!Gender%=1:OldGame%=� �� ���GetTeacherControl �� ���GetVolume �� ���MakeSpriteTable ��sn$,c% � ��tA ��c%=0�85 ��sn$ �+SprAdd%(c%)=�ReturnAddressOfSprite(sn$) �SprNm$(c%)=sn$ ��c% �� �S�"fsgi","arc1","dig","arc1","spade","trowel","brush","magnify","digspr1","arc2" �=�"flag1","flag2","n","damaged","noob","n","n","n","n","n" �U�"bdig1","bdig2","bdig3","bdig4","bdig5","bdig6","bdig7","bdig8","bdig9","bdig10" �;�"n","n","n","n","n","n","n","n","unknown4","unknown4r" �,�"n","n","n","n","n","n","n","n","n","n" �1�"n","n","n","n","n","n","n","n","jug","jugr" �2�"bead","bead","n","n","n","n","n","n","n","n" �9�"n","n","n","n","n","n","axehead","axeheadr","n","n" ��"n","n","n","n","n","n" ���Tile(Tx%,Ty%,Tw%,St%) �Tb%=0:Os$=S$ �$�Tw%=-1�Tw%=�(S$):�Tw%>38�Tw%=38 �#�Tx%=-1�Tx%=640-((Tw%*32)/2)-20 ��CalcText(Tw%) �0�St%=4�Ty%=Ty%+(Th%*40):Tx%=Tx%-(Tw%*16)+128 ��Ty%>1023�Ty%=1023 �ExportTx%=Tx%:ExportTw%=Tw% �ExportTh%=Th%:ExportTy%=Ty% ��0,�Gcol(&88888800) �B�St%=2��GetTempSprite(Tx%,Ty%-(Th%*40+28),Tw%*32+40,Th%*40+28) �H�St%=4��GetTempSprite(Tx%,Ty%-(Th%*40+28)-70,Tw%*32+40,Th%*40+28+70) ԭ�St%<>4�ȓȐTx%,Ty%,Tw%*32+40,-Th%*40-28:�0,�Gcol(&FFFFFF00):�Tx%+(Tw%*32)+40,Ty%:�BY-(Tw%*32+40),0:�BY0,-(Th%*40)-28:�0,�Gcol(&11111100):�BY(Tw%*32+40),0:�BY0,Th%*40+28 �r�St%=4��0,�Gcol(&FFFFFF00):ȓȐTx%,Ty%,Tw%*32+40,-Th%*40-28:�0,�Gcol(&00000000):ȓTx%,Ty%,Tw%*32+40,-Th%*40-28 �&�0,�Gcol(&00000000):�Tx%+24,Ty%-24 �#�S$<>""��TText(Tx%,Ty%,Tw%,Th%) �M�St%=1�St%=2��0,�Gcol(&FFFFFF00):�Tx%+20,Ty%-20:�TText(Tx%-4,Ty%,Tw%,Th%) �E�St%=3��0,�Gcol(&FFFFFF00):�Tx%+20,Ty%-20:�TText(Tx%,Ty%,Tw%,Th%) � S$=Os$ �� � ��GetTempSprite(x%,y%,w%,h%) ��TempSprite%��ReplaceTemp �TSx%=x%:TSy%=y% �:ș&0000002E,16+256,SpriteArea%,"t",0,x%,y%,x%+w%,y%+h% �TempSprite%=� �� ���ReplaceTemp �� ��TempSprite%=����:� ���:� �2ș&0000002E,34+256,SpriteArea%,"t",TSx%,TSy%,0 �&ș&0000002E,25+256,SpriteArea%,"t" �TempSprite%=� ��� �� ���DiscardTemp �� ��TempSprite%=����:� ���:� �&ș&0000002E,25+256,SpriteArea%,"t" �TempSprite%=� ��� �� � ��BlankTile(Tx%,Ty%,Tw%,Th%) ��0,�Gcol(&88888800) �sȓȐTx%,Ty%,Tw%,-Th%:�0,�Gcol(&FFFFFF00):�Tx%+Tw%,Ty%:�BY-Tw%,0:�BY0,-Th%:�0,�Gcol(&22222200):�BYTw%,0:�BY0,Th% �� ���TText(Tx%,Ty%,Tw%,Th%) ��t%,n%,Sy% ��5 �3�24,Tx%+20;Ty%-(Th%*40)-40;Tx%+(Tw%*32)+20;Ty%; ��f%=1��(S$) ��S$,f%,1); ��S$,f%,1)=�13��BY0,-8 ��f% ��26 �PrinterOn%=���4 � � ��CalcText(Tw%) Tp%=0:Ap%=0:Th%=1 � Tp%=Tp%+Tw%+1 �Tp%<�(S$)� ȕ�S$,Tp%,1)<>" "�Tp%>0 Tp%=Tp%-1 � (S$=�S$,Tp%-1)+�13+�10+�S$,�(S$)-Tp%) Th%=Th%+1:Tp%=Tp%+1 � �Tp%>=�(S$) � ��Oval(Tx%,Ty%,Tw%,Th%) O�(Tx%+(Tw%/2)+32),Ty%-(Th%/2):�BYTw%/2+64,0:�&CD,Tx%+(Tw%/2)+32,Ty%+(Th%/2) � ��BackRem(Tx%,Ty%,Tw%,Ty%) �Tx%,Ty%-Th%:�Tx%+Tw%,Ty% *SGET temp � ��Wait(t%) �=0 �:��=t% � ��Console Ȗ �Part%=1�FsgiNumber%=0 "�PlotSprite(FsgiNumber%,0,0,0) &�Part%=2��PlotSprite(145,720,28,0) .�Part%=1��Clock:�DoingObjectInfo%=���Tools !.�Part%=2�DontPrintObjects%=���PrintObjects "� #��Shadow(Shx%,Shy%,S$) $�5 % �0,�Gcol(0):�Shx%,Shy%-4:�S$ &�Shx%+4,Shy%-4:�S$ '&�0,�Gcol(&FFFFFF00):�Shx%,Shy%:�S$ (�4 )� *� +��ScrClo ,�w% -�w%=0�900�32 .�=0 / �0,13 0ȏ640,512,w% 1�0,0 2ȏȐ640,512,w%-20 3 �:��>0 4�w% 5� 6��ContBox(cx%,cy%) 7�x%,y%,b%,z%,c$ 8cw%=296 9�cx%=-1�cx%=492:cw%=296 :�cx%=-2�cx%=268:cw%=744 ;3c$="cont"+�(ContCount%):ContCount%=ContCount%+1 <>ș&0000002E,16+256,SpriteArea%,c$,0,cx%,cy%-68,cx%+cw%,cy% =ContBox%=� >8�cw%=744�S$="Click here to continue"�S$="Continue":� ?Exportcx%=cx%:Exportcy%=cy% @ �Tile(cx%,cy%,(cw%-40)�32,3) A� B �Mouse C_�(ButtonPressed%=4�MouseX%>cx%�MouseX%<cx%+cw%�MouseY%>cy%-72�MouseY%<cy%)�AnswerQuestions% D2ș&0000002E,34+256,SpriteArea%,c$,cx%,cy%-68,0 EContCount%=ContCount%-1 F� Gȗx%,y%,b% H�b%=0�AnswerQuestions% I*FX15,0 JContBox%=� K� L ��Clw M�0,0 NȓȐ0,256,1279,767 O� P��Speak(sx%,sy%) Q �XOffset% RXOffset%=0 S�(S$)>25�sw%=25�sw%=�(S$) T1�sx%+(sw%*32)>1279�XOffset%=sx%+(sw%*32)-1279 U1�sx%-((sw%*32)/2)<0�XOffset%=sx%-((sw%*32)/2) V�sy%>1023�sy%=1023 W d%=SpDir% X%�Tile(sx%-(XOffset%/2),sy%,sw%,4) Ysh%=ExportTh% Z,sy%=ExportTy%:sx%=ExportTx%+(XOffset%/2) [�0,�Gcol(&FFFFFF00) \B�sx%+(sw%*16),sy%-(sh%*40)-28:�sx%+(sw%*16)+50,sy%-(sh%*40)-28 ]"�d%=0��&51,-70,-70��&51,70,-70 ^�0,�Gcol(&00000000) _$�sx%+(sw%*16)+50,sy%-(sh%*40)-28 `�d%=0��BY-70,-70��BY70,-70 a!�sx%+(sw%*16),sy%-(sh%*40)-28 bSpDir%=0 c� d��Mouse e�x%,y%,b%,z%,K$,l% f� gȗx%,y%,b%,z% hK$=�(0) i�AnswerQuestions%=��K$="�" j&�(-63)�Part%=2�AnswerQuestions%=� k�(-5)��(-8)� l0�(-17)�ContCount%<4��99,"Return to Desktop" m� nZ�(-83)��(-85)��(-35)��(-66)��(-36)�Part%=1��l%=0�19:?(PObjects%+l%)=l%:�l%:!PObNo%=19 o=�(-36)��(-38)��(-102)��(-35)�Part%=1��ClockAdvance(-1,1) p7�(-85)��(-35)��(-87)��(-56)�Part%=2��ReturnToRoom1 q�(-114)�SVol%=0 r�(-115)�SVol%=-10 s'�(K$="D"�K$="d")�Part%=2��CloseDoor t!�(K$="�")�Part%=2�!PMoney%=10 u�ContBox%� v"�(K$="L"�K$="l")�Part%=2��Look w(�(K$="M"�K$="m")�Part%=2��PrintMoney x� y�b%<>0�K$<>"" zButtonPressed%=b% {MouseX%=x% |MouseY%=y% }KeyPressed$=K$ ~.�KeyPressed$<>""�MouseX%=9999:MouseY%=9999 � �ݤConLoc(x%,y%) � �Loc% � Loc%=0 � �y%<224�y%>40�x%>41�x%<1233� ��x%<700� ��y%>168�Loc%=1 ��y%<168�y%>100�Loc%=2 ��y%<100�Loc%=3 �� ��x%>700�x%<800� ��y%>130�Loc%=4 ��y%<130�Loc%=6 �� ��x%>800�x%<924� ��y%>130�Loc%=5 ��y%<130�Loc%=7 �� ��x%>930�x%<1090� ��y%>130�Loc%=8 ��y%<130�Loc%=10 �� � �x%>1090� ��y%>130�Loc%=9 ��y%<130�Loc%=11 �� �� ��AnswerQuestions%�Loc%=4 � =Loc% ���Op(a$,b$,c$) � �x%,y%,b% ��Console �� �ȗx%,y%,b% � �b%=0 �$CurOpa$=a$:CurOpb$=b$:CurOpc$=c$ ��Shadow(40,216,a$) ��Shadow(40,146,b$) ��Shadow(40,72,c$) �*FX 15,0 �� ���SetupSpritePool(l%) �� SpriteArea% l% �$!SpriteArea%=l%:SpriteArea%!8=16 �!ș&0000002E,9+256,SpriteArea% �� ���LoadSpriteFile(f$) �%ș&0000002E,10+256,SpriteArea%,f$ �� ���MergeSpriteFile(f$) �%ș&0000002E,11+256,SpriteArea%,f$ �� �ݤReturnAddressOfSprite(n$) ��SpriteAddress% �6ș&0000002E,24+256,SpriteArea%,n$�,,SpriteAddress% �=SpriteAddress% ���PlotSprite(sn%,x%,y%,pc%) �9ș&0000002E,34+512,SpriteArea%,SprAdd%(sn%),x%,y%,pc% �� �$��PlotSpriteNamed(sn$,x%,y%,pc%) �0ș&0000002E,34+256,SpriteArea%,sn$,x%,y%,pc% �� �1��PlotSpriteScaled(sn$,x%,y%,x1%,y1%,x2%,y2%) �-!ScaleFactors%=x1%:!(ScaleFactors%+4)=y1% �2!(ScaleFactors%+8)=x2%:!(ScaleFactors%+12)=y2% �<ș&0000002E,52+256,SpriteArea%,sn$,x%,y%,0,ScaleFactors% �� � ��Fade ��m% �ș&000400E5,,Pal1% ��a%=0�19 �Word%=!(Pal1%+(a%*4)) �Word%=Word%�256 �Pal2%(a%,1)=Word%�&FF �Word%=Word%�256 �Pal2%(a%,2)=Word%�&FF �Word%=Word%�256 �Pal2%(a%,3)=Word%�&FF ��a% �ș&00000035,-1,3�,,m% � �m%<>15�� ��f%=0�16 �Ȗ ��a%=0�16 ��a%<16� �1�19,a%,16,Pal2%(a%,1),Pal2%(a%,2),Pal2%(a%,3) �� �0�19,0,24,Pal2%(a%,1),Pal2%(a%,2),Pal2%(a%,3) �� �;Pal2%(a%,1)=Pal2%(a%,1)-20:�Pal2%(a%,1)<0�Pal2%(a%,1)=0 �;Pal2%(a%,2)=Pal2%(a%,2)-20:�Pal2%(a%,2)<0�Pal2%(a%,2)=0 �;Pal2%(a%,3)=Pal2%(a%,3)-20:�Pal2%(a%,3)<0�Pal2%(a%,3)=0 ��a% ��f% �� ���PrintDrawFile(Fl$) �FromFile%=� �Fh%=�(Fl$) ��#Fh%=�#Fh%+40 �� ��PrintDrawObject � ��#Fh% � �#Fh% �� ���PrintDrawObject �Ot%=�WGET(Fh%) � ȎOt%� ��2:�PrintDrawPath ��6:�#Fh%=�#Fh%+32 �.:OSize%=�WGET(Fh%):�#Fh%=�#Fh%+(OSize%-8) �� �� ���PrintDrawObjectMem �Ot%=�WGET(Fh%) � ȎOt%� ��2:�PrintDrawPathMem ��6:Fh%=Fh%+32 �*:OSize%=�WGET(Fh%):Fh%=Fh%+(OSize%-8) �� �� ���PrintDrawPath �8!Style%=2:!(Style%+4)=0:!(Style%+8)=0:!(Style%+12)=0 �$OSize%=�WGET(Fh%):�#Fh%=�#Fh%+16 �'FillC%=�WGET(Fh%):LineC%=�WGET(Fh%) �1LineW%=�WGET(Fh%)*(350/256):PathS%=�WGET(Fh%) ��f%=0�OSize%-44�4 �!(Temp%+f%)=�WGET(Fh%) ��f% �B�FillC%<>-1�ș&00040743,FillC%,0,0,0,0:ș&00040702,Temp%,0,0,0 H�LineC%<>-1�ș&00040743,LineC%,0,0,0,0:ș&00040704,Temp%,0,0,0,0,0,0 � ��PrintDrawPathMem 8!Style%=2:!(Style%+4)=0:!(Style%+8)=0:!(Style%+12)=0 OSize%=�WGET(Fh%):Fh%=Fh%+16 'FillC%=�WGET(Fh%):LineC%=�WGET(Fh%) 1LineW%=�WGET(Fh%)*(350/256):PathS%=�WGET(Fh%) �f%=0�OSize%-44�4 !(Temp%+f%)=�WGET(Fh%) �f% B�FillC%<>-1�ș&00040743,FillC%,0,0,0,0:ș&00040702,Temp%,0,0,0 P�LineC%<>-1�ș&00040743,LineC%,0,0,0,0:ș&00040704,Temp%,0,0,0,1000,Style%,0 � ݤWGET(�Fh%) �d% �FromFile%� d%=�#Fh% d%=d%+(�#Fh%<<8) d%=d%+(�#Fh%<<16) d%=d%+(�#Fh%<<24) =d% � d%=!Fh% Fh%=Fh%+4 =d% � ݤIsPrinterDriverPresent =� ��PrintPrinterPage � ��InfoHut !�Scroll:ViewingObjectStart%=0 -�GetBackgroundPalette("Arc1"):�SetPalette !7�!Day%=3�!Time%>=17�CertShown%=���OutOfTime:�Scroll "K�NoofUOFound=3�!Day%<14�PuzzleSolvedShown%=���AllPuzzlesSolved:�Scroll #,S$="Information hut":�Tile(-1,1020,-1,1) $��Gcol(&FFFFFF00) % �1,4);"Objects Collected :" &�BlankTile(0,800,800,530) 'DoingObjectInfo%=� (�Console )-S$="Day "+�(!Day%�&FF):�Tile(8,1020,-1,0) *0S$="Score : "+�(!Score%):�Tile(850,400,-1,0) +:S$="Which item would you like to find out more about?" ,�Tile(850,800,12,0) -0�f%=1280�1000�-4:�PlotSprite(1,f%,850,0):�f% .+�PrintObjectsFound(ViewingObjectStart%) />�!Time%=9�!Day%=1�d$="Start Digging"�d$="Continue Digging" 0�!Day%>2�!Time%>=17�d$="" 1A�!PObNo%>ViewingObjectStart%+11�S1$="Page forward"�S1$="Help" 21�ViewingObjectStart%>0�S2$="Page back"�S2$="" 3�Op(S1$,d$,S2$) 4IHq%=�:ExDSq%=� 5� 6 �Mouse 7!Loc%=�ConLoc(MouseX%,MouseY%) 8ȎLoc%� 9'�1:�!PObNo%>ViewingObjectStart%+11� :VViewingObjectStart%=ViewingObjectStart%+11:�PrintObjectsFound(ViewingObjectStart%) ;A�!PObNo%>ViewingObjectStart%+11�S1$="Page forward"�S1$="Help" <1�ViewingObjectStart%>0�S2$="Page back"�S2$="" =�Op(S1$,d$,S2$) >� ?�Help(1) @� A�2:�!Day%>2�!Time%>=17� B� C=�!Time%>=17��ClockAdvance(24-(!Time%)+9,10):!Day%=!Day%+1 D�:�DigSite:�ExDSq%:IHq%=� E� F�3:�ViewingObjectStart%>0� GVViewingObjectStart%=ViewingObjectStart%-11:�PrintObjectsFound(ViewingObjectStart%) HA�!PObNo%>ViewingObjectStart%+11�S1$="Page forward"�S1$="Help" I1�ViewingObjectStart%>0�S2$="Page back"�S2$="" J�Op(S1$,d$,S2$) K� L� M8�4,5,6,7:�(-101)��(-66)��(-83)��(-71)��Part2:IHq%=� N O>on%=�GetInfoHutObject(MouseX%,MouseY%,ViewingObjectStart%) P$�on%<>-1��ObjectInfo(on%):IHq%=� Q� R �IHq% S� T��ShowCertificate U� V��PrintCertificate W� X��OutOfTime Y�Console Z%�UnknownFound%=���GotoPart2Anyway [1S$="You have reached the end of your 3 days." \��?(PUObjects%+3)=0�S$=S$+" Now go back to the Information hut and find out what the unknown object is."�S$=S$+" This is the end of this demonstration." ]�Tile(-1,700,20,2) ^!�ContBox(-1,350):�ReplaceTemp _�?(PUObjects%+3)<>0� `�ScrClo abS$="We hope that you have enjoyed your brief expedition into Viking times.":�Tile(-1,900,-1,1) blS$="The full version, which contains 28 objects and 26 characters is available from:":�Tile(-1,750,-1,1) cYS$="Sherston Software (Dept.AC), Swan Barton, Sherston, Malmesbury, Wilts. SN16 0LH." d�Tile(-1,500,30,1) e,S$="Tel. 0666 840433 Fax. 0666 840048" f�Tile(-1,310,-1,1) g�ContBox(-1,80) h�99,"Desktop" i� j� k��GotoPart2Anyway ljS$="You have reached the end of your 3 days. Someone else at the dig has found an interesting object." m�Tile(-1,700,20,2) n!�ContBox(-1,350):�ReplaceTemp o)S$="Let's have a look at what it is." p�Tile(-1,700,20,2) q!�ContBox(-1,350):�ReplaceTemp r�Unknown4Link s� t��AllPuzzlesSolved u�S$="You have solved the puzzle. You can now go back to the dig to finish your 14 days.":�Tile(-1,700,20,2):�ContBox(-1,350):�ReplaceTemp vPuzzleSolvedShown%=� w� xݤNoofUOFound y�no% z no%=0 {�?(PUObjects%+3)no%=no%+1 | MaxObs%=1 }=no% ~!ݤGetInfoHutObject(x%,y%,st%) �y%>800�y%<270�x%>800�=-1 �+HutListNumber%=((1024-(y%+240))�40)+st% �(ObjectFound%=0:count%=HutListNumber% �=�HutListNumber%>=!PObNo%�=-1�=?(PObjects%+HutListNumber%) ���PrintObjectsFound(st%) ��en% �yd%=780 �*�st%+11>!PObNo%�en%=!PObNo%�en%=st%+11 ��BlankTile(0,800,800,530) ��f%=st%�en% �Ȏ?(PObjects%+f%)� �\�4:�?(PUObjects%+3)=0��Shadow(24,yd%,"Unknown")��Shadow(24,yd%,ObDesc$(?(PObjects%+f%))) �: �@�?(PObjects%+f%)<32��Shadow(24,yd%,ObDesc$(?(PObjects%+f%))) �� �yd%=yd%-40 ��f% �� ���ObjectInfo(on%) ��OIq%,r$,c$,r%,sw%,sh% �#SavedOb%=on%:DoingObjectInfo%=� � Ȏon%� �'�4:�?(PUObjects%+3)=0��Unknown4Link �� �on%=SavedOb% ��Scroll �C�GetBackgroundPalette(SprNm$(ObjectStart%+(on%*2))):�SetPalette ��Console �Kș&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(on%*2))�,,,sw%,sh% �SpriteBottom%=390-sh% �E�PlotSprite(ObjectStart%+(on%*2),640-((sw%*4)/2),SpriteBottom%,0) ��Telex(0,0,ObDesc$(on%),40) ��Telex2(2,ObNara%(on%)) �r$="Reconstruct":r%=� � Ȏon%� ��0,9,11,14,19,20:ei%=� �:ei%=� �� ��ei%�c$="Extra Info"�c$="" �� ��Op("Back to list",r$,c$) � OIq%=0 �� � �Mouse �!Loc%=�ConLoc(MouseX%,MouseY%) �ȎLoc%� � �1:OIq%=1 �.�2:�r%��Reconstruct(on%):OIq%=2:r%=�:r$="" ��3:�ei%��PotteryEI:OIq%=1 �^�0:�MouseX%>590�MouseX%<700�MouseY%>336�MouseY%<374�r%��Reconstruct(on%):OIq%=2:r%=�:r$="" �� � �OIq% ��OIq%=1 �DoingObjectInfo%=� �� ���Telex(x%,y%,t$,w%) ��c% � �x%,y%); ��x%+w%>40�w%=40-x% ��w%<>40��28,x%,30,x%+w%,y% �c%=1:��Gcol(&FFFFFF00) �S$=t$:�CalcText(w%):t$=S$ �� �*符(-1)��t$,c%,1)<>�13��t$,c%,1)<>�10� ��"*";�8; ��=0:r%=�(20) �� ��(��10)>4��"*";�8;��" ";�8; � ��>r% ��2,SVol%,�(10)+50,1 �� ��t$,c%,1); �c%=c%+1 � �c%>�(t$) �� ��26 �� ���Telex2(y%,t%) ��c% ��4 ��0,y%); ��x%+w%>40�w%=40-x% ���Gcol(&FFFFFF00) �LastWord%=� �� �t$=�GetWordFromMem(t%) ��c%=1��(t$) �*符(-1)��t$,c%,1)<>�13��t$,c%,1)<>�10� ��"*";�8; ��=0:r%=�(20) �� ��(��10)>4��"*";�8;��" ";�8; � ��>r% ��2,SVol%,�(10)+50,1 �� ��t$,c%,1); ��c% ��LastWord% �� ��26 �� �ݤGetWordFromMem(�t%) � �t$,b%,c% �t$="":c%=t% �� � b%=?t% ��(b%)<>"*"�t$=t$+�(b%) �t%=t%+1 ��t%-c%>100��"OOPS":b%=32 � �b%=32�b%=10�b%=13��(b%)="*" �,�(b%)="*"�b%=10�LastWord%=��LastWord%=� �!�>40-�(t$)�t$=�(10)+�(13)+t$ �=t$ ���Reconstruct(on%) ��sw%,sy%,sh%,sw2%,sy2% �step%=4 �Kș&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(on%*2))�,,,sw%,sh% �Oș&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(on%*2)+1)�,,,sw2%,sh2% ��sw2%>sw%�sw%=sw2% ��sh2%>sh%�sh%=sh2% �-�f%=SpriteBottom%�SpriteBottom%+(sh%*4)�4 ��=0 ��(-1)�step%=16�step%=4 �9�24,640-((sw%*4)/2);SpriteBottom%;640+((sw%*4)/2);f%; �-�p%=640-((sw%*4)/2)�640+((sw%*4)/2)�step% �!�p%,f%+4)��0,�(15):Ȓp%,f%+4 ��p% �'�0,0:�640-((sw%*4)/2),f%:�BYsw%*4,0 �G�PlotSprite(ObjectStart%+(on%*2)+1,640-((sw%*4)/2),SpriteBottom%,0) 符(-1)��:��>2 �f% �26:�0,7 � ��Scroll �28,0,23,39,0 �f%=1�80 �=0 �23,7,0,1,0 符(-1)��:��>0 �f% �26 � ��DigSite UsingTool%=0 � DSq%=0 �PMap �Op("Help","Leave Dig","") �PTBar #S$="Choose a tool to dig with." �Tile(-1,370,-1,2) � �Mouse �ButtonPressed%<>1� !Loc%=�ConLoc(MouseX%,MouseY%) ȎLoc%� �1:�Help(2) �2:DSq%=1 $�8,9,10:UsingTool%=Loc%-7:DSq%=2 �11:�Magnify(1) � � !�DSq%>0 "�ReplaceTemp #�DSq%=1�ExDSq%=�:� $ DSq%=0 %�HighlightTool &S$="Choose a place to dig." '�Tile(-1,370,-1,2) (� ) �Mouse *�ButtonPressed%=1�DSq%=3 + �DSq%<>3� ,!Loc%=�ConLoc(MouseX%,MouseY%) -ȎLoc%� .�1:�Help(2):MouseY%=0 / �2:DSq%=1 0� 15�MouseY%>380�MouseY%<860�MouseX%>40�MouseX%<1240� 2$DigLoc%=�DigLoc(MouseX%,MouseY%) 3��ObjectDug%=-1��ReplaceTemp:�Console:S$="Sorry, that area has been damaged.":�Tile(-1,900,-1,2):�ContBox(-1,370):�ReplaceTemp:S$="Choose a place to dig.":�Tile(-1,370,-1,2):�Op(CurOpa$,CurOpb$,CurOpc$) 4��ObjectDug%=999��ReplaceTemp:�Console:S$="Sorry you have already dug there.":�Tile(-1,900,-1,2):�ContBox(-1,370):�ReplaceTemp:S$="Choose a place to dig.":�Tile(-1,370,-1,2):�Op(CurOpa$,CurOpb$,CurOpc$) 5A�ObjectDug%>=0�ObjectDug%<>999�DSq%=2:?PUnknown%=?PUnknown%+1 6� 7� 8�DSq%>0 9�ReplaceTemp :�DSq%=1�ExDSq%=�:� ;�DSq%<>3 <�Console =�HighlightTool >DigX%=MouseX%:DigY%=MouseY% ?�DigZoom @�DigAnim(1) A�ObjectDug%=998� B��ClockAdvance(UsingTool%,2):�PTBar:S$="You don't find anything here.":�Tile(DigX%-244,DigY%+248,14,2):�ContBox(-1,350):�ReplaceTemp:DigZone%(DigLoc%)=-2 C��!Time%>=17�DSq%<>1�S$="It is getting dark now. You must return to the Information hut.":�Tile(-1,700,30,2):�ContBox(-1,370):�ReplaceTemp:ExDSq%=� D� E� F2�ClockAdvance(UsingTool%,2):�AwardScore:�PTBar G�DigZone%(DigLoc%)<256� H:S$=ObDig1$(ObjectDug%):�Tile(DigX%-244,DigY%+248,14,2) I,DigZone%(DigLoc%)=DigZone%(DigLoc%)+1000 J8�Op("Keep Digging","Dig somewhere else","Leave dig") K DSq%=0 L� M �Mouse N!Loc%=�ConLoc(MouseX%,MouseY%) OȎLoc%� P �1:DSq%=2 Q �2:DSq%=3 R �3:DSq%=1 S� T�DSq%>0 U�ReplaceTemp V��!Time%>=17�DSq%<>1�S$="It is getting dark now. You must return to the Information hut.":�Tile(-1,700,30,2):�ContBox(-1,370):�ReplaceTemp:DSq%=1 W�DSq%=1�ExDSq%=�:� X �DSq%=3�� Y�Console Z6S$="Choose a tool to dig with.":�Tile(-1,370,-1,2) [ DSq%=0 \� ] �Mouse ^!Loc%=�ConLoc(MouseX%,MouseY%) _ȎLoc%� `$�8,9,10:UsingTool%=Loc%-7:DSq%=2 a�11:�Magnify(0) b� c�DSq%=2 d�HighlightTool e�ReplaceTemp f�DigAnim(2) g2�ClockAdvance(UsingTool%,2):�AwardScore:�PTBar h��BrokenObject%�S$="The spade was the wrong tool for this job. I am afraid you have damaged this area.":�Tile(DigX%-244,DigY%+248,14,2):�ContBox(-1,350):DigZone%(DigLoc%)=-1:�ReplaceTemp:� i� j2�DigZone%(DigLoc%)>999�DigZone%(DigLoc%)<9999� k:S$=ObDig2$(ObjectDug%):�Tile(DigX%-244,DigY%+248,14,2) l-DigZone%(DigLoc%)=DigZone%(DigLoc%)+10000 m8�Op("Keep Digging","Dig somewhere else","Leave dig") n DSq%=0 o� p �Mouse q!Loc%=�ConLoc(MouseX%,MouseY%) rȎLoc%� s �1:DSq%=2 t �2:DSq%=3 u �3:DSq%=1 v� w�DSq%>0 x�ReplaceTemp y��!Time%>=17�DSq%<>1�S$="It is getting dark now. You must return to the Information hut.":�Tile(-1,700,30,2):�ContBox(-1,370):�ReplaceTemp:DSq%=1 z�DSq%=1�ExDSq%=�:� { �DSq%=3�� |�Console }6S$="Choose a tool to dig with.":�Tile(-1,370,-1,2) ~ DSq%=0 � � �Mouse �!Loc%=�ConLoc(MouseX%,MouseY%) �ȎLoc%� �$�8,9,10:UsingTool%=Loc%-7:DSq%=2 ��11:�Magnify(0) �� ��DSq%=2 ��HighlightTool ��ReplaceTemp ��DigAnim(3) �2�ClockAdvance(UsingTool%,2):�AwardScore:�PTBar ���BrokenObject%�S$="The spade was the wrong tool for this job. I am afraid you have damaged this area.":�Tile(DigX%-244,DigY%+248,14,2):DigZone%(DigLoc%)=-1:�ContBox(-1,350):�ReplaceTemp:� �� ��DigZone%(DigLoc%)>9999� �:S$=ObDig3$(ObjectDug%):�Tile(DigX%-244,DigY%+248,14,1) �M?(PObjects%+!PObNo%)=ObjectDug%:DigZone%(DigLoc%)=999:!PObNo%=(!PObNo%)+1 �!�ObjectDug%=4�UnknownFound%=� �DoNotReplace%=� ��AskObjectQuestion �:�Op("Look at object","Dig somewhere else","Leave dig") �DSq%=0:�SingleScreen �� � �Mouse �!Loc%=�ConLoc(MouseX%,MouseY%) �ȎLoc%� ��1:�CurOpa$<>""� ��CloserLook:DSq%=3 �� � �2:DSq%=3 � �3:DSq%=1 ��11:�CurOpa$<>""� ��CloserLook:DSq%=3 �� �� ��DSq%>0 ���!Time%>=17�DSq%<>1�S$="It is getting dark now. You must return to the Information hut.":�Tile(-1,700,30,2):�ContBox(-1,370):�ReplaceTemp:DSq%=1 ��DSq%=1�ExDSq%=�:� � �DSq%=3�� �� �� ���CloserLook ��x%,w%,sw%,sh% �x%=DigX%:y%=DigY%:w%=1 ��DoubleBuffer ��0,0 ��w%=256�640�32 ��=0 ��x%-w%<0�x%=w% ��x%+w%>1276�x%=1276-w% ��y%+w%>950�y%=950-w% ��y%-w%<256�y%=256+w% �:�PlotSpriteScaled("DigSpr1",x%-w%,y%-w%,w%,w%,256,256) ��w%<320��Console �Ȗ ��SwapScreen ��w% �'�SingleScreen:�ScrClo:�DoubleBuffer ��26:�:� �J�GetBackgroundPalette(SprNm$(ObjectStart%+(ObjectDug%*2))):�SetPalette �Rș&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(ObjectDug%*2))�,,,sw%,sh% �B�PlotSprite(ObjectStart%+(ObjectDug%*2),640-((sw%*4)/2),300,0) ��SwapScreen �DigX%=x%:DigY%=y% ��SingleScreen ��ContBox(-1,100) �� ���HighlightTool ��0,4 �ȎUsingTool%� ��1: �ȓ944,150,128,68 ��2: �ȓ1110,150,128,68 ��3: �ȓ944,40,128,68 ��4: �ȓ1110,40,128,68 �� �� ���AskObjectQuestion �"�QuestionAsked%(ObjectDug%)=�� �ȎObjectDug%� �� � QuestionAsked%(ObjectDug%)=� �� �� �$��ObQuestion(q$,a1$,a2$,a3$,ca%) ��ContBox(-1,350) � �ReplaceTemp:DoNotReplace%=� �S$=q$:�Tile(-1,700,30,2) � Ȏca%� ��1:ca$=a1$ ��2:ca$=a2$ ��3:ca$=a3$ �� ��Op(a1$,a2$,a3$) �� � �Mouse �!Loc%=�ConLoc(MouseX%,MouseY%) �p�Loc%=ca%��ReplaceTemp:S$="That's right.":�Tile(-1,700,-1,2):�ContBox(-1,350):�ReplaceTemp:!Score%=!Score%+1 �|�Loc%<>ca%�Loc%<4�Loc%>0��ReplaceTemp:S$="Sorry, the answer was : "+ca$:�Tile(-1,700,-1,2):�ContBox(-1,350):�ReplaceTemp ��Loc%=1�Loc%=2�Loc%=3 �� ���Magnify(NotDug%) ��ClockAdvance(1,2) ��ReplaceTemp ��NotDug%�S$="I think a spade would be a good tool to start with.":�Tile(-1,800,30,2):�ContBox(-1,350):�ReplaceTemp:S$="Choose a tool to dig with.":�Tile(-1,370,-1,2):� �ȎObTol%(ObjectDug%)� �1�1:S$="There is quite a lot of soil to move." �/�2:S$="There could be fragile things here." �*�3:S$="You must be very careful here." �� �4�Tile(-1,800,-1,2):�ContBox(-1,350):�ReplaceTemp �6S$="Choose a tool to dig with.":�Tile(-1,370,-1,2) �� ���AwardScore �BrokenObject%=� �4�ObTol%(ObjectDug%)=UsingTool%�!Score%=!Score%+2 �V�ObTol%(ObjectDug%)=UsingTool%-1�ObTol%(ObjectDug%)=UsingTool%+1�!Score%=!Score%+1 �4�ObTol%(ObjectDug%)=UsingTool%+2�BrokenObject%=� �� ���DigAnim(t%) � �f%,a% �K�t%>1�Ȗ:ș&0000002E,34+256,SpriteArea%,"animback",DigX%-64,DigY%-220,0 �Tș&0000002E,16+256,SpriteArea%,"animback",0,DigX%-64,DigY%-220,DigX%+68,DigY%-50 ��UsingTool%=1��DigAnim1 ��UsingTool%=2��DigAnim2 ��UsingTool%=3��DigAnim3 � ��DigAnim1 �a%=1�6 �2,SVol%,50,1 %�f%=DigAnimStart%�DigAnimStart%+5 �=0 (�PlotSprite(f%,DigX%-64,DigY%-220,8) 8�f%=DigAnimStart%+1�f%=DigAnimStart%+2�tl%=20�tl%=10 符(-1)��:��>tl% Ȗ Bș&0000002E,34+256,SpriteArea%,"animback",DigX%-64,DigY%-220,0 �f% �2,SVol%,50,1 �a% 3�PlotSprite(DigAnimStart%,DigX%-64,DigY%-220,8) � ��DigAnim2 $*CHANNELVOICE 2 Percussion-Noise �a%=1�6 �2,SVol%/3,0,10 '�f%=DigAnimStart%+6�DigAnimStart%+7 �=0 (�PlotSprite(f%,DigX%-64,DigY%-220,8) tl%=50 符(-1)��:��>tl% Ȗ Bș&0000002E,34+256,SpriteArea%,"animback",DigX%-64,DigY%-220,0 �f% �a% 5�PlotSprite(DigAnimStart%+6,DigX%-64,DigY%-220,8) #*CHANNELVOICE 2 Percussion-Soft � ��DigAnim3 !$*CHANNELVOICE 2 Percussion-Noise "�a%=1�6 #�2,SVol%/10,0,10 $'�f%=DigAnimStart%+8�DigAnimStart%+9 %�=0 &(�PlotSprite(f%,DigX%-64,DigY%-220,8) ' tl%=50 (符(-1)��:��>tl% )Ȗ *Bș&0000002E,34+256,SpriteArea%,"animback",DigX%-64,DigY%-220,0 +�f% ,�a% -5�PlotSprite(DigAnimStart%+8,DigX%-64,DigY%-220,8) .#*CHANNELVOICE 2 Percussion-Soft /� 0��Tools 1�PlotSprite(4,980,150,8) 2�PlotSprite(5,1140,150,8) 3�PlotSprite(6,980,40,8) 4�PlotSprite(7,1140,40,8) 5� 6 ��GetBackgroundPalette(spr$) 7�f%,adr% 8.ș&0000002E,24+256,SpriteArea%,spr$�,,adr% 9adr%=adr%+48 :�f%=0�15 ;EPal2%(f%,1)=?(adr%+1):Pal2%(f%,2)=?(adr%+2):Pal2%(f%,3)=?(adr%+3) <adr%=adr%+8 =�f% >� ?��FadeUp @ �f%,a%,t% A�f%=0�15 B-Pal3%(f%,1)=0:Pal3%(f%,2)=0:Pal3%(f%,3)=0 C�f% D�f%=0�31 Et%=� FȖ G�a%=0�15 H1�19,a%,16,Pal3%(a%,1),Pal3%(a%,2),Pal3%(a%,3) IPPal3%(a%,1)=Pal3%(a%,1)+10:�Pal3%(a%,1)>=Pal2%(a%,1)�Pal3%(a%,1)=Pal2%(a%,1) JPPal3%(a%,2)=Pal3%(a%,2)+10:�Pal3%(a%,2)>=Pal2%(a%,2)�Pal3%(a%,2)=Pal2%(a%,2) KPPal3%(a%,3)=Pal3%(a%,3)+10:�Pal3%(a%,3)>=Pal2%(a%,3)�Pal3%(a%,3)=Pal2%(a%,3) L�a% M �:��>t%+5 N�f% O� P��BlackOut Q�f% R�f%=0�15 S ?(Fp%)=f% Tș&00000007,11,Fp% UPal2%(f%,1)=?(Fp%+2) VPal2%(f%,2)=?(Fp%+3) WPal2%(f%,3)=?(Fp%+4) X�19,f%,16,0,0,0 Y�f% Z� [ݤDigLoc(x%,y%) \�DigLoc% ]-DigLoc%=((x%-40)�120)+(((860-y%)�120)*10) ^ ObjectDug%=DigZone%(DigLoc%) _j�GetNextUnknownObject<>0�ObjectDug%<999�ObjectDug%=�GetNextUnknownObject:DigZone%(DigLoc%)=ObjectDug% `D�GetNextUnknownObject<>0�ObjectDug%>999�?PUnknown%=?PUnknown%-1 a0�ObjectDug%>=1000�ObjectDug%=ObjectDug%-1000 b2�ObjectDug%>=10000�ObjectDug%=ObjectDug%-10000 c=DigLoc% dݤGetNextUnknownObject e�uo% fȎ?PUnknown%� g �0:uo%=14 h�1:uo%=4 i �2:uo%=23 j �3:uo%=15 k �4:uo%=14 l �5:uo%=23 m �6:uo%=15 n �7:uo%=14 o� p=uo% q ��PMap r �x%,y% s,�GetBackgroundPalette("Dig"):�SetPalette t#�PlotSprite(MapSprite%,0,260,0) u�f%=0�49 vx%=(f%�10)*120+68 wy%=860-(f%�10)*120-96 x�DigZone%(f%)=999� y!�24,x%-32;y%-40;x%+92;y%+100; z�PlotSprite(10,x%,y%,8) {�26 |� }�DigZone%(f%)=-1� ~!�24,x%-32;y%-40;x%+92;y%+100; �PlotSprite(13,x%,y%,8) ��26 �� ��DigZone%(f%)=-2� �!�24,x%-32;y%-40;x%+92;y%+100; ��PlotSprite(14,x%,y%,8) ��26 �� �?�DigZone%(f%)>999�DigZone%(f%)>9999��PlotSprite(11,x%,y%,8) ��f% �� ���SetPalette ��f%=0�15 �"?(Palette+(f%*12))=Pal2%(f%,1) �$?(Palette+(f%*12)+4)=Pal2%(f%,2) �$?(Palette+(f%*12)+8)=Pal2%(f%,3) ��f% ��ChangePal �ș&00040750 �� �ݤGcol(pe%) � �gcol% �ș&00040742,pe%�gcol% � =gcol% ���PTBar �/�?PName%>&60�?PName%<&7B�?PName%=?PName%-32 �(S$=$PName%:SS$="Score : "+�(!Score%) � DSS$="Day : "+�((!Day%)�&FF) �%sl%=(39-(�(S$)+�(SS$)+�(DSS$)))�2 �2�(39-(�(S$)+�(SS$)+�(DSS$)))�2=1�esl%=1�esl%=0 �+S$=S$+�sl%," ")+DSS$+�sl%+esl%," ")+SS$ ��Tile(0,1023,39,1) �� ���Clock �hour%=!Time%:min%=0 �a=(360/12)*hour%+(min%/2) �b=(360/60)*min% �)�0,�Gcol(&22222200):�ClockHands(8,-8) �(�0,�Gcol(&FFFFFF00):�ClockHands(0,0) �� ���ClockHands(x%,y%) �7�820+x%,130+y%:ߵ(�(a))*40+820+x%,�(�(a))*40+130+y% �7�820+x%,130+y%:ߵ(�(b))*66+820+x%,�(�(b))*66+130+y% �� ���ClockAdvance(h%,s%) ��clh%,clm%,ch%,nt%,st% �ch%=!Time% ��h%=3�h%=2 �符(-1)� ��24,670;20;880;236; �1�h%>0��clh%=ch%�ch%+h%-1��clh%=ch%-1�ch%+h%:� �符(-1)� �,�h%>0��clm%=0�60�s%��clm%=60�0�(-1*s%):� �a=(360/12)*clh%+(clm%/2) �b=(360/60)*clm% ��clm%=60�b=0 �Ȗ �"�PlotSprite(FsgiNumber%,0,0,0) �)�0,�Gcol(&22222200):�ClockHands(8,-8) �(�0,�Gcol(&FFFFFF00):�ClockHands(0,0) � �clm% �� � �clh% ��26:�0,7 �� �!nt%=ch%+h%:�nt%>23�nt%=nt%-24 �!Time%=nt% �DataSaved%=� �� � ��DigZoom � �x%,w% �x%=DigX%:y%=DigY%:w%=1 ��DoubleBuffer �� ��Console � �PMap � �PTBar ��HighlightTool ��0,0 ��w%=0�256�8 ��=0 ��x%-w%<0�x%=w% ��x%+w%>1276�x%=1276-w% ��y%-w%<272�y%=272+w% ��y%+w%>950�y%=950-w% �Ȗ �'ȓȐx%-w%+12,y%-w%-12,(w%*2)-4,w%*2 �:�PlotSpriteScaled("DigSpr1",x%-w%,y%-w%,w%,w%,256,256) �符(-1)��:��>5 ��SwapScreen ��w% ��SingleScreen �:�PlotSpriteScaled("DigSpr1",x%-w%,y%-w%,w%,w%,256,256) �DigX%=x%:DigY%=y% �� ���Help(h%) ��cx%,cy%,l%,hh% ��Console � Ȏh%� �E�1:S$="The things that you find at the dig site are listed here." �7�2:S$="Be careful when choosing which tool to use." �:S$="No help here." �� �l%=�(S$) ��l%>38�l%=38:hh%=2�hh%=1 �$cx%=640-(((l%*32)+40)/2):cy%=900 �Vș&0000002E,16+256,SpriteArea%,"help",0,cx%,cy%-((hh%*40)+28),cx%+((l%*32)+40),cy% ��Tile(cx%,cy%,l%,1) ��ContBox(-1,450) �Aș&0000002E,34+256,SpriteArea%,"help",cx%,cy%-((hh%*40)+28),0 � �Op(CurOpa$,CurOpb$,CurOpc$) �*FX15,0 �� ���LoadObjectText �6�("LOAD <ArcV3$Dir>.Data.ObjectText "+�~(ObText%)) �o%=0:xf%=ObText% �� �&ObDesc$(o%)=�GetStringFromMem(xf%) �'ObNara%(o%)=�GetAddressFromMem(xf%) �&ObDig1$(o%)=�GetStringFromMem(xf%) �&ObDig2$(o%)=�GetStringFromMem(xf%) �&ObDig3$(o%)=�GetStringFromMem(xf%) �(ObTol%(o%)=�(�GetStringFromMem(xf%)) �#NewLine$=�GetStringFromMem(xf%) �o%=o%+1 ��NewLine$="*" �NoofObjects%=o% �%xf%=�("<ArcV3$Dir>.Data.ObZones") �o%=0 � +DigZone%(o%)=�(�GetStringFromFile(xf%)) o%=o%+1 ��#xf% �#xf% � ��LoadRoomText &xf%=�("<ArcV3$Dir>.Data.RoomText") o%=0 � )RoomName$(o%)=�GetStringFromFile(xf%) o%=o%+1 ��#xf% �#xf% � ݤGetStringFromFile(xf%) �t$ t$="" � b%=�#xf% �b%<>10�t$=t$+�(b%) �b%=10��#xf% =t$ ݤGetStringFromMem(�xf%) �t$ t$="" � b%=?xf% �b%<>10�b%<>13�t$=t$+�(b%) xf%=xf%+1 �b%=10�b%=13��(b%)="*" =t$ ݤGetAddressFromMem(�xf%) !�t$,Oldxf% "t$="":Oldxf%=xf% #� $b%=?xf% % xf%=xf%+1 &�b%=10��(b%)="*" '=Oldxf% (��TimeTunnel )� *�tf%=5�5 +�ScrClo:�ScrClo:�ScrClo ,�z%=1�256�8 -Ȗ .2�GetBackgroundPalette("tl"+�(tf%)):�SetPalette />�PlotSpriteScaled("tl"+�(tf%),600-z%,600-z%,z%,z%,256,256) 0�z% 1 z%=256 2>�PlotSpriteScaled("tl"+�(tf%),600-z%,600-z%,z%,z%,256,256) 3 Ȏtf%� 4�5:S$="Viking Times" 5� 6�Tile(-1,300,-1,1) 7�tf%<>5��=0 8� 9�(-1)��=300 : ��>300 ;� <�tf% =� >��Init2 ?�� VarBlock% 20,Background% 32000,PlayAnim%(4,7),Orn%(NoofP2Objects%),Ofn%(NoofP2Objects%),ox%(NoofP2Objects%),oy%(NoofP2Objects%),P2ObDesc$(NoofP2Objects%),P2ObNara$(NoofP2Objects%) @�� CodeTable% 1024 , ObBoxX%(4),ObBoxY%(4) , PersonType%(NoofPeople%), PVOb1%(NoofPeople%),PVOb2%(NoofPeople%),PVOb3%(NoofPeople%), P2ObName$(NoofP2Objects%), P2ObPrice%(NoofP2Objects%) A�� PersonName$(NoofPeople%),PersonNara$(NoofPeople%),PersonRn%(NoofPeople%),PersonX%(NoofPeople%),PersonY%(NoofPeople%),Pfn%(NoofPeople%):!(VarBlock%)=148:!(VarBlock%+8)=-1 Bvb%=1:db%=2:Skipdoor%=� C%� RoomData% 16000, LinkPoint%(32) D�DoubleBuffer E�GetScreenVars F�SingleScreen G�CodeAss H� DoorResponse$(NoofRooms%) I�SetDoorResponses JAObBoxX%(0)=970:ObBoxX%(1)=1130:ObBoxX%(2)=970:ObBoxX%(3)=1130 K=ObBoxY%(0)=150:ObBoxY%(1)=150:ObBoxY%(2)=40:ObBoxY%(3)=40 Lhpx%=3:py%=4:ChangeRoom%=�:TempCode%=0:ChangingRoom%=�:DoorClosing%=�:JustClosedDoor%=�:RoomNumber%=1 M� N��Part2 O�SingleScreen P�TimeTunnel Q �MakeRoom R�MakeLinkTable S�PutObjects Tvb%=2:db%=1 U3FsgiNumber%=10:Part%=2:DoorKnocked%=RoomNumber% V�MakeSpriteTable2 W�MakeAnimTables X�SetTables YPart%=2 Z�BlackOut:�:vb%=2:db%=1 [�DoubleBuffer:�:�SwapScreen \�GetScreenVars ]�:�Console ^,�GetBackgroundPalette("w21"):�SetPalette _`�vb%=1�!CurScreenAddr=Bank1Addr%:Bank%=Bank1Addr%�!CurScreenAddr=Bank2Addr%:Bank%=Bank2Addr% `A%=Room%:B%=SpriteArea% a�BackdropPrint b�PrintRoomName cA%=Bank%:D%=Background% d �GrabBack eA%=Bank%:D%=Background% f�PutBack g �BlackOut h�Console i�PlacePlay j�DisplayLoop k�Console l�RemovePlay m�FadeUp n�GameLoop2 o�SingleScreen pPart%=1 q�Clw r"�MakeSpriteTable:FsgiNumber%=0 s� t��MakeSpriteTable2 u�sn$,c% v ��t@F w �c%=0�146 x�sn$ y+SprAdd%(c%)=�ReturnAddressOfSprite(sn$) zSprNm$(c%)=sn$ {�SprAdd%(c%)=0��99,"Help" |�c% }PersonSprites%=120 ~P2ObjectSprites%=90 � �O�"floor1","w21","wall1","n","wall1","house1","house2","house3","house4","n" �Y�"fsgi","floor1","floor2","floor3","wall1","wall2","floor4","house6","wall3","house7" �V�"fence1","fence2","w31","door1","door2","door3","w21","fire1","house10","house11" �W�"house12","loom","house13","wall2","door7","door5","door4","door8","wall4","wall5" �H�"w51","door7","door8","furnace","n","door6","n","n","floor2","arch" �E�"p30","p31","p32","p33","p34","p35","p36","p37","arch","rubbish" �1�"p30","n","n","n","n","n","n","n","sign","n" �.�"p10","n","n","n","n","n","n","n","n","n" �@�"p10","p11","p12","p13","p14","p15","p16","p17","table","n" �7�"n","n","n","n","n","n","n","n","unknown42","key1" �/�"iron","n","n","n","n","n","n","n","n","n" �2�"n","n","n","n","n","n","n","n","sheep","pig" �B�"oldman","weaver","n","smith","n","n","n","n","locksmith","n" �,�"n","n","n","n","n","n","n","n","n","n" �+�"n","n","n","n","arc2","arrows","arc1" ���FlipSprites ��f% � �f%=51�57 �.ș&0000002E,47+512,SpriteArea%,SprAdd%(f%) ��f% � �f%=81�87 �.ș&0000002E,47+512,SpriteArea%,SprAdd%(f%) ��f% �.�PDirection%=1�PDirection%=2�PDirection%=1 �� ���MakeAnimTables � ��tbF ��f%=1�4 ��a%=0�7 ��d% �(PlayAnim%(f%,a%)=d%+PlayFramesStart% ��a% ��f% �� ��20,31,32,33,34,35,36,37 ��20,31,32,33,34,35,36,37 ��0,1,2,3,4,5,6,7 ��0,1,2,3,4,5,6,7 ���GameLoop2 � �t%,c% �GL2q%=� �� � �Mouse �Q�(�(-63)�Part%=2)�AnswerQuestions%�K$="�"�AnswerQuestions%=�:�AnswerQuestions �!�(-51)��(-38)��(-84)�GL2q%=� �!Loc%=�ConLoc(MouseX%,MouseY%) �&PlayerMoved%=�:DoorChanged%=�:c%=0 �ȎLoc%� ��4: �%c%=�GetContents(Room2%,px%-1,py%) ��c%=999� ��LookForLink(px%-1,py%) �� �K�c%<>0�(c%<P2ObjectStart%�c%>PersonEnd%)�c%=997:�LookForLink(px%-1,py%) �� �#�px%-1<>0�py%<>0�DoorChanged%=� �@�(c%=0�(c%>996�ChangeRoom%))��DoorChanged%��MovePlay(-1,0,1) �(�5:c%=�GetContents(Room2%,px%,py%-1) ��c%=999� ��LookForLink(px%,py%-1) �� �K�c%<>0�(c%<P2ObjectStart%�c%>PersonEnd%)�c%=997:�LookForLink(px%,py%-1) �� �#�px%<>0�py%-1<>0�DoorChanged%=� �@�(c%=0�(c%>996�ChangeRoom%))��DoorChanged%��MovePlay(0,-1,2) �(�6:c%=�GetContents(Room2%,px%,py%+1) ��c%=998� ��LookForLink(px%,py%) �� �K�c%<>0�(c%<P2ObjectStart%�c%>PersonEnd%)�c%=997:�LookForLink(px%,py%+1) �� �/�c%=0�(c%>996�ChangeRoom%)��MovePlay(0,1,3) �(�7:c%=�GetContents(Room2%,px%+1,py%) ��c%=998� ��LookForLink(px%,py%) �� �K�c%<>0�(c%<P2ObjectStart%�c%>PersonEnd%)�c%=997:�LookForLink(px%+1,py%) �� �/�c%=0�(c%>996�ChangeRoom%)��MovePlay(1,0,4) ��8,9,10,11:�Object2(Loc%-8) �� ��PlayerMoved%=�� �C�c%>=P2ObjectStart%�c%<=P2ObjectEnd%��Object(c%-P2ObjectStart%) �=�c%>=PersonStart%�c%<=PersonEnd%��Person(c%-PersonStart%) �� � �Loc%>3�Loc%<8�PlayerMoved%� ��PlacePlay �&�vb%=1�A%=Bank1Addr%�A%=Bank2Addr% �D%=Background% �!CurScreenAddr=A% ��PutBack �A%=Room2%:B%=SpriteArea% ��BackdropPrint ��RemovePlay �Ȗ ��SwapScreen �� �PlayerMoved%=� � �GL2q% �� ���MovePlay(x%,y%,d%) ��l% �(�MenuChangeRoom%�MenuChangeRoom%=�:� �#*CHANNELVOICE 2 Percussion-Soft ��PlacePlay �DataSaved%=� �+�(d%=1�d%=3)�PDirection%=2��FlipSprites �+�(d%=2�d%=4)�PDirection%=1��FlipSprites �� � �F=1�7 ��=0 �1!(CodeTable%+(10*4))=SprAdd%(PlayAnim%(d%,F)) ��F=1��2,SVol%/2,50,1 ��F=4��2,SVol%/2,60,1 ��(��(-1))�F=7��DisplayLoop �*�(F=4��ChangeRoom%)�(F=4�ChangeRoom%)� ��RemovePlay ��ChangeRoom%� �tx%=0:ty%=0 ��Skipdoor%�tx%=x%:ty%=y% � �Loc%=6�Loc%=7�tx%=x%:ty%=y% �/px%=Cpx%+tx%:py%=Cpy%+ty%:�ChangeRoom(Crn%) �� �px%=px%+x%:py%=py%+y% �� ��PlacePlay �� �符(-1)��:��>5 �F ȗXx%,Yy%,Bb% �ChangeRoom%��MakeLinkTable ChangeRoom%=� :�Bb%=0��GetContents(Room2%,px%+x%,py%+y%)<>0�Skipdoor% 1!(CodeTable%+(10*4))=SprAdd%(PlayAnim%(d%,0)) �DisplayLoop �RemovePlay f�Skipdoor%�DoorResponse$(RoomNumber%)<>""�DoorKnocked%<>RoomNumber%��CheckChrReaction(RoomNumber%) !�Skipdoor%�JustClosedDoor%=�� �SingleScreen �Op("Shut door.","","") �Mouse l%=�ConLoc(MouseX%,MouseY%) 8�l%=1��CloseDoor:JustClosedDoor%=��JustClosedDoor%=� �DoubleBuffer �FreshAll �JustClosedDoor%=� � PlayerMoved%=�:Skipdoor%=� � ��DisplayLoop �t% �DoubleBuffer &�vb%=1�A%=Bank1Addr%�A%=Bank2Addr% D%=Background% !CurScreenAddr=A% �PutBack A%=Room2%:B%=SpriteArea% �BackdropPrint �SwapScreen � ��Op2(a$,b$,c$) ! �x%,y%,b% "ș&00000006,112,db% #ș&00000006,113,db% $�Console %� &ȗx%,y%,b% ' �b%=0 ($CurOpa$=a$:CurOpb$=b$:CurOpc$=c$ )�Shadow(60,216,a$) *�Shadow(60,146,b$) +�Shadow(60,72,c$) ,*FX 15,0 -ș&00000006,112,vb% .� / ��CodeAss 0� Code% 2048 1 �l%=0�2�2 2P%=Code% 3[ OPT l% 4.BackdropPrint 5STMFD R13!,{R14} 6MOV R3,#608 7MOV R4,#752 8LDRB R5,[R0] 9LDRB R6,[R0,#1] :ADD R0,R0,#2 ;MOV R8,#0 < .Loop2 = MOV R7,#0 > .Loop1 ?LDRB R2,[R0] @MOV R2,R2,LSL #2 ACMP R2,#0 : BEQ Jn BLDR R10,Codes CADD R10,R10,R2 DLDR R2,[R10] EBL SpritePlot F.Jn G9SUB R3,R3,#64:SUB R4,R4,#32:ADD R7,R7,#1:ADD R0,R0,#1 HCMP R7,R5:BLT Loop1 I6MOV R9,#64:MUL R7,R5,R9:ADD R3,R3,R7:ADD R3,R3,#64 J6MOV R9,#32:MUL R7,R5,R9:ADD R4,R4,R7:SUB R4,R4,#32 K%ADD R8,R8,#1:CMP R8,R6 :BLT Loop2 LLDMFD R13!,{PC} M .RoomLoop NSTMFD R13!,{R14} OMOV R12,#0 P.l QSTMFD R13!,{R0} RBL BackdropPrint SLDMFD R13!,{R0} TADD R12,R12,#1 UCMP R12,#100 V BLT l WLDMFD R13!,{PC} X.SpritePlot YSTMFD R13!,{R0,R5,R14} ZBL SpritePlot2 [LDMFD R13!,{R0,R5,PC} \.SpritePlot2 ]STMFD R13!,{R0-R11,R14} ^LDR R1,CurScreenAddr _ADD R1,R1,#40960 `LDR R11,[R2,#20] aADD R4,R4,R11,LSL#2 bMOV R6,#40 cMUL R5,R4,R6 d MOV R4,R5 eMOV R3,R3,LSR#3 fSUB R1,R1,R4 gADD R1,R1,R3 hLDR R5,[R2,#32] iADD R5,R5,R2 jLDR R6,[R2,#36] kADD R6,R6,R2 lLDR R11,[R2,#20] m.SpLoop1 nLDR R10,CurScreenAddr oCMP R10,R1 pBGT EndLoop1 q MOV R7,#0 r.SpLoop2 sLDR R9,[R1,R7] tLDR R10,[R6,R7] uLDR R0,[R5,R7] v� R0,R0,R10 w�R R9,R9,R10 x� R9,R9,R10 y�R R9,R9,R0 zSTR R9,[R1,R7] {ADD R7,R7,#4 |CMP R7,#16 }BLT SpLoop2 ~ .EndLoop1 ADD R1,R1,#160 �ADD R5,R5,#16 �ADD R6,R6,#16 �SUB R11,R11,#1 �CMP R11,#0 �BGT SpLoop1 �LDMFD R13!,{R0-R11,PC} �.Codes �EQUD CodeTable% �.CurScreenAddr � EQUD 0 � .Debug � EQUD 0 �.GrabBack �STMFD R13!,{R0-R9,R14} � MOV R1,#0 �.GrabLoop1 �LDR R2,[R0,R1] �STR R2,[R3,R1] �ADD R1,R1,#4 �CMP R1,#30720 �BLT GrabLoop1 �LDMFD R13!,{R0-R9,PC} �.PutBack �STMFD R13!,{R0-R9,R14} � MOV R1,#0 � .PutLoop1 �LDR R2,[R3,R1] �STR R2,[R0,R1] �ADD R1,R1,#4 �CMP R1,#30720 �BLT PutLoop1 �LDMFD R13!,{R0-R9,PC} � .Scr1 �EQUD Bank1Addr% � .Scr2 �EQUD Bank2Addr% �.BackStore �EQUD Background% �.ChangePal �ADR R7,Palette � MOV R8,#0 � MOV R6,#0 �MOV R0,#19 �SWI "OS_Byte" � .Loop �SWI 256+19 � MOV R0,R6 �SWI "OS_WriteC" �SWI 256+16 �LDR R0,[R7,#0] �SWI "OS_WriteC" �LDR R0,[R7,#4] �SWI "OS_WriteC" �LDR R0,[R7,#8] �SWI "OS_WriteC" �ADD R7,R7,#12 �ADD R6,R6,#1 �CMP R6,#15 �BLE Loop �MOV PC,R14 � ALIGN �.Palette �EQUS �64,�(0)) � ALIGN �] ��l% �� ���SetTables ��ps%,os% � ��dMG �ps%=PersonSprites% �os%=P2ObjectSprites% ��NoofEntries% ��a%=0�NoofEntries%-1 �(�s%:!(CodeTable%+(a%*4))=SprAdd%(s%) ��a% �� ��130 ��0,0,1,2,3,4,5,6,7,8 ��PlayFramesStart% ��9,11,12,13,14,15,16,17,18 �"�19,20,21,22,23,24,25,26,27,28 �"�29,30,31,32,33,34,38,39,40,41 �"�42,43,44,17,24,41,46,47,48,49 � �58,59,68,69,78,79,88,89,0,0 �>�os%,os%+1,os%+2,os%+3,os%+4,os%+5,os%+6,os%+7,os%+8,os%+9 �J�os%+10,os%+11,os%+12,os%+13,os%+14,os%+15,os%+16,os%+17,os%+18,os%+19 �J�os%+20,os%+21,os%+22,os%+23,os%+24,os%+25,os%+26,os%+27,os%+28,os%+29 �>�ps%,ps%+1,ps%+2,ps%+3,ps%+4,ps%+5,ps%+6,ps%+7,ps%+8,ps%+9 �J�ps%+10,ps%+11,ps%+12,ps%+13,ps%+14,ps%+15,ps%+16,ps%+17,ps%+18,ps%+19 �6�ps%+20,ps%+21,ps%+22,ps%+23,ps%+24,ps%+25,0,0,0,0 ��35,36,37,45,0,0,0,0,0,0 ���MakeRoom �3�("LOAD <ArcV3$Dir>.Data.RData "+�~(RoomData%)) �NoofRooms%=?RoomData% ��#0 �?(PRoom%+2)=1 ��MakeRoomTable ��PlaceExtraFixedObjects �� ���PlaceExtraFixedObjects �M�?PP2Ob%=8��PutContents2(79,3,3,19+PersonStart%):�PutContents2(77,5,1,25) �{�PutContents2(51,1,1,28+P2ObjectStart%):�PutContents2(51,5,1,28+P2ObjectStart%):�PutContents2(51,3,3,28+P2ObjectStart%) �S�PutContents2(63,3,1,29+P2ObjectStart%):�PutContents2(63,4,5,29+P2ObjectStart%) ��PutContents2(146,0,5,57) �� ���ReLoadRoomData �3�("LOAD <ArcV3$Dir>.Data.RData "+�~(RoomData%)) �NoofRooms%=?RoomData% ��#0 �� ���PlacePlay �w%=?Room%:l%=?(Room%+1) �&TempCode%=?(Room2%+(px%*w%)+py%+2) ��TempCode%=10�TempCode%=0 �?(Room2%+(px%*w%)+py%+2)=10 �� ���RemovePlay �w%=?Room2%:l%=?(Room2%+1) �&?(Room2%+(px%*w%)+py%+2)=TempCode% �TempCode%=0 �� �ݤGetContents(RAdd%,x%,y%) �ContentsX%=x%:ContentsY%=y% �w%=?(RAdd%):l%=?(RAdd%+1) ��x%=0�y%=0�=999 ��x%=l%�y%=w%�=998 �=?(RAdd%+((x%*w%)+y%)+2) ݤGetContentsBack(rn%,x%,y%) �RAdd% RAdd%=RoomAdd%(rn%) (RAdd2%=RAdd%+2+(?(RAdd%)*?(RAdd%+1)) w%=?(RAdd2%):l%=?(RAdd2%+1) =?(RAdd%+((x%*w%)+y%)+2) ݤGetContents2(rn%,x%,y%) �RAdd% RAdd%=RoomAdd%(rn%) (RAdd2%=RAdd%+2+(?(RAdd%)*?(RAdd%+1)) w%=?(RAdd2%):l%=?(RAdd2%+1) =?(RAdd2%+((x%*w%)+y%)+2) ��ChangeRoom(rn%) �t% �DoubleBuffer ChangingRoom%=� Room%=RoomAdd%(rn%) (Room2%=Room%+2+(?(Room%)*?(Room%+1)) �MovingChrs(rn%) RoomNumber%=rn% '�DoorKnocked%<>rn%�DoorKnocked%=999 w%=?Room%:l%=?(Room%+1) �Clw >�vb%=1�!CurScreenAddr=Bank1Addr%�!CurScreenAddr=Bank2Addr% A%=Room%:B%=SpriteArea% �BackdropPrint �PrintRoomName &�vb%=1�A%=Bank1Addr%�A%=Bank2Addr% D%=Background% �GrabBack �PlacePlay A%=Room2%:B%=SpriteArea% �BackdropPrint !�SwapScreen "�RemovePlay #ChangingRoom%=� $� %��ReturnToRoom1 &mpx%=3:py%=4:?(PRoom%+2)=1:�MakeRoomTable:�ChangeRoom(0):�FreshAll:ș&00000006,112,vb%:ș&00000006,113,db% '�MakeLinkTable (*FX15,1 )� *��MovingChrs(rn%) +�r% , Ȏrn%� -�68,72: .)�PutContents2(71,1,6,20+PersonStart%) /�PutContents2(71,2,6,0) 0�PutContents2(71,1,5,0) 1�PutContents2(71,1,7,24) 2�PutContentsBack(73,1,0,39) 3 �149: 4 r%=Room2% 5(�PutContents(r%,1,3,25+PersonStart%) 6�PutContents(r%,2,4,0) 7�26: 8#�RoomNumber%=70�RoomNumber%=69� 9X�PutContents2(26,2,3,5+PersonStart%):�PutContents2(26,2,4,0):�PutContents2(26,1,4,0) :� ;X�PutContents2(26,2,4,5+PersonStart%):�PutContents2(26,2,3,0):�PutContents2(26,1,4,0) <� =� > Ȏrn%� ?�71,26,69,68: @�PutContents2(72,4,4,25) A�PutContentsBack(70,0,2,39) B�0,135: C�PutContents2(3,3,4,24) D�PutContentsBack(4,3,0,35) E� F� G��PrintRoomName H�?(PRoom%+2)=1�Roff%=0 I�?(PRoom%+2)=2�Roff%=29 J�?(PRoom%+2)=3�Roff%=49 K�?(PRoom%+2)=4�Roff%=56 L�?(PRoom%+2)=5�Roff%=60 M7S$=RoomName$(RoomNumber%+Roff%):�Tile(-1,1023,-1,1) N� O��MakeRoomTable P �Adr% Q#�?(PRoom%+2)=1�Adr%=RoomData%+1 RNoofRooms%=?(Adr%-1) S�f%=0�NoofRooms%-1 TRoomAdd%(f%)=Adr% U#Adr%=Adr%+(?(Adr%)*?(Adr%+1))+2 V#Adr%=Adr%+(?(Adr%)*?(Adr%+1))+2 W�f% XEndOfRoomData%=Adr%-1 Y4Links%=Adr%+2:NoofLinks%=?Adr%+((?(Adr%+1))*256) Z� [��MakeLinkTable \p%=0 ]�a%=0�NoofLinks%*4�4 ^ �(?(Links%+a%))=RoomNumber%� _LinkPoint%(p%)=a%:p%=p%+1 `� a"�(?(Links%+a%+1))=RoomNumber%� bLinkPoint%(p%)=a%:p%=p%+1 c� d�a% e� f��LookForLink(x%,y%) g�d%,f%,LinkFound% h�f%=0�32 ia%=LinkPoint%(f%) j �(?(Links%+a%))=RoomNumber%� k)TestX1%=((!(Links%+a%)�(&F<<16))>>16) lTestX2%=x% m9ly%=((!(Links%+a%)�(&F<<28))>>28):�ly%<0�ly%=ly%*(-1) nG�((!(Links%+a%)�(&F<<16))>>16)=x%�((!(Links%+a%)�(&F<<20))>>20)=y%� o&Ppx%=((!(Links%+a%)�(&F<<24))>>24) pPpy%=ly% qPrn%=?(Links%+a%+1) rLinkFound%=� s'd%=�CheckForDoor(RoomNumber%,x%,y%) t�d%� u Cpx%=Ppx% v Cpy%=Ppy% w Crn%=Prn% xChangeRoom%=� y� z� {� |"�(?(Links%+a%+1))=RoomNumber%� }9ly%=((!(Links%+a%)�(&F<<28))>>28):�ly%<0�ly%=ly%*(-1) ~-�((!(Links%+a%)�(&F<<24))>>24)=x%�ly%=y%� &Ppx%=((!(Links%+a%)�(&F<<16))>>16) �&Ppy%=((!(Links%+a%)�(&F<<20))>>20) �Prn%=?(Links%+a%) �LinkFound%=� �'d%=�CheckForDoor(RoomNumber%,x%,y%) ��d%� � Cpx%=Ppx% � Cpy%=Ppy% � Crn%=Prn% �ChangeRoom%=� �� �� �� ��f% �(d%=�CheckForDoor2(RoomNumber%,x%,y%) ��d%�LinkFound%=�� ��LockedDoor �� �Jc1%=�GetContents(Room2%,x%,y%):c2%=�GetContentsBack(RoomNumber%,x%,y%) �&�c1%=51�c1%=1�c2%=51�ChangeRoom%=� �� �ݤCheckForDoor(r%,x%,y%) � �c%,d% �J�x%=0�y%=0�c%=�GetContentsBack(r%,x%,y%)�c%=�GetContents(Room2%,x%,y%) �S�c%=120�c%=31�c%=122�c%=121�c%=123�c%=40�c%=30�Skipdoor%=�:JustClosedDoor%=�:=� �W�c%=26�c%=24�c%=25�c%=18�c%=33�c%=35�c%=39�d%=�ClosedDoor(c%,x%,y%):Skipdoor%=�:=d% �%�c%=43�c%=44�c%=45��LockedDoor:=� �=� �ݤCheckForDoor2(r%,x%,y%) � �c%,d% �J�x%=0�y%=0�c%=�GetContentsBack(r%,x%,y%)�c%=�GetContents(Room2%,x%,y%) �5�c%=120�c%=31�c%=122�c%=121�c%=123�c%=40�c%=30�=� �1�c%=26�c%=24�c%=25�c%=18�c%=33�c%=35�c%=39�=� ��c%=43�c%=44�c%=45�=� �=� �ݤClosedDoor(c%,x%,y%) ��nc% ��SingleScreen �S$="This door is closed." ��Tile(-1,400,-1,1) �� ��SingleScreen �)�Op("Knock on door.","Open door.","") �� � �Mouse �"Loc2%=�ConLoc(MouseX%,MouseY%) ��Loc2%=1�Loc2%=2�Loc2%>3 �%�Loc2%=2��ChangeDoor(r%,x%,y%):=� �#�Loc2%=1��KnockOnDoor(r%,x%,y%) ��Console �!�Loc2%>3�JustClosedDoor%=�:=� ��Loc2%>2 ��DoubleBuffer � �FreshAll �=� ���LockedDoor �)�GiveLookInfo("This door is locked.") � �FreshAll �� ���KnockOnDoor(r%,x%,y%) ��"CHANNELVOICE 2 Knock1" ��2,SVol%,0,1 � �Wait(50) ��2,SVol%,0,1 ��DoorResponse$(Prn%)<>""� � �FreshAll �P�GiveLookInfo("You hear a voice from inside say, '"+DoorResponse$(Prn%)+"'") �DoorKnocked%=Prn% �� � �FreshAll �(�GiveLookInfo("There is no answer.") �� � �FreshAll �� ���ChangeDoor(r%,x%,y%) ��c%,nc% ��x%=0�y%=0� �!c%=�GetContentsBack(r%,x%,y%) �nc%=�GetncBack(c%) �"�PutContentsBack(r%,x%,y%,nc%) �DRoom%=RoomAdd%(Prn%) �,DRoom2%=DRoom%+2+(?(DRoom%)*?(DRoom%+1)) �&c%=�GetContents(DRoom2%,Ppx%,Ppy%) �nc%=�Getnc(c%) �'�PutContents(DRoom2%,Ppx%,Ppy%,nc%) ��ChangeRoom(r%) �� �!c%=�GetContents(Room2%,x%,y%) �nc%=�Getnc(c%) �"�PutContents(Room2%,x%,y%,nc%) �'c%=�GetContentsBack(Prn%,Ppx%,Ppy%) �nc%=�GetncBack(c%) �(�PutContentsBack(Prn%,Ppx%,Ppy%,nc%) �� �C�DoorClosing%��"CHANNELVOICE 2 Door1"��"CHANNELVOICE 2 Click1" ��2,SVol%,&200,1 ��DoubleBuffer � �FreshAll �/ChangeRoom%=�:DoorClosing%=�:DoorChanged%=� �� �ݤGetncBack(c%) � Ȏc%� ��33:=30 ��26:=121 ��35:=122 ��30:=33 ��121:=26 ��122:=35 ��18:=31 ��31:=18 ��39:=40 ��40:=39 �=c% �� �ݤGetnc(c%) � Ȏc%� ��24:=120 ��120:=24 ��25:=123 ��123:=25 �=c% �� ���CloseDoor � �x%,y% ��DoorClosing%=��� � x%=px%:y%=py%:DoorClosing%=� �R�LookForLink(px%-1,py%):�ChangeRoom%�x%=px%-1:�ChangeDoor(RoomNumber%,x%,y%):� �R�LookForLink(px%+1,py%):�ChangeRoom%�x%=px%+1:�ChangeDoor(RoomNumber%,x%,y%):� �R�LookForLink(px%,py%-1):�ChangeRoom%�y%=py%-1:�ChangeDoor(RoomNumber%,x%,y%):� R�LookForLink(px%,py%+1):�ChangeRoom%�y%=py%+1:�ChangeDoor(RoomNumber%,x%,y%):� � ��LoadP2ObjectText 'xf%=�("<ArcV3$Dir>.Data.P2Objects") -�xf%=0��100,"No Object text file present" o%=0 � )P2ObDesc$(o%)=�GetStringFromFile(xf%) )P2ObNara$(o%)=�GetStringFromFile(xf%) )P2ObName$(o%)=�GetStringFromFile(xf%) -P2ObPrice%(o%)=�(�GetStringFromFile(xf%)) 'Ofn%(o%)=�(�GetStringFromFile(xf%)) 'Orn%(o%)=�(�GetStringFromFile(xf%)) &ox%(o%)=�(�GetStringFromFile(xf%)) &oy%(o%)=�(�GetStringFromFile(xf%)) $NewLine$=�GetStringFromFile(xf%) o%=o%+1 ��#xf% �#xf% NoofP2Objects%=o% � ��LoadPeopleText $xf%=�("<ArcV3$Dir>.Data.People") -�xf%=0��100,"No Person text file present" o%=0 � +PersonName$(o%)=�GetStringFromFile(xf%) +PersonNara$(o%)=�GetStringFromFile(xf%) .PersonType%(o%)=�(�GetStringFromFile(xf%)) �PersonType%(o%)=1� )PVOb1%(o%)=�(�GetStringFromFile(xf%)) )PVOb2%(o%)=�(�GetStringFromFile(xf%)) )PVOb3%(o%)=�(�GetStringFromFile(xf%)) !� "'Pfn%(o%)=�(�GetStringFromFile(xf%)) #,PersonRn%(o%)=�(�GetStringFromFile(xf%)) $+PersonX%(o%)=�(�GetStringFromFile(xf%)) %+PersonY%(o%)=�(�GetStringFromFile(xf%)) &$NewLine$=�GetStringFromFile(xf%) 'o%=o%+1 ( ��#xf% ) �#xf% *NoofPeople%=o% +� ,!��PutContents(RAdd%,x%,y%,c%) -w%=?(RAdd%):l%=?(RAdd%+1) .?(RAdd%+((x%*w%)+y%)+2)=c% /� 0#��PutContentsBack(rn%,x%,y%,c%) 1 �RAdd% 2RAdd%=RoomAdd%(rn%) 3(RAdd2%=RAdd%+2+(?(RAdd%)*?(RAdd%+1)) 4w%=?(RAdd2%):l%=?(RAdd2%+1) 5?(RAdd%+((x%*w%)+y%)+2)=c% 6� 7 ��PutContents2(rn%,x%,y%,c%) 8 �RAdd% 9RAdd%=RoomAdd%(rn%) :(RAdd2%=RAdd%+2+(?(RAdd%)*?(RAdd%+1)) ;w%=?(RAdd2%):l%=?(RAdd2%+1) <?(RAdd2%+((x%*w%)+y%)+2)=c% =� >$��SetObjectData(RAdd%,x%,y%,on%) ?w%=?(RAdd%):l%=?(RAdd%+1) @:!(PP2Data%+(on%*4))=((RAdd%+((x%*w%)+y%)+2)-RoomData%) A� BݤIsObjectHere(on%) C�c%,r%,w%,l%,rs%,rf%,found% Dfound%=� Er%=RoomAdd%(RoomNumber%) Fr%=r%+(?(r%)*?(r%+1))+2 Gw%=?(r%):l%=?(r%) H rs%=r% Irf%=rs%+(w%*l%) J�f%=rs%�rf% K$�?f%=on%+P2ObjectStart%�found%=� L�f% M=found% N��PutObjects O�r% P�ReLoadRoomData Q�a%=-1�1 R'�a%>0�?(PRoom%+2)=a%:�MakeRoomTable S�f%=0�NoofP2Objects% T�Ofn%(f%)=a%� U �a%>0� V+?(PObjects2%+f%)=0:!(PP2Data%+(f%*4))=0 Wr%=RoomAdd%(Orn%(f%)) Xr%=r%+(?(r%)*?(r%+1))+2 Y6�PutContents(r%,ox%(f%),oy%(f%),f%+P2ObjectStart%) Z)�SetObjectData(r%,ox%(f%),oy%(f%),f%) [� \2�a%=-1�?(PObjects2%+f%)=2:!(PP2Data%+(f%*4))=2 ]1�a%=0�?(PObjects2%+f%)=0:!(PP2Data%+(f%*4))=0 ^� _� `�f% a�a% b?(PObjects2%+8)=1 c ?(PRoom%+2)=1:�MakeRoomTable d�PlaceExtraFixedObjects e�PutPeople f� g��PutPeople h�r% i�a%=1�1 j!?(PRoom%+2)=a%:�MakeRoomTable k�f%=0�NoofPeople% l�Pfn%(f%)=a%� mr%=RoomAdd%(PersonRn%(f%)) nr%=r%+(?(r%)*?(r%+1))+2 o>�PutContents(r%,PersonX%(f%),PersonY%(f%),f%+PersonStart%) p� q�f% r�a% s ?(PRoom%+2)=1:�MakeRoomTable t� u��Object(on%) v Oq%=� wș&00000006,112,db% xș&00000006,113,db% yA�on%=22�on%=28�on%=29�a$="Examine animal"�a$="Examine object" z�Op(a$,"Pick up object","") {� | �Mouse }!Loc%=�ConLoc(MouseX%,MouseY%) ~ȎLoc%� @�1:�Console:�ExamineObject(on%):�Op(CurOpa$,CurOpb$,CurOpc$) ��2:�PickupObject(on%):Oq%=� ��3: �:Oq%=� �� � �Oq%=� ��Console �ș&00000006,112,vb% �� ���Person(pn%) ��FirstTime% � Pq%=� ��SingleScreen ��GetPersonCoords(pn%) �<�PlotSpriteNamed(SprNm$(pn%+PersonSprites%)+"z",0,260,0) � �pn%<>24� ���DoorKnocked%<>RoomNumber%�NoKnock$(RoomNumber%)<>""�S$=NoKnock$(RoomNumber%):�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp:�DoubleBuffer:�FreshAll:� �� �'S$="Hello.":�Speak(PerX%,PerY%+280) �� �A�Op("Talk to person","Ask about objects","Ask person's name") � �Mouse �)�FirstTime%��ReplaceTemp:FirstTime%=� �!Loc%=�ConLoc(MouseX%,MouseY%) �ȎLoc%� ��1:�Console ��GetPersonCoords(pn%) �S$=PersonNara$(pn%) �.�pn%=19�?PP2Ob%=8�S$="How can I help you?" �-�pn%=11�RoomNumber%<>61�S$="Hello again." �E�pn%=4��IsObjectAvailable(6)=��S$="I have run out of vegetables." �9�Speak(PerX%,PerY%+280):�ContBox(-1,370):�ReplaceTemp �ȎPersonType%(pn%)� ��1: ��Vendor(pn%) ��2: ��Buyer(pn%) � ��CheckExtraPersonInfo(pn%) �� ��2:�AskAboutObject(pn%) ��3:�Console ��GetPersonCoords(pn%) �_S$="My name is "+PersonName$(pn%)+".":�Speak(PerX%,PerY%+280):�ContBox(-1,370):�ReplaceTemp �:Pq%=� �� � �Pq%=� ��Console ��GetPersonCoords(pn%) �)S$="Goodbye.":�Speak(PerX%,PerY%+280) � �Wait(50) ��ReplaceTemp �ș&00000006,112,vb% �ș&00000006,113,db% � �FreshAll �� ���AskAboutObject(pn%) � �AAOq% �AAOq%=� ��:ȗX%,y%,b%:�b%=0 �=�Console:S$="Please choose an object.":�Tile(-1,350,-1,2) �� � �Mouse ��ReplaceTemp �!Loc%=�ConLoc(MouseX%,MouseY%) �ȎLoc%� ��8,9,10,11 �+on%=�GetObjectNumberFromConsole(Loc%-7) ��on%<>999� � �GetInfoAboutObject(pn%,on%) �� �AAOq%=� �AAOq%=� �� � �AAOq% �� ���GetPersonCoords(pn%) �<PerX%=�GetXCoordFromGridLoc(PersonX%(pn%),PersonY%(pn%)) �<PerY%=�GetYCoordFromGridLoc(PersonX%(pn%),PersonY%(pn%)) � PerX%=160 � PerY%=300 �� ���GetPlayerCoords �'Psx%=�GetXCoordFromGridLoc(px%,py%) �'Psy%=�GetYCoordFromGridLoc(px%,py%) �� �#ݤGetXCoordFromGridLoc(gx%,gy%) �=600-(gy%*64)+(gx%*64) �#ݤGetYCoordFromGridLoc(gx%,gy%) �=752-(gy%*32)-(gx%*32) ���Object2(on%) �*on%=�GetObjectNumberFromConsole(on%+1) ��on%=999�� � Oq%=� �ș&00000006,112,db% �ș&00000006,113,db% �<�Op("Examine object","Give or Use object","Drop object") �� � �Mouse �!Loc%=�ConLoc(MouseX%,MouseY%) �ȎLoc%� �@�1:�Console:�ExamineObject(on%):�Op(CurOpa$,CurOpb$,CurOpc$) ��2:�UseObject(on%):Oq%=� ��3:�DropObject(on%):Oq%=� �:Oq%=� �� � �Oq%=� ��Console �ș&00000006,112,vb% � �FreshAll �� ���UseObject(on%) ��ObjectUsed% �ObjectUsed%=� � Ȏon%� ��2:�RoomNumber%=26�?(PRoom%+2)=1��GiveLookInfo("You give the sword to the guard."):�SetFlag(3):�TakeObject(2):ObjectUsed%=� �{�RoomNumber%=72�?(PRoom%+2)=1��GiveLookInfo("You give the sword to the King."):�SetFlag(3):�TakeObject(2):ObjectUsed%=� �x�5:�RoomNumber%=63�?(PRoom%+2)=1��GiveLookInfo("You give the toy sword to Thorkel."):�DiscardObject(5):ObjectUsed%=� ���10:�RoomNumber%=7�?(PRoom%+2)=1��GiveLookInfo("You give the iron bar to the smith."):�SetFlag(9):�TakeObject(10):ObjectUsed%=� �p�20:�RoomNumber%=4��GiveLookInfo("You give the string to Gisla."):�TakeObject(20):�SetFlag(25):ObjectUsed%=� ��RoomNumber%<>4� ���IsObjectHeld(19)��IsObjectHeld(20)��IsObjectHeld(21)��GiveLookInfo("You make a fishing rod."):�TakeObject(19):�TakeObject(20):�TakeObject(21):�GiveObject(27):ObjectUsed%=� �� �%�9:�RoomNumber%=35�?(PRoom%+2)=1� �L�GiveLookInfo("You unlock the door to the smith's store."):ObjectUsed%=� ��PutContentsBack(35,0,1,18) ��ChangeRoom(35) �� �"�RoomNumber%=37�?(PRoom%+2)=1� L�GiveLookInfo("You unlock the door to the smith's store."):ObjectUsed%=� �PutContents(Room2%,6,2,25) � ��12:�RoomNumber%=51�?(PRoom%+2)=1��GiveLookInfo("You give the hay to the sheep."):�SetFlag(13):�TakeObject(12):ObjectUsed%=� y�7:�RoomNumber%=41�?(PRoom%+2)=1��GiveLookInfo("You give the bowl to the locksmith."):�DiscardObject(7):ObjectUsed%=� ��16:�RoomNumber%=73�?(PRoom%+2)=1��GiveLookInfo("You give the books to the tanner."):�SetFlag(20):�TakeObject(16)ObjectUsed%=� ��19,21:�IsObjectHeld(19)��IsObjectHeld(20)��IsObjectHeld(21)��GiveLookInfo("You make a fishing rod."):�TakeObject(19):�TakeObject(20):�TakeObject(21):�GiveObject(27):ObjectUsed%=� '�27:�RoomNumber%=146�?(PRoom%+2)=1� 8�GiveLookInfo("You fish in the Ouse."):ObjectUsed%=� )rnd%=�(10):�NoofTimesFished%>5�rnd%=9 'NoofTimesFished%=NoofTimesFished%+1 $�IsObjectAvailable(25)�rnd%>=8� 9�GiveLookInfo("You catch some fish."):�GiveObject(25) Ug%=�GetContents2(61,2,3):�g%<>0��PutContents2(111,5,3,g%):�PutContents2(61,2,3,0) U�PutContents2(111,5,2,22+P2ObjectStart%):�PutContents2(111,5,1,23+P2ObjectStart%) NoofTimesFished%=0 � � t�25:�RoomNumber%=111�?(PRoom%+2)=1��GiveLookInfo("You try to give the fish to the market keeper."):ObjectUsed%=� !�RoomNumber%=4�?(PRoom%+2)=1� Z�GiveLookInfo("You give the fish to Edda."):�TakeObject(25):�SetFlag(27):ObjectUsed%=� Wg%=�GetContents2(111,5,3):�g%<>0��PutContents2(153,1,3,g%):�PutContents2(111,5,3,0) ,�PutContents2(153,2,3,24+P2ObjectStart%) 5�PutContents2(111,5,2,0):�PutContents2(111,5,1,0) U�PutContents2(153,1,2,22+P2ObjectStart%):�PutContents2(153,1,1,23+P2ObjectStart%) � � M�ObjectUsed%��GiveLookInfo("You can't use or give that to anyone here.") � ��DropObject(on%) �x%,y% x%=0:y%=0:?Px%=px%:?Py%=py% w%=?(RAdd%):l%=?(RAdd%+1) !)c%=�GetContents(Room2%,(?Px%)-1,?Py%) "(�c%=0�(?Px%)-1>0�x%=(?Px%)-1:y%=?Py% #)c%=�GetContents(Room2%,?Px%,(?Py%)-1) $(�c%=0�(?Py%)-1>0�x%=?Px%:y%=(?Py%)-1 %)c%=�GetContents(Room2%,(?Px%)+1,?Py%) &)�c%=0�(?Px%)+1<w%�x%=(?Px%)+1:y%=?Py% ')c%=�GetContents(Room2%,?Px%,(?Py%)+1) ()�c%=0�(?Py%)+1<l%�x%=?Px%:y%=(?Py%)+1 )��x%<>0�y%<>0��PutContents(Room2%,x%,y%,P2ObjectStart%+on%):?(PObjects2%+on%)=0:ș&00000006,112,vb%:�FreshAll:ș&00000006,112,db%:�SetObjectData(Room2%,x%,y%,on%) *� +%ݤGetObjectNumberFromConsole(on%) , �o%,c%,f% -o%=999:c%=0 .�f%=0�NoofP2Objects%-1 /'�?(PObjects2%+f%)=1�c%<>on%�c%=c%+1 0,�?(PObjects2%+f%)=1�c%=on%�o%=f%:c%=c%+1 1�f% 2=o% 3��PickupObject(on%) 4M�on%=28��GiveLookInfo("Sorry, you cannot pick up the sheep."):�FreshAll:� 5K�on%=29��GiveLookInfo("Sorry, you cannot pick up the pig."):�FreshAll:� 6Y�NumberOfObjectsHeld=4��GiveLookInfo("Sorry, you can't carry any more."):�FreshAll:� 70�PutContents(Room2%,ContentsX%,ContentsY%,0) 8?(PObjects2%+on%)=1 9!(PP2Data%+(on%*4))=0 :ș&00000006,112,vb% ; �FreshAll <ș&00000006,112,db% =� >��GiveObject(on%) ?ObjectNotGiven%=� @b�NumberOfObjectsHeld>=4��GiveLookInfo("Sorry, you can't carry any more."):ObjectNotGiven%=�:� A?(PObjects2%+on%)=1 B�Console C� DݤNumberOfObjectsHeld E�o% Fo%=0 G�f%=0�NoofP2Objects%-1 H�?(PObjects2%+f%)=1�o%=o%+1 I�f% J=o% K��TakeObject(on%) L?(PObjects2%+on%)=2 M �FreshAll N� O��DiscardObject(on%) P?(PObjects2%+on%)=0 Q �FreshAll R� SݤIsObjectAvailable(on%) T�?(PObjects2%+on%)=2�=��=� UݤIsObjectHeld(on%) V�?(PObjects2%+on%)=1�=��=� WݤIsObjectNull(on%) X�?(PObjects2%+on%)=0�=��=� Y��FreshAll Z�PlacePlay [�Console \�DisplayLoop ]�Console ^�DisplayLoop _�RemovePlay `� a��ExamineObject(on%) b(S$=P2ObDesc$(on%):�Tile(-1,450,-1,2) c�ContBox(-1,370) d�ReplaceTemp e� f��PrintObjects g�o% ho%=0 i�f%=0�NoofP2Objects%-1 jk�?(PObjects2%+f%)=1��PlotSpriteNamed(SprNm$(P2ObjectSprites%+f%)+"l",ObBoxX%(o%),ObBoxY%(o%),8):o%=o%+1 k�o%>4�f%=NoofP2Objects%-1 l�f% m� n!��GetInfoAboutObject(pn%,on%) o Ȏon%� p�8 q Ȏpn%� r�8 s.�GiveInfo(pn%,"It looks a bit of a mess.") tu�GiveInfo(pn%,"It is probably a barrel lock. That is a lock which is usually used for locking boxes and chests.") uJ�GiveInfo(pn%,"There should be a key with a flat, round end with it.") vu�GiveInfo(pn%,"I'm sorry, I don't know which metal it is made of. You could try asking the smith in Coppergate.") w�SetFlag(8) x�3 y�IsFlagSet(10)� z^�GiveInfo(pn%,"I am fairly certain that the lump of metal that you have is made of iron.") {� |�IsFlagSet(9)� }Z�GiveInfo(pn%,"Thank you for the iron. I think the metal that you have is also iron.") ~�SetFlag(10) � �:�GiveInfo(pn%,"I wonder if you could give me a hand.") �?�GiveInfo(pn%,"I have lost the key to my store next door.") �}�GiveInfo(pn%,"I'm sure that I put it down somewhere. If you find it, could you open my store and bring me an iron bar?") �� �� � � �(5)>=3� �6�GiveInfo(pn%,"You could try asking a locksmith.") �� �� �#:�GiveInfo(pn%,P2ObDesc$(on%)) �)�(5)>3��GiveInfo(pn%,P2ObNara$(on%)) �� �� ���GiveInfo(pn%,S$) ��GetPersonCoords(pn%) �9�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp �� � ��Look ��ContCount%>3�ContBox%�� �ȎRoomNumber%� �n�61:�IsObjectHere(26)��GiveLookInfo("You see a note here.")��GiveLookInfo("You are at the market place.") �1�146:�GiveLookInfo("You see the River Ouse.") �+�148:�GiveLookInfo("You see a bridge.") �D�22:�GiveLookInfo("Through the window you see someone working.") �@�GiveLookInfo("There is a sign here that reads 'Toymaker'.") �,�51:�GiveLookInfo("You see some sheep.") �+�63:�GiveLookInfo("You see some pigs.") �C�75:�GiveLookInfo("You see lots of wallhangings on the walls.") �3�7:�GiveLookInfo("You see a very hot furnace.") �A�3:�GiveLookInfo("There is a sign here that reads 'Potter'.") �H�21:�GiveLookInfo("There is a sign here that reads 'Wallhangings'.") �E�40:�GiveLookInfo("There is a sign here that reads 'Locksmith'.") �E�53:�GiveLookInfo("There is a sign here that reads 'Craftsman'.") �E�13:�GiveLookInfo("There is a sign here that reads 'Carpenter'.") �.�16:�GiveLookInfo("There is a sign here.") �a�GiveLookInfo("It says, 'You cannot go along here on this demo version. Try another route.'") �/�143:�GiveLookInfo("There is a sign here.") �a�GiveLookInfo("It says, 'You cannot go along here on this demo version. Try another route.'") �.�45:�GiveLookInfo("There is a sign here.") �a�GiveLookInfo("It says, 'You cannot go along here on this demo version. Try another route.'") �8:�GiveLookInfo("You see nothing of interest here.") �� �� ���GiveLookInfo(S$) ��l% �*�DoubleBuffer%�DoubBuff%=��DoubBuff%=� ��SingleScreen ��(S$)>=30�l%=30�l%=-1 ��Tile(-1,600,l%,2) ��ContBox(-1,350) ��ReplaceTemp ��DoubBuff%��DoubleBuffer �� ���SetFlag(fn%) �"!(PFlags%)=!(PFlags%)�(1<<fn%) �� ���ClearFlags �!(PFlags%)=0 �� �ݤIsFlagSet(fn%) �=(!(PFlags%)�(1<<fn%))>>fn% ���AnswerQuestions �ș&00000006,112,db% �ș&00000006,113,db% ��Clw �DontPrintObjects%=� ��Console �-�GetBackgroundPalette("Arc2"):�SetPalette ��Anim(144,-100,270,8,0,40) ��HasInfoBeenFound� �.S$="Are you ready to answer my questions?" �B�?PP2Ob%=7�?PP2Ob%=8�S$="Are you ready to answer my question?" ��Speak(300,600) ��Op("Yes","No","") �� � �Mouse �!Loc%=�ConLoc(MouseX%,MouseY%) ��Loc%=1�Loc%=2 ��ReplaceTemp �Y�Loc%=2�ș&00000006,112,vb%:�Clw:�GetBackgroundPalette("w21"):�SetPalette:�FreshAll:� �Ȏ?PP2Ob%� ��4: �-S$="What is this object?":�Speak(300,600) �>�OneQuestion("A barrel lock","A horse shoe","A tin can",1) �5S$="Correct. What is it made of?":�Speak(300,600) �+�OneQuestion("Silver","Brass","Iron",3) �jS$="Correct. I shall now take you back to the dig site.":�Speak(300,600):�ContBox(-1,350):�ReplaceTemp ؏S$="I am afraid you will have to leave behind anything that you collected on the expedition.":�Speak(300,600):�ContBox(-1,350):�ReplaceTemp �?(PUObjects%+3)=1 �GL2q%=�:!Score%=!Score%+2 �� �� �eS$="I am sorry but you have not found the information which you need to answer my questions yet." �1�Speak(300,600):�ContBox(-1,350):�ReplaceTemp �1�Clw:�GetBackgroundPalette("w21"):�SetPalette �DontPrintObjects%=� �!ș&00000006,112,vb%:�FreshAll �� �ș&00000006,112,vb% �1�Clw:�GetBackgroundPalette("w21"):�SetPalette �DontPrintObjects%=� �� ���OneQuestion(a$,b$,c$,c%) �� ��Op(a$,b$,c$) �� � �Mouse �!Loc%=�ConLoc(MouseX%,MouseY%) ��Loc%=1�Loc%=2�Loc%=3 ��ReplaceTemp �?�Loc%<>c%�S$="No, not that one. Try again.":�Speak(300,600) ��Loc%=c% �� �ݤYesNo ��a%,Loc% ��Op("Yes","No","") �� � �Mouse �!Loc%=�ConLoc(MouseX%,MouseY%) ��Loc%<3 ��Loc%=1�a%=��a%=� ��Console �=a% �ݤHasInfoBeenFound �Ȏ?PP2Ob%� �*�4:�IsFlagSet(8)��IsFlagSet(10)�=��=� �� =� ��Vendor(pn%) !Pq%=�:Loc1%=999:ItemBought%=0 �SingleScreen �GetPersonCoords(pn%) \�?(PObjects2%+PVOb1%(pn%))<>2�?(PObjects2%+PVOb2%(pn%))<>2�?(PObjects2%+PVOb3%(pn%))<>2� gS$="I'm sorry, I have nothing to sell today.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp � 0S$="Would you like to buy anything? I have " comma$="" H�?(PObjects2%+PVOb2%(pn%))<>2�?(PObjects2%+PVOb3%(pn%))<>2�comma$="" G�?(PObjects2%+PVOb2%(pn%))=2�?(PObjects2%+PVOb3%(pn%))<>2�comma$="" G�?(PObjects2%+PVOb2%(pn%))=2�?(PObjects2%+PVOb3%(pn%))=2�comma$="," D�?(PObjects2%+PVOb1%(pn%))=2�S$=S$+P2ObName$(PVOb1%(pn%))+comma$ L�?(PObjects2%+PVOb3%(pn%))<>2�and$=" and ":comma$=""�and$="":comma$=", " I�?(PObjects2%+PVOb2%(pn%))=2�S$=S$+and$+P2ObName$(PVOb2%(pn%))+comma$ E�?(PObjects2%+PVOb3%(pn%))=2�S$=S$+" and "+P2ObName$(PVOb3%(pn%)) S$=S$+" to sell." �Speak(PerX%,PerY%+280) �Op("Yes","No","") � �Mouse !Loc%=�ConLoc(MouseX%,MouseY%) �Console ȎLoc%� �1:�ReplaceTemp <S$="What would you like to buy?":�Speak(PerX%,PerY%+280) B�?(PObjects2%+PVOb1%(pn%))=2�V1$=P2ObName$(PVOb1%(pn%))�V1$="" B�?(PObjects2%+PVOb2%(pn%))=2�V2$=P2ObName$(PVOb2%(pn%))�V2$="" B�?(PObjects2%+PVOb3%(pn%))=2�V3$=P2ObName$(PVOb3%(pn%))�V3$="" �Op(V1$,V2$,V3$) � �Mouse !"Loc1%=�ConLoc(MouseX%,MouseY%) "ȎLoc1%� #(�1:�V1$<>""��DoVend(PVOb1%(pn%),pn%) $(�2:�V2$<>""��DoVend(PVOb2%(pn%),pn%) %(�3:�V3$<>""��DoVend(PVOb3%(pn%),pn%) &� ' �Loc1%<12 (�ReplaceTemp )R�Loc1%<4�S$="Thank you.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp *:�ReplaceTemp +� ,�Loc%<12 -� .�CheckExtraPersonInfo(pn%) /�pn%=22�ItemBought%=24� 0^�GiveInfo(pn%,"If you need to take the sand somewhere, a horse and cart would be useful.") 1:�GiveInfo(pn%,"You often see carts up at the market.") 2� 3�Console 4�GetPersonCoords(pn%) 5J�Loc1%>=4�S$="Goodbye.":�Speak(PerX%,PerY%+280):�Wait(50):�ReplaceTemp 6ș&00000006,112,vb% 7ș&00000006,113,db% 8 �FreshAll 9� :��Buyer(pn%) ;�SingleScreen <�GetPersonCoords(pn%) =LS$="Do you have anything that you want to sell?":�Speak(PerX%,PerY%+280) >�YesNo� ?�ReplaceTemp @BS$="Which object do you want to sell?":�Speak(PerX%,PerY%+280) A� B �Mouse C"Locb%=�ConLoc(MouseX%,MouseY%) DȎLocb%� E�8,9,10,11: F�ReplaceTemp G,on%=�GetObjectNumberFromConsole(Locb%-7) H�on%<>999��DoBuy(on%,pn%) I� J�Locb%>3 K� L�ReplaceTemp M�CheckExtraPersonInfo(pn%) N� OݤCheckVend PTradeOb%=0 Q�f%=1�NoofP2Objects% R#�?(PObjects2%+f%)=1�TradeOb%=f% S�f% T =TradeOb% U��DoVend(on%,pn%) V �Loc% W�ReplaceTemp XVendPrice%=P2ObPrice%(on%) Y-�VendPrice%=1�p$=" penny."�p$=" pennies." ZES$="That will cost you "+�(VendPrice%)+p$:�Speak(PerX%,PerY%+280) [9�Op("It's a deal","That's a bit much","No thank you") \� ] �Mouse ^!Loc%=�ConLoc(MouseX%,MouseY%) _ȎLoc%� `'�1:�PlaceVendOb(on%,VendPrice%,pn%) a�2: b�(5)>3�VendPrice%-1>0� c(VendPrice%=VendPrice%-1:�ReplaceTemp d-�VendPrice%=1�p$=" penny."�p$=" pennies." eNS$="Ok, I'll give it to you for "+�(VendPrice%)+p$:�Speak(PerX%,PerY%+280) f9�Op("It's a deal","That's a bit much","No thank you") g� h �Mouse i"Loc2%=�ConLoc(MouseX%,MouseY%) jȎLoc2%� k�1: l$�PlaceVendOb(on%,VendPrice%,pn%) m�2: n�(5)>3�VendPrice%-1>0� o(VendPrice%=VendPrice%-1:�ReplaceTemp p-�VendPrice%=1�p$=" penny."�p$=" pennies." qNS$="Ok, I'll give it to you for "+�(VendPrice%)+p$:�Speak(PerX%,PerY%+280) r9�Op("It's a deal","That's a bit much","No thank you") s� t �Mouse u"Loc3%=�ConLoc(MouseX%,MouseY%) vȎLoc3%� w�1: x$�PlaceVendOb(on%,VendPrice%,pn%) y�2: zj�ReplaceTemp:S$="I'm sorry I can't sell that for any less.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):� {F�3:�ReplaceTemp:S$="Ok":�Speak(PerX%,PerY%+280):�ContBox(-1,350):� |� }�Loc3%>3 ~� j�ReplaceTemp:S$="I'm sorry I can't sell that for any less.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):� �� �F�3:�ReplaceTemp:S$="Ok":�Speak(PerX%,PerY%+280):�ContBox(-1,350):� �� ��Loc2%<3 �� �j�ReplaceTemp:S$="I'm sorry I can't sell that for any less.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):� �� �F�3:�ReplaceTemp:S$="Ok":�Speak(PerX%,PerY%+280):�ContBox(-1,350):� �� ��Loc%<3 �� ���DoBuy(on%,pn%) ��Loc%,Loc1%,Loc2%,Loc3% � Ȏon%� �z�0,1,3,8,11,13,15,18:S$="I'm sorry, I don't want to buy that.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp:� �� �%VendPrice%=P2ObPrice%(on%)+�(2)-2 ��VendPrice%<1�VendPrice%=1 �-�VendPrice%=1�p$=" penny."�p$=" pennies." �MS$="I'll give you "+�(VendPrice%)+p$+" for that.":�Speak(PerX%,PerY%+280) �8�Op("It's a deal","That's not enough","No, goodbye") �� � �Mouse �"Loc1%=�ConLoc(MouseX%,MouseY%) �ȎLoc1%� �&�1:�PlaceBuyOb(on%,VendPrice%,pn%) ��2: ��(5)>3� �(VendPrice%=VendPrice%+1:�ReplaceTemp �-�VendPrice%=1�p$=" penny."�p$=" pennies." �OS$="Ok, I'll give you "+�(VendPrice%)+p$+" for it.":�Speak(PerX%,PerY%+280) �8�Op("It's a deal","That's not enough","No, goodbye") �� � �Mouse �"Loc2%=�ConLoc(MouseX%,MouseY%) �ȎLoc2%� ��1: �#�PlaceBuyOb(on%,VendPrice%,pn%) ��2: ��(5)>3� �(VendPrice%=VendPrice%+1:�ReplaceTemp �-�VendPrice%=1�p$=" penny."�p$=" pennies." �OS$="Ok, I'll give you "+�(VendPrice%)+p$+" for it.":�Speak(PerX%,PerY%+280) �8�Op("It's a deal","That's not enough","No, goodbye") �� � �Mouse �"Loc3%=�ConLoc(MouseX%,MouseY%) �ȎLoc3%� ��1: �#�PlaceBuyOb(on%,VendPrice%,pn%) ��2: �w�ReplaceTemp:S$="I'm sorry that's as much as I can afford.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp:� �S�3:�ReplaceTemp:S$="Ok":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp:� �� ��Loc3%>3 �� �p�ReplaceTemp:S$="I'm sorry that's all I can afford.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp:� �� �S�3:�ReplaceTemp:S$="Ok":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp:� �� ��Loc2%<3 �� �p�ReplaceTemp:S$="I'm sorry that's all I can afford.":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp:� �� �S�3:�ReplaceTemp:S$="Ok":�Speak(PerX%,PerY%+280):�ContBox(-1,350):�ReplaceTemp:� �� ��Loc1%<3 �� ���PlaceVendOb(on%,p%,pn%) ��ReplaceTemp �X�p%>!PMoney%��GiveInfo(pn%,"Sorry, you don't have enough money."):�ContBox(-1,350):� �b�on%=24��DropObject(on%):�SetFlag(30):�PlotSpriteNamed(SprNm$(pn%+PersonSprites%)+"z",0,260,0) ��on%<>24��GiveObject(on%) �!PMoney%=!PMoney%-p% �ItemBought%=on% � �pn%=7�?PP2Ob%=3��SetFlag(6) �� ���PlaceBuyOb(on%,p%,pn%) ��ReplaceTemp �,?(PObjects2%+on%)=2:!PMoney%=!PMoney%+p% ��ContBox(-1,350) �� ���PotteryEI ��Clw �3�Telex(0,0,"About Pottery in Viking Times.",39) ՚�Telex(0,3,"Many different kinds of pottery were found at the Coppergate site. There were signs that the Vikings made some use of old Roman pots.",39) ��Telex(0,10,"There were also a few pieces of foreign pottery but most of the pieces found were made fairly close to York. Some pots were brought from Ipswich, Lincoln and York itself.",39) ��ContBox(-1,350) �� ���Unknown4Link ��ScrClo �A�GetBackgroundPalette(SprNm$(ObjectStart%+(4*2))):�SetPalette �Iș&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(4*2))�,,,sw%,sh% �>�PlotSprite(ObjectStart%+(4*2),640-(sw%*2),1023-(sh%*4),0) �qS$="There is some information that I need to find out about this object.":�Tile(64,600,36,1):�ContBox(-1,100) �pS$="The 2 things that I need to know about this object are as follows :":�Tile(64,450,36,1):�ContBox(-1,100) �0S$="What is this object?":�Tile(20,300,17,1) �0S$="What is it made of?":�Tile(700,300,17,1) ��ClearPlayerBits �0�ContBox(-1,100):?PP2Ob%=4:?(PObjects2%+8)=1 �UnknownObjectNumber%=8 � �SetRoom1 � �Link1 �� ���SetRoom1 �)RoomNumber%=0:?PRoom%=0:?(PRoom%+2)=1 ��MakeRoomTable �Room%=RoomAdd%(0) �(Room2%=Room%+(?(Room%)*?(Room%+1))+2 �w%=?Room%:l%=?(Room%+1) ��MakeLinkTable �9px%=3:py%=4:ChangeRoom%=�:TempCode%=0:ChangingRoom%=� �� ���Link1 �� �-�GetBackgroundPalette("arc1"):�SetPalette �Iș&0000002E,40+512,SpriteArea%,SprAdd%(ObjectStart%+(1*2))�,,,sw%,sh% ��Anim(9,0,100,8,0,140) ��PlotSprite(1,1112,100,0) �iSpDir%=1:S$="I shall now reconstruct Viking times so that you can find the information which I need." �1�Speak(600,400):�ContBox(-1,100):�ReplaceTemp �uSpDir%=1:S$="Make good use of your journey to Viking times. There will be lots of people there who can help you." �1�Speak(600,400):�ContBox(-1,100):�ReplaceTemp �]SpDir%=1:S$="When you have found the answers I need, call me by pressing the 'Home' key." �1�Speak(600,400):�ContBox(-1,100):�ReplaceTemp �SpDir%=1:S$="Good Luck." �1�Speak(600,400):�ContBox(-1,100):�ReplaceTemp �StartFrom%=1:�ClearFlags �Part2 � ��ClearPlayerBits �PutObjects !PMoney%=0 �ClearFlags � ��ReAskQuestions � ��CheckExtraPersonInfo(pn%) �q1%,q2%,q3%,q4% q1%=�:q2%=�:q3%=�:q4%=� Ȏpn%� �0: �Op("Ask how he is","","") �Mouse !Loc%=�ConLoc(MouseX%,MouseY%) �Loc%=1� g�GiveInfo(pn%,"Oh, I'm not too bad. My joints are starting to ache now that winter is on its way.") � �Console �25 *�GiveInfo(pn%,"The edge of the demo.") � � ��SwapScreen Ȗ ș&00000006,112,db% ș&00000006,113,vb% "�vb%=1�vb%=2:db%=1�vb%=1:db%=2 � ��SingleScreen �DoubleBuffer%�� !ș&00000006,112,db% "ș&00000006,113,db% #DoubleBuffer%=� $� %��DoubleBuffer &�DoubleBuffer%�� 'ș&00000006,112,vb% (ș&00000006,113,db% )DoubleBuffer%=� *� +��SetDoorResponses , �f%,r% -� NoKnock$(NoofRooms%) . ��TuL /�NoofEntries% 0�f%=0�NoofEntries% 1�r% 2#�DoorResponse$(r%),NoKnock$(r%) 3�f% 4� 5�13 6�4,"Come in.","" 7�5,"","" 8�72,"Enter.","" 9�7,"Come in.","" :�31,"Come in.","" ; �33,"","" <�41,"Come in.","" =�75,"Come in.","" >�62,"Come in.","" ?�68,"Come in.","" @�80,"Come in.","" A�71,"Come in.","" B�155,"Come in.","" C�128,"Come in.","" D��CheckChrReaction(r%) E� F��PrintMoney G�x%,y%,b%,z%,c$,w% H>�DoubleBuffer%��SingleScreen:DoubleBBack%=��DoubleBBack%=� IM�!PMoney%>1�S$="You have "+�(!PMoney%)+" pennies."�S$="You have 1 penny." J'�!PMoney%=0�S$="You have no money." K"w%=�(S$)*16:cx%=620-w%:cy%=600 LGș&0000002E,16+256,SpriteArea%,"mon",0,cx%,cy%-68,cx%+(w%*2+40),cy% M�Tile(cx%,cy%,�(S$),1) N�:��(0)="" O�ContBox(-1,350) P5ș&0000002E,34+256,SpriteArea%,"mon",cx%,cy%-68,0 Q�DoubleBBack%��DoubleBuffer R� S��SummariseOldGame T� �
00000000 0d 00 00 2b f4 ff 41 44 46 53 3a 3a 41 43 5f 41 |...+..ADFS::AC_A| 00000010 56 33 44 65 6d 6f 2e 24 2e 21 41 56 33 44 65 6d |V3Demo.$.!AV3Dem| 00000020 6f 2e 21 52 75 6e 49 6d 61 67 65 0d 00 01 12 57 |o.!RunImage....W| 00000030 69 6d 70 4e 6f 74 4f 70 65 6e 25 3d b9 0d 00 02 |impNotOpen%=....| 00000040 0e 50 6f 6c 6c 69 6e 67 25 3d a3 0d 00 03 1a 53 |.Polling%=.....S| 00000050 70 72 69 74 65 50 6f 6f 6c 53 69 7a 65 25 3d 33 |pritePoolSize%=3| 00000060 33 30 30 30 30 0d 00 04 18 4e 75 6d 62 65 72 4f |30000....NumberO| 00000070 66 53 70 72 69 74 65 73 25 3d 31 35 30 0d 00 05 |fSprites%=150...| 00000080 11 46 73 67 69 4e 75 6d 62 65 72 25 3d 30 0d 00 |.FsgiNumber%=0..| 00000090 06 10 4d 61 70 53 70 72 69 74 65 25 3d 32 0d 00 |..MapSprite%=2..| 000000a0 07 12 4d 61 70 53 70 72 69 74 65 32 25 3d 31 32 |..MapSprite2%=12| 000000b0 0d 00 08 11 41 6e 69 6d 53 74 61 72 74 25 3d 32 |....AnimStart%=2| 000000c0 30 0d 00 09 0d 53 56 6f 6c 25 3d 2d 31 35 0d 00 |0....SVol%=-15..| 000000d0 0a 14 44 69 67 41 6e 69 6d 53 74 61 72 74 25 3d |..DigAnimStart%=| 000000e0 32 30 0d 00 0b 13 4f 62 6a 65 63 74 53 74 61 72 |20....ObjectStar| 000000f0 74 25 3d 33 30 0d 00 0c 15 4e 6f 6f 66 50 32 4f |t%=30....NoofP2O| 00000100 62 6a 65 63 74 73 25 3d 33 30 0d 00 0d 12 4e 6f |bjects%=30....No| 00000110 6f 66 50 65 6f 70 6c 65 25 3d 33 30 0d 00 0e 15 |ofPeople%=30....| 00000120 4e 6f 6f 66 4d 61 78 52 6f 6f 6d 73 25 3d 31 36 |NoofMaxRooms%=16| 00000130 30 0d 00 0f 12 4e 6f 6f 66 52 6f 6f 6d 73 25 3d |0....NoofRooms%=| 00000140 31 36 30 0d 00 10 12 46 69 6c 65 54 79 70 65 25 |160....FileType%| 00000150 3d 26 41 45 38 0d 00 11 17 50 6c 61 79 46 72 61 |=&AE8....PlayFra| 00000160 6d 65 73 53 74 61 72 74 25 3d 35 30 0d 00 12 15 |mesStart%=50....| 00000170 50 32 4f 62 6a 65 63 74 53 74 61 72 74 25 3d 36 |P2ObjectStart%=6| 00000180 30 0d 00 13 13 50 32 4f 62 6a 65 63 74 45 6e 64 |0....P2ObjectEnd| 00000190 25 3d 38 39 0d 00 14 13 50 65 72 73 6f 6e 53 74 |%=89....PersonSt| 000001a0 61 72 74 25 3d 39 30 0d 00 15 12 50 65 72 73 6f |art%=90....Perso| 000001b0 6e 45 6e 64 25 3d 31 31 39 0d 00 16 10 70 64 62 |nEnd%=119....pdb| 000001c0 73 25 3d 26 34 30 30 30 30 0d 00 17 09 f2 49 6e |s%=&40000.....In| 000001d0 69 74 0d 00 18 0c ee 85 f2 45 72 72 6f 72 0d 00 |it.......Error..| 000001e0 19 05 f5 0d 00 1a 09 f2 50 6f 6c 6c 0d 00 1b 06 |........Poll....| 000001f0 fd a3 0d 00 1c 0b dd f2 45 72 72 6f 72 0d 00 1d |........Error...| 00000200 14 e7 ac 50 6f 6c 6c 69 6e 67 25 80 9f 3d 39 39 |...Polling%..=99| 00000210 8c 0d 00 1e 17 50 6f 6c 6c 69 6e 67 25 3d b9 3a |.....Polling%=.:| 00000220 f2 44 65 73 6b 74 6f 70 0d 00 1f 05 cc 0d 00 20 |.Desktop....... | 00000230 0f e7 ac 50 6f 6c 6c 69 6e 67 25 8c 0d 00 21 74 |...Polling%...!t| 00000240 50 6f 6c 6c 69 6e 67 25 3d b9 3a 53 24 3d f6 24 |Polling%=.:S$=.$| 00000250 2b 22 20 2c 20 49 6e 74 65 72 6e 61 6c 20 63 6f |+" , Internal co| 00000260 64 65 20 22 2b c3 28 9e 29 3a f2 54 69 6c 65 28 |de "+.(.):.Tile(| 00000270 2d 31 2c 31 30 30 30 2c 33 39 2c 31 29 3a 53 24 |-1,1000,39,1):S$| 00000280 3d 22 50 72 65 73 73 20 61 6e 79 20 6b 65 79 22 |="Press any key"| 00000290 3a f2 54 69 6c 65 28 2d 31 2c 39 30 30 2c 2d 31 |:.Tile(-1,900,-1| 000002a0 2c 31 29 3a 4b 3d a5 3a f2 44 65 73 6b 74 6f 70 |,1):K=.:.Desktop| 000002b0 0d 00 22 09 cc f2 45 6e 64 0d 00 23 05 cd 0d 00 |.."...End..#....| 000002c0 24 05 cd 0d 00 25 05 e1 0d 00 26 09 dd f2 45 6e |$....%....&...En| 000002d0 64 0d 00 27 13 e7 57 69 6d 70 4e 6f 74 4f 70 65 |d..'..WimpNotOpe| 000002e0 6e 25 8c e0 0d 00 28 0f c8 99 26 30 30 30 34 30 |n%....(...&00040| 000002f0 30 44 44 0d 00 29 05 e0 0d 00 2a 05 e1 0d 00 2b |0DD..)....*....+| 00000300 0f dd f2 57 69 6d 70 43 6c 6f 73 65 0d 00 2c 13 |...WimpClose..,.| 00000310 e7 57 69 6d 70 4e 6f 74 4f 70 65 6e 25 8c e1 0d |.WimpNotOpen%...| 00000320 00 2d 0f c8 99 26 30 30 30 34 30 30 44 44 0d 00 |.-...&000400DD..| 00000330 2e 12 57 69 6d 70 4e 6f 74 4f 70 65 6e 25 3d b9 |..WimpNotOpen%=.| 00000340 0d 00 2f 10 87 3a 50 6f 6c 6c 69 6e 67 25 3d a3 |../..:Polling%=.| 00000350 0d 00 30 0d 2a 46 58 20 32 32 39 2c 31 0d 00 31 |..0.*FX 229,1..1| 00000360 05 e1 0d 00 32 0e dd f2 57 69 6d 70 4f 70 65 6e |....2...WimpOpen| 00000370 0d 00 33 0b 2a 46 58 20 32 32 39 0d 00 34 2f c8 |..3.*FX 229..4/.| 00000380 99 26 30 30 30 34 30 30 43 30 2c 32 30 30 2c 26 |.&000400C0,200,&| 00000390 34 42 35 33 34 31 35 34 2c 22 41 72 63 56 65 6e |4B534154,"ArcVen| 000003a0 74 75 72 65 22 b8 2c 54 68 25 0d 00 35 12 57 69 |ture".,Th%..5.Wi| 000003b0 6d 70 4e 6f 74 4f 70 65 6e 25 3d a3 0d 00 36 09 |mpNotOpen%=...6.| 000003c0 f2 49 63 6f 6e 0d 00 37 17 f2 47 65 74 57 69 6e |.Icon..7..GetWin| 000003d0 64 6f 77 54 65 6d 70 6c 61 74 65 73 0d 00 38 05 |dowTemplates..8.| 000003e0 e1 0d 00 39 0d dd f2 44 65 73 6b 74 6f 70 0d 00 |...9...Desktop..| 000003f0 3a 10 f2 44 69 73 63 61 72 64 54 65 6d 70 0d 00 |:..DiscardTemp..| 00000400 3b 0e f5 3a fd bf 28 30 29 3d 22 22 0d 00 3c 1a |;..:..(0)=""..<.| 00000410 c8 99 26 30 30 30 30 30 30 30 36 2c 31 35 2c 31 |..&00000006,15,1| 00000420 3a 2a 46 58 32 30 0d 00 3d 15 c8 99 26 30 30 30 |:*FX20..=...&000| 00000430 30 30 30 30 36 2c 31 31 34 2c 31 0d 00 3e 0d f2 |00006,114,1..>..| 00000440 57 69 6d 70 4f 70 65 6e 0d 00 3f 19 c8 99 26 30 |WimpOpen..?...&0| 00000450 30 30 34 30 30 45 33 2c 57 69 6d 70 4d 6f 64 65 |00400E3,WimpMode| 00000460 25 0d 00 40 08 71 25 3d a3 0d 00 41 05 e1 0d 00 |%..@.q%=...A....| 00000470 42 0d dd f2 52 65 73 74 61 72 74 0d 00 43 1f c8 |B...Restart..C..| 00000480 99 26 30 30 30 30 30 30 30 36 2c 31 33 35 b8 2c |.&00000006,135.,| 00000490 2c 57 69 6d 70 4d 6f 64 65 25 0d 00 44 09 f2 46 |,WimpMode%..D..F| 000004a0 61 64 65 0d 00 45 0e f2 57 69 6d 70 43 6c 6f 73 |ade..E..WimpClos| 000004b0 65 0d 00 46 15 c8 99 26 30 30 30 30 30 30 30 36 |e..F...&00000006| 000004c0 2c 31 31 34 2c 30 0d 00 47 11 eb 39 3a 87 3a 2a |,114,0..G..9:.:*| 000004d0 50 6f 69 6e 74 65 72 0d 00 48 12 f2 47 65 74 53 |Pointer..H..GetS| 000004e0 63 72 65 65 6e 56 61 72 73 0d 00 49 1f f2 44 6f |creenVars..I..Do| 000004f0 75 62 6c 65 42 75 66 66 65 72 3a f2 53 69 6e 67 |ubleBuffer:.Sing| 00000500 6c 65 53 63 72 65 65 6e 0d 00 4a 12 f2 4d 61 6b |leScreen..J..Mak| 00000510 65 4c 69 6e 6b 54 61 62 6c 65 0d 00 4b 0d f2 47 |eLinkTable..K..G| 00000520 61 6d 65 4c 6f 6f 70 0d 00 4c 05 e1 0d 00 4d 13 |ameLoop..L....M.| 00000530 dd f2 47 65 74 53 63 72 65 65 6e 56 61 72 73 0d |..GetScreenVars.| 00000540 00 4e 26 21 28 56 61 72 42 6c 6f 63 6b 25 29 3d |.N&!(VarBlock%)=| 00000550 31 34 38 3a 21 28 56 61 72 42 6c 6f 63 6b 25 2b |148:!(VarBlock%+| 00000560 38 29 3d 2d 31 0d 00 4f 23 c8 99 26 30 30 30 30 |8)=-1..O#..&0000| 00000570 30 30 33 31 2c 56 61 72 42 6c 6f 63 6b 25 2c 56 |0031,VarBlock%,V| 00000580 61 72 42 6c 6f 63 6b 25 0d 00 50 1b 42 61 6e 6b |arBlock%..P.Bank| 00000590 31 41 64 64 72 25 3d 21 28 56 61 72 42 6c 6f 63 |1Addr%=!(VarBloc| 000005a0 6b 25 29 0d 00 51 46 21 28 56 61 72 42 6c 6f 63 |k%)..QF!(VarBloc| 000005b0 6b 25 29 3d 31 34 39 3a 21 28 56 61 72 42 6c 6f |k%)=149:!(VarBlo| 000005c0 63 6b 25 2b 38 29 3d 2d 31 3a c8 99 26 30 30 30 |ck%+8)=-1:..&000| 000005d0 30 30 30 33 31 2c 56 61 72 42 6c 6f 63 6b 25 2c |00031,VarBlock%,| 000005e0 56 61 72 42 6c 6f 63 6b 25 0d 00 52 1b 42 61 6e |VarBlock%..R.Ban| 000005f0 6b 32 41 64 64 72 25 3d 21 28 56 61 72 42 6c 6f |k2Addr%=!(VarBlo| 00000600 63 6b 25 29 0d 00 53 05 e1 0d 00 54 11 dd f2 43 |ck%)..S....T...C| 00000610 6c 65 61 72 50 6c 61 79 65 72 0d 00 55 1e 21 44 |learPlayer..U.!D| 00000620 61 79 25 3d 30 3a 21 53 63 6f 72 65 25 3d 30 3a |ay%=0:!Score%=0:| 00000630 21 54 69 6d 65 25 3d 39 0d 00 56 2e e3 66 25 3d |!Time%=9..V..f%=| 00000640 30 b8 4e 6f 6f 66 4f 62 6a 65 63 74 73 25 3a 3f |0.NoofObjects%:?| 00000650 28 50 4f 62 6a 65 63 74 73 25 2b 66 25 29 3d 32 |(PObjects%+f%)=2| 00000660 35 35 3a ed 66 25 0d 00 57 1c 24 50 4e 61 6d 65 |55:.f%..W.$PName| 00000670 25 3d 22 44 65 6d 6f 22 3a 21 50 4f 62 4e 6f 25 |%="Demo":!PObNo%| 00000680 3d 30 0d 00 58 23 e3 66 25 3d 30 b8 33 31 3a 3f |=0..X#.f%=0.31:?| 00000690 28 50 4f 62 6a 65 63 74 73 32 25 2b 66 25 29 3d |(PObjects2%+f%)=| 000006a0 30 3a ed 66 25 0d 00 59 0b 21 44 61 79 25 3d 31 |0:.f%..Y.!Day%=1| 000006b0 0d 00 5a 0c e3 66 25 3d 30 b8 31 34 0d 00 5b 1a |..Z..f%=0.14..[.| 000006c0 24 28 50 4e 6f 74 65 73 25 2b 28 66 25 2a 31 39 |$(PNotes%+(f%*19| 000006d0 30 29 29 3d 22 22 0d 00 5c 07 ed 66 25 0d 00 5d |0))=""..\..f%..]| 000006e0 36 49 6e 74 72 6f 25 3d b9 3a 3f 50 55 6e 6b 6e |6Intro%=.:?PUnkn| 000006f0 6f 77 6e 25 3d 30 3a 21 50 46 6c 61 67 73 25 3d |own%=0:!PFlags%=| 00000700 30 3a 50 61 72 74 25 3d 31 3a 21 50 50 61 72 74 |0:Part%=1:!PPart| 00000710 25 3d 31 0d 00 5e 22 e3 66 25 3d 30 b8 35 3a 3f |%=1..^".f%=0.5:?| 00000720 28 50 55 4f 62 6a 65 63 74 73 25 2b 66 25 29 3d |(PUObjects%+f%)=| 00000730 30 3a ed 66 25 0d 00 5f 14 f2 43 6c 65 61 72 50 |0:.f%.._..ClearP| 00000740 6c 61 79 65 72 42 69 74 73 0d 00 60 05 e1 0d 00 |layerBits..`....| 00000750 61 0a dd f2 49 6e 69 74 0d 00 62 33 de 20 44 25 |a...Init..b3. D%| 00000760 20 31 30 30 3a c8 99 26 30 30 30 30 30 30 32 33 | 100:..&00000023| 00000770 2c 22 41 72 63 56 33 24 44 69 72 22 2c 44 25 2c |,"ArcV3$Dir",D%,| 00000780 31 30 30 2c 30 2c 30 b8 2c 2c 4e 0d 00 63 22 44 |100,0,0.,,N..c"D| 00000790 24 3d 22 22 3a e3 69 25 3d 30 b8 4e 2d 31 3a 44 |$="":.i%=0.N-1:D| 000007a0 24 2b 3d bd 28 44 25 3f 69 25 29 3a ed 0d 00 64 |$+=.(D%?i%):...d| 000007b0 10 46 72 6f 6d 4d 6f 76 69 65 25 3d a3 0d 00 65 |.FromMovie%=...e| 000007c0 12 de 20 49 63 6f 6e 54 65 78 74 25 20 31 30 0d |.. IconText% 10.| 000007d0 00 66 21 50 44 69 72 65 63 74 69 6f 6e 25 3d 31 |.f!PDirection%=1| 000007e0 3a 55 6e 6b 6e 6f 77 6e 46 6f 75 6e 64 25 3d a3 |:UnknownFound%=.| 000007f0 0d 00 67 f9 de 20 53 70 72 41 64 64 25 28 4e 75 |..g.. SprAdd%(Nu| 00000800 6d 62 65 72 4f 66 53 70 72 69 74 65 73 25 29 2c |mberOfSprites%),| 00000810 53 70 72 4e 6d 24 28 4e 75 6d 62 65 72 4f 66 53 |SprNm$(NumberOfS| 00000820 70 72 69 74 65 73 25 29 2c 20 42 6c 6f 63 6b 25 |prites%), Block%| 00000830 20 31 30 32 34 2c 20 4d 61 73 74 65 72 4d 65 6e | 1024, MasterMen| 00000840 75 25 20 32 35 36 2c 4e 65 77 47 61 6d 65 25 20 |u% 256,NewGame% | 00000850 32 35 36 2c 54 65 61 63 68 65 72 25 20 32 35 36 |256,Teacher% 256| 00000860 2c 20 50 61 6c 31 25 20 31 30 30 2c 20 50 61 6c |, Pal1% 100, Pal| 00000870 32 25 28 31 39 2c 33 29 2c 50 61 6c 33 25 28 31 |2%(19,3),Pal3%(1| 00000880 39 2c 33 29 2c 53 63 61 6c 65 46 61 63 74 6f 72 |9,3),ScaleFactor| 00000890 73 25 20 32 30 2c 20 54 65 6d 70 25 20 34 30 34 |s% 20, Temp% 404| 000008a0 38 2c 20 54 65 78 74 4c 69 6e 65 24 28 31 30 29 |8, TextLine$(10)| 000008b0 2c 20 44 69 67 5a 6f 6e 65 25 28 35 30 29 2c 20 |, DigZone%(50), | 000008c0 4f 62 44 69 67 24 28 32 2c 33 30 29 20 2c 20 50 |ObDig$(2,30) , P| 000008d0 72 69 6e 74 42 6c 6f 63 6b 25 20 31 30 30 2c 20 |rintBlock% 100, | 000008e0 50 62 6c 6b 25 20 31 30 30 0d 00 68 3d e7 46 72 |Pblk% 100..h=.Fr| 000008f0 6f 6d 4d 6f 76 69 65 25 3d a3 8c c8 99 26 30 30 |omMovie%=....&00| 00000900 30 34 30 30 43 30 2c 32 30 30 2c 26 34 42 35 33 |0400C0,200,&4B53| 00000910 34 31 35 34 2c 22 41 72 63 56 65 6e 74 75 72 65 |4154,"ArcVenture| 00000920 22 b8 2c 54 68 25 0d 00 69 44 57 69 6d 70 4e 6f |".,Th%..iDWimpNo| 00000930 74 4f 70 65 6e 25 3d a3 3a 50 61 72 74 25 3d 31 |tOpen%=.:Part%=1| 00000940 3a 44 69 73 6b 25 3d 31 3a 46 69 72 73 74 54 69 |:Disk%=1:FirstTi| 00000950 6d 65 25 3d b9 3a 53 74 72 61 69 67 68 74 49 6e |me%=.:StraightIn| 00000960 74 6f 50 61 72 74 32 25 3d a3 0d 00 6a 39 c8 a0 |toPart2%=...j9..| 00000970 34 3a d4 ee 3a 50 72 69 6e 74 65 72 4f 6e 25 3d |4:..:PrinterOn%=| 00000980 a3 3a 50 75 7a 7a 6c 65 53 6f 6c 76 65 64 53 68 |.:PuzzleSolvedSh| 00000990 6f 77 6e 25 3d a3 3a 44 61 74 61 53 61 76 65 64 |own%=.:DataSaved| 000009a0 25 3d b9 0d 00 6b 23 2a 43 48 41 4e 4e 45 4c 56 |%=...k#*CHANNELV| 000009b0 4f 49 43 45 20 32 20 50 65 72 63 75 73 73 69 6f |OICE 2 Percussio| 000009c0 6e 2d 53 6f 66 74 0d 00 6c 75 4e 6f 6f 66 57 69 |n-Soft..luNoofWi| 000009d0 6e 64 6f 77 73 25 3d 35 3a 41 73 6b 69 6e 67 51 |ndows%=5:AskingQ| 000009e0 75 65 73 74 69 6f 6e 73 25 3d a3 3a 54 69 6d 65 |uestions%=.:Time| 000009f0 72 25 3d 30 3a 53 74 61 72 74 46 72 6f 6d 25 3d |r%=0:StartFrom%=| 00000a00 31 3a 4e 6f 6f 66 54 69 6d 65 73 46 69 73 68 65 |1:NoofTimesFishe| 00000a10 64 25 3d 30 3a 41 6e 73 77 65 72 51 75 65 73 74 |d%=0:AnswerQuest| 00000a20 69 6f 6e 73 25 3d a3 3a 44 6f 6e 74 50 72 69 6e |ions%=.:DontPrin| 00000a30 74 4f 62 6a 65 63 74 73 25 3d a3 0d 00 6d 51 de |tObjects%=...mQ.| 00000a40 20 57 69 6e 64 6f 77 73 25 20 28 4e 6f 6f 66 57 | Windows% (NoofW| 00000a50 69 6e 64 6f 77 73 25 2a 32 30 34 38 29 2c 20 57 |indows%*2048), W| 00000a60 69 6e 5f 48 25 28 4e 6f 6f 66 57 69 6e 64 6f 77 |in_H%(NoofWindow| 00000a70 73 25 29 2c 20 57 69 6e 50 6f 69 6e 74 25 28 4e |s%), WinPoint%(N| 00000a80 6f 6f 66 57 69 6e 64 6f 77 73 25 29 0d 00 6e 25 |oofWindows%)..n%| 00000a90 e7 46 72 6f 6d 4d 6f 76 69 65 25 3d a3 8c f2 47 |.FromMovie%=...G| 00000aa0 65 74 57 69 6e 64 6f 77 54 65 6d 70 6c 61 74 65 |etWindowTemplate| 00000ab0 73 0d 00 6f 4d 44 6f 69 6e 67 4a 6f 75 72 6e 61 |s..oMDoingJourna| 00000ac0 6c 25 3d a3 3a 43 6f 6e 74 42 6f 78 25 3d a3 3a |l%=.:ContBox%=.:| 00000ad0 43 6f 6e 74 43 6f 75 6e 74 25 3d 30 3a 53 6f 6e |ContCount%=0:Son| 00000ae0 67 50 6c 61 79 69 6e 67 25 3d a3 3a 4c 6f 67 6f |gPlaying%=.:Logo| 00000af0 41 6e 69 6d 50 6c 61 79 69 6e 67 25 3d a3 0d 00 |AnimPlaying%=...| 00000b00 70 62 4e 6f 6f 66 4f 62 6a 65 63 74 73 25 3d 33 |pbNoofObjects%=3| 00000b10 30 3a 50 61 72 74 25 3d 31 3a 53 70 44 69 72 25 |0:Part%=1:SpDir%| 00000b20 3d 30 3a 4d 65 6e 75 43 68 61 6e 67 65 52 6f 6f |=0:MenuChangeRoo| 00000b30 6d 25 3d a3 3a 4f 6c 64 47 61 6d 65 25 3d a3 3a |m%=.:OldGame%=.:| 00000b40 54 65 6d 70 53 70 72 69 74 65 25 3d a3 3a 41 25 |TempSprite%=.:A%| 00000b50 3d 42 6c 6f 63 6b 25 3a 42 25 3d 54 65 6d 70 25 |=Block%:B%=Temp%| 00000b60 0d 00 71 69 de 20 52 6f 6f 6d 41 64 64 25 28 4e |..qi. RoomAdd%(N| 00000b70 6f 6f 66 4d 61 78 52 6f 6f 6d 73 25 29 2c 4f 62 |oofMaxRooms%),Ob| 00000b80 50 6f 6f 6c 25 28 34 29 2c 20 52 6f 6f 6d 4e 61 |Pool%(4), RoomNa| 00000b90 6d 65 24 28 4e 6f 6f 66 4d 61 78 52 6f 6f 6d 73 |me$(NoofMaxRooms| 00000ba0 25 29 2c 20 51 75 65 73 74 69 6f 6e 41 73 6b 65 |%), QuestionAske| 00000bb0 64 25 28 4e 6f 6f 66 4f 62 6a 65 63 74 73 25 29 |d%(NoofObjects%)| 00000bc0 2c 20 46 70 25 20 31 32 38 0d 00 72 89 de 20 4f |, Fp% 128..r.. O| 00000bd0 62 44 65 73 63 24 28 4e 6f 6f 66 4f 62 6a 65 63 |bDesc$(NoofObjec| 00000be0 74 73 25 29 2c 4f 62 4e 61 72 61 24 28 4e 6f 6f |ts%),ObNara$(Noo| 00000bf0 66 4f 62 6a 65 63 74 73 25 29 2c 20 4f 62 44 69 |fObjects%), ObDi| 00000c00 67 31 24 28 4e 6f 6f 66 4f 62 6a 65 63 74 73 25 |g1$(NoofObjects%| 00000c10 29 2c 4f 62 44 69 67 32 24 28 4e 6f 6f 66 4f 62 |),ObDig2$(NoofOb| 00000c20 6a 65 63 74 73 25 29 2c 4f 62 44 69 67 33 24 28 |jects%),ObDig3$(| 00000c30 4e 6f 6f 66 4f 62 6a 65 63 74 73 25 29 2c 4f 62 |NoofObjects%),Ob| 00000c40 54 6f 6c 25 28 4e 6f 6f 66 4f 62 6a 65 63 74 73 |Tol%(NoofObjects| 00000c50 25 29 0d 00 73 2a de 20 4f 62 4e 61 72 61 25 28 |%)..s*. ObNara%(| 00000c60 4e 6f 6f 66 4f 62 6a 65 63 74 73 25 29 2c 20 4f |NoofObjects%), O| 00000c70 62 54 65 78 74 25 20 31 30 32 34 30 0d 00 74 4b |bText% 10240..tK| 00000c80 de 20 73 63 61 6c 65 25 20 31 36 2c 63 74 72 61 |. scale% 16,ctra| 00000c90 6e 73 25 20 32 35 36 2c 70 61 6c 74 61 62 25 20 |ns% 256,paltab% | 00000ca0 36 34 20 2c 53 74 79 6c 65 25 20 31 36 2c 70 64 |64 ,Style% 16,pd| 00000cb0 62 62 75 66 66 25 20 32 35 36 2c 70 61 6c 63 6f |bbuff% 256,palco| 00000cc0 64 65 25 20 39 30 30 0d 00 75 23 2a 52 4d 4c 6f |de% 900..u#*RMLo| 00000cd0 61 64 20 3c 41 72 63 56 33 24 44 69 72 3e 2e 53 |ad <ArcV3$Dir>.S| 00000ce0 6f 75 6e 64 2e 44 6f 6f 72 31 0d 00 76 24 2a 52 |ound.Door1..v$*R| 00000cf0 4d 4c 6f 61 64 20 3c 41 72 63 56 33 24 44 69 72 |MLoad <ArcV3$Dir| 00000d00 3e 2e 53 6f 75 6e 64 2e 43 6c 69 63 6b 31 0d 00 |>.Sound.Click1..| 00000d10 77 24 2a 52 4d 4c 6f 61 64 20 3c 41 72 63 56 33 |w$*RMLoad <ArcV3| 00000d20 24 44 69 72 3e 2e 53 6f 75 6e 64 2e 4b 6e 6f 63 |$Dir>.Sound.Knoc| 00000d30 6b 31 0d 00 78 25 f2 53 65 74 75 70 53 70 72 69 |k1..x%.SetupSpri| 00000d40 74 65 50 6f 6f 6c 28 53 70 72 69 74 65 50 6f 6f |tePool(SpritePoo| 00000d50 6c 53 69 7a 65 25 29 0d 00 79 2a f2 4c 6f 61 64 |lSize%)..y*.Load| 00000d60 53 70 72 69 74 65 46 69 6c 65 28 22 3c 41 72 63 |SpriteFile("<Arc| 00000d70 56 33 24 44 69 72 3e 2e 53 70 72 69 74 65 73 22 |V3$Dir>.Sprites"| 00000d80 29 0d 00 7a 09 f2 49 63 6f 6e 0d 00 7b 1d 4c 65 |)..z..Icon..{.Le| 00000d90 6e 67 74 68 4f 66 50 6c 61 79 65 72 42 6c 6f 63 |ngthOfPlayerBloc| 00000da0 6b 25 3d 33 30 37 32 0d 00 7c 22 de 20 50 6c 61 |k%=3072..|". Pla| 00000db0 79 65 72 25 20 4c 65 6e 67 74 68 4f 66 50 6c 61 |yer% LengthOfPla| 00000dc0 79 65 72 42 6c 6f 63 6b 25 0d 00 7d 39 50 4e 61 |yerBlock%..}9PNa| 00000dd0 6d 65 25 3d 50 6c 61 79 65 72 25 2b 34 3a 47 65 |me%=Player%+4:Ge| 00000de0 6e 64 65 72 25 3d 50 6c 61 79 65 72 25 2b 34 30 |nder%=Player%+40| 00000df0 3a 50 50 61 72 74 25 3d 50 6c 61 79 65 72 25 2b |:PPart%=Player%+| 00000e00 34 34 0d 00 7e 36 44 61 79 25 3d 50 6c 61 79 65 |44..~6Day%=Playe| 00000e10 72 25 2b 37 32 3a 54 69 6d 65 25 3d 50 6c 61 79 |r%+72:Time%=Play| 00000e20 65 72 25 2b 37 36 3a 53 63 6f 72 65 25 3d 50 6c |er%+76:Score%=Pl| 00000e30 61 79 65 72 25 2b 38 30 0d 00 7f 33 50 52 6f 6f |ayer%+80...3PRoo| 00000e40 6d 25 3d 50 6c 61 79 65 72 25 2b 38 34 3a 50 78 |m%=Player%+84:Px| 00000e50 25 3d 50 6c 61 79 65 72 25 2b 38 38 3a 50 79 25 |%=Player%+88:Py%| 00000e60 3d 50 6c 61 79 65 72 25 2b 39 32 0d 00 80 81 50 |=Player%+92....P| 00000e70 4f 62 6a 65 63 74 73 25 3d 50 6c 61 79 65 72 25 |Objects%=Player%| 00000e80 2b 39 36 3a 50 4d 6f 6e 65 79 25 3d 50 6c 61 79 |+96:PMoney%=Play| 00000e90 65 72 25 2b 31 32 38 3a 50 44 6f 6f 72 73 25 3d |er%+128:PDoors%=| 00000ea0 50 6c 61 79 65 72 25 2b 31 33 32 3a 50 55 4f 62 |Player%+132:PUOb| 00000eb0 6a 65 63 74 73 25 3d 50 6c 61 79 65 72 25 2b 31 |jects%=Player%+1| 00000ec0 34 38 3a 50 55 6e 6b 6e 6f 77 6e 25 3d 50 6c 61 |48:PUnknown%=Pla| 00000ed0 79 65 72 25 2b 31 35 36 3a 50 46 6c 61 67 73 25 |yer%+156:PFlags%| 00000ee0 3d 50 6c 61 79 65 72 25 2b 31 36 30 0d 00 81 18 |=Player%+160....| 00000ef0 54 65 61 63 68 65 72 25 3d 50 6c 61 79 65 72 25 |Teacher%=Player%| 00000f00 2b 31 36 34 0d 00 82 16 50 4f 62 4e 6f 25 3d 50 |+164....PObNo%=P| 00000f10 6c 61 79 65 72 25 2b 31 36 38 0d 00 83 16 50 50 |layer%+168....PP| 00000f20 32 4f 62 25 3d 50 6c 61 79 65 72 25 2b 31 37 32 |2Ob%=Player%+172| 00000f30 0d 00 84 1a 50 4f 62 6a 65 63 74 73 32 25 3d 50 |....PObjects2%=P| 00000f40 6c 61 79 65 72 25 2b 31 38 30 0d 00 85 17 50 4e |layer%+180....PN| 00000f50 6f 74 65 73 25 3d 50 6c 61 79 65 72 25 2b 32 31 |otes%=Player%+21| 00000f60 32 0d 00 86 19 50 50 32 44 61 74 61 25 3d 50 6c |2....PP2Data%=Pl| 00000f70 61 79 65 72 25 2b 32 38 38 30 0d 00 87 26 21 44 |ayer%+2880...&!D| 00000f80 61 79 25 3d 30 3a 21 53 63 6f 72 65 25 3d 30 3a |ay%=0:!Score%=0:| 00000f90 21 54 69 6d 65 25 3d 39 3a 50 61 72 74 25 3d 31 |!Time%=9:Part%=1| 00000fa0 0d 00 88 2e e3 66 25 3d 30 b8 4e 6f 6f 66 4f 62 |.....f%=0.NoofOb| 00000fb0 6a 65 63 74 73 25 3a 3f 28 50 4f 62 6a 65 63 74 |jects%:?(PObject| 00000fc0 73 25 2b 66 25 29 3d 32 35 35 3a ed 66 25 0d 00 |s%+f%)=255:.f%..| 00000fd0 89 18 24 50 4e 61 6d 65 25 3d 22 22 3a 21 50 4f |..$PName%="":!PO| 00000fe0 62 4e 6f 25 3d 30 0d 00 8a 23 e3 66 25 3d 30 b8 |bNo%=0...#.f%=0.| 00000ff0 33 31 3a 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b |31:?(PObjects2%+| 00001000 66 25 29 3d 30 3a ed 66 25 0d 00 8b 27 e3 66 25 |f%)=0:.f%...'.f%| 00001010 3d 50 50 32 4f 62 25 b8 50 50 32 44 61 74 61 25 |=PP2Ob%.PP2Data%| 00001020 2b 31 32 38 88 34 3a 21 66 25 3d 30 3a ed 66 25 |+128.4:!f%=0:.f%| 00001030 0d 00 8c 2b 21 44 61 79 25 3d 31 3a 43 65 72 74 |...+!Day%=1:Cert| 00001040 53 68 6f 77 6e 25 3d a3 3a 44 6f 69 6e 67 4f 62 |Shown%=.:DoingOb| 00001050 6a 65 63 74 49 6e 66 6f 25 3d a3 0d 00 8d 0c e3 |jectInfo%=......| 00001060 66 25 3d 30 b8 31 34 0d 00 8e 1a 24 28 50 4e 6f |f%=0.14....$(PNo| 00001070 74 65 73 25 2b 28 66 25 2a 31 39 30 29 29 3d 22 |tes%+(f%*190))="| 00001080 22 0d 00 8f 07 ed 66 25 0d 00 90 34 49 6e 74 72 |".....f%...4Intr| 00001090 6f 25 3d b9 3a 3f 50 55 6e 6b 6e 6f 77 6e 25 3d |o%=.:?PUnknown%=| 000010a0 30 3a 21 50 46 6c 61 67 73 25 3d 30 3a 44 6f 75 |0:!PFlags%=0:Dou| 000010b0 62 6c 65 42 75 66 66 65 72 25 3d a3 0d 00 91 22 |bleBuffer%=...."| 000010c0 e3 66 25 3d 30 b8 37 3a 3f 28 50 55 4f 62 6a 65 |.f%=0.7:?(PUObje| 000010d0 63 74 73 25 2b 66 25 29 3d 30 3a ed 66 25 0d 00 |cts%+f%)=0:.f%..| 000010e0 92 0a f2 49 6e 69 74 32 0d 00 93 22 53 6f 6e 67 |...Init2..."Song| 000010f0 42 75 66 66 65 72 25 3d 53 70 72 69 74 65 41 72 |Buffer%=SpriteAr| 00001100 65 61 25 2b 32 38 30 30 30 30 0d 00 94 22 44 72 |ea%+280000..."Dr| 00001110 61 77 42 75 66 66 65 72 25 3d 53 70 72 69 74 65 |awBuffer%=Sprite| 00001120 41 72 65 61 25 2b 33 30 30 30 30 30 0d 00 95 08 |Area%+300000....| 00001130 71 25 3d a3 0d 00 96 05 e1 0d 00 97 11 dd f2 4d |q%=............M| 00001140 61 69 6e 50 72 6f 67 72 61 6d 0d 00 98 0d f2 42 |ainProgram.....B| 00001150 6c 61 63 6b 4f 75 74 0d 00 99 1c e7 46 72 6f 6d |lackOut.....From| 00001160 4d 6f 76 69 65 25 3d a3 8c f2 57 69 6d 70 43 6c |Movie%=...WimpCl| 00001170 6f 73 65 0d 00 9a 26 44 69 73 6b 25 3d 32 3a 46 |ose...&Disk%=2:F| 00001180 67 73 69 4e 75 6d 62 65 72 25 3d 30 3a 44 61 74 |gsiNumber%=0:Dat| 00001190 61 53 61 76 65 64 25 3d b9 0d 00 9b 08 eb 39 3a |aSaved%=......9:| 000011a0 87 0d 00 9c 0c f1 8a 37 2c 31 30 29 3b 0d 00 9d |.......7,10);...| 000011b0 2d f2 47 65 74 42 61 63 6b 67 72 6f 75 6e 64 50 |-.GetBackgroundP| 000011c0 61 6c 65 74 74 65 28 22 61 72 63 31 22 29 3a f2 |alette("arc1"):.| 000011d0 53 65 74 50 61 6c 65 74 74 65 0d 00 9e 10 46 69 |SetPalette....Fi| 000011e0 72 73 74 54 69 6d 65 25 3d a3 0d 00 9f 0c 2a 50 |rstTime%=.....*P| 000011f0 4f 49 4e 54 45 52 0d 00 a0 11 f2 44 6f 75 62 6c |OINTER.....Doubl| 00001200 65 42 75 66 66 65 72 0d 00 a1 12 f2 47 65 74 53 |eBuffer.....GetS| 00001210 63 72 65 65 6e 56 61 72 73 0d 00 a2 11 f2 53 69 |creenVars.....Si| 00001220 6e 67 6c 65 53 63 72 65 65 6e 0d 00 a3 0d f2 53 |ngleScreen.....S| 00001230 63 72 43 6c 6f 3a 87 0d 00 a4 13 f2 4c 6f 61 64 |crClo:......Load| 00001240 4f 62 6a 65 63 74 54 65 78 74 0d 00 a5 11 f2 4c |ObjectText.....L| 00001250 6f 61 64 52 6f 6f 6d 54 65 78 74 0d 00 a6 0b f2 |oadRoomText.....| 00001260 53 63 72 43 6c 6f 0d 00 a7 0d f2 4d 61 6b 65 52 |ScrClo.....MakeR| 00001270 6f 6f 6d 0d 00 a8 15 f2 4c 6f 61 64 50 32 4f 62 |oom.....LoadP2Ob| 00001280 6a 65 63 74 54 65 78 74 0d 00 a9 0b f2 53 63 72 |jectText.....Scr| 00001290 43 6c 6f 0d 00 aa 13 f2 4c 6f 61 64 50 65 6f 70 |Clo.....LoadPeop| 000012a0 6c 65 54 65 78 74 0d 00 ab 0f f2 50 75 74 4f 62 |leText.....PutOb| 000012b0 6a 65 63 74 73 0d 00 ac 0e f2 47 65 74 50 6c 61 |jects.....GetPla| 000012c0 79 65 72 0d 00 ad 14 f2 4d 61 6b 65 53 70 72 69 |yer.....MakeSpri| 000012d0 74 65 54 61 62 6c 65 0d 00 ae 0f f2 43 6c 65 61 |teTable.....Clea| 000012e0 72 49 63 6f 6e 73 0d 00 af 0d f2 47 61 6d 65 4c |rIcons.....GameL| 000012f0 6f 6f 70 0d 00 b0 05 e1 0d 00 b1 10 dd f2 43 6c |oop...........Cl| 00001300 65 61 72 49 63 6f 6e 73 0d 00 b2 05 e1 0d 00 b3 |earIcons........| 00001310 0b dd f2 49 6e 74 72 6f 0d 00 b4 0b f2 53 63 72 |...Intro.....Scr| 00001320 43 6c 6f 0d 00 b5 2d f2 47 65 74 42 61 63 6b 67 |Clo...-.GetBackg| 00001330 72 6f 75 6e 64 50 61 6c 65 74 74 65 28 22 41 72 |roundPalette("Ar| 00001340 63 31 22 29 3a f2 53 65 74 50 61 6c 65 74 74 65 |c1"):.SetPalette| 00001350 0d 00 b6 1c f2 41 6e 69 6d 28 39 2c 2d 31 30 30 |.....Anim(9,-100| 00001360 2c 31 30 30 2c 38 2c 32 2c 33 30 29 0d 00 b7 11 |,100,8,2,30)....| 00001370 e7 ac 46 72 6f 6d 49 6e 73 74 72 25 8c 0d 00 b8 |..FromInstr%....| 00001380 47 53 24 3d 22 48 65 6c 6c 6f 2c 20 49 27 6d 20 |GS$="Hello, I'm | 00001390 41 52 43 31 2e 22 3a f2 53 70 65 61 6b 28 33 30 |ARC1.":.Speak(30| 000013a0 30 2c 34 30 30 29 3a f2 43 6f 6e 74 42 6f 78 28 |0,400):.ContBox(| 000013b0 2d 31 2c 31 30 30 29 3a f2 52 65 70 6c 61 63 65 |-1,100):.Replace| 000013c0 54 65 6d 70 0d 00 b9 05 cd 0d 00 ba 75 53 24 3d |Temp........uS$=| 000013d0 22 49 20 73 68 61 6c 6c 20 62 65 20 68 65 6c 70 |"I shall be help| 000013e0 69 6e 67 20 79 6f 75 20 74 6f 20 66 69 6e 64 20 |ing you to find | 000013f0 79 6f 75 72 20 77 61 79 20 61 72 6f 75 6e 64 20 |your way around | 00001400 74 68 65 20 56 69 6b 69 6e 67 20 64 69 67 2e 22 |the Viking dig."| 00001410 3a f2 53 70 65 61 6b 28 33 30 30 2c 34 30 30 29 |:.Speak(300,400)| 00001420 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 31 30 30 |:.ContBox(-1,100| 00001430 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 00 |):.ReplaceTemp..| 00001440 bb 33 f2 50 72 69 6e 74 44 72 61 77 46 69 6c 65 |.3.PrintDrawFile| 00001450 28 22 3c 41 72 63 56 33 24 44 69 72 3e 2e 44 72 |("<ArcV3$Dir>.Dr| 00001460 61 77 46 69 6c 65 73 2e 42 72 69 74 61 69 6e 22 |awFiles.Britain"| 00001470 29 0d 00 bc 17 e6 30 2c a4 47 63 6f 6c 28 26 30 |).....0,.Gcol(&0| 00001480 30 30 30 30 30 30 30 29 0d 00 bd 7a ef 35 3a ec |0000000)...z.5:.| 00001490 39 35 30 2c 35 30 30 3a f1 22 45 22 3b 3a ec 42 |950,500:."E";:.B| 000014a0 59 2d 31 36 2c 2d 34 30 3a f1 22 4e 22 3b 3a ec |Y-16,-40:."N";:.| 000014b0 42 59 2d 31 36 2c 2d 34 30 3a f1 22 47 22 3b 3a |BY-16,-40:."G";:| 000014c0 ec 42 59 2d 31 36 2c 2d 34 30 3a f1 22 4c 22 3b |.BY-16,-40:."L";| 000014d0 3a ec 42 59 2d 31 36 2c 2d 34 30 3a f1 22 41 22 |:.BY-16,-40:."A"| 000014e0 3b 3a ec 42 59 2d 31 36 2c 2d 34 30 3a f1 22 4e |;:.BY-16,-40:."N| 000014f0 22 3b 3a ec 42 59 2d 31 36 2c 2d 34 30 3a f1 22 |";:.BY-16,-40:."| 00001500 44 22 0d 00 be 17 e6 30 2c a4 47 63 6f 6c 28 26 |D".....0,.Gcol(&| 00001510 46 46 46 46 46 46 30 30 29 0d 00 bf 77 ec 39 34 |FFFFFF00)...w.94| 00001520 36 2c 35 30 34 3a f1 22 45 22 3b 3a ec 42 59 2d |6,504:."E";:.BY-| 00001530 31 36 2c 2d 34 30 3a f1 22 4e 22 3b 3a ec 42 59 |16,-40:."N";:.BY| 00001540 2d 31 36 2c 2d 34 30 3a f1 22 47 22 3b 3a ec 42 |-16,-40:."G";:.B| 00001550 59 2d 31 36 2c 2d 34 30 3a f1 22 4c 22 3b 3a ec |Y-16,-40:."L";:.| 00001560 42 59 2d 31 36 2c 2d 34 30 3a f1 22 41 22 3b 3a |BY-16,-40:."A";:| 00001570 ec 42 59 2d 31 36 2c 2d 34 30 3a f1 22 4e 22 3b |.BY-16,-40:."N";| 00001580 3a ec 42 59 2d 31 36 2c 2d 34 30 3a f1 22 44 22 |:.BY-16,-40:."D"| 00001590 0d 00 c0 4f e6 30 2c a4 47 63 6f 6c 28 26 30 30 |...O.0,.Gcol(&00| 000015a0 30 30 30 30 30 30 29 3a ec 37 38 30 2c 32 37 30 |000000):.780,270| 000015b0 3a f1 22 57 41 4c 45 53 22 3a e6 30 2c a4 47 63 |:."WALES":.0,.Gc| 000015c0 6f 6c 28 26 46 46 46 46 46 46 30 30 29 3a ec 37 |ol(&FFFFFF00):.7| 000015d0 37 36 2c 32 37 34 3a f1 22 57 41 4c 45 53 22 0d |76,274:."WALES".| 000015e0 00 c1 55 e6 30 2c a4 47 63 6f 6c 28 26 30 30 30 |..U.0,.Gcol(&000| 000015f0 30 30 30 30 30 29 3a ec 37 35 30 2c 37 30 30 3a |00000):.750,700:| 00001600 f1 22 53 43 4f 54 4c 41 4e 44 22 3a e6 30 2c a4 |."SCOTLAND":.0,.| 00001610 47 63 6f 6c 28 26 46 46 46 46 46 46 30 30 29 3a |Gcol(&FFFFFF00):| 00001620 ec 37 34 36 2c 37 30 34 3a f1 22 53 43 4f 54 4c |.746,704:."SCOTL| 00001630 41 4e 44 22 0d 00 c2 41 e6 30 2c a4 47 63 6f 6c |AND"...A.0,.Gcol| 00001640 28 26 46 46 46 46 46 46 30 30 29 3a ec 39 39 30 |(&FFFFFF00):.990| 00001650 2c 32 30 30 3a f1 22 4c 6f 6e 64 6f 6e 22 3a ec |,200:."London":.| 00001660 31 30 36 30 2c 34 35 30 3a f1 22 59 6f 72 6b 22 |1060,450:."York"| 00001670 3a ef 34 3a 87 0d 00 c3 79 53 24 3d 22 48 65 72 |:.4:....yS$="Her| 00001680 65 20 69 73 20 61 20 6d 61 70 20 6f 66 20 42 72 |e is a map of Br| 00001690 69 74 61 69 6e 2e 20 54 68 65 72 65 20 61 72 65 |itain. There are| 000016a0 20 73 6f 6d 65 20 70 6c 61 63 65 73 20 74 68 61 | some places tha| 000016b0 74 20 79 6f 75 20 6d 61 79 20 6b 6e 6f 77 2e 22 |t you may know."| 000016c0 3a f2 53 70 65 61 6b 28 33 30 30 2c 34 30 30 29 |:.Speak(300,400)| 000016d0 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 31 30 30 |:.ContBox(-1,100| 000016e0 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 00 |):.ReplaceTemp..| 000016f0 c4 63 53 24 3d 22 54 68 65 20 70 6c 61 63 65 20 |.cS$="The place | 00001700 74 68 61 74 20 77 65 20 61 72 65 20 69 6e 74 65 |that we are inte| 00001710 72 65 73 74 65 64 20 69 6e 20 69 73 20 59 6f 72 |rested in is Yor| 00001720 6b 2e 22 3a f2 53 70 65 61 6b 28 33 30 30 2c 34 |k.":.Speak(300,4| 00001730 30 30 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c |00):.ContBox(-1,| 00001740 31 30 30 29 3a f2 52 65 70 6c 61 63 65 54 65 6d |100):.ReplaceTem| 00001750 70 0d 00 c5 31 f2 50 72 69 6e 74 44 72 61 77 46 |p...1.PrintDrawF| 00001760 69 6c 65 28 22 3c 41 72 63 56 33 24 44 69 72 3e |ile("<ArcV3$Dir>| 00001770 2e 44 72 61 77 46 69 6c 65 73 2e 59 6f 72 6b 31 |.DrawFiles.York1| 00001780 22 29 0d 00 c6 17 e6 30 2c a4 47 63 6f 6c 28 26 |").....0,.Gcol(&| 00001790 30 30 30 30 30 30 30 30 29 0d 00 c7 3b ef 35 3a |00000000)...;.5:| 000017a0 ec 31 30 30 2c 38 30 30 3a f1 22 59 6f 72 6b 22 |.100,800:."York"| 000017b0 3a e6 30 2c a4 47 63 6f 6c 28 26 46 46 46 46 46 |:.0,.Gcol(&FFFFF| 000017c0 46 30 30 29 3a ec 39 36 2c 38 30 34 3a f1 22 59 |F00):.96,804:."Y| 000017d0 6f 72 6b 22 0d 00 c8 52 e6 30 2c a4 47 63 6f 6c |ork"...R.0,.Gcol| 000017e0 28 26 30 30 30 30 30 30 30 30 29 3a ec 34 30 2c |(&00000000):.40,| 000017f0 36 38 30 3a f1 22 4c 65 65 64 73 22 3a e6 30 2c |680:."Leeds":.0,| 00001800 a4 47 63 6f 6c 28 26 46 46 46 46 46 46 30 30 29 |.Gcol(&FFFFFF00)| 00001810 3a ec 33 36 2c 36 38 34 3a f1 22 4c 65 65 64 73 |:.36,684:."Leeds| 00001820 22 3a ef 34 3a 87 0d 00 c9 71 53 24 3d 22 49 6e |":.4:....qS$="In| 00001830 20 74 68 65 20 74 65 6e 74 68 20 63 65 6e 74 75 | the tenth centu| 00001840 72 79 20 41 2e 44 2e 20 59 6f 72 6b 20 77 61 73 |ry A.D. York was| 00001850 20 61 20 76 65 72 79 20 62 69 67 20 56 69 6b 69 | a very big Viki| 00001860 6e 67 20 74 6f 77 6e 2e 22 3a f2 53 70 65 61 6b |ng town.":.Speak| 00001870 28 33 30 30 2c 34 30 30 29 3a f2 43 6f 6e 74 42 |(300,400):.ContB| 00001880 6f 78 28 2d 31 2c 31 30 30 29 3a f2 52 65 70 6c |ox(-1,100):.Repl| 00001890 61 63 65 54 65 6d 70 0d 00 ca 76 53 24 3d 22 57 |aceTemp...vS$="W| 000018a0 65 20 73 68 61 6c 6c 20 6e 6f 77 20 74 61 6b 65 |e shall now take| 000018b0 20 61 20 63 6c 6f 73 65 72 20 6c 6f 6f 6b 20 61 | a closer look a| 000018c0 74 20 74 68 65 20 43 6f 70 70 65 72 67 61 74 65 |t the Coppergate| 000018d0 20 70 61 72 74 20 6f 66 20 59 6f 72 6b 2e 22 3a | part of York.":| 000018e0 f2 53 70 65 61 6b 28 33 30 30 2c 34 30 30 29 3a |.Speak(300,400):| 000018f0 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 31 30 30 29 |.ContBox(-1,100)| 00001900 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 00 cb |:.ReplaceTemp...| 00001910 0b f2 53 63 72 43 6c 6f 0d 00 cc 34 f2 50 72 69 |..ScrClo...4.Pri| 00001920 6e 74 44 72 61 77 46 69 6c 65 28 22 3c 41 72 63 |ntDrawFile("<Arc| 00001930 56 33 24 44 69 72 3e 2e 44 72 61 77 46 69 6c 65 |V3$Dir>.DrawFile| 00001940 73 2e 44 69 67 73 69 74 65 31 22 29 0d 00 cd 14 |s.Digsite1")....| 00001950 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 31 30 30 29 |.ContBox(-1,100)| 00001960 0d 00 ce 1c f2 41 6e 69 6d 28 39 2c 2d 31 30 30 |.....Anim(9,-100| 00001970 2c 2d 32 30 2c 38 2c 32 2c 32 30 29 0d 00 cf cb |,-20,8,2,20)....| 00001980 53 24 3d 22 42 65 74 77 65 65 6e 20 4d 61 79 20 |S$="Between May | 00001990 31 39 37 36 20 61 6e 64 20 53 65 70 74 65 6d 62 |1976 and Septemb| 000019a0 65 72 20 31 39 38 31 20 61 20 6c 61 72 67 65 20 |er 1981 a large | 000019b0 61 72 63 68 61 65 6f 6c 6f 67 69 63 61 6c 20 64 |archaeological d| 000019c0 69 67 20 74 6f 6f 6b 20 70 6c 61 63 65 20 74 6f |ig took place to| 000019d0 20 66 69 6e 64 20 6f 75 74 20 6d 6f 72 65 20 61 | find out more a| 000019e0 62 6f 75 74 20 74 68 65 20 70 65 6f 70 6c 65 20 |bout the people | 000019f0 77 68 6f 20 6c 69 76 65 64 20 69 6e 20 59 6f 72 |who lived in Yor| 00001a00 6b 20 68 75 6e 64 72 65 64 73 20 6f 66 20 79 65 |k hundreds of ye| 00001a10 61 72 73 20 61 67 6f 2e 22 3a f2 53 70 65 61 6b |ars ago.":.Speak| 00001a20 28 33 30 30 2c 33 30 30 29 3a f2 43 6f 6e 74 42 |(300,300):.ContB| 00001a30 6f 78 28 2d 31 2c 31 30 30 29 3a f2 52 65 70 6c |ox(-1,100):.Repl| 00001a40 61 63 65 54 65 6d 70 0d 00 d0 5c 53 24 3d 22 49 |aceTemp...\S$="I| 00001a50 20 73 68 61 6c 6c 20 74 61 6b 65 20 79 6f 75 20 | shall take you | 00001a60 74 6f 20 74 68 65 20 64 69 67 20 73 69 74 65 20 |to the dig site | 00001a70 6e 6f 77 2e 22 3a f2 53 70 65 61 6b 28 33 30 30 |now.":.Speak(300| 00001a80 2c 33 30 30 29 3a f2 43 6f 6e 74 42 6f 78 28 2d |,300):.ContBox(-| 00001a90 31 2c 31 30 30 29 3a f2 52 65 70 6c 61 63 65 54 |1,100):.ReplaceT| 00001aa0 65 6d 70 0d 00 d1 0b f2 53 63 72 43 6c 6f 0d 00 |emp.....ScrClo..| 00001ab0 d2 2c f2 47 65 74 42 61 63 6b 67 72 6f 75 6e 64 |.,.GetBackground| 00001ac0 50 61 6c 65 74 74 65 28 22 44 69 67 22 29 3a f2 |Palette("Dig"):.| 00001ad0 53 65 74 50 61 6c 65 74 74 65 0d 00 d3 2c f2 43 |SetPalette...,.C| 00001ae0 6f 6e 73 6f 6c 65 3a f2 50 6c 6f 74 53 70 72 69 |onsole:.PlotSpri| 00001af0 74 65 28 4d 61 70 53 70 72 69 74 65 25 2c 30 2c |te(MapSprite%,0,| 00001b00 32 36 30 2c 30 29 0d 00 d4 c0 53 24 3d 22 57 65 |260,0)....S$="We| 00001b10 20 61 72 65 20 6e 6f 77 20 61 74 20 74 68 65 20 | are now at the | 00001b20 43 6f 70 70 65 72 67 61 74 65 20 64 69 67 20 73 |Coppergate dig s| 00001b30 69 74 65 2e 54 68 65 20 74 6f 70 20 6c 61 79 65 |ite.The top laye| 00001b40 72 73 20 6f 66 20 73 6f 69 6c 20 68 61 76 65 20 |rs of soil have | 00001b50 62 65 65 6e 20 72 65 6d 6f 76 65 64 2e 20 59 6f |been removed. Yo| 00001b60 75 20 77 69 6c 6c 20 62 65 20 68 65 6c 70 69 6e |u will be helpin| 00001b70 67 20 74 68 65 20 6f 74 68 65 72 20 61 72 63 68 |g the other arch| 00001b80 61 65 6f 6c 6f 67 69 73 74 73 20 74 6f 20 75 6e |aeologists to un| 00001b90 63 6f 76 65 72 20 74 68 65 20 6d 79 73 74 65 72 |cover the myster| 00001ba0 69 65 73 20 6f 66 20 74 68 69 73 20 73 69 74 65 |ies of this site| 00001bb0 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 31 30 32 30 |.":.Tile(-1,1020| 00001bc0 2c 33 38 2c 31 29 0d 00 d5 14 f2 43 6f 6e 74 42 |,38,1).....ContB| 00001bd0 6f 78 28 2d 31 2c 33 35 30 29 0d 00 d6 23 f2 50 |ox(-1,350)...#.P| 00001be0 6c 6f 74 53 70 72 69 74 65 28 4d 61 70 53 70 72 |lotSprite(MapSpr| 00001bf0 69 74 65 25 2c 30 2c 32 36 30 2c 30 29 0d 00 d7 |ite%,0,260,0)...| 00001c00 6b 53 24 3d 22 59 6f 75 20 6e 6f 77 20 68 61 76 |kS$="You now hav| 00001c10 65 20 33 20 64 61 79 73 20 74 6f 20 66 69 6e 64 |e 3 days to find| 00001c20 20 6f 75 74 20 61 73 20 6d 75 63 68 20 61 73 20 | out as much as | 00001c30 79 6f 75 20 63 61 6e 20 61 62 6f 75 74 20 6c 69 |you can about li| 00001c40 66 65 20 69 6e 20 56 69 6b 69 6e 67 20 74 69 6d |fe in Viking tim| 00001c50 65 73 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 31 30 |es.":.Tile(-1,10| 00001c60 32 30 2c 33 38 2c 31 29 0d 00 d8 14 f2 43 6f 6e |20,38,1).....Con| 00001c70 74 42 6f 78 28 2d 31 2c 33 35 30 29 0d 00 d9 0b |tBox(-1,350)....| 00001c80 f2 53 63 72 43 6c 6f 0d 00 da 05 e1 0d 00 db 22 |.ScrClo........"| 00001c90 dd f2 41 6e 69 6d 28 73 6e 25 2c 78 31 25 2c 79 |..Anim(sn%,x1%,y| 00001ca0 31 25 2c 78 69 25 2c 79 69 25 2c 6e 25 29 0d 00 |1%,xi%,yi%,n%)..| 00001cb0 dc 05 f5 0d 00 dd 07 d1 3d 30 0d 00 de 06 c8 96 |........=0......| 00001cc0 0d 00 df 1e f2 50 6c 6f 74 53 70 72 69 74 65 28 |.....PlotSprite(| 00001cd0 73 6e 25 2c 78 31 25 2c 79 31 25 2c 30 29 0d 00 |sn%,x1%,y1%,0)..| 00001ce0 e0 1b 78 31 25 2b 3d 78 69 25 3a 79 31 25 2b 3d |..x1%+=xi%:y1%+=| 00001cf0 79 69 25 3a 6e 25 2d 3d 31 0d 00 e1 0a f5 3a fd |yi%:n%-=1.....:.| 00001d00 91 3e 30 0d 00 e2 0a fd 6e 25 3c 3d 30 0d 00 e3 |.>0.....n%<=0...| 00001d10 05 e1 0d 00 e4 0b dd f2 4d 65 6e 75 31 0d 00 e5 |........Menu1...| 00001d20 16 f2 47 65 74 54 65 61 63 68 65 72 43 6f 6e 74 |..GetTeacherCont| 00001d30 72 6f 6c 0d 00 e6 46 e7 46 72 6f 6d 4d 6f 76 69 |rol...F.FromMovi| 00001d40 65 25 3d a3 8c c8 99 26 30 30 30 30 30 30 30 36 |e%=....&00000006| 00001d50 2c 31 33 35 b8 2c 2c 57 69 6d 70 4d 6f 64 65 25 |,135.,,WimpMode%| 00001d60 8b 57 69 6d 70 4d 6f 64 65 25 3d bb 28 c1 44 61 |.WimpMode%=.(.Da| 00001d70 74 61 24 2c 36 2c 33 29 29 0d 00 e7 17 e7 46 72 |ta$,6,3)).....Fr| 00001d80 6f 6d 4d 6f 76 69 65 25 3d a3 8c f2 46 61 64 65 |omMovie%=...Fade| 00001d90 0d 00 e8 24 da 3a c8 96 3a 50 6f 6c 6c 69 6e 67 |...$.:..:Polling| 00001da0 25 3d a3 20 3a 55 6e 6b 6e 6f 77 6e 46 6f 75 6e |%=. :UnknownFoun| 00001db0 64 25 3d a3 0d 00 e9 0e f2 57 69 6d 70 43 6c 6f |d%=......WimpClo| 00001dc0 73 65 0d 00 ea 15 c8 99 26 30 30 30 30 30 30 30 |se......&0000000| 00001dd0 36 2c 31 31 34 2c 30 0d 00 eb 08 eb 39 3a 87 0d |6,114,0.....9:..| 00001de0 00 ec 12 f2 47 65 74 53 63 72 65 65 6e 56 61 72 |....GetScreenVar| 00001df0 73 0d 00 ed 2d f2 47 65 74 42 61 63 6b 67 72 6f |s...-.GetBackgro| 00001e00 75 6e 64 50 61 6c 65 74 74 65 28 22 61 72 63 31 |undPalette("arc1| 00001e10 22 29 3a f2 53 65 74 50 61 6c 65 74 74 65 0d 00 |"):.SetPalette..| 00001e20 ee 3b f2 44 6f 75 62 6c 65 42 75 66 66 65 72 3a |.;.DoubleBuffer:| 00001e30 db 3a f2 53 77 61 70 53 63 72 65 65 6e 3a db 3a |.:.SwapScreen:.:| 00001e40 f2 53 77 61 70 53 63 72 65 65 6e 3a f2 53 69 6e |.SwapScreen:.Sin| 00001e50 67 6c 65 53 63 72 65 65 6e 0d 00 ef 0c 2a 50 4f |gleScreen....*PO| 00001e60 49 4e 54 45 52 0d 00 f0 10 f2 54 69 74 6c 65 53 |INTER.....TitleS| 00001e70 63 72 65 65 6e 0d 00 f1 05 f5 0d 00 f2 10 46 72 |creen.........Fr| 00001e80 6f 6d 4d 6f 76 69 65 25 3d a3 0d 00 f3 0b f2 53 |omMovie%=......S| 00001e90 63 72 43 6c 6f 0d 00 f4 38 53 24 3d 22 41 72 63 |crClo...8S$="Arc| 00001ea0 68 61 65 6f 6c 6f 67 69 73 74 27 73 20 49 6e 73 |haeologist's Ins| 00001eb0 74 72 75 63 74 69 6f 6e 73 22 3a f2 54 69 6c 65 |tructions":.Tile| 00001ec0 28 2d 31 2c 37 30 30 2c 2d 31 2c 31 29 0d 00 f5 |(-1,700,-1,1)...| 00001ed0 29 53 24 3d 22 53 74 61 72 74 20 56 65 6e 74 75 |)S$="Start Ventu| 00001ee0 72 65 22 3a f2 54 69 6c 65 28 2d 31 2c 34 30 30 |re":.Tile(-1,400| 00001ef0 2c 2d 31 2c 31 29 0d 00 f6 17 4d 31 71 25 3d a3 |,-1,1)....M1q%=.| 00001f00 3a 46 72 6f 6d 49 6e 73 74 72 25 3d a3 0d 00 f7 |:FromInstr%=....| 00001f10 05 f5 0d 00 f8 0a f2 4d 6f 75 73 65 0d 00 f9 31 |.......Mouse...1| 00001f20 e7 4d 6f 75 73 65 59 25 3e 36 32 38 80 4d 6f 75 |.MouseY%>628.Mou| 00001f30 73 65 59 25 3c 37 30 30 8c f2 49 6e 73 74 72 75 |seY%<700..Instru| 00001f40 63 74 69 6f 6e 73 3a 4d 31 71 25 3d b9 0d 00 fa |ctions:M1q%=....| 00001f50 30 e7 4d 6f 75 73 65 59 25 3e 33 32 38 80 4d 6f |0.MouseY%>328.Mo| 00001f60 75 73 65 59 25 3c 34 30 30 8c f2 4d 61 69 6e 50 |useY%<400..MainP| 00001f70 72 6f 67 72 61 6d 3a 4d 31 71 25 3d b9 0d 00 fb |rogram:M1q%=....| 00001f80 09 fd 4d 31 71 25 0d 00 fc 06 fd a3 0d 00 fd 05 |..M1q%..........| 00001f90 e1 0d 00 fe 11 dd f2 54 69 74 6c 65 53 63 72 65 |.......TitleScre| 00001fa0 65 6e 0d 00 ff 38 53 24 3d 22 41 72 63 76 65 6e |en...8S$="Arcven| 00001fb0 74 75 72 65 20 49 49 49 20 2d 20 54 68 65 20 56 |ture III - The V| 00001fc0 69 6b 69 6e 67 73 22 3a f2 54 69 6c 65 28 2d 31 |ikings":.Tile(-1| 00001fd0 2c 39 34 30 2c 2d 31 2c 31 29 0d 01 00 34 53 24 |,940,-1,1)...4S$| 00001fe0 3d 22 a9 20 53 68 65 72 73 74 6f 6e 20 53 6f 66 |=". Sherston Sof| 00001ff0 74 77 61 72 65 20 31 39 39 33 22 3a f2 54 69 6c |tware 1993":.Til| 00002000 65 28 2d 31 2c 38 30 30 2c 2d 31 2c 31 29 0d 01 |e(-1,800,-1,1)..| 00002010 01 29 53 24 3d 22 44 65 6d 6f 6e 73 74 72 61 74 |.)S$="Demonstrat| 00002020 69 6f 6e 22 3a f2 54 69 6c 65 28 2d 31 2c 34 35 |ion":.Tile(-1,45| 00002030 30 2c 2d 31 2c 31 29 0d 01 02 14 f2 43 6f 6e 74 |0,-1,1).....Cont| 00002040 42 6f 78 28 2d 32 2c 31 30 30 29 0d 01 03 0b f2 |Box(-2,100).....| 00002050 53 63 72 43 6c 6f 0d 01 04 38 53 24 3d 22 41 72 |ScrClo...8S$="Ar| 00002060 63 76 65 6e 74 75 72 65 20 49 49 49 20 2d 20 54 |cventure III - T| 00002070 68 65 20 56 69 6b 69 6e 67 73 22 3a f2 54 69 6c |he Vikings":.Til| 00002080 65 28 2d 31 2c 39 34 30 2c 2d 31 2c 31 29 0d 01 |e(-1,940,-1,1)..| 00002090 05 2a 53 24 3d 22 42 79 20 4d 2e 20 56 61 6e 73 |.*S$="By M. Vans| 000020a0 74 6f 6e 65 22 3a f2 54 69 6c 65 28 2d 31 2c 38 |tone":.Tile(-1,8| 000020b0 33 30 2c 2d 31 2c 31 29 0d 01 06 9f 53 24 3d 22 |30,-1,1)....S$="| 000020c0 54 68 69 73 20 69 73 20 61 20 64 65 6d 6f 6e 73 |This is a demons| 000020d0 74 72 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 20 |tration version | 000020e0 6f 66 20 74 68 65 20 74 68 69 72 64 20 69 6e 20 |of the third in | 000020f0 74 68 65 20 70 6f 70 75 6c 61 72 20 73 65 72 69 |the popular seri| 00002100 65 73 20 6f 66 20 61 72 63 68 61 65 6f 6c 6f 67 |es of archaeolog| 00002110 69 63 61 6c 20 61 64 76 65 6e 74 75 72 65 73 2e |ical adventures.| 00002120 20 49 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20 | It is based on | 00002130 74 68 65 20 63 65 6c 65 62 72 61 74 65 64 20 43 |the celebrated C| 00002140 6f 70 70 65 72 67 61 74 65 20 64 69 67 20 69 6e |oppergate dig in| 00002150 20 59 6f 72 6b 2e 22 0d 01 07 16 f2 54 69 6c 65 | York.".....Tile| 00002160 28 2d 31 2c 36 36 30 2c 33 35 2c 31 29 0d 01 08 |(-1,660,35,1)...| 00002170 4a 53 24 3d 22 4f 74 68 65 72 20 74 69 74 6c 65 |JS$="Other title| 00002180 73 20 69 6e 20 74 68 69 73 20 73 65 72 69 65 73 |s in this series| 00002190 20 61 72 65 20 27 54 68 65 20 52 6f 6d 61 6e 73 | are 'The Romans| 000021a0 27 20 61 6e 64 20 27 54 68 65 20 45 67 79 70 74 |' and 'The Egypt| 000021b0 69 61 6e 73 27 2e 22 0d 01 09 16 f2 54 69 6c 65 |ians'.".....Tile| 000021c0 28 2d 31 2c 34 31 30 2c 33 35 2c 31 29 0d 01 0a |(-1,410,35,1)...| 000021d0 55 53 24 3d 22 46 6f 72 20 64 65 74 61 69 6c 73 |US$="For details| 000021e0 20 61 62 6f 75 74 20 61 6e 79 20 6f 66 20 74 68 | about any of th| 000021f0 65 73 65 20 74 69 74 6c 65 73 20 63 61 6c 6c 20 |ese titles call | 00002200 53 68 65 72 73 74 6f 6e 20 53 6f 66 74 77 61 72 |Sherston Softwar| 00002210 65 20 6f 6e 20 30 36 36 36 20 38 34 30 34 33 33 |e on 0666 840433| 00002220 2e 22 0d 01 0b 16 f2 54 69 6c 65 28 2d 31 2c 32 |.".....Tile(-1,2| 00002230 37 30 2c 33 35 2c 31 29 0d 01 0c 13 f2 43 6f 6e |70,35,1).....Con| 00002240 74 42 6f 78 28 2d 31 2c 38 30 29 0d 01 0d 05 e1 |tBox(-1,80).....| 00002250 0d 01 0e 12 dd f2 49 6e 73 74 72 75 63 74 69 6f |......Instructio| 00002260 6e 73 0d 01 0f 13 f2 53 63 72 43 6c 6f 3a 44 69 |ns.....ScrClo:Di| 00002270 73 6b 25 3d 31 0d 01 10 14 f2 4d 61 6b 65 53 70 |sk%=1.....MakeSp| 00002280 72 69 74 65 54 61 62 6c 65 0d 01 11 2d f2 47 65 |riteTable...-.Ge| 00002290 74 42 61 63 6b 67 72 6f 75 6e 64 50 61 6c 65 74 |tBackgroundPalet| 000022a0 74 65 28 22 61 72 63 31 22 29 3a f2 53 65 74 50 |te("arc1"):.SetP| 000022b0 61 6c 65 74 74 65 0d 01 12 1c f2 41 6e 69 6d 28 |alette.....Anim(| 000022c0 39 2c 2d 31 30 30 2c 31 30 30 2c 38 2c 34 2c 35 |9,-100,100,8,4,5| 000022d0 30 29 0d 01 13 4e 53 24 3d 22 48 65 6c 6c 6f 2e |0)...NS$="Hello.| 000022e0 20 4d 79 20 6e 61 6d 65 20 69 73 20 41 52 43 31 | My name is ARC1| 000022f0 2e 22 3a f2 53 70 65 61 6b 28 33 30 30 2c 36 30 |.":.Speak(300,60| 00002300 30 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 31 |0):.ContBox(-1,1| 00002310 30 30 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 |00):.ReplaceTemp| 00002320 0d 01 14 64 53 24 3d 22 49 20 61 6d 20 67 6f 69 |...dS$="I am goi| 00002330 6e 67 20 74 6f 20 74 65 6c 6c 20 79 6f 75 20 68 |ng to tell you h| 00002340 6f 77 20 74 6f 20 75 73 65 20 41 72 63 56 65 6e |ow to use ArcVen| 00002350 74 75 72 65 2e 22 3a f2 53 70 65 61 6b 28 33 30 |ture.":.Speak(30| 00002360 30 2c 36 30 30 29 3a f2 43 6f 6e 74 42 6f 78 28 |0,600):.ContBox(| 00002370 2d 31 2c 31 30 30 29 3a f2 52 65 70 6c 61 63 65 |-1,100):.Replace| 00002380 54 65 6d 70 0d 01 15 34 f2 41 6e 69 6d 28 39 2c |Temp...4.Anim(9,| 00002390 33 30 30 2c 33 30 30 2c 38 2c 32 2c 36 30 29 3a |300,300,8,2,60):| 000023a0 f2 50 6c 6f 74 53 70 72 69 74 65 28 31 2c 37 38 |.PlotSprite(1,78| 000023b0 30 2c 34 32 30 2c 30 29 0d 01 16 37 e3 66 25 3d |0,420,0)...7.f%=| 000023c0 2d 32 35 36 b8 30 88 34 3a c8 96 3a f2 50 6c 6f |-256.0.4:..:.Plo| 000023d0 74 53 70 72 69 74 65 28 46 73 67 69 4e 75 6d 62 |tSprite(FsgiNumb| 000023e0 65 72 25 2c 30 2c 66 25 2c 30 29 3a ed 66 25 0d |er%,0,f%,0):.f%.| 000023f0 01 17 0a f2 43 6c 6f 63 6b 0d 01 18 8a 53 24 3d |....Clock....S$=| 00002400 22 42 65 6c 6f 77 20 6d 65 20 69 73 20 74 68 65 |"Below me is the| 00002410 20 63 68 6f 69 63 65 20 62 6f 61 72 64 2e 20 42 | choice board. B| 00002420 79 20 6d 6f 76 69 6e 67 20 74 68 65 20 6d 6f 75 |y moving the mou| 00002430 73 65 20 74 6f 20 74 68 65 20 62 6f 78 65 73 20 |se to the boxes | 00002440 61 6e 64 20 63 6c 69 63 6b 69 6e 67 20 74 68 65 |and clicking the| 00002450 20 6c 65 66 74 20 62 75 74 74 6f 6e 2c 20 79 6f | left button, yo| 00002460 75 20 63 61 6e 20 74 65 6c 6c 20 6d 65 20 77 68 |u can tell me wh| 00002470 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 |at you want to d| 00002480 6f 2e 22 0d 01 19 3a 53 70 44 69 72 25 3d 31 3a |o."...:SpDir%=1:| 00002490 f2 53 70 65 61 6b 28 35 30 30 2c 37 32 30 29 3a |.Speak(500,720):| 000024a0 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 |.ContBox(-1,350)| 000024b0 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 01 1a |:.ReplaceTemp...| 000024c0 35 f2 41 6e 69 6d 28 31 2c 37 38 30 2c 34 32 30 |5.Anim(1,780,420| 000024d0 2c 2d 38 2c 30 2c 36 30 29 3a f2 50 6c 6f 74 53 |,-8,0,60):.PlotS| 000024e0 70 72 69 74 65 28 39 2c 33 30 30 2c 34 32 30 2c |prite(9,300,420,| 000024f0 30 29 0d 01 1b 51 53 24 3d 22 50 72 65 73 73 20 |0)...QS$="Press | 00002500 74 68 65 20 52 49 47 48 54 20 6d 6f 75 73 65 20 |the RIGHT mouse | 00002510 62 75 74 74 6f 6e 20 74 6f 20 67 6f 20 74 6f 20 |button to go to | 00002520 74 68 65 20 6e 65 78 74 20 70 61 72 74 2e 22 3a |the next part.":| 00002530 f2 54 69 6c 65 28 37 34 30 2c 35 30 30 2c 31 36 |.Tile(740,500,16| 00002540 2c 31 29 0d 01 1c 63 53 24 3d 22 54 72 79 20 63 |,1)...cS$="Try c| 00002550 6c 69 63 6b 69 6e 67 20 6f 6e 20 61 20 66 65 77 |licking on a few| 00002560 20 6f 66 20 74 68 65 20 62 6f 78 65 73 20 61 6e | of the boxes an| 00002570 64 20 49 20 73 68 61 6c 6c 20 74 65 6c 6c 20 79 |d I shall tell y| 00002580 6f 75 20 77 68 61 74 20 74 68 65 79 20 61 72 65 |ou what they are| 00002590 20 66 6f 72 2e 22 3a f2 53 70 65 61 6b 28 33 30 | for.":.Speak(30| 000025a0 30 2c 37 32 30 29 0d 01 1d 05 f5 0d 01 1e 28 f2 |0,720)........(.| 000025b0 4d 6f 75 73 65 3a 4c 6f 63 25 3d a4 43 6f 6e 4c |Mouse:Loc%=.ConL| 000025c0 6f 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 |oc(MouseX%,Mouse| 000025d0 59 25 29 0d 01 1f 16 e7 42 75 74 74 6f 6e 50 72 |Y%).....ButtonPr| 000025e0 65 73 73 65 64 25 3d 34 8c 0d 01 20 0c 4f 6c 64 |essed%=4... .Old| 000025f0 53 24 3d 53 24 0d 01 21 0b c8 8e 4c 6f 63 25 ca |S$=S$..!...Loc%.| 00002600 0d 01 22 8a c9 31 2c 32 2c 33 3a 4e 65 77 53 24 |.."..1,2,3:NewS$| 00002610 3d 22 54 68 69 73 20 69 73 20 61 6e 20 6f 70 74 |="This is an opt| 00002620 69 6f 6e 20 62 61 72 2e 20 53 70 65 63 69 61 6c |ion bar. Special| 00002630 20 63 68 6f 69 63 65 73 20 77 69 6c 6c 20 62 65 | choices will be| 00002640 20 73 68 6f 77 6e 20 68 65 72 65 2c 20 6d 61 6b | shown here, mak| 00002650 65 20 79 6f 75 72 20 63 68 6f 69 63 65 20 62 79 |e your choice by| 00002660 20 63 6c 69 63 6b 69 6e 67 20 6f 6e 20 6f 6e 65 | clicking on one| 00002670 20 6f 66 20 74 68 65 20 62 61 72 73 2e 22 3a f2 | of the bars.":.| 00002680 4f 70 74 69 6f 6e 49 6e 66 6f 0d 01 23 94 c9 34 |OptionInfo..#..4| 00002690 2c 35 2c 36 2c 37 3a 4e 65 77 53 24 3d 22 44 75 |,5,6,7:NewS$="Du| 000026a0 72 69 6e 67 20 74 68 65 20 64 69 67 2c 20 74 68 |ring the dig, th| 000026b0 69 73 20 77 69 6c 6c 20 74 65 6c 6c 20 79 6f 75 |is will tell you| 000026c0 20 74 68 65 20 67 61 6d 65 20 74 69 6d 65 2e 20 | the game time. | 000026d0 44 75 72 69 6e 67 20 74 68 65 20 65 78 70 65 64 |During the exped| 000026e0 69 74 69 6f 6e 2c 20 74 68 69 73 20 77 69 6c 6c |ition, this will| 000026f0 20 63 68 61 6e 67 65 20 74 6f 20 66 6f 75 72 20 | change to four | 00002700 64 69 72 65 63 74 69 6f 6e 20 61 72 72 6f 77 73 |direction arrows| 00002710 2e 22 3a f2 4f 70 74 69 6f 6e 49 6e 66 6f 0d 01 |.":.OptionInfo..| 00002720 24 c2 c9 38 2c 39 2c 31 30 2c 31 31 3a 4e 65 77 |$..8,9,10,11:New| 00002730 53 24 3d 22 54 68 69 73 20 69 73 20 61 6e 20 6f |S$="This is an o| 00002740 62 6a 65 63 74 20 62 6f 78 2e 20 44 75 72 69 6e |bject box. Durin| 00002750 67 20 74 68 65 20 64 69 67 20 79 6f 75 20 77 69 |g the dig you wi| 00002760 6c 6c 20 66 69 6e 64 20 74 6f 6f 6c 73 20 66 6f |ll find tools fo| 00002770 72 20 64 69 67 67 69 6e 67 20 69 6e 20 74 68 65 |r digging in the| 00002780 73 65 20 62 6f 78 65 73 2e 20 44 75 72 69 6e 67 |se boxes. During| 00002790 20 74 68 65 20 65 78 70 65 64 69 74 69 6f 6e 2c | the expedition,| 000027a0 20 74 68 65 20 6f 62 6a 65 63 74 73 20 77 68 69 | the objects whi| 000027b0 63 68 20 79 6f 75 20 63 6f 6c 6c 65 63 74 20 77 |ch you collect w| 000027c0 69 6c 6c 20 62 65 20 70 75 74 20 69 6e 20 68 65 |ill be put in he| 000027d0 72 65 2e 22 3a f2 4f 70 74 69 6f 6e 49 6e 66 6f |re.":.OptionInfo| 000027e0 0d 01 25 05 cb 0d 01 26 16 f5 3a c8 97 78 25 2c |..%....&..:..x%,| 000027f0 79 25 2c 62 25 3a fd 62 25 3d 30 0d 01 27 05 cd |y%,b%:.b%=0..'..| 00002800 0d 01 28 15 fd 42 75 74 74 6f 6e 50 72 65 73 73 |..(..ButtonPress| 00002810 65 64 25 3d 31 0d 01 29 08 f2 43 6c 77 0d 01 2a |ed%=1..)..Clw..*| 00002820 34 f2 41 6e 69 6d 28 39 2c 33 30 30 2c 34 32 30 |4.Anim(9,300,420| 00002830 2c 38 2c 30 2c 38 30 29 3a f2 50 6c 6f 74 53 70 |,8,0,80):.PlotSp| 00002840 72 69 74 65 28 31 2c 39 34 30 2c 34 32 30 2c 30 |rite(1,940,420,0| 00002850 29 0d 01 2b 7f 53 24 3d 22 44 75 72 69 6e 67 20 |)..+.S$="During | 00002860 74 68 65 20 64 69 67 20 74 68 65 20 62 6f 78 65 |the dig the boxe| 00002870 73 20 62 65 6c 6f 77 20 6d 65 20 77 69 6c 6c 20 |s below me will | 00002880 68 61 76 65 20 66 6f 75 72 20 74 6f 6f 6c 73 20 |have four tools | 00002890 69 6e 20 74 68 65 6d 2e 22 3a 53 70 44 69 72 25 |in them.":SpDir%| 000028a0 3d 31 3a f2 53 70 65 61 6b 28 36 30 30 2c 37 30 |=1:.Speak(600,70| 000028b0 30 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 |0):.ContBox(-1,3| 000028c0 35 30 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 |50):.ReplaceTemp| 000028d0 0d 01 2c 1c f2 50 6c 6f 74 53 70 72 69 74 65 28 |..,..PlotSprite(| 000028e0 34 2c 39 38 30 2c 31 35 30 2c 38 29 0d 01 2d 92 |4,980,150,8)..-.| 000028f0 53 24 3d 22 54 68 65 20 66 69 72 73 74 20 69 73 |S$="The first is| 00002900 20 61 20 73 70 61 64 65 2e 20 59 6f 75 20 63 61 | a spade. You ca| 00002910 6e 20 75 73 65 20 74 68 65 20 73 70 61 64 65 20 |n use the spade | 00002920 74 6f 20 64 69 67 20 71 75 69 63 6b 6c 79 20 61 |to dig quickly a| 00002930 6e 64 20 66 69 6e 64 20 6c 61 72 67 65 20 6f 62 |nd find large ob| 00002940 6a 65 63 74 73 2e 22 3a 53 70 44 69 72 25 3d 31 |jects.":SpDir%=1| 00002950 3a f2 53 70 65 61 6b 28 36 30 30 2c 37 30 30 29 |:.Speak(600,700)| 00002960 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 |:.ContBox(-1,350| 00002970 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 01 |):.ReplaceTemp..| 00002980 2e 1d f2 50 6c 6f 74 53 70 72 69 74 65 28 35 2c |...PlotSprite(5,| 00002990 31 31 34 30 2c 31 35 30 2c 38 29 0d 01 2f c4 53 |1140,150,8)../.S| 000029a0 24 3d 22 54 68 65 20 73 65 63 6f 6e 64 20 69 73 |$="The second is| 000029b0 20 61 20 74 72 6f 77 65 6c 2e 20 59 6f 75 20 63 | a trowel. You c| 000029c0 61 6e 20 75 73 65 20 74 68 65 20 74 72 6f 77 65 |an use the trowe| 000029d0 6c 20 74 6f 20 66 69 6e 64 20 73 6d 61 6c 6c 65 |l to find smalle| 000029e0 72 20 6f 62 6a 65 63 74 73 20 69 6e 20 74 68 65 |r objects in the| 000029f0 20 67 72 6f 75 6e 64 2c 20 62 75 74 20 69 74 20 | ground, but it | 00002a00 77 69 6c 6c 20 74 61 6b 65 20 6c 6f 6e 67 65 72 |will take longer| 00002a10 20 74 68 61 6e 20 74 68 65 20 73 70 61 64 65 20 | than the spade | 00002a20 74 6f 20 64 69 67 2e 22 3a 53 70 44 69 72 25 3d |to dig.":SpDir%=| 00002a30 31 3a f2 53 70 65 61 6b 28 36 30 30 2c 37 30 30 |1:.Speak(600,700| 00002a40 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 |):.ContBox(-1,35| 00002a50 30 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d |0):.ReplaceTemp.| 00002a60 01 30 1b f2 50 6c 6f 74 53 70 72 69 74 65 28 36 |.0..PlotSprite(6| 00002a70 2c 39 38 30 2c 34 30 2c 38 29 0d 01 31 8f 53 24 |,980,40,8)..1.S$| 00002a80 3d 22 54 68 65 20 62 72 75 73 68 20 69 73 20 66 |="The brush is f| 00002a90 6f 72 20 63 6c 65 61 6e 69 6e 67 20 75 70 20 66 |or cleaning up f| 00002aa0 72 61 67 69 6c 65 20 6f 62 6a 65 63 74 73 20 73 |ragile objects s| 00002ab0 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 73 |o that you can s| 00002ac0 65 65 20 77 68 61 74 20 74 68 65 79 20 61 72 65 |ee what they are| 00002ad0 2e 22 3a 53 70 44 69 72 25 3d 31 3a f2 53 70 65 |.":SpDir%=1:.Spe| 00002ae0 61 6b 28 36 30 30 2c 37 30 30 29 3a f2 43 6f 6e |ak(600,700):.Con| 00002af0 74 42 6f 78 28 2d 31 2c 33 35 30 29 3a f2 52 65 |tBox(-1,350):.Re| 00002b00 70 6c 61 63 65 54 65 6d 70 0d 01 32 1c f2 50 6c |placeTemp..2..Pl| 00002b10 6f 74 53 70 72 69 74 65 28 37 2c 31 31 34 30 2c |otSprite(7,1140,| 00002b20 34 30 2c 38 29 0d 01 33 c1 53 24 3d 22 54 68 65 |40,8)..3.S$="The| 00002b30 20 6d 61 67 6e 69 66 79 69 6e 67 20 67 6c 61 73 | magnifying glas| 00002b40 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f |s can be used to| 00002b50 20 67 65 74 20 61 20 63 6c 6f 73 65 72 20 6c 6f | get a closer lo| 00002b60 6f 6b 20 61 74 20 77 68 61 74 20 79 6f 75 20 68 |ok at what you h| 00002b70 61 76 65 20 66 6f 75 6e 64 20 6f 72 20 74 6f 20 |ave found or to | 00002b80 67 65 74 20 61 6e 20 69 64 65 61 20 6f 66 20 77 |get an idea of w| 00002b90 68 69 63 68 20 74 6f 6f 6c 20 79 6f 75 20 73 68 |hich tool you sh| 00002ba0 6f 75 6c 64 20 62 65 20 75 73 69 6e 67 2e 22 3a |ould be using.":| 00002bb0 53 70 44 69 72 25 3d 31 3a f2 53 70 65 61 6b 28 |SpDir%=1:.Speak(| 00002bc0 36 30 30 2c 37 30 30 29 3a f2 43 6f 6e 74 42 6f |600,700):.ContBo| 00002bd0 78 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 |x(-1,350):.Repla| 00002be0 63 65 54 65 6d 70 0d 01 34 e8 53 24 3d 22 57 68 |ceTemp..4.S$="Wh| 00002bf0 65 6e 20 79 6f 75 20 64 69 67 2c 20 79 6f 75 20 |en you dig, you | 00002c00 77 69 6c 6c 20 20 20 73 65 65 20 6c 65 74 74 65 |will see lette| 00002c10 72 73 20 6f 6e 20 74 68 65 20 67 72 69 64 2e 20 |rs on the grid. | 00002c20 54 68 65 73 65 20 61 72 65 20 3a 20 20 20 20 20 |These are : | 00002c30 20 20 20 20 20 20 20 20 20 27 55 27 20 66 6f 72 | 'U' for| 00002c40 20 75 6e 66 69 6e 69 73 68 65 64 2c 20 20 20 20 | unfinished, | 00002c50 20 20 27 4f 27 20 66 6f 72 20 6f 62 6a 65 63 74 | 'O' for object| 00002c60 20 66 6f 75 6e 64 2c 20 20 20 20 27 44 27 20 66 | found, 'D' f| 00002c70 6f 72 20 64 61 6d 61 67 65 64 20 61 6e 64 20 20 |or damaged and | 00002c80 20 20 20 20 27 4e 27 20 66 6f 72 20 6e 6f 20 6f | 'N' for no o| 00002c90 62 6a 65 63 74 2e 22 3a 53 70 44 69 72 25 3d 31 |bject.":SpDir%=1| 00002ca0 3a f2 53 70 65 61 6b 28 36 30 30 2c 37 30 30 29 |:.Speak(600,700)| 00002cb0 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 |:.ContBox(-1,350| 00002cc0 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 01 |):.ReplaceTemp..| 00002cd0 35 35 f2 41 6e 69 6d 28 31 2c 39 34 30 2c 34 32 |55.Anim(1,940,42| 00002ce0 30 2c 2d 38 2c 30 2c 33 30 29 3a f2 50 6c 6f 74 |0,-8,0,30):.Plot| 00002cf0 53 70 72 69 74 65 28 31 2c 37 30 30 2c 34 32 30 |Sprite(1,700,420| 00002d00 2c 30 29 0d 01 36 0a f2 50 54 42 61 72 0d 01 37 |,0)..6..PTBar..7| 00002d10 9c 53 24 3d 22 49 20 77 69 6c 6c 20 70 72 69 6e |.S$="I will prin| 00002d20 74 20 74 68 65 20 64 61 79 20 6e 75 6d 62 65 72 |t the day number| 00002d30 20 61 74 20 74 68 65 20 74 6f 70 20 6f 66 20 74 | at the top of t| 00002d40 68 65 20 73 63 72 65 65 6e 20 61 6e 64 20 79 6f |he screen and yo| 00002d50 75 72 20 73 63 6f 72 65 20 69 6e 20 74 68 65 20 |ur score in the | 00002d60 74 6f 70 20 72 69 67 68 74 20 63 6f 72 6e 65 72 |top right corner| 00002d70 2e 22 3a 53 70 44 69 72 25 3d 31 3a f2 53 70 65 |.":SpDir%=1:.Spe| 00002d80 61 6b 28 34 30 30 2c 36 39 30 29 3a f2 43 6f 6e |ak(400,690):.Con| 00002d90 74 42 6f 78 28 2d 31 2c 33 35 30 29 3a f2 52 65 |tBox(-1,350):.Re| 00002da0 70 6c 61 63 65 54 65 6d 70 0d 01 38 91 53 24 3d |placeTemp..8.S$=| 00002db0 22 49 20 77 69 6c 6c 20 67 69 76 65 20 79 6f 75 |"I will give you| 00002dc0 20 70 6f 69 6e 74 73 20 66 6f 72 20 66 69 6e 64 | points for find| 00002dd0 69 6e 67 20 6f 62 6a 65 63 74 73 20 61 6e 64 20 |ing objects and | 00002de0 75 73 69 6e 67 20 74 68 65 20 72 69 67 68 74 20 |using the right | 00002df0 74 6f 6f 6c 73 20 66 6f 72 20 74 68 65 20 6a 6f |tools for the jo| 00002e00 62 2e 22 3a 53 70 44 69 72 25 3d 31 3a f2 53 70 |b.":SpDir%=1:.Sp| 00002e10 65 61 6b 28 34 30 30 2c 36 39 30 29 3a f2 43 6f |eak(400,690):.Co| 00002e20 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 3a f2 52 |ntBox(-1,350):.R| 00002e30 65 70 6c 61 63 65 54 65 6d 70 0d 01 39 35 f2 41 |eplaceTemp..95.A| 00002e40 6e 69 6d 28 31 2c 37 30 30 2c 34 32 30 2c 2d 38 |nim(1,700,420,-8| 00002e50 2c 2d 32 2c 38 30 29 3a f2 50 6c 6f 74 53 70 72 |,-2,80):.PlotSpr| 00002e60 69 74 65 28 39 2c 36 30 2c 32 36 30 2c 30 29 0d |ite(9,60,260,0).| 00002e70 01 3a 71 53 24 3d 22 54 68 61 74 27 73 20 74 68 |.:qS$="That's th| 00002e80 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 65 73 |e end of the les| 00002e90 73 6f 6e 2e 20 4e 6f 77 20 77 65 20 73 68 61 6c |son. Now we shal| 00002ea0 6c 20 73 74 61 72 74 20 74 68 65 20 67 61 6d 65 |l start the game| 00002eb0 2e 22 3a f2 53 70 65 61 6b 28 32 38 30 2c 36 35 |.":.Speak(280,65| 00002ec0 30 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 |0):.ContBox(-1,3| 00002ed0 35 30 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 |50):.ReplaceTemp| 00002ee0 0d 01 3b 10 46 72 6f 6d 49 6e 73 74 72 25 3d b9 |..;.FromInstr%=.| 00002ef0 0d 01 3c 05 e1 0d 01 3d 10 dd f2 4f 70 74 69 6f |..<....=...Optio| 00002f00 6e 49 6e 66 6f 0d 01 3e 12 e7 4e 65 77 53 24 3c |nInfo..>..NewS$<| 00002f10 3e 4f 6c 64 53 24 8c 0d 01 3f 0c 53 24 3d 4e 65 |>OldS$...?.S$=Ne| 00002f20 77 53 24 0d 01 40 10 f2 52 65 70 6c 61 63 65 54 |wS$..@..ReplaceT| 00002f30 65 6d 70 0d 01 41 13 f2 53 70 65 61 6b 28 33 30 |emp..A..Speak(30| 00002f40 30 2c 37 32 30 29 0d 01 42 05 cd 0d 01 43 05 e1 |0,720)..B....C..| 00002f50 0d 01 44 0e dd f2 47 61 6d 65 4c 6f 6f 70 0d 01 |..D...GameLoop..| 00002f60 45 16 44 6f 69 6e 67 4f 62 6a 65 63 74 49 6e 66 |E.DoingObjectInf| 00002f70 6f 25 3d a3 0d 01 46 24 e7 4f 6c 64 47 61 6d 65 |o%=...F$.OldGame| 00002f80 25 3d a3 80 53 74 61 72 74 46 72 6f 6d 25 3c 3e |%=..StartFrom%<>| 00002f90 34 8c f2 49 6e 74 72 6f 0d 01 47 46 e7 50 61 72 |4..Intro..GF.Par| 00002fa0 74 25 3d 32 80 53 74 61 72 74 46 72 6f 6d 25 3c |t%=2.StartFrom%<| 00002fb0 3e 34 8c 53 74 72 61 69 67 68 74 49 6e 74 6f 50 |>4.StraightIntoP| 00002fc0 61 72 74 32 25 3d b9 3a f2 52 65 41 73 6b 51 75 |art2%=.:.ReAskQu| 00002fd0 65 73 74 69 6f 6e 73 3a f2 50 61 72 74 32 0d 01 |estions:.Part2..| 00002fe0 48 1a e7 50 61 72 74 25 3d 32 80 53 74 61 72 74 |H..Part%=2.Start| 00002ff0 46 72 6f 6d 25 3d 34 8c 0d 01 49 19 53 74 72 61 |From%=4...I.Stra| 00003000 69 67 68 74 49 6e 74 6f 50 61 72 74 32 25 3d b9 |ightIntoPart2%=.| 00003010 3a 0d 01 4a 16 e7 41 73 6b 69 6e 67 51 75 65 73 |:..J..AskingQues| 00003020 74 69 6f 6e 73 25 8c 0d 01 4b 2f 53 74 72 61 69 |tions%...K/Strai| 00003030 67 68 74 49 6e 74 6f 50 61 72 74 32 25 3d a3 3a |ghtIntoPart2%=.:| 00003040 f2 52 65 41 73 6b 51 75 65 73 74 69 6f 6e 73 3a |.ReAskQuestions:| 00003050 f2 50 61 72 74 32 0d 01 4c 05 cc 0d 01 4d 0a f2 |.Part2..L....M..| 00003060 50 61 72 74 32 0d 01 4e 05 cd 0d 01 4f 05 cc 0d |Part2..N....O...| 00003070 01 50 05 cd 0d 01 51 05 f5 0d 01 52 0c f2 49 6e |.P....Q....R..In| 00003080 66 6f 48 75 74 0d 01 53 06 fd a3 0d 01 54 05 e1 |foHut..S.....T..| 00003090 0d 01 55 0e dd f2 4c 6f 67 6f 41 6e 69 6d 0d 01 |..U...LogoAnim..| 000030a0 56 05 e1 0d 01 57 0a dd f2 50 6f 6c 6c 0d 01 58 |V....W...Poll..X| 000030b0 1a 72 25 3d 30 3a 4d 73 6b 25 3d 30 3a 50 6f 6c |.r%=0:Msk%=0:Pol| 000030c0 6c 69 6e 67 25 3d b9 0d 01 59 05 f5 0d 01 5a 1e |ling%=...Y....Z.| 000030d0 c8 99 26 30 30 30 34 30 30 43 37 2c 4d 73 6b 25 |..&000400C7,Msk%| 000030e0 2c 42 6c 6f 63 6b 25 b8 72 25 0d 01 5b 09 c8 8e |,Block%.r%..[...| 000030f0 72 25 ca 0d 01 5c 16 c9 36 3a f2 50 6f 6c 6c 4d |r%...\..6:.PollM| 00003100 6f 75 73 65 43 6c 69 63 6b 0d 01 5d 1a c9 31 3a |ouseClick..]..1:| 00003110 c8 99 26 30 30 30 34 30 30 43 38 2c 2c 42 6c 6f |..&000400C8,,Blo| 00003120 63 6b 25 0d 01 5e 1a c9 32 3a c8 99 26 30 30 30 |ck%..^..2:..&000| 00003130 34 30 30 43 35 2c 2c 42 6c 6f 63 6b 25 0d 01 5f |400C5,,Block%.._| 00003140 1a c9 33 3a c8 99 26 30 30 30 34 30 30 43 36 2c |..3:..&000400C6,| 00003150 2c 42 6c 6f 63 6b 25 0d 01 60 16 c9 38 3a f2 50 |,Block%..`..8:.P| 00003160 6f 6c 6c 4b 65 79 50 72 65 73 73 65 64 0d 01 61 |ollKeyPressed..a| 00003170 19 c9 39 3a f2 50 6f 6c 6c 4d 65 6e 75 53 65 6c |..9:.PollMenuSel| 00003180 65 63 74 69 6f 6e 0d 01 62 22 c9 31 37 2c 31 38 |ection..b".17,18| 00003190 2c 31 39 3a e7 21 28 42 6c 6f 63 6b 25 2b 31 36 |,19:.!(Block%+16| 000031a0 29 3d 30 8c f2 45 6e 64 0d 01 63 05 cb 0d 01 64 |)=0..End..c....d| 000031b0 07 fd 71 25 0d 01 65 13 c8 99 26 30 30 30 34 30 |..q%..e...&00040| 000031c0 30 44 34 2c 2c 2d 31 0d 01 66 0e 50 6f 6c 6c 69 |0D4,,-1..f.Polli| 000031d0 6e 67 25 3d a3 0d 01 67 05 e1 0d 01 68 14 dd f2 |ng%=...g....h...| 000031e0 50 6f 6c 6c 4b 65 79 50 72 65 73 73 65 64 0d 01 |PollKeyPressed..| 000031f0 69 0e c8 8e 21 42 6c 6f 63 6b 25 ca 0d 01 6a 31 |i...!Block%...j1| 00003200 c9 57 69 6e 5f 48 25 28 31 29 3a e7 21 28 42 6c |.Win_H%(1):.!(Bl| 00003210 6f 63 6b 25 2b 32 34 29 3d 31 33 8c 53 74 61 72 |ock%+24)=13.Star| 00003220 74 46 72 6f 6d 25 3d 32 3a 71 25 3d b9 0d 01 6b |tFrom%=2:q%=...k| 00003230 31 c9 57 69 6e 5f 48 25 28 32 29 3a e7 21 28 42 |1.Win_H%(2):.!(B| 00003240 6c 6f 63 6b 25 2b 32 34 29 3d 31 33 8c 53 74 61 |lock%+24)=13.Sta| 00003250 72 74 46 72 6f 6d 25 3d 33 3a 71 25 3d b9 0d 01 |rtFrom%=3:q%=...| 00003260 6c 05 cb 0d 01 6d 05 e1 0d 01 6e 14 dd f2 50 6f |l....m....n...Po| 00003270 6c 6c 4d 6f 75 73 65 43 6c 69 63 6b 0d 01 6f 13 |llMouseClick..o.| 00003280 c8 8e 21 28 42 6c 6f 63 6b 25 2b 31 32 29 ca 0d |..!(Block%+12)..| 00003290 01 70 07 c9 2d 32 0d 01 71 12 c8 8e 21 28 42 6c |.p..-2..q...!(Bl| 000032a0 6f 63 6b 25 2b 38 29 ca 0d 01 72 12 c9 32 3a f2 |ock%+8)...r..2:.| 000032b0 4d 61 73 74 65 72 4d 65 6e 75 0d 01 73 1a c9 34 |MasterMenu..s..4| 000032c0 3a 53 74 61 72 74 46 72 6f 6d 25 3d 31 3a f2 4d |:StartFrom%=1:.M| 000032d0 65 6e 75 31 0d 01 74 05 cb 0d 01 75 05 cb 0d 01 |enu1..t....u....| 000032e0 76 05 e1 0d 01 77 10 dd f2 4d 61 73 74 65 72 4d |v....w...MasterM| 000032f0 65 6e 75 0d 01 78 10 f2 53 65 74 49 63 6f 6e 4d |enu..x..SetIconM| 00003300 65 6e 75 0d 01 79 2b c8 99 26 30 30 30 34 30 30 |enu..y+..&000400| 00003310 44 34 2c 2c 4d 61 73 74 65 72 4d 65 6e 75 25 2c |D4,,MasterMenu%,| 00003320 21 42 6c 6f 63 6b 25 2d 39 30 2c 33 31 36 0d 01 |!Block%-90,316..| 00003330 7a 05 e1 0d 01 7b 17 dd f2 50 6f 6c 6c 4d 65 6e |z....{...PollMen| 00003340 75 53 65 6c 65 63 74 69 6f 6e 0d 01 7c 10 c8 8e |uSelection..|...| 00003350 21 28 42 6c 6f 63 6b 25 29 ca 0d 01 7d 1c c9 31 |!(Block%)...}..1| 00003360 3a 53 74 61 72 74 46 72 6f 6d 25 3d 34 3a f2 52 |:StartFrom%=4:.R| 00003370 65 73 74 61 72 74 0d 01 7e 2e c9 33 3a ff 22 46 |estart..~..3:."F| 00003380 69 6c 65 72 5f 4f 70 65 6e 44 69 72 20 3c 41 72 |iler_OpenDir <Ar| 00003390 63 56 33 53 47 24 44 69 72 3e 2e 4a 6f 75 72 6e |cV3SG$Dir>.Journ| 000033a0 61 6c 73 22 0d 01 7f 0b c9 34 3a f2 45 6e 64 0d |als".....4:.End.| 000033b0 01 80 05 cb 0d 01 81 05 e1 0d 01 82 0a dd f2 49 |...............I| 000033c0 63 6f 6e 0d 01 83 19 24 49 63 6f 6e 54 65 78 74 |con....$IconText| 000033d0 25 3d 22 21 61 76 33 64 65 6d 6f 22 0d 01 84 0e |%="!av3demo"....| 000033e0 21 42 6c 6f 63 6b 25 3d 2d 31 0d 01 85 89 21 28 |!Block%=-1....!(| 000033f0 42 6c 6f 63 6b 25 2b 34 29 3d 2d 34 3a 21 28 42 |Block%+4)=-4:!(B| 00003400 6c 6f 63 6b 25 2b 38 29 3d 30 3a 21 28 42 6c 6f |lock%+8)=0:!(Blo| 00003410 63 6b 25 2b 31 36 29 3d 31 30 30 3a 21 28 42 6c |ck%+16)=100:!(Bl| 00003420 6f 63 6b 25 2b 31 32 29 3d 36 38 3a 21 28 42 6c |ock%+12)=68:!(Bl| 00003430 6f 63 6b 25 2b 32 30 29 3d 26 33 31 30 32 3a 21 |ock%+20)=&3102:!| 00003440 28 42 6c 6f 63 6b 25 2b 32 34 29 3d 49 63 6f 6e |(Block%+24)=Icon| 00003450 54 65 78 74 25 3a 21 28 42 6c 6f 63 6b 25 2b 32 |Text%:!(Block%+2| 00003460 38 29 3d 31 3a 21 28 42 6c 6f 63 6b 25 2b 33 32 |8)=1:!(Block%+32| 00003470 29 3d 38 0d 01 86 1f c8 99 26 30 30 30 34 30 30 |)=8......&000400| 00003480 43 32 2c 2c 42 6c 6f 63 6b 25 b8 49 63 6f 6e 5f |C2,,Block%.Icon_| 00003490 48 25 0d 01 87 05 e1 0d 01 88 19 dd f2 4d 65 6e |H%...........Men| 000034a0 75 53 74 61 72 74 28 70 25 2c 74 24 2c 77 25 29 |uStart(p%,t$,w%)| 000034b0 0d 01 89 0a 4d 70 25 3d 70 25 0d 01 8a 29 24 4d |....Mp%=p%...)$M| 000034c0 70 25 3d 74 24 3a 21 28 4d 70 25 2b 31 32 29 3d |p%=t$:!(Mp%+12)=| 000034d0 26 37 30 32 30 37 3a 21 28 4d 70 25 2b 31 36 29 |&70207:!(Mp%+16)| 000034e0 3d 77 25 0d 01 8b 1c 21 28 4d 70 25 2b 32 30 29 |=w%....!(Mp%+20)| 000034f0 3d 34 34 3a 21 28 4d 70 25 2b 32 34 29 3d 30 0d |=44:!(Mp%+24)=0.| 00003500 01 8c 0e 4d 70 25 3d 4d 70 25 2b 32 38 0d 01 8d |...Mp%=Mp%+28...| 00003510 05 e1 0d 01 8e 1e dd f2 4d 65 6e 75 45 6e 74 72 |........MenuEntr| 00003520 79 28 61 25 2c 53 75 62 25 2c 66 25 2c 65 24 29 |y(a%,Sub%,f%,e$)| 00003530 0d 01 8f 16 e7 66 25 3d 31 8c 66 25 3d 26 30 37 |.....f%=1.f%=&07| 00003540 30 30 33 30 31 31 0d 01 90 16 e7 66 25 3d 32 8c |003011.....f%=2.| 00003550 66 25 3d 26 30 37 34 30 33 30 31 31 0d 01 91 0c |f%=&07403011....| 00003560 21 28 4d 70 25 29 3d 30 0d 01 92 1b 3f 28 4d 70 |!(Mp%)=0....?(Mp| 00003570 25 29 3d 61 25 3a 21 28 4d 70 25 2b 34 29 3d 53 |%)=a%:!(Mp%+4)=S| 00003580 75 62 25 0d 01 93 1c 21 28 4d 70 25 2b 38 29 3d |ub%....!(Mp%+8)=| 00003590 66 25 3a 24 28 4d 70 25 2b 31 32 29 3d 65 24 0d |f%:$(Mp%+12)=e$.| 000035a0 01 94 0e 4d 70 25 3d 4d 70 25 2b 32 34 0d 01 95 |...Mp%=Mp%+24...| 000035b0 05 e1 0d 01 96 11 dd f2 53 65 74 49 63 6f 6e 4d |........SetIconM| 000035c0 65 6e 75 0d 01 97 2c f2 4d 65 6e 75 53 74 61 72 |enu...,.MenuStar| 000035d0 74 28 4d 61 73 74 65 72 4d 65 6e 75 25 2c 22 41 |t(MasterMenu%,"A| 000035e0 72 63 56 65 6e 74 75 72 65 22 2c 31 34 30 29 0d |rcVenture",140).| 000035f0 01 98 24 f2 4d 65 6e 75 45 6e 74 72 79 28 30 2c |..$.MenuEntry(0,| 00003600 57 69 6e 5f 48 25 28 33 29 2c 31 2c 22 49 6e 66 |Win_H%(3),1,"Inf| 00003610 6f 22 29 0d 01 99 1f f2 4d 65 6e 75 45 6e 74 72 |o").....MenuEntr| 00003620 79 28 30 2c 30 2c 32 2c 22 52 65 73 74 61 72 74 |y(0,0,2,"Restart| 00003630 22 29 0d 01 9a 1f f2 4d 65 6e 75 45 6e 74 72 79 |").....MenuEntry| 00003640 28 30 2c 30 2c 32 2c 22 54 65 61 63 68 65 72 22 |(0,0,2,"Teacher"| 00003650 29 0d 01 9b 20 f2 4d 65 6e 75 45 6e 74 72 79 28 |)... .MenuEntry(| 00003660 30 2c 30 2c 32 2c 22 4a 6f 75 72 6e 61 6c 73 22 |0,0,2,"Journals"| 00003670 29 0d 01 9c 1e f2 4d 65 6e 75 45 6e 74 72 79 28 |).....MenuEntry(| 00003680 26 38 30 2c 30 2c 31 2c 22 51 75 69 74 22 29 0d |&80,0,1,"Quit").| 00003690 01 9d 05 e1 0d 01 9e 18 dd f2 47 65 74 57 69 6e |..........GetWin| 000036a0 64 6f 77 54 65 6d 70 6c 61 74 65 73 0d 01 9f 0f |dowTemplates....| 000036b0 70 25 3d 57 69 6e 64 6f 77 73 25 0d 01 a0 10 e7 |p%=Windows%.....| 000036c0 46 69 72 73 74 54 69 6d 65 25 8c 0d 01 a1 28 c8 |FirstTime%....(.| 000036d0 99 26 30 30 30 34 30 30 44 39 2c 2c 22 3c 41 72 |.&000400D9,,"<Ar| 000036e0 63 56 33 24 44 69 72 3e 2e 54 65 6d 70 6c 61 74 |cV3$Dir>.Templat| 000036f0 65 73 22 0d 01 a2 05 cc 0d 01 a3 28 c8 99 26 30 |es"........(..&0| 00003700 30 30 34 30 30 44 39 2c 2c 22 3c 41 72 63 56 33 |00400D9,,"<ArcV3| 00003710 24 44 69 72 3e 2e 54 65 6d 70 6c 61 74 65 73 22 |$Dir>.Templates"| 00003720 0d 01 a4 05 cd 0d 01 a5 2e 57 69 6e 50 6f 69 6e |.........WinPoin| 00003730 74 25 28 33 29 3d 70 25 3a 57 69 6e 5f 48 25 28 |t%(3)=p%:Win_H%(| 00003740 33 29 3d a4 4d 61 6b 65 57 69 6e 28 22 49 6e 66 |3)=.MakeWin("Inf| 00003750 6f 22 29 0d 01 a6 0f c8 99 26 30 30 30 34 30 30 |o")......&000400| 00003760 44 41 0d 01 a7 05 e1 0d 01 a8 11 dd a4 4d 61 6b |DA...........Mak| 00003770 65 57 69 6e 28 6e 24 29 0d 01 a9 0c 4f 6c 64 70 |eWin(n$)....Oldp| 00003780 25 3d 70 25 0d 01 aa 2b c8 99 26 30 30 30 34 30 |%=p%...+..&00040| 00003790 30 44 42 2c 2c 70 25 2c 70 25 2b 31 30 32 34 2c |0DB,,p%,p%+1024,| 000037a0 70 25 2b 32 30 34 38 2c 2d 31 2c 6e 24 2c 30 0d |p%+2048,-1,n$,0.| 000037b0 01 ab 0e 70 25 3d 70 25 2b 32 30 34 38 0d 01 ac |...p%=p%+2048...| 000037c0 19 c8 99 26 30 30 30 34 30 30 43 31 2c 2c 4f 6c |...&000400C1,,Ol| 000037d0 64 70 25 b8 77 25 0d 01 ad 07 3d 77 25 0d 01 ae |dp%.w%....=w%...| 000037e0 0f dd f2 47 65 74 50 6c 61 79 65 72 0d 01 af 10 |...GetPlayer....| 000037f0 f2 43 6c 65 61 72 50 6c 61 79 65 72 0d 01 b0 28 |.ClearPlayer...(| 00003800 24 50 4e 61 6d 65 25 3d 22 44 65 6d 6f 22 3a 21 |$PName%="Demo":!| 00003810 47 65 6e 64 65 72 25 3d 31 3a 4f 6c 64 47 61 6d |Gender%=1:OldGam| 00003820 65 25 3d a3 0d 01 b1 05 e1 0d 01 b2 17 dd f2 47 |e%=............G| 00003830 65 74 54 65 61 63 68 65 72 43 6f 6e 74 72 6f 6c |etTeacherControl| 00003840 0d 01 b3 05 e1 0d 01 b4 0f dd f2 47 65 74 56 6f |...........GetVo| 00003850 6c 75 6d 65 0d 01 b5 05 e1 0d 01 b6 15 dd f2 4d |lume...........M| 00003860 61 6b 65 53 70 72 69 74 65 54 61 62 6c 65 0d 01 |akeSpriteTable..| 00003870 b7 0b ea 73 6e 24 2c 63 25 0d 01 b8 09 f7 8d 74 |...sn$,c%......t| 00003880 7f 41 0d 01 b9 0c e3 63 25 3d 30 b8 38 35 0d 01 |.A.....c%=0.85..| 00003890 ba 08 f3 73 6e 24 0d 01 bb 2b 53 70 72 41 64 64 |...sn$...+SprAdd| 000038a0 25 28 63 25 29 3d a4 52 65 74 75 72 6e 41 64 64 |%(c%)=.ReturnAdd| 000038b0 72 65 73 73 4f 66 53 70 72 69 74 65 28 73 6e 24 |ressOfSprite(sn$| 000038c0 29 0d 01 bc 12 53 70 72 4e 6d 24 28 63 25 29 3d |)....SprNm$(c%)=| 000038d0 73 6e 24 0d 01 bd 07 ed 63 25 0d 01 be 05 e1 0d |sn$.....c%......| 000038e0 01 bf 53 dc 22 66 73 67 69 22 2c 22 61 72 63 31 |..S."fsgi","arc1| 000038f0 22 2c 22 64 69 67 22 2c 22 61 72 63 31 22 2c 22 |","dig","arc1","| 00003900 73 70 61 64 65 22 2c 22 74 72 6f 77 65 6c 22 2c |spade","trowel",| 00003910 22 62 72 75 73 68 22 2c 22 6d 61 67 6e 69 66 79 |"brush","magnify| 00003920 22 2c 22 64 69 67 73 70 72 31 22 2c 22 61 72 63 |","digspr1","arc| 00003930 32 22 0d 01 c0 3d dc 22 66 6c 61 67 31 22 2c 22 |2"...=."flag1","| 00003940 66 6c 61 67 32 22 2c 22 6e 22 2c 22 64 61 6d 61 |flag2","n","dama| 00003950 67 65 64 22 2c 22 6e 6f 6f 62 22 2c 22 6e 22 2c |ged","noob","n",| 00003960 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 0d |"n","n","n","n".| 00003970 01 c1 55 dc 22 62 64 69 67 31 22 2c 22 62 64 69 |..U."bdig1","bdi| 00003980 67 32 22 2c 22 62 64 69 67 33 22 2c 22 62 64 69 |g2","bdig3","bdi| 00003990 67 34 22 2c 22 62 64 69 67 35 22 2c 22 62 64 69 |g4","bdig5","bdi| 000039a0 67 36 22 2c 22 62 64 69 67 37 22 2c 22 62 64 69 |g6","bdig7","bdi| 000039b0 67 38 22 2c 22 62 64 69 67 39 22 2c 22 62 64 69 |g8","bdig9","bdi| 000039c0 67 31 30 22 0d 01 c2 3b dc 22 6e 22 2c 22 6e 22 |g10"...;."n","n"| 000039d0 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 |,"n","n","n","n"| 000039e0 2c 22 6e 22 2c 22 6e 22 2c 22 75 6e 6b 6e 6f 77 |,"n","n","unknow| 000039f0 6e 34 22 2c 22 75 6e 6b 6e 6f 77 6e 34 72 22 0d |n4","unknown4r".| 00003a00 01 c3 2c dc 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c |..,."n","n","n",| 00003a10 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c |"n","n","n","n",| 00003a20 22 6e 22 2c 22 6e 22 2c 22 6e 22 0d 01 c4 31 dc |"n","n","n"...1.| 00003a30 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c |"n","n","n","n",| * 00003a50 22 6a 75 67 22 2c 22 6a 75 67 72 22 0d 01 c5 32 |"jug","jugr"...2| 00003a60 dc 22 62 65 61 64 22 2c 22 62 65 61 64 22 2c 22 |."bead","bead","| 00003a70 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 |n","n","n","n","| 00003a80 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 0d 01 |n","n","n","n"..| 00003a90 c6 39 dc 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 |.9."n","n","n","| 00003aa0 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 61 78 65 68 |n","n","n","axeh| 00003ab0 65 61 64 22 2c 22 61 78 65 68 65 61 64 72 22 2c |ead","axeheadr",| 00003ac0 22 6e 22 2c 22 6e 22 0d 01 c7 1c dc 22 6e 22 2c |"n","n"....."n",| 00003ad0 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c |"n","n","n","n",| 00003ae0 22 6e 22 0d 01 c8 1b dd f2 54 69 6c 65 28 54 78 |"n"......Tile(Tx| 00003af0 25 2c 54 79 25 2c 54 77 25 2c 53 74 25 29 0d 01 |%,Ty%,Tw%,St%)..| 00003b00 c9 10 54 62 25 3d 30 3a 4f 73 24 3d 53 24 0d 01 |..Tb%=0:Os$=S$..| 00003b10 ca 24 e7 54 77 25 3d 2d 31 8c 54 77 25 3d a9 28 |.$.Tw%=-1.Tw%=.(| 00003b20 53 24 29 3a e7 54 77 25 3e 33 38 8c 54 77 25 3d |S$):.Tw%>38.Tw%=| 00003b30 33 38 0d 01 cb 23 e7 54 78 25 3d 2d 31 8c 54 78 |38...#.Tx%=-1.Tx| 00003b40 25 3d 36 34 30 2d 28 28 54 77 25 2a 33 32 29 2f |%=640-((Tw%*32)/| 00003b50 32 29 2d 32 30 0d 01 cc 12 f2 43 61 6c 63 54 65 |2)-20.....CalcTe| 00003b60 78 74 28 54 77 25 29 0d 01 cd 30 e7 53 74 25 3d |xt(Tw%)...0.St%=| 00003b70 34 8c 54 79 25 3d 54 79 25 2b 28 54 68 25 2a 34 |4.Ty%=Ty%+(Th%*4| 00003b80 30 29 3a 54 78 25 3d 54 78 25 2d 28 54 77 25 2a |0):Tx%=Tx%-(Tw%*| 00003b90 31 36 29 2b 31 32 38 0d 01 ce 16 e7 54 79 25 3e |16)+128.....Ty%>| 00003ba0 31 30 32 33 8c 54 79 25 3d 31 30 32 33 0d 01 cf |1023.Ty%=1023...| 00003bb0 1f 45 78 70 6f 72 74 54 78 25 3d 54 78 25 3a 45 |.ExportTx%=Tx%:E| 00003bc0 78 70 6f 72 74 54 77 25 3d 54 77 25 0d 01 d0 1f |xportTw%=Tw%....| 00003bd0 45 78 70 6f 72 74 54 68 25 3d 54 68 25 3a 45 78 |ExportTh%=Th%:Ex| 00003be0 70 6f 72 74 54 79 25 3d 54 79 25 0d 01 d1 17 e6 |portTy%=Ty%.....| 00003bf0 30 2c a4 47 63 6f 6c 28 26 38 38 38 38 38 38 30 |0,.Gcol(&8888880| 00003c00 30 29 0d 01 d2 42 e7 53 74 25 3d 32 8c f2 47 65 |0)...B.St%=2..Ge| 00003c10 74 54 65 6d 70 53 70 72 69 74 65 28 54 78 25 2c |tTempSprite(Tx%,| 00003c20 54 79 25 2d 28 54 68 25 2a 34 30 2b 32 38 29 2c |Ty%-(Th%*40+28),| 00003c30 54 77 25 2a 33 32 2b 34 30 2c 54 68 25 2a 34 30 |Tw%*32+40,Th%*40| 00003c40 2b 32 38 29 0d 01 d3 48 e7 53 74 25 3d 34 8c f2 |+28)...H.St%=4..| 00003c50 47 65 74 54 65 6d 70 53 70 72 69 74 65 28 54 78 |GetTempSprite(Tx| 00003c60 25 2c 54 79 25 2d 28 54 68 25 2a 34 30 2b 32 38 |%,Ty%-(Th%*40+28| 00003c70 29 2d 37 30 2c 54 77 25 2a 33 32 2b 34 30 2c 54 |)-70,Tw%*32+40,T| 00003c80 68 25 2a 34 30 2b 32 38 2b 37 30 29 0d 01 d4 ad |h%*40+28+70)....| 00003c90 e7 53 74 25 3c 3e 34 8c c8 93 c8 90 54 78 25 2c |.St%<>4.....Tx%,| 00003ca0 54 79 25 2c 54 77 25 2a 33 32 2b 34 30 2c 2d 54 |Ty%,Tw%*32+40,-T| 00003cb0 68 25 2a 34 30 2d 32 38 3a e6 30 2c a4 47 63 6f |h%*40-28:.0,.Gco| 00003cc0 6c 28 26 46 46 46 46 46 46 30 30 29 3a ec 54 78 |l(&FFFFFF00):.Tx| 00003cd0 25 2b 28 54 77 25 2a 33 32 29 2b 34 30 2c 54 79 |%+(Tw%*32)+40,Ty| 00003ce0 25 3a df 42 59 2d 28 54 77 25 2a 33 32 2b 34 30 |%:.BY-(Tw%*32+40| 00003cf0 29 2c 30 3a df 42 59 30 2c 2d 28 54 68 25 2a 34 |),0:.BY0,-(Th%*4| 00003d00 30 29 2d 32 38 3a e6 30 2c a4 47 63 6f 6c 28 26 |0)-28:.0,.Gcol(&| 00003d10 31 31 31 31 31 31 30 30 29 3a df 42 59 28 54 77 |11111100):.BY(Tw| 00003d20 25 2a 33 32 2b 34 30 29 2c 30 3a df 42 59 30 2c |%*32+40),0:.BY0,| 00003d30 54 68 25 2a 34 30 2b 32 38 0d 01 d5 72 e7 53 74 |Th%*40+28...r.St| 00003d40 25 3d 34 8c e6 30 2c a4 47 63 6f 6c 28 26 46 46 |%=4..0,.Gcol(&FF| 00003d50 46 46 46 46 30 30 29 3a c8 93 c8 90 54 78 25 2c |FFFF00):....Tx%,| 00003d60 54 79 25 2c 54 77 25 2a 33 32 2b 34 30 2c 2d 54 |Ty%,Tw%*32+40,-T| 00003d70 68 25 2a 34 30 2d 32 38 3a e6 30 2c a4 47 63 6f |h%*40-28:.0,.Gco| 00003d80 6c 28 26 30 30 30 30 30 30 30 30 29 3a c8 93 54 |l(&00000000):..T| 00003d90 78 25 2c 54 79 25 2c 54 77 25 2a 33 32 2b 34 30 |x%,Ty%,Tw%*32+40| 00003da0 2c 2d 54 68 25 2a 34 30 2d 32 38 0d 01 d6 26 e6 |,-Th%*40-28...&.| 00003db0 30 2c a4 47 63 6f 6c 28 26 30 30 30 30 30 30 30 |0,.Gcol(&0000000| 00003dc0 30 29 3a ec 54 78 25 2b 32 34 2c 54 79 25 2d 32 |0):.Tx%+24,Ty%-2| 00003dd0 34 0d 01 d7 23 e7 53 24 3c 3e 22 22 8c f2 54 54 |4...#.S$<>""..TT| 00003de0 65 78 74 28 54 78 25 2c 54 79 25 2c 54 77 25 2c |ext(Tx%,Ty%,Tw%,| 00003df0 54 68 25 29 0d 01 d8 4d e7 53 74 25 3d 31 84 53 |Th%)...M.St%=1.S| 00003e00 74 25 3d 32 8c e6 30 2c a4 47 63 6f 6c 28 26 46 |t%=2..0,.Gcol(&F| 00003e10 46 46 46 46 46 30 30 29 3a ec 54 78 25 2b 32 30 |FFFFF00):.Tx%+20| 00003e20 2c 54 79 25 2d 32 30 3a f2 54 54 65 78 74 28 54 |,Ty%-20:.TText(T| 00003e30 78 25 2d 34 2c 54 79 25 2c 54 77 25 2c 54 68 25 |x%-4,Ty%,Tw%,Th%| 00003e40 29 0d 01 d9 45 e7 53 74 25 3d 33 8c e6 30 2c a4 |)...E.St%=3..0,.| 00003e50 47 63 6f 6c 28 26 46 46 46 46 46 46 30 30 29 3a |Gcol(&FFFFFF00):| 00003e60 ec 54 78 25 2b 32 30 2c 54 79 25 2d 32 30 3a f2 |.Tx%+20,Ty%-20:.| 00003e70 54 54 65 78 74 28 54 78 25 2c 54 79 25 2c 54 77 |TText(Tx%,Ty%,Tw| 00003e80 25 2c 54 68 25 29 0d 01 da 0a 53 24 3d 4f 73 24 |%,Th%)....S$=Os$| 00003e90 0d 01 db 05 e1 0d 01 dc 20 dd f2 47 65 74 54 65 |........ ..GetTe| 00003ea0 6d 70 53 70 72 69 74 65 28 78 25 2c 79 25 2c 77 |mpSprite(x%,y%,w| 00003eb0 25 2c 68 25 29 0d 01 dd 1d e7 54 65 6d 70 53 70 |%,h%).....TempSp| 00003ec0 72 69 74 65 25 8c f2 52 65 70 6c 61 63 65 54 65 |rite%..ReplaceTe| 00003ed0 6d 70 0d 01 de 13 54 53 78 25 3d 78 25 3a 54 53 |mp....TSx%=x%:TS| 00003ee0 79 25 3d 79 25 0d 01 df 3a c8 99 26 30 30 30 30 |y%=y%...:..&0000| 00003ef0 30 30 32 45 2c 31 36 2b 32 35 36 2c 53 70 72 69 |002E,16+256,Spri| 00003f00 74 65 41 72 65 61 25 2c 22 74 22 2c 30 2c 78 25 |teArea%,"t",0,x%| 00003f10 2c 79 25 2c 78 25 2b 77 25 2c 79 25 2b 68 25 0d |,y%,x%+w%,y%+h%.| 00003f20 01 e0 11 54 65 6d 70 53 70 72 69 74 65 25 3d b9 |...TempSprite%=.| 00003f30 0d 01 e1 05 e1 0d 01 e2 11 dd f2 52 65 70 6c 61 |...........Repla| 00003f40 63 65 54 65 6d 70 0d 01 e3 06 ea 85 0d 01 e4 17 |ceTemp..........| 00003f50 e7 54 65 6d 70 53 70 72 69 74 65 25 3d a3 8c f7 |.TempSprite%=...| 00003f60 85 3a e1 0d 01 e5 0b ee 85 ea f7 85 3a e1 0d 01 |.:..........:...| 00003f70 e6 32 c8 99 26 30 30 30 30 30 30 32 45 2c 33 34 |.2..&0000002E,34| 00003f80 2b 32 35 36 2c 53 70 72 69 74 65 41 72 65 61 25 |+256,SpriteArea%| 00003f90 2c 22 74 22 2c 54 53 78 25 2c 54 53 79 25 2c 30 |,"t",TSx%,TSy%,0| 00003fa0 0d 01 e7 26 c8 99 26 30 30 30 30 30 30 32 45 2c |...&..&0000002E,| 00003fb0 32 35 2b 32 35 36 2c 53 70 72 69 74 65 41 72 65 |25+256,SpriteAre| 00003fc0 61 25 2c 22 74 22 0d 01 e8 11 54 65 6d 70 53 70 |a%,"t"....TempSp| 00003fd0 72 69 74 65 25 3d a3 0d 01 e9 06 f7 85 0d 01 ea |rite%=..........| 00003fe0 05 e1 0d 01 eb 11 dd f2 44 69 73 63 61 72 64 54 |........DiscardT| 00003ff0 65 6d 70 0d 01 ec 06 ea 85 0d 01 ed 17 e7 54 65 |emp...........Te| 00004000 6d 70 53 70 72 69 74 65 25 3d a3 8c f7 85 3a e1 |mpSprite%=....:.| 00004010 0d 01 ee 0b ee 85 ea f7 85 3a e1 0d 01 ef 26 c8 |.........:....&.| 00004020 99 26 30 30 30 30 30 30 32 45 2c 32 35 2b 32 35 |.&0000002E,25+25| 00004030 36 2c 53 70 72 69 74 65 41 72 65 61 25 2c 22 74 |6,SpriteArea%,"t| 00004040 22 0d 01 f0 11 54 65 6d 70 53 70 72 69 74 65 25 |"....TempSprite%| 00004050 3d a3 0d 01 f1 06 f7 85 0d 01 f2 05 e1 0d 01 f3 |=...............| 00004060 20 dd f2 42 6c 61 6e 6b 54 69 6c 65 28 54 78 25 | ..BlankTile(Tx%| 00004070 2c 54 79 25 2c 54 77 25 2c 54 68 25 29 0d 01 f4 |,Ty%,Tw%,Th%)...| 00004080 17 e6 30 2c a4 47 63 6f 6c 28 26 38 38 38 38 38 |..0,.Gcol(&88888| 00004090 38 30 30 29 0d 01 f5 73 c8 93 c8 90 54 78 25 2c |800)...s....Tx%,| 000040a0 54 79 25 2c 54 77 25 2c 2d 54 68 25 3a e6 30 2c |Ty%,Tw%,-Th%:.0,| 000040b0 a4 47 63 6f 6c 28 26 46 46 46 46 46 46 30 30 29 |.Gcol(&FFFFFF00)| 000040c0 3a ec 54 78 25 2b 54 77 25 2c 54 79 25 3a df 42 |:.Tx%+Tw%,Ty%:.B| 000040d0 59 2d 54 77 25 2c 30 3a df 42 59 30 2c 2d 54 68 |Y-Tw%,0:.BY0,-Th| 000040e0 25 3a e6 30 2c a4 47 63 6f 6c 28 26 32 32 32 32 |%:.0,.Gcol(&2222| 000040f0 32 32 30 30 29 3a df 42 59 54 77 25 2c 30 3a df |2200):.BYTw%,0:.| 00004100 42 59 30 2c 54 68 25 0d 01 f6 05 e1 0d 01 f7 1c |BY0,Th%.........| 00004110 dd f2 54 54 65 78 74 28 54 78 25 2c 54 79 25 2c |..TText(Tx%,Ty%,| 00004120 54 77 25 2c 54 68 25 29 0d 01 f8 0e ea 74 25 2c |Tw%,Th%).....t%,| 00004130 6e 25 2c 53 79 25 0d 01 f9 06 ef 35 0d 01 fa 33 |n%,Sy%.....5...3| 00004140 ef 32 34 2c 54 78 25 2b 32 30 3b 54 79 25 2d 28 |.24,Tx%+20;Ty%-(| 00004150 54 68 25 2a 34 30 29 2d 34 30 3b 54 78 25 2b 28 |Th%*40)-40;Tx%+(| 00004160 54 77 25 2a 33 32 29 2b 32 30 3b 54 79 25 3b 0d |Tw%*32)+20;Ty%;.| 00004170 01 fb 0f e3 66 25 3d 31 b8 a9 28 53 24 29 0d 01 |....f%=1..(S$)..| 00004180 fc 0f f1 c1 53 24 2c 66 25 2c 31 29 3b 0d 01 fd |....S$,f%,1);...| 00004190 1a e7 c1 53 24 2c 66 25 2c 31 29 3d bd 31 33 8c |...S$,f%,1)=.13.| 000041a0 ec 42 59 30 2c 2d 38 0d 01 fe 07 ed 66 25 0d 01 |.BY0,-8.....f%..| 000041b0 ff 07 ef 32 36 0d 02 00 14 e7 50 72 69 6e 74 65 |...26.....Printe| 000041c0 72 4f 6e 25 3d a3 8c ef 34 0d 02 01 05 87 0d 02 |rOn%=...4.......| 000041d0 02 05 e1 0d 02 03 13 dd f2 43 61 6c 63 54 65 78 |.........CalcTex| 000041e0 74 28 54 77 25 29 0d 02 04 15 54 70 25 3d 30 3a |t(Tw%)....Tp%=0:| 000041f0 41 70 25 3d 30 3a 54 68 25 3d 31 0d 02 05 05 f5 |Ap%=0:Th%=1.....| 00004200 0d 02 06 11 54 70 25 3d 54 70 25 2b 54 77 25 2b |....Tp%=Tp%+Tw%+| 00004210 31 0d 02 07 0f e7 54 70 25 3c a9 28 53 24 29 8c |1.....Tp%<.(S$).| 00004220 0d 02 08 1b c8 95 c1 53 24 2c 54 70 25 2c 31 29 |.......S$,Tp%,1)| 00004230 3c 3e 22 20 22 80 54 70 25 3e 30 0d 02 09 0d 54 |<>" ".Tp%>0....T| 00004240 70 25 3d 54 70 25 2d 31 0d 02 0a 05 ce 0d 02 0b |p%=Tp%-1........| 00004250 28 53 24 3d c0 53 24 2c 54 70 25 2d 31 29 2b bd |(S$=.S$,Tp%-1)+.| 00004260 31 33 2b bd 31 30 2b c2 53 24 2c a9 28 53 24 29 |13+.10+.S$,.(S$)| 00004270 2d 54 70 25 29 0d 02 0c 17 54 68 25 3d 54 68 25 |-Tp%)....Th%=Th%| 00004280 2b 31 3a 54 70 25 3d 54 70 25 2b 31 0d 02 0d 05 |+1:Tp%=Tp%+1....| 00004290 cd 0d 02 0e 0f fd 54 70 25 3e 3d a9 28 53 24 29 |......Tp%>=.(S$)| 000042a0 0d 02 0f 05 e1 0d 02 10 1b dd f2 4f 76 61 6c 28 |...........Oval(| 000042b0 54 78 25 2c 54 79 25 2c 54 77 25 2c 54 68 25 29 |Tx%,Ty%,Tw%,Th%)| 000042c0 0d 02 11 4f ec 28 54 78 25 2b 28 54 77 25 2f 32 |...O.(Tx%+(Tw%/2| 000042d0 29 2b 33 32 29 2c 54 79 25 2d 28 54 68 25 2f 32 |)+32),Ty%-(Th%/2| 000042e0 29 3a ec 42 59 54 77 25 2f 32 2b 36 34 2c 30 3a |):.BYTw%/2+64,0:| 000042f0 f0 26 43 44 2c 54 78 25 2b 28 54 77 25 2f 32 29 |.&CD,Tx%+(Tw%/2)| 00004300 2b 33 32 2c 54 79 25 2b 28 54 68 25 2f 32 29 0d |+32,Ty%+(Th%/2).| 00004310 02 12 05 e1 0d 02 13 1e dd f2 42 61 63 6b 52 65 |..........BackRe| 00004320 6d 28 54 78 25 2c 54 79 25 2c 54 77 25 2c 54 79 |m(Tx%,Ty%,Tw%,Ty| 00004330 25 29 0d 02 14 1d ec 54 78 25 2c 54 79 25 2d 54 |%).....Tx%,Ty%-T| 00004340 68 25 3a ec 54 78 25 2b 54 77 25 2c 54 79 25 0d |h%:.Tx%+Tw%,Ty%.| 00004350 02 15 0e 2a 53 47 45 54 20 74 65 6d 70 0d 02 16 |...*SGET temp...| 00004360 05 e1 0d 02 17 0e dd f2 57 61 69 74 28 74 25 29 |........Wait(t%)| 00004370 0d 02 18 07 d1 3d 30 0d 02 19 0b f5 3a fd 91 3d |.....=0.....:..=| 00004380 74 25 0d 02 1a 05 e1 0d 02 1b 0d dd f2 43 6f 6e |t%...........Con| 00004390 73 6f 6c 65 0d 02 1c 06 c8 96 0d 02 1d 1a e7 50 |sole...........P| 000043a0 61 72 74 25 3d 31 8c 46 73 67 69 4e 75 6d 62 65 |art%=1.FsgiNumbe| 000043b0 72 25 3d 30 0d 02 1e 22 f2 50 6c 6f 74 53 70 72 |r%=0...".PlotSpr| 000043c0 69 74 65 28 46 73 67 69 4e 75 6d 62 65 72 25 2c |ite(FsgiNumber%,| 000043d0 30 2c 30 2c 30 29 0d 02 1f 26 e7 50 61 72 74 25 |0,0,0)...&.Part%| 000043e0 3d 32 8c f2 50 6c 6f 74 53 70 72 69 74 65 28 31 |=2..PlotSprite(1| 000043f0 34 35 2c 37 32 30 2c 32 38 2c 30 29 0d 02 20 2e |45,720,28,0).. .| 00004400 e7 50 61 72 74 25 3d 31 8c f2 43 6c 6f 63 6b 3a |.Part%=1..Clock:| 00004410 e7 44 6f 69 6e 67 4f 62 6a 65 63 74 49 6e 66 6f |.DoingObjectInfo| 00004420 25 3d a3 8c f2 54 6f 6f 6c 73 0d 02 21 2e e7 50 |%=...Tools..!..P| 00004430 61 72 74 25 3d 32 80 44 6f 6e 74 50 72 69 6e 74 |art%=2.DontPrint| 00004440 4f 62 6a 65 63 74 73 25 3d a3 8c f2 50 72 69 6e |Objects%=...Prin| 00004450 74 4f 62 6a 65 63 74 73 0d 02 22 05 e1 0d 02 23 |tObjects.."....#| 00004460 1a dd f2 53 68 61 64 6f 77 28 53 68 78 25 2c 53 |...Shadow(Shx%,S| 00004470 68 79 25 2c 53 24 29 0d 02 24 06 ef 35 0d 02 25 |hy%,S$)..$..5..%| 00004480 20 e6 30 2c a4 47 63 6f 6c 28 30 29 3a ec 53 68 | .0,.Gcol(0):.Sh| 00004490 78 25 2c 53 68 79 25 2d 34 3a f1 53 24 0d 02 26 |x%,Shy%-4:.S$..&| 000044a0 16 ec 53 68 78 25 2b 34 2c 53 68 79 25 2d 34 3a |..Shx%+4,Shy%-4:| 000044b0 f1 53 24 0d 02 27 26 e6 30 2c a4 47 63 6f 6c 28 |.S$..'&.0,.Gcol(| 000044c0 26 46 46 46 46 46 46 30 30 29 3a ec 53 68 78 25 |&FFFFFF00):.Shx%| 000044d0 2c 53 68 79 25 3a f1 53 24 0d 02 28 06 ef 34 0d |,Shy%:.S$..(..4.| 000044e0 02 29 05 87 0d 02 2a 05 e1 0d 02 2b 0c dd f2 53 |.)....*....+...S| 000044f0 63 72 43 6c 6f 0d 02 2c 07 ea 77 25 0d 02 2d 10 |crClo..,..w%..-.| 00004500 e3 77 25 3d 30 b8 39 30 30 88 33 32 0d 02 2e 07 |.w%=0.900.32....| 00004510 d1 3d 30 0d 02 2f 09 e6 30 2c 31 33 0d 02 30 10 |.=0../..0,13..0.| 00004520 c8 8f 36 34 30 2c 35 31 32 2c 77 25 0d 02 31 08 |..640,512,w%..1.| 00004530 e6 30 2c 30 0d 02 32 15 c8 8f c8 90 36 34 30 2c |.0,0..2.....640,| 00004540 35 31 32 2c 77 25 2d 32 30 0d 02 33 0a f5 3a fd |512,w%-20..3..:.| 00004550 91 3e 30 0d 02 34 07 ed 77 25 0d 02 35 05 e1 0d |.>0..4..w%..5...| 00004560 02 36 16 dd f2 43 6f 6e 74 42 6f 78 28 63 78 25 |.6...ContBox(cx%| 00004570 2c 63 79 25 29 0d 02 37 13 ea 78 25 2c 79 25 2c |,cy%)..7..x%,y%,| 00004580 62 25 2c 7a 25 2c 63 24 0d 02 38 0b 63 77 25 3d |b%,z%,c$..8.cw%=| 00004590 32 39 36 0d 02 39 1b e7 63 78 25 3d 2d 31 8c 63 |296..9..cx%=-1.c| 000045a0 78 25 3d 34 39 32 3a 63 77 25 3d 32 39 36 0d 02 |x%=492:cw%=296..| 000045b0 3a 1b e7 63 78 25 3d 2d 32 8c 63 78 25 3d 32 36 |:..cx%=-2.cx%=26| 000045c0 38 3a 63 77 25 3d 37 34 34 0d 02 3b 33 63 24 3d |8:cw%=744..;3c$=| 000045d0 22 63 6f 6e 74 22 2b c3 28 43 6f 6e 74 43 6f 75 |"cont"+.(ContCou| 000045e0 6e 74 25 29 3a 43 6f 6e 74 43 6f 75 6e 74 25 3d |nt%):ContCount%=| 000045f0 43 6f 6e 74 43 6f 75 6e 74 25 2b 31 0d 02 3c 3e |ContCount%+1..<>| 00004600 c8 99 26 30 30 30 30 30 30 32 45 2c 31 36 2b 32 |..&0000002E,16+2| 00004610 35 36 2c 53 70 72 69 74 65 41 72 65 61 25 2c 63 |56,SpriteArea%,c| 00004620 24 2c 30 2c 63 78 25 2c 63 79 25 2d 36 38 2c 63 |$,0,cx%,cy%-68,c| 00004630 78 25 2b 63 77 25 2c 63 79 25 0d 02 3d 0e 43 6f |x%+cw%,cy%..=.Co| 00004640 6e 74 42 6f 78 25 3d b9 0d 02 3e 38 e7 63 77 25 |ntBox%=...>8.cw%| 00004650 3d 37 34 34 8c 53 24 3d 22 43 6c 69 63 6b 20 68 |=744.S$="Click h| 00004660 65 72 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 22 |ere to continue"| 00004670 8b 53 24 3d 22 43 6f 6e 74 69 6e 75 65 22 3a cd |.S$="Continue":.| 00004680 0d 02 3f 1f 45 78 70 6f 72 74 63 78 25 3d 63 78 |..?.Exportcx%=cx| 00004690 25 3a 45 78 70 6f 72 74 63 79 25 3d 63 79 25 0d |%:Exportcy%=cy%.| 000046a0 02 40 20 f2 54 69 6c 65 28 63 78 25 2c 63 79 25 |.@ .Tile(cx%,cy%| 000046b0 2c 28 63 77 25 2d 34 30 29 81 33 32 2c 33 29 0d |,(cw%-40).32,3).| 000046c0 02 41 05 f5 0d 02 42 0a f2 4d 6f 75 73 65 0d 02 |.A....B..Mouse..| 000046d0 43 5f fd 28 42 75 74 74 6f 6e 50 72 65 73 73 65 |C_.(ButtonPresse| 000046e0 64 25 3d 34 80 4d 6f 75 73 65 58 25 3e 63 78 25 |d%=4.MouseX%>cx%| 000046f0 80 4d 6f 75 73 65 58 25 3c 63 78 25 2b 63 77 25 |.MouseX%<cx%+cw%| 00004700 80 4d 6f 75 73 65 59 25 3e 63 79 25 2d 37 32 80 |.MouseY%>cy%-72.| 00004710 4d 6f 75 73 65 59 25 3c 63 79 25 29 84 41 6e 73 |MouseY%<cy%).Ans| 00004720 77 65 72 51 75 65 73 74 69 6f 6e 73 25 0d 02 44 |werQuestions%..D| 00004730 32 c8 99 26 30 30 30 30 30 30 32 45 2c 33 34 2b |2..&0000002E,34+| 00004740 32 35 36 2c 53 70 72 69 74 65 41 72 65 61 25 2c |256,SpriteArea%,| 00004750 63 24 2c 63 78 25 2c 63 79 25 2d 36 38 2c 30 0d |c$,cx%,cy%-68,0.| 00004760 02 45 1b 43 6f 6e 74 43 6f 75 6e 74 25 3d 43 6f |.E.ContCount%=Co| 00004770 6e 74 43 6f 75 6e 74 25 2d 31 0d 02 46 05 f5 0d |ntCount%-1..F...| 00004780 02 47 0e c8 97 78 25 2c 79 25 2c 62 25 0d 02 48 |.G...x%,y%,b%..H| 00004790 1a fd 62 25 3d 30 84 41 6e 73 77 65 72 51 75 65 |..b%=0.AnswerQue| 000047a0 73 74 69 6f 6e 73 25 0d 02 49 0b 2a 46 58 31 35 |stions%..I.*FX15| 000047b0 2c 30 0d 02 4a 0e 43 6f 6e 74 42 6f 78 25 3d a3 |,0..J.ContBox%=.| 000047c0 0d 02 4b 05 e1 0d 02 4c 09 dd f2 43 6c 77 0d 02 |..K....L...Clw..| 000047d0 4d 08 e6 30 2c 30 0d 02 4e 16 c8 93 c8 90 30 2c |M..0,0..N.....0,| 000047e0 32 35 36 2c 31 32 37 39 2c 37 36 37 0d 02 4f 05 |256,1279,767..O.| 000047f0 e1 0d 02 50 14 dd f2 53 70 65 61 6b 28 73 78 25 |...P...Speak(sx%| 00004800 2c 73 79 25 29 0d 02 51 0d ea 58 4f 66 66 73 65 |,sy%)..Q..XOffse| 00004810 74 25 0d 02 52 0e 58 4f 66 66 73 65 74 25 3d 30 |t%..R.XOffset%=0| 00004820 0d 02 53 1e e7 a9 28 53 24 29 3e 32 35 8c 73 77 |..S...(S$)>25.sw| 00004830 25 3d 32 35 8b 73 77 25 3d a9 28 53 24 29 0d 02 |%=25.sw%=.(S$)..| 00004840 54 31 e7 73 78 25 2b 28 73 77 25 2a 33 32 29 3e |T1.sx%+(sw%*32)>| 00004850 31 32 37 39 8c 58 4f 66 66 73 65 74 25 3d 73 78 |1279.XOffset%=sx| 00004860 25 2b 28 73 77 25 2a 33 32 29 2d 31 32 37 39 0d |%+(sw%*32)-1279.| 00004870 02 55 31 e7 73 78 25 2d 28 28 73 77 25 2a 33 32 |.U1.sx%-((sw%*32| 00004880 29 2f 32 29 3c 30 8c 58 4f 66 66 73 65 74 25 3d |)/2)<0.XOffset%=| 00004890 73 78 25 2d 28 28 73 77 25 2a 33 32 29 2f 32 29 |sx%-((sw%*32)/2)| 000048a0 0d 02 56 16 e7 73 79 25 3e 31 30 32 33 8c 73 79 |..V..sy%>1023.sy| 000048b0 25 3d 31 30 32 33 0d 02 57 0d 64 25 3d 53 70 44 |%=1023..W.d%=SpD| 000048c0 69 72 25 0d 02 58 25 f2 54 69 6c 65 28 73 78 25 |ir%..X%.Tile(sx%| 000048d0 2d 28 58 4f 66 66 73 65 74 25 2f 32 29 2c 73 79 |-(XOffset%/2),sy| 000048e0 25 2c 73 77 25 2c 34 29 0d 02 59 11 73 68 25 3d |%,sw%,4)..Y.sh%=| 000048f0 45 78 70 6f 72 74 54 68 25 0d 02 5a 2c 73 79 25 |ExportTh%..Z,sy%| 00004900 3d 45 78 70 6f 72 74 54 79 25 3a 73 78 25 3d 45 |=ExportTy%:sx%=E| 00004910 78 70 6f 72 74 54 78 25 2b 28 58 4f 66 66 73 65 |xportTx%+(XOffse| 00004920 74 25 2f 32 29 0d 02 5b 17 e6 30 2c a4 47 63 6f |t%/2)..[..0,.Gco| 00004930 6c 28 26 46 46 46 46 46 46 30 30 29 0d 02 5c 42 |l(&FFFFFF00)..\B| 00004940 ec 73 78 25 2b 28 73 77 25 2a 31 36 29 2c 73 79 |.sx%+(sw%*16),sy| 00004950 25 2d 28 73 68 25 2a 34 30 29 2d 32 38 3a ec 73 |%-(sh%*40)-28:.s| 00004960 78 25 2b 28 73 77 25 2a 31 36 29 2b 35 30 2c 73 |x%+(sw%*16)+50,s| 00004970 79 25 2d 28 73 68 25 2a 34 30 29 2d 32 38 0d 02 |y%-(sh%*40)-28..| 00004980 5d 22 e7 64 25 3d 30 8c f0 26 35 31 2c 2d 37 30 |]".d%=0..&51,-70| 00004990 2c 2d 37 30 8b f0 26 35 31 2c 37 30 2c 2d 37 30 |,-70..&51,70,-70| 000049a0 0d 02 5e 17 e6 30 2c a4 47 63 6f 6c 28 26 30 30 |..^..0,.Gcol(&00| 000049b0 30 30 30 30 30 30 29 0d 02 5f 24 ec 73 78 25 2b |000000).._$.sx%+| 000049c0 28 73 77 25 2a 31 36 29 2b 35 30 2c 73 79 25 2d |(sw%*16)+50,sy%-| 000049d0 28 73 68 25 2a 34 30 29 2d 32 38 0d 02 60 1e e7 |(sh%*40)-28..`..| 000049e0 64 25 3d 30 8c df 42 59 2d 37 30 2c 2d 37 30 8b |d%=0..BY-70,-70.| 000049f0 df 42 59 37 30 2c 2d 37 30 0d 02 61 21 df 73 78 |.BY70,-70..a!.sx| 00004a00 25 2b 28 73 77 25 2a 31 36 29 2c 73 79 25 2d 28 |%+(sw%*16),sy%-(| 00004a10 73 68 25 2a 34 30 29 2d 32 38 0d 02 62 0c 53 70 |sh%*40)-28..b.Sp| 00004a20 44 69 72 25 3d 30 0d 02 63 05 e1 0d 02 64 0b dd |Dir%=0..c....d..| 00004a30 f2 4d 6f 75 73 65 0d 02 65 16 ea 78 25 2c 79 25 |.Mouse..e..x%,y%| 00004a40 2c 62 25 2c 7a 25 2c 4b 24 2c 6c 25 0d 02 66 05 |,b%,z%,K$,l%..f.| 00004a50 f5 0d 02 67 11 c8 97 78 25 2c 79 25 2c 62 25 2c |...g...x%,y%,b%,| 00004a60 7a 25 0d 02 68 0b 4b 24 3d bf 28 30 29 0d 02 69 |z%..h.K$=.(0)..i| 00004a70 1e e7 41 6e 73 77 65 72 51 75 65 73 74 69 6f 6e |..AnswerQuestion| 00004a80 73 25 3d b9 8c 4b 24 3d 22 a9 22 0d 02 6a 26 e7 |s%=..K$="."..j&.| 00004a90 a6 28 2d 36 33 29 80 50 61 72 74 25 3d 32 8c 41 |.(-63).Part%=2.A| 00004aa0 6e 73 77 65 72 51 75 65 73 74 69 6f 6e 73 25 3d |nswerQuestions%=| 00004ab0 b9 0d 02 6b 11 e7 a6 28 2d 35 29 84 a6 28 2d 38 |...k...(-5)..(-8| 00004ac0 29 8c 0d 02 6c 30 e7 a6 28 2d 31 37 29 80 43 6f |)...l0..(-17).Co| 00004ad0 6e 74 43 6f 75 6e 74 25 3c 34 8c 85 39 39 2c 22 |ntCount%<4..99,"| 00004ae0 52 65 74 75 72 6e 20 74 6f 20 44 65 73 6b 74 6f |Return to Deskto| 00004af0 70 22 0d 02 6d 05 cd 0d 02 6e 5a e7 a6 28 2d 38 |p"..m....nZ..(-8| 00004b00 33 29 80 a6 28 2d 38 35 29 80 a6 28 2d 33 35 29 |3)..(-85)..(-35)| 00004b10 80 a6 28 2d 36 36 29 80 a6 28 2d 33 36 29 80 50 |..(-66)..(-36).P| 00004b20 61 72 74 25 3d 31 8c e3 6c 25 3d 30 b8 31 39 3a |art%=1..l%=0.19:| 00004b30 3f 28 50 4f 62 6a 65 63 74 73 25 2b 6c 25 29 3d |?(PObjects%+l%)=| 00004b40 6c 25 3a ed 6c 25 3a 21 50 4f 62 4e 6f 25 3d 31 |l%:.l%:!PObNo%=1| 00004b50 39 0d 02 6f 3d e7 a6 28 2d 33 36 29 80 a6 28 2d |9..o=..(-36)..(-| 00004b60 33 38 29 80 a6 28 2d 31 30 32 29 80 a6 28 2d 33 |38)..(-102)..(-3| 00004b70 35 29 80 50 61 72 74 25 3d 31 8c f2 43 6c 6f 63 |5).Part%=1..Cloc| 00004b80 6b 41 64 76 61 6e 63 65 28 2d 31 2c 31 29 0d 02 |kAdvance(-1,1)..| 00004b90 70 37 e7 a6 28 2d 38 35 29 80 a6 28 2d 33 35 29 |p7..(-85)..(-35)| 00004ba0 80 a6 28 2d 38 37 29 80 a6 28 2d 35 36 29 80 50 |..(-87)..(-56).P| 00004bb0 61 72 74 25 3d 32 8c f2 52 65 74 75 72 6e 54 6f |art%=2..ReturnTo| 00004bc0 52 6f 6f 6d 31 0d 02 71 14 e7 a6 28 2d 31 31 34 |Room1..q...(-114| 00004bd0 29 8c 53 56 6f 6c 25 3d 30 0d 02 72 16 e7 a6 28 |).SVol%=0..r...(| 00004be0 2d 31 31 35 29 8c 53 56 6f 6c 25 3d 2d 31 30 0d |-115).SVol%=-10.| 00004bf0 02 73 27 e7 28 4b 24 3d 22 44 22 84 4b 24 3d 22 |.s'.(K$="D".K$="| 00004c00 64 22 29 80 50 61 72 74 25 3d 32 8c f2 43 6c 6f |d").Part%=2..Clo| 00004c10 73 65 44 6f 6f 72 0d 02 74 21 e7 28 4b 24 3d 22 |seDoor..t!.(K$="| 00004c20 a4 22 29 80 50 61 72 74 25 3d 32 8c 21 50 4d 6f |.").Part%=2.!PMo| 00004c30 6e 65 79 25 3d 31 30 0d 02 75 0f e7 ac 43 6f 6e |ney%=10..u...Con| 00004c40 74 42 6f 78 25 8c 0d 02 76 22 e7 28 4b 24 3d 22 |tBox%...v".(K$="| 00004c50 4c 22 84 4b 24 3d 22 6c 22 29 80 50 61 72 74 25 |L".K$="l").Part%| 00004c60 3d 32 8c f2 4c 6f 6f 6b 0d 02 77 28 e7 28 4b 24 |=2..Look..w(.(K$| 00004c70 3d 22 4d 22 84 4b 24 3d 22 6d 22 29 80 50 61 72 |="M".K$="m").Par| 00004c80 74 25 3d 32 8c f2 50 72 69 6e 74 4d 6f 6e 65 79 |t%=2..PrintMoney| 00004c90 0d 02 78 05 cd 0d 02 79 11 fd 62 25 3c 3e 30 84 |..x....y..b%<>0.| 00004ca0 4b 24 3c 3e 22 22 0d 02 7a 15 42 75 74 74 6f 6e |K$<>""..z.Button| 00004cb0 50 72 65 73 73 65 64 25 3d 62 25 0d 02 7b 0e 4d |Pressed%=b%..{.M| 00004cc0 6f 75 73 65 58 25 3d 78 25 0d 02 7c 0e 4d 6f 75 |ouseX%=x%..|.Mou| 00004cd0 73 65 59 25 3d 79 25 0d 02 7d 12 4b 65 79 50 72 |seY%=y%..}.KeyPr| 00004ce0 65 73 73 65 64 24 3d 4b 24 0d 02 7e 2e e7 4b 65 |essed$=K$..~..Ke| 00004cf0 79 50 72 65 73 73 65 64 24 3c 3e 22 22 8c 4d 6f |yPressed$<>"".Mo| 00004d00 75 73 65 58 25 3d 39 39 39 39 3a 4d 6f 75 73 65 |useX%=9999:Mouse| 00004d10 59 25 3d 39 39 39 39 0d 02 7f 05 e1 0d 02 80 13 |Y%=9999.........| 00004d20 dd a4 43 6f 6e 4c 6f 63 28 78 25 2c 79 25 29 0d |..ConLoc(x%,y%).| 00004d30 02 81 09 ea 4c 6f 63 25 0d 02 82 0a 4c 6f 63 25 |....Loc%....Loc%| 00004d40 3d 30 0d 02 83 20 e7 79 25 3c 32 32 34 80 79 25 |=0... .y%<224.y%| 00004d50 3e 34 30 80 78 25 3e 34 31 80 78 25 3c 31 32 33 |>40.x%>41.x%<123| 00004d60 33 8c 0d 02 84 0c e7 78 25 3c 37 30 30 8c 0d 02 |3......x%<700...| 00004d70 85 12 e7 79 25 3e 31 36 38 8c 4c 6f 63 25 3d 31 |...y%>168.Loc%=1| 00004d80 0d 02 86 19 e7 79 25 3c 31 36 38 80 79 25 3e 31 |.....y%<168.y%>1| 00004d90 30 30 8c 4c 6f 63 25 3d 32 0d 02 87 12 e7 79 25 |00.Loc%=2.....y%| 00004da0 3c 31 30 30 8c 4c 6f 63 25 3d 33 0d 02 88 05 cd |<100.Loc%=3.....| 00004db0 0d 02 89 13 e7 78 25 3e 37 30 30 80 78 25 3c 38 |.....x%>700.x%<8| 00004dc0 30 30 8c 0d 02 8a 12 e7 79 25 3e 31 33 30 8c 4c |00......y%>130.L| 00004dd0 6f 63 25 3d 34 0d 02 8b 12 e7 79 25 3c 31 33 30 |oc%=4.....y%<130| 00004de0 8c 4c 6f 63 25 3d 36 0d 02 8c 05 cd 0d 02 8d 13 |.Loc%=6.........| 00004df0 e7 78 25 3e 38 30 30 80 78 25 3c 39 32 34 8c 0d |.x%>800.x%<924..| 00004e00 02 8e 12 e7 79 25 3e 31 33 30 8c 4c 6f 63 25 3d |....y%>130.Loc%=| 00004e10 35 0d 02 8f 12 e7 79 25 3c 31 33 30 8c 4c 6f 63 |5.....y%<130.Loc| 00004e20 25 3d 37 0d 02 90 05 cd 0d 02 91 14 e7 78 25 3e |%=7..........x%>| 00004e30 39 33 30 80 78 25 3c 31 30 39 30 8c 0d 02 92 12 |930.x%<1090.....| 00004e40 e7 79 25 3e 31 33 30 8c 4c 6f 63 25 3d 38 0d 02 |.y%>130.Loc%=8..| 00004e50 93 13 e7 79 25 3c 31 33 30 8c 4c 6f 63 25 3d 31 |...y%<130.Loc%=1| 00004e60 30 0d 02 94 05 cd 0d 02 95 0d e7 78 25 3e 31 30 |0..........x%>10| 00004e70 39 30 8c 0d 02 96 12 e7 79 25 3e 31 33 30 8c 4c |90......y%>130.L| 00004e80 6f 63 25 3d 39 0d 02 97 13 e7 79 25 3c 31 33 30 |oc%=9.....y%<130| 00004e90 8c 4c 6f 63 25 3d 31 31 0d 02 98 05 cd 0d 02 99 |.Loc%=11........| 00004ea0 05 cd 0d 02 9a 1c e7 41 6e 73 77 65 72 51 75 65 |.......AnswerQue| 00004eb0 73 74 69 6f 6e 73 25 8c 4c 6f 63 25 3d 34 0d 02 |stions%.Loc%=4..| 00004ec0 9b 09 3d 4c 6f 63 25 0d 02 9c 12 dd f2 4f 70 28 |..=Loc%......Op(| 00004ed0 61 24 2c 62 24 2c 63 24 29 0d 02 9d 0d ea 78 25 |a$,b$,c$).....x%| 00004ee0 2c 79 25 2c 62 25 0d 02 9e 0c f2 43 6f 6e 73 6f |,y%,b%.....Conso| 00004ef0 6c 65 0d 02 9f 05 f5 0d 02 a0 0e c8 97 78 25 2c |le...........x%,| 00004f00 79 25 2c 62 25 0d 02 a1 09 fd 62 25 3d 30 0d 02 |y%,b%.....b%=0..| 00004f10 a2 24 43 75 72 4f 70 61 24 3d 61 24 3a 43 75 72 |.$CurOpa$=a$:Cur| 00004f20 4f 70 62 24 3d 62 24 3a 43 75 72 4f 70 63 24 3d |Opb$=b$:CurOpc$=| 00004f30 63 24 0d 02 a3 16 f2 53 68 61 64 6f 77 28 34 30 |c$.....Shadow(40| 00004f40 2c 32 31 36 2c 61 24 29 0d 02 a4 16 f2 53 68 61 |,216,a$).....Sha| 00004f50 64 6f 77 28 34 30 2c 31 34 36 2c 62 24 29 0d 02 |dow(40,146,b$)..| 00004f60 a5 15 f2 53 68 61 64 6f 77 28 34 30 2c 37 32 2c |...Shadow(40,72,| 00004f70 63 24 29 0d 02 a6 0c 2a 46 58 20 31 35 2c 30 0d |c$)....*FX 15,0.| 00004f80 02 a7 05 e1 0d 02 a8 19 dd f2 53 65 74 75 70 53 |..........SetupS| 00004f90 70 72 69 74 65 50 6f 6f 6c 28 6c 25 29 0d 02 a9 |pritePool(l%)...| 00004fa0 14 de 20 53 70 72 69 74 65 41 72 65 61 25 20 6c |.. SpriteArea% l| 00004fb0 25 0d 02 aa 24 21 53 70 72 69 74 65 41 72 65 61 |%...$!SpriteArea| 00004fc0 25 3d 6c 25 3a 53 70 72 69 74 65 41 72 65 61 25 |%=l%:SpriteArea%| 00004fd0 21 38 3d 31 36 0d 02 ab 21 c8 99 26 30 30 30 30 |!8=16...!..&0000| 00004fe0 30 30 32 45 2c 39 2b 32 35 36 2c 53 70 72 69 74 |002E,9+256,Sprit| 00004ff0 65 41 72 65 61 25 0d 02 ac 05 e1 0d 02 ad 18 dd |eArea%..........| 00005000 f2 4c 6f 61 64 53 70 72 69 74 65 46 69 6c 65 28 |.LoadSpriteFile(| 00005010 66 24 29 0d 02 ae 25 c8 99 26 30 30 30 30 30 30 |f$)...%..&000000| 00005020 32 45 2c 31 30 2b 32 35 36 2c 53 70 72 69 74 65 |2E,10+256,Sprite| 00005030 41 72 65 61 25 2c 66 24 0d 02 af 05 e1 0d 02 b0 |Area%,f$........| 00005040 19 dd f2 4d 65 72 67 65 53 70 72 69 74 65 46 69 |...MergeSpriteFi| 00005050 6c 65 28 66 24 29 0d 02 b1 25 c8 99 26 30 30 30 |le(f$)...%..&000| 00005060 30 30 30 32 45 2c 31 31 2b 32 35 36 2c 53 70 72 |0002E,11+256,Spr| 00005070 69 74 65 41 72 65 61 25 2c 66 24 0d 02 b2 05 e1 |iteArea%,f$.....| 00005080 0d 02 b3 1f dd a4 52 65 74 75 72 6e 41 64 64 72 |......ReturnAddr| 00005090 65 73 73 4f 66 53 70 72 69 74 65 28 6e 24 29 0d |essOfSprite(n$).| 000050a0 02 b4 13 ea 53 70 72 69 74 65 41 64 64 72 65 73 |....SpriteAddres| 000050b0 73 25 0d 02 b5 36 c8 99 26 30 30 30 30 30 30 32 |s%...6..&0000002| 000050c0 45 2c 32 34 2b 32 35 36 2c 53 70 72 69 74 65 41 |E,24+256,SpriteA| 000050d0 72 65 61 25 2c 6e 24 b8 2c 2c 53 70 72 69 74 65 |rea%,n$.,,Sprite| 000050e0 41 64 64 72 65 73 73 25 0d 02 b6 13 3d 53 70 72 |Address%....=Spr| 000050f0 69 74 65 41 64 64 72 65 73 73 25 0d 02 b7 1f dd |iteAddress%.....| 00005100 f2 50 6c 6f 74 53 70 72 69 74 65 28 73 6e 25 2c |.PlotSprite(sn%,| 00005110 78 25 2c 79 25 2c 70 63 25 29 0d 02 b8 39 c8 99 |x%,y%,pc%)...9..| 00005120 26 30 30 30 30 30 30 32 45 2c 33 34 2b 35 31 32 |&0000002E,34+512| 00005130 2c 53 70 72 69 74 65 41 72 65 61 25 2c 53 70 72 |,SpriteArea%,Spr| 00005140 41 64 64 25 28 73 6e 25 29 2c 78 25 2c 79 25 2c |Add%(sn%),x%,y%,| 00005150 70 63 25 0d 02 b9 05 e1 0d 02 ba 24 dd f2 50 6c |pc%........$..Pl| 00005160 6f 74 53 70 72 69 74 65 4e 61 6d 65 64 28 73 6e |otSpriteNamed(sn| 00005170 24 2c 78 25 2c 79 25 2c 70 63 25 29 0d 02 bb 30 |$,x%,y%,pc%)...0| 00005180 c8 99 26 30 30 30 30 30 30 32 45 2c 33 34 2b 32 |..&0000002E,34+2| 00005190 35 36 2c 53 70 72 69 74 65 41 72 65 61 25 2c 73 |56,SpriteArea%,s| 000051a0 6e 24 2c 78 25 2c 79 25 2c 70 63 25 0d 02 bc 05 |n$,x%,y%,pc%....| 000051b0 e1 0d 02 bd 31 dd f2 50 6c 6f 74 53 70 72 69 74 |....1..PlotSprit| 000051c0 65 53 63 61 6c 65 64 28 73 6e 24 2c 78 25 2c 79 |eScaled(sn$,x%,y| 000051d0 25 2c 78 31 25 2c 79 31 25 2c 78 32 25 2c 79 32 |%,x1%,y1%,x2%,y2| 000051e0 25 29 0d 02 be 2d 21 53 63 61 6c 65 46 61 63 74 |%)...-!ScaleFact| 000051f0 6f 72 73 25 3d 78 31 25 3a 21 28 53 63 61 6c 65 |ors%=x1%:!(Scale| 00005200 46 61 63 74 6f 72 73 25 2b 34 29 3d 79 31 25 0d |Factors%+4)=y1%.| 00005210 02 bf 32 21 28 53 63 61 6c 65 46 61 63 74 6f 72 |..2!(ScaleFactor| 00005220 73 25 2b 38 29 3d 78 32 25 3a 21 28 53 63 61 6c |s%+8)=x2%:!(Scal| 00005230 65 46 61 63 74 6f 72 73 25 2b 31 32 29 3d 79 32 |eFactors%+12)=y2| 00005240 25 0d 02 c0 3c c8 99 26 30 30 30 30 30 30 32 45 |%...<..&0000002E| 00005250 2c 35 32 2b 32 35 36 2c 53 70 72 69 74 65 41 72 |,52+256,SpriteAr| 00005260 65 61 25 2c 73 6e 24 2c 78 25 2c 79 25 2c 30 2c |ea%,sn$,x%,y%,0,| 00005270 53 63 61 6c 65 46 61 63 74 6f 72 73 25 0d 02 c1 |ScaleFactors%...| 00005280 05 e1 0d 02 c2 0a dd f2 46 61 64 65 0d 02 c3 07 |........Fade....| 00005290 ea 6d 25 0d 02 c4 16 c8 99 26 30 30 30 34 30 30 |.m%......&000400| 000052a0 45 35 2c 2c 50 61 6c 31 25 0d 02 c5 0c e3 61 25 |E5,,Pal1%.....a%| 000052b0 3d 30 b8 31 39 0d 02 c6 19 57 6f 72 64 25 3d 21 |=0.19....Word%=!| 000052c0 28 50 61 6c 31 25 2b 28 61 25 2a 34 29 29 0d 02 |(Pal1%+(a%*4))..| 000052d0 c7 13 57 6f 72 64 25 3d 57 6f 72 64 25 81 32 35 |..Word%=Word%.25| 000052e0 36 0d 02 c8 19 50 61 6c 32 25 28 61 25 2c 31 29 |6....Pal2%(a%,1)| 000052f0 3d 57 6f 72 64 25 80 26 46 46 0d 02 c9 13 57 6f |=Word%.&FF....Wo| 00005300 72 64 25 3d 57 6f 72 64 25 81 32 35 36 0d 02 ca |rd%=Word%.256...| 00005310 19 50 61 6c 32 25 28 61 25 2c 32 29 3d 57 6f 72 |.Pal2%(a%,2)=Wor| 00005320 64 25 80 26 46 46 0d 02 cb 13 57 6f 72 64 25 3d |d%.&FF....Word%=| 00005330 57 6f 72 64 25 81 32 35 36 0d 02 cc 19 50 61 6c |Word%.256....Pal| 00005340 32 25 28 61 25 2c 33 29 3d 57 6f 72 64 25 80 26 |2%(a%,3)=Word%.&| 00005350 46 46 0d 02 cd 07 ed 61 25 0d 02 ce 19 c8 99 26 |FF.....a%......&| 00005360 30 30 30 30 30 30 33 35 2c 2d 31 2c 33 b8 2c 2c |00000035,-1,3.,,| 00005370 6d 25 0d 02 cf 0d e7 6d 25 3c 3e 31 35 8c e1 0d |m%.....m%<>15...| 00005380 02 d0 0c e3 66 25 3d 30 b8 31 36 0d 02 d1 06 c8 |....f%=0.16.....| 00005390 96 0d 02 d2 0c e3 61 25 3d 30 b8 31 36 0d 02 d3 |......a%=0.16...| 000053a0 0b e7 61 25 3c 31 36 8c 0d 02 d4 31 ef 31 39 2c |..a%<16....1.19,| 000053b0 61 25 2c 31 36 2c 50 61 6c 32 25 28 61 25 2c 31 |a%,16,Pal2%(a%,1| 000053c0 29 2c 50 61 6c 32 25 28 61 25 2c 32 29 2c 50 61 |),Pal2%(a%,2),Pa| 000053d0 6c 32 25 28 61 25 2c 33 29 0d 02 d5 05 cc 0d 02 |l2%(a%,3).......| 000053e0 d6 30 ef 31 39 2c 30 2c 32 34 2c 50 61 6c 32 25 |.0.19,0,24,Pal2%| 000053f0 28 61 25 2c 31 29 2c 50 61 6c 32 25 28 61 25 2c |(a%,1),Pal2%(a%,| 00005400 32 29 2c 50 61 6c 32 25 28 61 25 2c 33 29 0d 02 |2),Pal2%(a%,3)..| 00005410 d7 05 cd 0d 02 d8 3b 50 61 6c 32 25 28 61 25 2c |......;Pal2%(a%,| 00005420 31 29 3d 50 61 6c 32 25 28 61 25 2c 31 29 2d 32 |1)=Pal2%(a%,1)-2| 00005430 30 3a e7 50 61 6c 32 25 28 61 25 2c 31 29 3c 30 |0:.Pal2%(a%,1)<0| 00005440 8c 50 61 6c 32 25 28 61 25 2c 31 29 3d 30 0d 02 |.Pal2%(a%,1)=0..| 00005450 d9 3b 50 61 6c 32 25 28 61 25 2c 32 29 3d 50 61 |.;Pal2%(a%,2)=Pa| 00005460 6c 32 25 28 61 25 2c 32 29 2d 32 30 3a e7 50 61 |l2%(a%,2)-20:.Pa| 00005470 6c 32 25 28 61 25 2c 32 29 3c 30 8c 50 61 6c 32 |l2%(a%,2)<0.Pal2| 00005480 25 28 61 25 2c 32 29 3d 30 0d 02 da 3b 50 61 6c |%(a%,2)=0...;Pal| 00005490 32 25 28 61 25 2c 33 29 3d 50 61 6c 32 25 28 61 |2%(a%,3)=Pal2%(a| 000054a0 25 2c 33 29 2d 32 30 3a e7 50 61 6c 32 25 28 61 |%,3)-20:.Pal2%(a| 000054b0 25 2c 33 29 3c 30 8c 50 61 6c 32 25 28 61 25 2c |%,3)<0.Pal2%(a%,| 000054c0 33 29 3d 30 0d 02 db 07 ed 61 25 0d 02 dc 07 ed |3)=0.....a%.....| 000054d0 66 25 0d 02 dd 05 e1 0d 02 de 18 dd f2 50 72 69 |f%...........Pri| 000054e0 6e 74 44 72 61 77 46 69 6c 65 28 46 6c 24 29 0d |ntDrawFile(Fl$).| 000054f0 02 df 0f 46 72 6f 6d 46 69 6c 65 25 3d b9 0d 02 |...FromFile%=...| 00005500 e0 0e 46 68 25 3d 8e 28 46 6c 24 29 0d 02 e1 12 |..Fh%=.(Fl$)....| 00005510 cf 23 46 68 25 3d 8f 23 46 68 25 2b 34 30 0d 02 |.#Fh%=.#Fh%+40..| 00005520 e2 05 f5 0d 02 e3 14 f2 50 72 69 6e 74 44 72 61 |........PrintDra| 00005530 77 4f 62 6a 65 63 74 0d 02 e4 0a fd c5 23 46 68 |wObject......#Fh| 00005540 25 0d 02 e5 09 d9 23 46 68 25 0d 02 e6 05 e1 0d |%.....#Fh%......| 00005550 02 e7 15 dd f2 50 72 69 6e 74 44 72 61 77 4f 62 |.....PrintDrawOb| 00005560 6a 65 63 74 0d 02 e8 12 4f 74 25 3d a4 57 47 45 |ject....Ot%=.WGE| 00005570 54 28 46 68 25 29 0d 02 e9 0a c8 8e 4f 74 25 ca |T(Fh%)......Ot%.| 00005580 0d 02 ea 15 c9 32 3a f2 50 72 69 6e 74 44 72 61 |.....2:.PrintDra| 00005590 77 50 61 74 68 0d 02 eb 15 c9 36 3a cf 23 46 68 |wPath.....6:.#Fh| 000055a0 25 3d 8f 23 46 68 25 2b 33 32 0d 02 ec 2e 7f 3a |%=.#Fh%+32.....:| 000055b0 4f 53 69 7a 65 25 3d a4 57 47 45 54 28 46 68 25 |OSize%=.WGET(Fh%| 000055c0 29 3a cf 23 46 68 25 3d 8f 23 46 68 25 2b 28 4f |):.#Fh%=.#Fh%+(O| 000055d0 53 69 7a 65 25 2d 38 29 0d 02 ed 05 cb 0d 02 ee |Size%-8)........| 000055e0 05 e1 0d 02 ef 18 dd f2 50 72 69 6e 74 44 72 61 |........PrintDra| 000055f0 77 4f 62 6a 65 63 74 4d 65 6d 0d 02 f0 12 4f 74 |wObjectMem....Ot| 00005600 25 3d a4 57 47 45 54 28 46 68 25 29 0d 02 f1 0a |%=.WGET(Fh%)....| 00005610 c8 8e 4f 74 25 ca 0d 02 f2 18 c9 32 3a f2 50 72 |..Ot%......2:.Pr| 00005620 69 6e 74 44 72 61 77 50 61 74 68 4d 65 6d 0d 02 |intDrawPathMem..| 00005630 f3 11 c9 36 3a 46 68 25 3d 46 68 25 2b 33 32 0d |...6:Fh%=Fh%+32.| 00005640 02 f4 2a 7f 3a 4f 53 69 7a 65 25 3d a4 57 47 45 |..*.:OSize%=.WGE| 00005650 54 28 46 68 25 29 3a 46 68 25 3d 46 68 25 2b 28 |T(Fh%):Fh%=Fh%+(| 00005660 4f 53 69 7a 65 25 2d 38 29 0d 02 f5 05 cb 0d 02 |OSize%-8).......| 00005670 f6 05 e1 0d 02 f7 13 dd f2 50 72 69 6e 74 44 72 |.........PrintDr| 00005680 61 77 50 61 74 68 0d 02 f8 38 21 53 74 79 6c 65 |awPath...8!Style| 00005690 25 3d 32 3a 21 28 53 74 79 6c 65 25 2b 34 29 3d |%=2:!(Style%+4)=| 000056a0 30 3a 21 28 53 74 79 6c 65 25 2b 38 29 3d 30 3a |0:!(Style%+8)=0:| 000056b0 21 28 53 74 79 6c 65 25 2b 31 32 29 3d 30 0d 02 |!(Style%+12)=0..| 000056c0 f9 24 4f 53 69 7a 65 25 3d a4 57 47 45 54 28 46 |.$OSize%=.WGET(F| 000056d0 68 25 29 3a cf 23 46 68 25 3d 8f 23 46 68 25 2b |h%):.#Fh%=.#Fh%+| 000056e0 31 36 0d 02 fa 27 46 69 6c 6c 43 25 3d a4 57 47 |16...'FillC%=.WG| 000056f0 45 54 28 46 68 25 29 3a 4c 69 6e 65 43 25 3d a4 |ET(Fh%):LineC%=.| 00005700 57 47 45 54 28 46 68 25 29 0d 02 fb 31 4c 69 6e |WGET(Fh%)...1Lin| 00005710 65 57 25 3d a4 57 47 45 54 28 46 68 25 29 2a 28 |eW%=.WGET(Fh%)*(| 00005720 33 35 30 2f 32 35 36 29 3a 50 61 74 68 53 25 3d |350/256):PathS%=| 00005730 a4 57 47 45 54 28 46 68 25 29 0d 02 fc 15 e3 66 |.WGET(Fh%).....f| 00005740 25 3d 30 b8 4f 53 69 7a 65 25 2d 34 34 88 34 0d |%=0.OSize%-44.4.| 00005750 02 fd 1a 21 28 54 65 6d 70 25 2b 66 25 29 3d a4 |...!(Temp%+f%)=.| 00005760 57 47 45 54 28 46 68 25 29 0d 02 fe 07 ed 66 25 |WGET(Fh%).....f%| 00005770 0d 02 ff 42 e7 46 69 6c 6c 43 25 3c 3e 2d 31 8c |...B.FillC%<>-1.| 00005780 c8 99 26 30 30 30 34 30 37 34 33 2c 46 69 6c 6c |..&00040743,Fill| 00005790 43 25 2c 30 2c 30 2c 30 2c 30 3a c8 99 26 30 30 |C%,0,0,0,0:..&00| 000057a0 30 34 30 37 30 32 2c 54 65 6d 70 25 2c 30 2c 30 |040702,Temp%,0,0| 000057b0 2c 30 0d 03 00 48 e7 4c 69 6e 65 43 25 3c 3e 2d |,0...H.LineC%<>-| 000057c0 31 8c c8 99 26 30 30 30 34 30 37 34 33 2c 4c 69 |1...&00040743,Li| 000057d0 6e 65 43 25 2c 30 2c 30 2c 30 2c 30 3a c8 99 26 |neC%,0,0,0,0:..&| 000057e0 30 30 30 34 30 37 30 34 2c 54 65 6d 70 25 2c 30 |00040704,Temp%,0| 000057f0 2c 30 2c 30 2c 30 2c 30 2c 30 0d 03 01 05 e1 0d |,0,0,0,0,0......| 00005800 03 02 16 dd f2 50 72 69 6e 74 44 72 61 77 50 61 |.....PrintDrawPa| 00005810 74 68 4d 65 6d 0d 03 03 38 21 53 74 79 6c 65 25 |thMem...8!Style%| 00005820 3d 32 3a 21 28 53 74 79 6c 65 25 2b 34 29 3d 30 |=2:!(Style%+4)=0| 00005830 3a 21 28 53 74 79 6c 65 25 2b 38 29 3d 30 3a 21 |:!(Style%+8)=0:!| 00005840 28 53 74 79 6c 65 25 2b 31 32 29 3d 30 0d 03 04 |(Style%+12)=0...| 00005850 20 4f 53 69 7a 65 25 3d a4 57 47 45 54 28 46 68 | OSize%=.WGET(Fh| 00005860 25 29 3a 46 68 25 3d 46 68 25 2b 31 36 0d 03 05 |%):Fh%=Fh%+16...| 00005870 27 46 69 6c 6c 43 25 3d a4 57 47 45 54 28 46 68 |'FillC%=.WGET(Fh| 00005880 25 29 3a 4c 69 6e 65 43 25 3d a4 57 47 45 54 28 |%):LineC%=.WGET(| 00005890 46 68 25 29 0d 03 06 31 4c 69 6e 65 57 25 3d a4 |Fh%)...1LineW%=.| 000058a0 57 47 45 54 28 46 68 25 29 2a 28 33 35 30 2f 32 |WGET(Fh%)*(350/2| 000058b0 35 36 29 3a 50 61 74 68 53 25 3d a4 57 47 45 54 |56):PathS%=.WGET| 000058c0 28 46 68 25 29 0d 03 07 15 e3 66 25 3d 30 b8 4f |(Fh%).....f%=0.O| 000058d0 53 69 7a 65 25 2d 34 34 88 34 0d 03 08 1a 21 28 |Size%-44.4....!(| 000058e0 54 65 6d 70 25 2b 66 25 29 3d a4 57 47 45 54 28 |Temp%+f%)=.WGET(| 000058f0 46 68 25 29 0d 03 09 07 ed 66 25 0d 03 0a 42 e7 |Fh%).....f%...B.| 00005900 46 69 6c 6c 43 25 3c 3e 2d 31 8c c8 99 26 30 30 |FillC%<>-1...&00| 00005910 30 34 30 37 34 33 2c 46 69 6c 6c 43 25 2c 30 2c |040743,FillC%,0,| 00005920 30 2c 30 2c 30 3a c8 99 26 30 30 30 34 30 37 30 |0,0,0:..&0004070| 00005930 32 2c 54 65 6d 70 25 2c 30 2c 30 2c 30 0d 03 0b |2,Temp%,0,0,0...| 00005940 50 e7 4c 69 6e 65 43 25 3c 3e 2d 31 8c c8 99 26 |P.LineC%<>-1...&| 00005950 30 30 30 34 30 37 34 33 2c 4c 69 6e 65 43 25 2c |00040743,LineC%,| 00005960 30 2c 30 2c 30 2c 30 3a c8 99 26 30 30 30 34 30 |0,0,0,0:..&00040| 00005970 37 30 34 2c 54 65 6d 70 25 2c 30 2c 30 2c 30 2c |704,Temp%,0,0,0,| 00005980 31 30 30 30 2c 53 74 79 6c 65 25 2c 30 0d 03 0c |1000,Style%,0...| 00005990 05 e1 0d 03 0d 10 dd a4 57 47 45 54 28 f8 46 68 |........WGET(.Fh| 000059a0 25 29 0d 03 0e 07 ea 64 25 0d 03 0f 0f e7 46 72 |%).....d%.....Fr| 000059b0 6f 6d 46 69 6c 65 25 8c 0d 03 10 0c 64 25 3d 9a |omFile%.....d%=.| 000059c0 23 46 68 25 0d 03 11 14 64 25 3d 64 25 2b 28 9a |#Fh%....d%=d%+(.| 000059d0 23 46 68 25 3c 3c 38 29 0d 03 12 15 64 25 3d 64 |#Fh%<<8)....d%=d| 000059e0 25 2b 28 9a 23 46 68 25 3c 3c 31 36 29 0d 03 13 |%+(.#Fh%<<16)...| 000059f0 15 64 25 3d 64 25 2b 28 9a 23 46 68 25 3c 3c 32 |.d%=d%+(.#Fh%<<2| 00005a00 34 29 0d 03 14 07 3d 64 25 0d 03 15 05 cc 0d 03 |4)....=d%.......| 00005a10 16 0b 64 25 3d 21 46 68 25 0d 03 17 0d 46 68 25 |..d%=!Fh%....Fh%| 00005a20 3d 46 68 25 2b 34 0d 03 18 07 3d 64 25 0d 03 19 |=Fh%+4....=d%...| 00005a30 05 cd 0d 03 1a 1c dd a4 49 73 50 72 69 6e 74 65 |........IsPrinte| 00005a40 72 44 72 69 76 65 72 50 72 65 73 65 6e 74 0d 03 |rDriverPresent..| 00005a50 1b 06 3d a3 0d 03 1c 16 dd f2 50 72 69 6e 74 50 |..=.......PrintP| 00005a60 72 69 6e 74 65 72 50 61 67 65 0d 03 1d 05 e1 0d |rinterPage......| 00005a70 03 1e 0d dd f2 49 6e 66 6f 48 75 74 0d 03 1f 21 |.....InfoHut...!| 00005a80 f2 53 63 72 6f 6c 6c 3a 56 69 65 77 69 6e 67 4f |.Scroll:ViewingO| 00005a90 62 6a 65 63 74 53 74 61 72 74 25 3d 30 0d 03 20 |bjectStart%=0.. | 00005aa0 2d f2 47 65 74 42 61 63 6b 67 72 6f 75 6e 64 50 |-.GetBackgroundP| 00005ab0 61 6c 65 74 74 65 28 22 41 72 63 31 22 29 3a f2 |alette("Arc1"):.| 00005ac0 53 65 74 50 61 6c 65 74 74 65 0d 03 21 37 e7 21 |SetPalette..!7.!| 00005ad0 44 61 79 25 3d 33 80 21 54 69 6d 65 25 3e 3d 31 |Day%=3.!Time%>=1| 00005ae0 37 80 43 65 72 74 53 68 6f 77 6e 25 3d a3 8c f2 |7.CertShown%=...| 00005af0 4f 75 74 4f 66 54 69 6d 65 3a f2 53 63 72 6f 6c |OutOfTime:.Scrol| 00005b00 6c 0d 03 22 4b e7 a4 4e 6f 6f 66 55 4f 46 6f 75 |l.."K..NoofUOFou| 00005b10 6e 64 3d 33 80 21 44 61 79 25 3c 31 34 80 50 75 |nd=3.!Day%<14.Pu| 00005b20 7a 7a 6c 65 53 6f 6c 76 65 64 53 68 6f 77 6e 25 |zzleSolvedShown%| 00005b30 3d a3 8c f2 41 6c 6c 50 75 7a 7a 6c 65 73 53 6f |=...AllPuzzlesSo| 00005b40 6c 76 65 64 3a f2 53 63 72 6f 6c 6c 0d 03 23 2c |lved:.Scroll..#,| 00005b50 53 24 3d 22 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 |S$="Information | 00005b60 68 75 74 22 3a f2 54 69 6c 65 28 2d 31 2c 31 30 |hut":.Tile(-1,10| 00005b70 32 30 2c 2d 31 2c 31 29 0d 03 24 15 fb a4 47 63 |20,-1,1)..$...Gc| 00005b80 6f 6c 28 26 46 46 46 46 46 46 30 30 29 0d 03 25 |ol(&FFFFFF00)..%| 00005b90 20 f1 8a 31 2c 34 29 3b 22 4f 62 6a 65 63 74 73 | ..1,4);"Objects| 00005ba0 20 43 6f 6c 6c 65 63 74 65 64 20 3a 22 0d 03 26 | Collected :"..&| 00005bb0 1d f2 42 6c 61 6e 6b 54 69 6c 65 28 30 2c 38 30 |..BlankTile(0,80| 00005bc0 30 2c 38 30 30 2c 35 33 30 29 0d 03 27 16 44 6f |0,800,530)..'.Do| 00005bd0 69 6e 67 4f 62 6a 65 63 74 49 6e 66 6f 25 3d a3 |ingObjectInfo%=.| 00005be0 0d 03 28 0c f2 43 6f 6e 73 6f 6c 65 0d 03 29 2d |..(..Console..)-| 00005bf0 53 24 3d 22 44 61 79 20 22 2b c3 28 21 44 61 79 |S$="Day "+.(!Day| 00005c00 25 80 26 46 46 29 3a f2 54 69 6c 65 28 38 2c 31 |%.&FF):.Tile(8,1| 00005c10 30 32 30 2c 2d 31 2c 30 29 0d 03 2a 30 53 24 3d |020,-1,0)..*0S$=| 00005c20 22 53 63 6f 72 65 20 3a 20 22 2b c3 28 21 53 63 |"Score : "+.(!Sc| 00005c30 6f 72 65 25 29 3a f2 54 69 6c 65 28 38 35 30 2c |ore%):.Tile(850,| 00005c40 34 30 30 2c 2d 31 2c 30 29 0d 03 2b 3a 53 24 3d |400,-1,0)..+:S$=| 00005c50 22 57 68 69 63 68 20 69 74 65 6d 20 77 6f 75 6c |"Which item woul| 00005c60 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 66 69 |d you like to fi| 00005c70 6e 64 20 6f 75 74 20 6d 6f 72 65 20 61 62 6f 75 |nd out more abou| 00005c80 74 3f 22 0d 03 2c 17 f2 54 69 6c 65 28 38 35 30 |t?"..,..Tile(850| 00005c90 2c 38 30 30 2c 31 32 2c 30 29 0d 03 2d 30 e3 66 |,800,12,0)..-0.f| 00005ca0 25 3d 31 32 38 30 b8 31 30 30 30 88 2d 34 3a f2 |%=1280.1000.-4:.| 00005cb0 50 6c 6f 74 53 70 72 69 74 65 28 31 2c 66 25 2c |PlotSprite(1,f%,| 00005cc0 38 35 30 2c 30 29 3a ed 66 25 0d 03 2e 2b f2 50 |850,0):.f%...+.P| 00005cd0 72 69 6e 74 4f 62 6a 65 63 74 73 46 6f 75 6e 64 |rintObjectsFound| 00005ce0 28 56 69 65 77 69 6e 67 4f 62 6a 65 63 74 53 74 |(ViewingObjectSt| 00005cf0 61 72 74 25 29 0d 03 2f 3e e7 21 54 69 6d 65 25 |art%)../>.!Time%| 00005d00 3d 39 80 21 44 61 79 25 3d 31 8c 64 24 3d 22 53 |=9.!Day%=1.d$="S| 00005d10 74 61 72 74 20 44 69 67 67 69 6e 67 22 8b 64 24 |tart Digging".d$| 00005d20 3d 22 43 6f 6e 74 69 6e 75 65 20 44 69 67 67 69 |="Continue Diggi| 00005d30 6e 67 22 0d 03 30 1d e7 21 44 61 79 25 3e 32 80 |ng"..0..!Day%>2.| 00005d40 21 54 69 6d 65 25 3e 3d 31 37 8c 64 24 3d 22 22 |!Time%>=17.d$=""| 00005d50 0d 03 31 41 e7 21 50 4f 62 4e 6f 25 3e 56 69 65 |..1A.!PObNo%>Vie| 00005d60 77 69 6e 67 4f 62 6a 65 63 74 53 74 61 72 74 25 |wingObjectStart%| 00005d70 2b 31 31 8c 53 31 24 3d 22 50 61 67 65 20 66 6f |+11.S1$="Page fo| 00005d80 72 77 61 72 64 22 8b 53 31 24 3d 22 48 65 6c 70 |rward".S1$="Help| 00005d90 22 0d 03 32 31 e7 56 69 65 77 69 6e 67 4f 62 6a |"..21.ViewingObj| 00005da0 65 63 74 53 74 61 72 74 25 3e 30 8c 53 32 24 3d |ectStart%>0.S2$=| 00005db0 22 50 61 67 65 20 62 61 63 6b 22 8b 53 32 24 3d |"Page back".S2$=| 00005dc0 22 22 0d 03 33 13 f2 4f 70 28 53 31 24 2c 64 24 |""..3..Op(S1$,d$| 00005dd0 2c 53 32 24 29 0d 03 34 13 49 48 71 25 3d a3 3a |,S2$)..4.IHq%=.:| 00005de0 45 78 44 53 71 25 3d a3 0d 03 35 05 f5 0d 03 36 |ExDSq%=...5....6| 00005df0 0a f2 4d 6f 75 73 65 0d 03 37 21 4c 6f 63 25 3d |..Mouse..7!Loc%=| 00005e00 a4 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 2c |.ConLoc(MouseX%,| 00005e10 4d 6f 75 73 65 59 25 29 0d 03 38 0b c8 8e 4c 6f |MouseY%)..8...Lo| 00005e20 63 25 ca 0d 03 39 27 c9 31 3a e7 21 50 4f 62 4e |c%...9'.1:.!PObN| 00005e30 6f 25 3e 56 69 65 77 69 6e 67 4f 62 6a 65 63 74 |o%>ViewingObject| 00005e40 53 74 61 72 74 25 2b 31 31 8c 0d 03 3a 56 56 69 |Start%+11...:VVi| 00005e50 65 77 69 6e 67 4f 62 6a 65 63 74 53 74 61 72 74 |ewingObjectStart| 00005e60 25 3d 56 69 65 77 69 6e 67 4f 62 6a 65 63 74 53 |%=ViewingObjectS| 00005e70 74 61 72 74 25 2b 31 31 3a f2 50 72 69 6e 74 4f |tart%+11:.PrintO| 00005e80 62 6a 65 63 74 73 46 6f 75 6e 64 28 56 69 65 77 |bjectsFound(View| 00005e90 69 6e 67 4f 62 6a 65 63 74 53 74 61 72 74 25 29 |ingObjectStart%)| 00005ea0 0d 03 3b 41 e7 21 50 4f 62 4e 6f 25 3e 56 69 65 |..;A.!PObNo%>Vie| 00005eb0 77 69 6e 67 4f 62 6a 65 63 74 53 74 61 72 74 25 |wingObjectStart%| 00005ec0 2b 31 31 8c 53 31 24 3d 22 50 61 67 65 20 66 6f |+11.S1$="Page fo| 00005ed0 72 77 61 72 64 22 8b 53 31 24 3d 22 48 65 6c 70 |rward".S1$="Help| 00005ee0 22 0d 03 3c 31 e7 56 69 65 77 69 6e 67 4f 62 6a |"..<1.ViewingObj| 00005ef0 65 63 74 53 74 61 72 74 25 3e 30 8c 53 32 24 3d |ectStart%>0.S2$=| 00005f00 22 50 61 67 65 20 62 61 63 6b 22 8b 53 32 24 3d |"Page back".S2$=| 00005f10 22 22 0d 03 3d 13 f2 4f 70 28 53 31 24 2c 64 24 |""..=..Op(S1$,d$| 00005f20 2c 53 32 24 29 0d 03 3e 05 cc 0d 03 3f 0c f2 48 |,S2$)..>....?..H| 00005f30 65 6c 70 28 31 29 0d 03 40 05 cd 0d 03 41 1b c9 |elp(1)..@....A..| 00005f40 32 3a e7 21 44 61 79 25 3e 32 80 21 54 69 6d 65 |2:.!Day%>2.!Time| 00005f50 25 3e 3d 31 37 8c 0d 03 42 05 cc 0d 03 43 3d e7 |%>=17...B....C=.| 00005f60 21 54 69 6d 65 25 3e 3d 31 37 8c f2 43 6c 6f 63 |!Time%>=17..Cloc| 00005f70 6b 41 64 76 61 6e 63 65 28 32 34 2d 28 21 54 69 |kAdvance(24-(!Ti| 00005f80 6d 65 25 29 2b 39 2c 31 30 29 3a 21 44 61 79 25 |me%)+9,10):!Day%| 00005f90 3d 21 44 61 79 25 2b 31 0d 03 44 1d f5 3a f2 44 |=!Day%+1..D..:.D| 00005fa0 69 67 53 69 74 65 3a fd 45 78 44 53 71 25 3a 49 |igSite:.ExDSq%:I| 00005fb0 48 71 25 3d b9 0d 03 45 05 cd 0d 03 46 1e c9 33 |Hq%=...E....F..3| 00005fc0 3a e7 56 69 65 77 69 6e 67 4f 62 6a 65 63 74 53 |:.ViewingObjectS| 00005fd0 74 61 72 74 25 3e 30 8c 0d 03 47 56 56 69 65 77 |tart%>0...GVView| 00005fe0 69 6e 67 4f 62 6a 65 63 74 53 74 61 72 74 25 3d |ingObjectStart%=| 00005ff0 56 69 65 77 69 6e 67 4f 62 6a 65 63 74 53 74 61 |ViewingObjectSta| 00006000 72 74 25 2d 31 31 3a f2 50 72 69 6e 74 4f 62 6a |rt%-11:.PrintObj| 00006010 65 63 74 73 46 6f 75 6e 64 28 56 69 65 77 69 6e |ectsFound(Viewin| 00006020 67 4f 62 6a 65 63 74 53 74 61 72 74 25 29 0d 03 |gObjectStart%)..| 00006030 48 41 e7 21 50 4f 62 4e 6f 25 3e 56 69 65 77 69 |HA.!PObNo%>Viewi| 00006040 6e 67 4f 62 6a 65 63 74 53 74 61 72 74 25 2b 31 |ngObjectStart%+1| 00006050 31 8c 53 31 24 3d 22 50 61 67 65 20 66 6f 72 77 |1.S1$="Page forw| 00006060 61 72 64 22 8b 53 31 24 3d 22 48 65 6c 70 22 0d |ard".S1$="Help".| 00006070 03 49 31 e7 56 69 65 77 69 6e 67 4f 62 6a 65 63 |.I1.ViewingObjec| 00006080 74 53 74 61 72 74 25 3e 30 8c 53 32 24 3d 22 50 |tStart%>0.S2$="P| 00006090 61 67 65 20 62 61 63 6b 22 8b 53 32 24 3d 22 22 |age back".S2$=""| 000060a0 0d 03 4a 13 f2 4f 70 28 53 31 24 2c 64 24 2c 53 |..J..Op(S1$,d$,S| 000060b0 32 24 29 0d 03 4b 05 cc 0d 03 4c 05 cd 0d 03 4d |2$)..K....L....M| 000060c0 38 c9 34 2c 35 2c 36 2c 37 3a e7 a6 28 2d 31 30 |8.4,5,6,7:..(-10| 000060d0 31 29 80 a6 28 2d 36 36 29 80 a6 28 2d 38 33 29 |1)..(-66)..(-83)| 000060e0 80 a6 28 2d 37 31 29 8c f2 50 61 72 74 32 3a 49 |..(-71)..Part2:I| 000060f0 48 71 25 3d b9 0d 03 4e 05 7f 0d 03 4f 3e 6f 6e |Hq%=...N....O>on| 00006100 25 3d a4 47 65 74 49 6e 66 6f 48 75 74 4f 62 6a |%=.GetInfoHutObj| 00006110 65 63 74 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 |ect(MouseX%,Mous| 00006120 65 59 25 2c 56 69 65 77 69 6e 67 4f 62 6a 65 63 |eY%,ViewingObjec| 00006130 74 53 74 61 72 74 25 29 0d 03 50 24 e7 6f 6e 25 |tStart%)..P$.on%| 00006140 3c 3e 2d 31 8c f2 4f 62 6a 65 63 74 49 6e 66 6f |<>-1..ObjectInfo| 00006150 28 6f 6e 25 29 3a 49 48 71 25 3d b9 0d 03 51 05 |(on%):IHq%=...Q.| 00006160 cb 0d 03 52 09 fd 49 48 71 25 0d 03 53 05 e1 0d |...R..IHq%..S...| 00006170 03 54 15 dd f2 53 68 6f 77 43 65 72 74 69 66 69 |.T...ShowCertifi| 00006180 63 61 74 65 0d 03 55 05 e1 0d 03 56 16 dd f2 50 |cate..U....V...P| 00006190 72 69 6e 74 43 65 72 74 69 66 69 63 61 74 65 0d |rintCertificate.| 000061a0 03 57 05 e1 0d 03 58 0f dd f2 4f 75 74 4f 66 54 |.W....X...OutOfT| 000061b0 69 6d 65 0d 03 59 0c f2 43 6f 6e 73 6f 6c 65 0d |ime..Y..Console.| 000061c0 03 5a 25 e7 55 6e 6b 6e 6f 77 6e 46 6f 75 6e 64 |.Z%.UnknownFound| 000061d0 25 3d a3 8c f2 47 6f 74 6f 50 61 72 74 32 41 6e |%=...GotoPart2An| 000061e0 79 77 61 79 0d 03 5b 31 53 24 3d 22 59 6f 75 20 |yway..[1S$="You | 000061f0 68 61 76 65 20 72 65 61 63 68 65 64 20 74 68 65 |have reached the| 00006200 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 33 20 64 | end of your 3 d| 00006210 61 79 73 2e 22 0d 03 5c 9b e7 3f 28 50 55 4f 62 |ays."..\..?(PUOb| 00006220 6a 65 63 74 73 25 2b 33 29 3d 30 8c 53 24 3d 53 |jects%+3)=0.S$=S| 00006230 24 2b 22 20 4e 6f 77 20 67 6f 20 62 61 63 6b 20 |$+" Now go back | 00006240 74 6f 20 74 68 65 20 49 6e 66 6f 72 6d 61 74 69 |to the Informati| 00006250 6f 6e 20 68 75 74 20 61 6e 64 20 66 69 6e 64 20 |on hut and find | 00006260 6f 75 74 20 77 68 61 74 20 74 68 65 20 75 6e 6b |out what the unk| 00006270 6e 6f 77 6e 20 6f 62 6a 65 63 74 20 69 73 2e 22 |nown object is."| 00006280 8b 53 24 3d 53 24 2b 22 20 54 68 69 73 20 69 73 |.S$=S$+" This is| 00006290 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 69 73 | the end of this| 000062a0 20 64 65 6d 6f 6e 73 74 72 61 74 69 6f 6e 2e 22 | demonstration."| 000062b0 0d 03 5d 16 f2 54 69 6c 65 28 2d 31 2c 37 30 30 |..]..Tile(-1,700| 000062c0 2c 32 30 2c 32 29 0d 03 5e 21 f2 43 6f 6e 74 42 |,20,2)..^!.ContB| 000062d0 6f 78 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c |ox(-1,350):.Repl| 000062e0 61 63 65 54 65 6d 70 0d 03 5f 18 e7 3f 28 50 55 |aceTemp.._..?(PU| 000062f0 4f 62 6a 65 63 74 73 25 2b 33 29 3c 3e 30 8c 0d |Objects%+3)<>0..| 00006300 03 60 0b f2 53 63 72 43 6c 6f 0d 03 61 62 53 24 |.`..ScrClo..abS$| 00006310 3d 22 57 65 20 68 6f 70 65 20 74 68 61 74 20 79 |="We hope that y| 00006320 6f 75 20 68 61 76 65 20 65 6e 6a 6f 79 65 64 20 |ou have enjoyed | 00006330 79 6f 75 72 20 62 72 69 65 66 20 65 78 70 65 64 |your brief exped| 00006340 69 74 69 6f 6e 20 69 6e 74 6f 20 56 69 6b 69 6e |ition into Vikin| 00006350 67 20 74 69 6d 65 73 2e 22 3a f2 54 69 6c 65 28 |g times.":.Tile(| 00006360 2d 31 2c 39 30 30 2c 2d 31 2c 31 29 0d 03 62 6c |-1,900,-1,1)..bl| 00006370 53 24 3d 22 54 68 65 20 66 75 6c 6c 20 76 65 72 |S$="The full ver| 00006380 73 69 6f 6e 2c 20 77 68 69 63 68 20 63 6f 6e 74 |sion, which cont| 00006390 61 69 6e 73 20 32 38 20 6f 62 6a 65 63 74 73 20 |ains 28 objects | 000063a0 61 6e 64 20 32 36 20 63 68 61 72 61 63 74 65 72 |and 26 character| 000063b0 73 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 |s is available f| 000063c0 72 6f 6d 3a 22 3a f2 54 69 6c 65 28 2d 31 2c 37 |rom:":.Tile(-1,7| 000063d0 35 30 2c 2d 31 2c 31 29 0d 03 63 59 53 24 3d 22 |50,-1,1)..cYS$="| 000063e0 53 68 65 72 73 74 6f 6e 20 53 6f 66 74 77 61 72 |Sherston Softwar| 000063f0 65 20 28 44 65 70 74 2e 41 43 29 2c 20 53 77 61 |e (Dept.AC), Swa| 00006400 6e 20 42 61 72 74 6f 6e 2c 20 53 68 65 72 73 74 |n Barton, Sherst| 00006410 6f 6e 2c 20 4d 61 6c 6d 65 73 62 75 72 79 2c 20 |on, Malmesbury, | 00006420 57 69 6c 74 73 2e 20 53 4e 31 36 20 30 4c 48 2e |Wilts. SN16 0LH.| 00006430 22 0d 03 64 16 f2 54 69 6c 65 28 2d 31 2c 35 30 |"..d..Tile(-1,50| 00006440 30 2c 33 30 2c 31 29 0d 03 65 2c 53 24 3d 22 54 |0,30,1)..e,S$="T| 00006450 65 6c 2e 20 30 36 36 36 20 38 34 30 34 33 33 20 |el. 0666 840433 | 00006460 20 20 46 61 78 2e 20 30 36 36 36 20 38 34 30 30 | Fax. 0666 8400| 00006470 34 38 22 0d 03 66 16 f2 54 69 6c 65 28 2d 31 2c |48"..f..Tile(-1,| 00006480 33 31 30 2c 2d 31 2c 31 29 0d 03 67 13 f2 43 6f |310,-1,1)..g..Co| 00006490 6e 74 42 6f 78 28 2d 31 2c 38 30 29 0d 03 68 11 |ntBox(-1,80)..h.| 000064a0 85 39 39 2c 22 44 65 73 6b 74 6f 70 22 0d 03 69 |.99,"Desktop"..i| 000064b0 05 cd 0d 03 6a 05 e1 0d 03 6b 15 dd f2 47 6f 74 |....j....k...Got| 000064c0 6f 50 61 72 74 32 41 6e 79 77 61 79 0d 03 6c 6a |oPart2Anyway..lj| 000064d0 53 24 3d 22 59 6f 75 20 68 61 76 65 20 72 65 61 |S$="You have rea| 000064e0 63 68 65 64 20 74 68 65 20 65 6e 64 20 6f 66 20 |ched the end of | 000064f0 79 6f 75 72 20 33 20 64 61 79 73 2e 20 53 6f 6d |your 3 days. Som| 00006500 65 6f 6e 65 20 65 6c 73 65 20 61 74 20 74 68 65 |eone else at the| 00006510 20 64 69 67 20 68 61 73 20 66 6f 75 6e 64 20 61 | dig has found a| 00006520 6e 20 69 6e 74 65 72 65 73 74 69 6e 67 20 6f 62 |n interesting ob| 00006530 6a 65 63 74 2e 22 0d 03 6d 16 f2 54 69 6c 65 28 |ject."..m..Tile(| 00006540 2d 31 2c 37 30 30 2c 32 30 2c 32 29 0d 03 6e 21 |-1,700,20,2)..n!| 00006550 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 |.ContBox(-1,350)| 00006560 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 03 6f |:.ReplaceTemp..o| 00006570 29 53 24 3d 22 4c 65 74 27 73 20 68 61 76 65 20 |)S$="Let's have | 00006580 61 20 6c 6f 6f 6b 20 61 74 20 77 68 61 74 20 69 |a look at what i| 00006590 74 20 69 73 2e 22 0d 03 70 16 f2 54 69 6c 65 28 |t is."..p..Tile(| 000065a0 2d 31 2c 37 30 30 2c 32 30 2c 32 29 0d 03 71 21 |-1,700,20,2)..q!| 000065b0 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 |.ContBox(-1,350)| 000065c0 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 03 72 |:.ReplaceTemp..r| 000065d0 11 f2 55 6e 6b 6e 6f 77 6e 34 4c 69 6e 6b 0d 03 |..Unknown4Link..| 000065e0 73 05 e1 0d 03 74 16 dd f2 41 6c 6c 50 75 7a 7a |s....t...AllPuzz| 000065f0 6c 65 73 53 6f 6c 76 65 64 0d 03 75 8c 53 24 3d |lesSolved..u.S$=| 00006600 22 59 6f 75 20 68 61 76 65 20 73 6f 6c 76 65 64 |"You have solved| 00006610 20 74 68 65 20 70 75 7a 7a 6c 65 2e 20 59 6f 75 | the puzzle. You| 00006620 20 63 61 6e 20 6e 6f 77 20 67 6f 20 62 61 63 6b | can now go back| 00006630 20 74 6f 20 74 68 65 20 64 69 67 20 74 6f 20 66 | to the dig to f| 00006640 69 6e 69 73 68 20 79 6f 75 72 20 31 34 20 64 61 |inish your 14 da| 00006650 79 73 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 37 30 |ys.":.Tile(-1,70| 00006660 30 2c 32 30 2c 32 29 3a f2 43 6f 6e 74 42 6f 78 |0,20,2):.ContBox| 00006670 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 |(-1,350):.Replac| 00006680 65 54 65 6d 70 0d 03 76 18 50 75 7a 7a 6c 65 53 |eTemp..v.PuzzleS| 00006690 6f 6c 76 65 64 53 68 6f 77 6e 25 3d b9 0d 03 77 |olvedShown%=...w| 000066a0 05 e1 0d 03 78 11 dd a4 4e 6f 6f 66 55 4f 46 6f |....x...NoofUOFo| 000066b0 75 6e 64 0d 03 79 08 ea 6e 6f 25 0d 03 7a 09 6e |und..y..no%..z.n| 000066c0 6f 25 3d 30 0d 03 7b 1d e7 3f 28 50 55 4f 62 6a |o%=0..{..?(PUObj| 000066d0 65 63 74 73 25 2b 33 29 6e 6f 25 3d 6e 6f 25 2b |ects%+3)no%=no%+| 000066e0 31 0d 03 7c 0d 4d 61 78 4f 62 73 25 3d 31 0d 03 |1..|.MaxObs%=1..| 000066f0 7d 08 3d 6e 6f 25 0d 03 7e 21 dd a4 47 65 74 49 |}.=no%..~!..GetI| 00006700 6e 66 6f 48 75 74 4f 62 6a 65 63 74 28 78 25 2c |nfoHutObject(x%,| 00006710 79 25 2c 73 74 25 29 0d 03 7f 1d e7 79 25 3e 38 |y%,st%).....y%>8| 00006720 30 30 84 79 25 3c 32 37 30 84 78 25 3e 38 30 30 |00.y%<270.x%>800| 00006730 8c 3d 2d 31 0d 03 80 2b 48 75 74 4c 69 73 74 4e |.=-1...+HutListN| 00006740 75 6d 62 65 72 25 3d 28 28 31 30 32 34 2d 28 79 |umber%=((1024-(y| 00006750 25 2b 32 34 30 29 29 81 34 30 29 2b 73 74 25 0d |%+240)).40)+st%.| 00006760 03 81 28 4f 62 6a 65 63 74 46 6f 75 6e 64 25 3d |..(ObjectFound%=| 00006770 30 3a 63 6f 75 6e 74 25 3d 48 75 74 4c 69 73 74 |0:count%=HutList| 00006780 4e 75 6d 62 65 72 25 0d 03 82 3d e7 48 75 74 4c |Number%...=.HutL| 00006790 69 73 74 4e 75 6d 62 65 72 25 3e 3d 21 50 4f 62 |istNumber%>=!POb| 000067a0 4e 6f 25 8c 3d 2d 31 8b 3d 3f 28 50 4f 62 6a 65 |No%.=-1.=?(PObje| 000067b0 63 74 73 25 2b 48 75 74 4c 69 73 74 4e 75 6d 62 |cts%+HutListNumb| 000067c0 65 72 25 29 0d 03 83 1c dd f2 50 72 69 6e 74 4f |er%)......PrintO| 000067d0 62 6a 65 63 74 73 46 6f 75 6e 64 28 73 74 25 29 |bjectsFound(st%)| 000067e0 0d 03 84 08 ea 65 6e 25 0d 03 85 0b 79 64 25 3d |.....en%....yd%=| 000067f0 37 38 30 0d 03 86 2a e7 73 74 25 2b 31 31 3e 21 |780...*.st%+11>!| 00006800 50 4f 62 4e 6f 25 8c 65 6e 25 3d 21 50 4f 62 4e |PObNo%.en%=!PObN| 00006810 6f 25 8b 65 6e 25 3d 73 74 25 2b 31 31 0d 03 87 |o%.en%=st%+11...| 00006820 1d f2 42 6c 61 6e 6b 54 69 6c 65 28 30 2c 38 30 |..BlankTile(0,80| 00006830 30 2c 38 30 30 2c 35 33 30 29 0d 03 88 0f e3 66 |0,800,530).....f| 00006840 25 3d 73 74 25 b8 65 6e 25 0d 03 89 16 c8 8e 3f |%=st%.en%......?| 00006850 28 50 4f 62 6a 65 63 74 73 25 2b 66 25 29 ca 0d |(PObjects%+f%)..| 00006860 03 8a 5c c9 34 3a e7 3f 28 50 55 4f 62 6a 65 63 |..\.4:.?(PUObjec| 00006870 74 73 25 2b 33 29 3d 30 8c f2 53 68 61 64 6f 77 |ts%+3)=0..Shadow| 00006880 28 32 34 2c 79 64 25 2c 22 55 6e 6b 6e 6f 77 6e |(24,yd%,"Unknown| 00006890 22 29 8b f2 53 68 61 64 6f 77 28 32 34 2c 79 64 |")..Shadow(24,yd| 000068a0 25 2c 4f 62 44 65 73 63 24 28 3f 28 50 4f 62 6a |%,ObDesc$(?(PObj| 000068b0 65 63 74 73 25 2b 66 25 29 29 29 0d 03 8b 06 7f |ects%+f%))).....| 000068c0 3a 0d 03 8c 40 e7 3f 28 50 4f 62 6a 65 63 74 73 |:...@.?(PObjects| 000068d0 25 2b 66 25 29 3c 33 32 8c f2 53 68 61 64 6f 77 |%+f%)<32..Shadow| 000068e0 28 32 34 2c 79 64 25 2c 4f 62 44 65 73 63 24 28 |(24,yd%,ObDesc$(| 000068f0 3f 28 50 4f 62 6a 65 63 74 73 25 2b 66 25 29 29 |?(PObjects%+f%))| 00006900 29 0d 03 8d 05 cb 0d 03 8e 0e 79 64 25 3d 79 64 |).........yd%=yd| 00006910 25 2d 34 30 0d 03 8f 07 ed 66 25 0d 03 90 05 e1 |%-40.....f%.....| 00006920 0d 03 91 15 dd f2 4f 62 6a 65 63 74 49 6e 66 6f |......ObjectInfo| 00006930 28 6f 6e 25 29 0d 03 92 1a ea 4f 49 71 25 2c 72 |(on%).....OIq%,r| 00006940 24 2c 63 24 2c 72 25 2c 73 77 25 2c 73 68 25 0d |$,c$,r%,sw%,sh%.| 00006950 03 93 23 53 61 76 65 64 4f 62 25 3d 6f 6e 25 3a |..#SavedOb%=on%:| 00006960 44 6f 69 6e 67 4f 62 6a 65 63 74 49 6e 66 6f 25 |DoingObjectInfo%| 00006970 3d b9 0d 03 94 0a c8 8e 6f 6e 25 ca 0d 03 95 27 |=.......on%....'| 00006980 c9 34 3a e7 3f 28 50 55 4f 62 6a 65 63 74 73 25 |.4:.?(PUObjects%| 00006990 2b 33 29 3d 30 8c f2 55 6e 6b 6e 6f 77 6e 34 4c |+3)=0..Unknown4L| 000069a0 69 6e 6b 0d 03 96 05 cb 0d 03 97 10 6f 6e 25 3d |ink.........on%=| 000069b0 53 61 76 65 64 4f 62 25 0d 03 98 0b f2 53 63 72 |SavedOb%.....Scr| 000069c0 6f 6c 6c 0d 03 99 43 f2 47 65 74 42 61 63 6b 67 |oll...C.GetBackg| 000069d0 72 6f 75 6e 64 50 61 6c 65 74 74 65 28 53 70 72 |roundPalette(Spr| 000069e0 4e 6d 24 28 4f 62 6a 65 63 74 53 74 61 72 74 25 |Nm$(ObjectStart%| 000069f0 2b 28 6f 6e 25 2a 32 29 29 29 3a f2 53 65 74 50 |+(on%*2))):.SetP| 00006a00 61 6c 65 74 74 65 0d 03 9a 0c f2 43 6f 6e 73 6f |alette.....Conso| 00006a10 6c 65 0d 03 9b 4b c8 99 26 30 30 30 30 30 30 32 |le...K..&0000002| 00006a20 45 2c 34 30 2b 35 31 32 2c 53 70 72 69 74 65 41 |E,40+512,SpriteA| 00006a30 72 65 61 25 2c 53 70 72 41 64 64 25 28 4f 62 6a |rea%,SprAdd%(Obj| 00006a40 65 63 74 53 74 61 72 74 25 2b 28 6f 6e 25 2a 32 |ectStart%+(on%*2| 00006a50 29 29 b8 2c 2c 2c 73 77 25 2c 73 68 25 0d 03 9c |)).,,,sw%,sh%...| 00006a60 19 53 70 72 69 74 65 42 6f 74 74 6f 6d 25 3d 33 |.SpriteBottom%=3| 00006a70 39 30 2d 73 68 25 0d 03 9d 45 f2 50 6c 6f 74 53 |90-sh%...E.PlotS| 00006a80 70 72 69 74 65 28 4f 62 6a 65 63 74 53 74 61 72 |prite(ObjectStar| 00006a90 74 25 2b 28 6f 6e 25 2a 32 29 2c 36 34 30 2d 28 |t%+(on%*2),640-(| 00006aa0 28 73 77 25 2a 34 29 2f 32 29 2c 53 70 72 69 74 |(sw%*4)/2),Sprit| 00006ab0 65 42 6f 74 74 6f 6d 25 2c 30 29 0d 03 9e 1f f2 |eBottom%,0).....| 00006ac0 54 65 6c 65 78 28 30 2c 30 2c 4f 62 44 65 73 63 |Telex(0,0,ObDesc| 00006ad0 24 28 6f 6e 25 29 2c 34 30 29 0d 03 9f 1b f2 54 |$(on%),40).....T| 00006ae0 65 6c 65 78 32 28 32 2c 4f 62 4e 61 72 61 25 28 |elex2(2,ObNara%(| 00006af0 6f 6e 25 29 29 0d 03 a0 19 72 24 3d 22 52 65 63 |on%))....r$="Rec| 00006b00 6f 6e 73 74 72 75 63 74 22 3a 72 25 3d b9 0d 03 |onstruct":r%=...| 00006b10 a1 0a c8 8e 6f 6e 25 ca 0d 03 a2 1a c9 30 2c 39 |....on%......0,9| 00006b20 2c 31 31 2c 31 34 2c 31 39 2c 32 30 3a 65 69 25 |,11,14,19,20:ei%| 00006b30 3d b9 0d 03 a3 0b 7f 3a 65 69 25 3d a3 0d 03 a4 |=......:ei%=....| 00006b40 05 cb 0d 03 a5 1e e7 65 69 25 8c 63 24 3d 22 45 |.......ei%.c$="E| 00006b50 78 74 72 61 20 49 6e 66 6f 22 8b 63 24 3d 22 22 |xtra Info".c$=""| 00006b60 0d 03 a6 05 f5 0d 03 a7 1d f2 4f 70 28 22 42 61 |..........Op("Ba| 00006b70 63 6b 20 74 6f 20 6c 69 73 74 22 2c 72 24 2c 63 |ck to list",r$,c| 00006b80 24 29 0d 03 a8 0a 4f 49 71 25 3d 30 0d 03 a9 05 |$)....OIq%=0....| 00006b90 f5 0d 03 aa 0a f2 4d 6f 75 73 65 0d 03 ab 21 4c |......Mouse...!L| 00006ba0 6f 63 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 73 |oc%=.ConLoc(Mous| 00006bb0 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 03 ac 0b |eX%,MouseY%)....| 00006bc0 c8 8e 4c 6f 63 25 ca 0d 03 ad 0d c9 31 3a 4f 49 |..Loc%......1:OI| 00006bd0 71 25 3d 31 0d 03 ae 2e c9 32 3a e7 72 25 8c f2 |q%=1.....2:.r%..| 00006be0 52 65 63 6f 6e 73 74 72 75 63 74 28 6f 6e 25 29 |Reconstruct(on%)| 00006bf0 3a 4f 49 71 25 3d 32 3a 72 25 3d a3 3a 72 24 3d |:OIq%=2:r%=.:r$=| 00006c00 22 22 0d 03 af 1d c9 33 3a e7 65 69 25 8c f2 50 |"".....3:.ei%..P| 00006c10 6f 74 74 65 72 79 45 49 3a 4f 49 71 25 3d 31 0d |otteryEI:OIq%=1.| 00006c20 03 b0 5e c9 30 3a e7 4d 6f 75 73 65 58 25 3e 35 |..^.0:.MouseX%>5| 00006c30 39 30 80 4d 6f 75 73 65 58 25 3c 37 30 30 80 4d |90.MouseX%<700.M| 00006c40 6f 75 73 65 59 25 3e 33 33 36 80 4d 6f 75 73 65 |ouseY%>336.Mouse| 00006c50 59 25 3c 33 37 34 80 72 25 8c f2 52 65 63 6f 6e |Y%<374.r%..Recon| 00006c60 73 74 72 75 63 74 28 6f 6e 25 29 3a 4f 49 71 25 |struct(on%):OIq%| 00006c70 3d 32 3a 72 25 3d a3 3a 72 24 3d 22 22 0d 03 b1 |=2:r%=.:r$=""...| 00006c80 05 cb 0d 03 b2 09 fd 4f 49 71 25 0d 03 b3 0b fd |.......OIq%.....| 00006c90 4f 49 71 25 3d 31 0d 03 b4 16 44 6f 69 6e 67 4f |OIq%=1....DoingO| 00006ca0 62 6a 65 63 74 49 6e 66 6f 25 3d a3 0d 03 b5 05 |bjectInfo%=.....| 00006cb0 e1 0d 03 b6 18 dd f2 54 65 6c 65 78 28 78 25 2c |.......Telex(x%,| 00006cc0 79 25 2c 74 24 2c 77 25 29 0d 03 b7 07 ea 63 25 |y%,t$,w%).....c%| 00006cd0 0d 03 b8 0d f1 8a 78 25 2c 79 25 29 3b 0d 03 b9 |......x%,y%);...| 00006ce0 16 e7 78 25 2b 77 25 3e 34 30 8c 77 25 3d 34 30 |..x%+w%>40.w%=40| 00006cf0 2d 78 25 0d 03 ba 1e e7 77 25 3c 3e 34 30 8c ef |-x%.....w%<>40..| 00006d00 32 38 2c 78 25 2c 33 30 2c 78 25 2b 77 25 2c 79 |28,x%,30,x%+w%,y| 00006d10 25 0d 03 bb 1a 63 25 3d 31 3a fb a4 47 63 6f 6c |%....c%=1:..Gcol| 00006d20 28 26 46 46 46 46 46 46 30 30 29 0d 03 bc 1d 53 |(&FFFFFF00)....S| 00006d30 24 3d 74 24 3a f2 43 61 6c 63 54 65 78 74 28 77 |$=t$:.CalcText(w| 00006d40 25 29 3a 74 24 3d 53 24 0d 03 bd 05 f5 0d 03 be |%):t$=S$........| 00006d50 2a e7 ac a6 28 2d 31 29 80 c1 74 24 2c 63 25 2c |*...(-1)..t$,c%,| 00006d60 31 29 3c 3e bd 31 33 80 c1 74 24 2c 63 25 2c 31 |1)<>.13..t$,c%,1| 00006d70 29 3c 3e bd 31 30 8c 0d 03 bf 0c f1 22 2a 22 3b |)<>.10......"*";| 00006d80 bd 38 3b 0d 03 c0 10 d1 3d 30 3a 72 25 3d b3 28 |.8;.....=0:r%=.(| 00006d90 32 30 29 0d 03 c1 05 f5 0d 03 c2 1f e7 28 91 83 |20)..........(..| 00006da0 31 30 29 3e 34 8c f1 22 2a 22 3b bd 38 3b 8b f1 |10)>4.."*";.8;..| 00006db0 22 20 22 3b bd 38 3b 0d 03 c3 09 fd 91 3e 72 25 |" ";.8;......>r%| 00006dc0 0d 03 c4 17 d4 32 2c 53 56 6f 6c 25 2c b3 28 31 |.....2,SVol%,.(1| 00006dd0 30 29 2b 35 30 2c 31 0d 03 c5 05 cd 0d 03 c6 0f |0)+50,1.........| 00006de0 f1 c1 74 24 2c 63 25 2c 31 29 3b 0d 03 c7 0b 63 |..t$,c%,1);....c| 00006df0 25 3d 63 25 2b 31 0d 03 c8 0d fd 63 25 3e a9 28 |%=c%+1.....c%>.(| 00006e00 74 24 29 0d 03 c9 05 f1 0d 03 ca 07 ef 32 36 0d |t$)..........26.| 00006e10 03 cb 05 e1 0d 03 cc 13 dd f2 54 65 6c 65 78 32 |..........Telex2| 00006e20 28 79 25 2c 74 25 29 0d 03 cd 07 ea 63 25 0d 03 |(y%,t%).....c%..| 00006e30 ce 06 ef 34 0d 03 cf 0c f1 8a 30 2c 79 25 29 3b |...4......0,y%);| 00006e40 0d 03 d0 16 e7 78 25 2b 77 25 3e 34 30 8c 77 25 |.....x%+w%>40.w%| 00006e50 3d 34 30 2d 78 25 0d 03 d1 15 fb a4 47 63 6f 6c |=40-x%......Gcol| 00006e60 28 26 46 46 46 46 46 46 30 30 29 0d 03 d2 0f 4c |(&FFFFFF00)....L| 00006e70 61 73 74 57 6f 72 64 25 3d a3 0d 03 d3 05 f5 0d |astWord%=.......| 00006e80 03 d4 1a 74 24 3d a4 47 65 74 57 6f 72 64 46 72 |...t$=.GetWordFr| 00006e90 6f 6d 4d 65 6d 28 74 25 29 0d 03 d5 0f e3 63 25 |omMem(t%).....c%| 00006ea0 3d 31 b8 a9 28 74 24 29 0d 03 d6 2a e7 ac a6 28 |=1..(t$)...*...(| 00006eb0 2d 31 29 80 c1 74 24 2c 63 25 2c 31 29 3c 3e bd |-1)..t$,c%,1)<>.| 00006ec0 31 33 80 c1 74 24 2c 63 25 2c 31 29 3c 3e bd 31 |13..t$,c%,1)<>.1| 00006ed0 30 8c 0d 03 d7 0c f1 22 2a 22 3b bd 38 3b 0d 03 |0......"*";.8;..| 00006ee0 d8 10 d1 3d 30 3a 72 25 3d b3 28 32 30 29 0d 03 |...=0:r%=.(20)..| 00006ef0 d9 05 f5 0d 03 da 1f e7 28 91 83 31 30 29 3e 34 |........(..10)>4| 00006f00 8c f1 22 2a 22 3b bd 38 3b 8b f1 22 20 22 3b bd |.."*";.8;.." ";.| 00006f10 38 3b 0d 03 db 09 fd 91 3e 72 25 0d 03 dc 17 d4 |8;......>r%.....| 00006f20 32 2c 53 56 6f 6c 25 2c b3 28 31 30 29 2b 35 30 |2,SVol%,.(10)+50| 00006f30 2c 31 0d 03 dd 05 cd 0d 03 de 0f f1 c1 74 24 2c |,1...........t$,| 00006f40 63 25 2c 31 29 3b 0d 03 df 07 ed 63 25 0d 03 e0 |c%,1);.....c%...| 00006f50 0e fd 4c 61 73 74 57 6f 72 64 25 0d 03 e1 05 f1 |..LastWord%.....| 00006f60 0d 03 e2 07 ef 32 36 0d 03 e3 05 e1 0d 03 e4 19 |.....26.........| 00006f70 dd a4 47 65 74 57 6f 72 64 46 72 6f 6d 4d 65 6d |..GetWordFromMem| 00006f80 28 f8 74 25 29 0d 03 e5 0d ea 74 24 2c 62 25 2c |(.t%).....t$,b%,| 00006f90 63 25 0d 03 e6 0f 74 24 3d 22 22 3a 63 25 3d 74 |c%....t$="":c%=t| 00006fa0 25 0d 03 e7 05 f5 0d 03 e8 0a 62 25 3d 3f 74 25 |%.........b%=?t%| 00006fb0 0d 03 e9 1b e7 bd 28 62 25 29 3c 3e 22 2a 22 8c |......(b%)<>"*".| 00006fc0 74 24 3d 74 24 2b bd 28 62 25 29 0d 03 ea 0b 74 |t$=t$+.(b%)....t| 00006fd0 25 3d 74 25 2b 31 0d 03 eb 1c e7 74 25 2d 63 25 |%=t%+1.....t%-c%| 00006fe0 3e 31 30 30 8c f1 22 4f 4f 50 53 22 3a 62 25 3d |>100.."OOPS":b%=| 00006ff0 33 32 0d 03 ec 20 fd 62 25 3d 33 32 84 62 25 3d |32... .b%=32.b%=| 00007000 31 30 84 62 25 3d 31 33 84 bd 28 62 25 29 3d 22 |10.b%=13..(b%)="| 00007010 2a 22 0d 03 ed 2c e7 bd 28 62 25 29 3d 22 2a 22 |*"...,..(b%)="*"| 00007020 84 62 25 3d 31 30 8c 4c 61 73 74 57 6f 72 64 25 |.b%=10.LastWord%| 00007030 3d b9 8b 4c 61 73 74 57 6f 72 64 25 3d a3 0d 03 |=..LastWord%=...| 00007040 ee 21 e7 b1 3e 34 30 2d a9 28 74 24 29 8c 74 24 |.!..>40-.(t$).t$| 00007050 3d bd 28 31 30 29 2b bd 28 31 33 29 2b 74 24 0d |=.(10)+.(13)+t$.| 00007060 03 ef 07 3d 74 24 0d 03 f0 16 dd f2 52 65 63 6f |...=t$......Reco| 00007070 6e 73 74 72 75 63 74 28 6f 6e 25 29 0d 03 f1 1a |nstruct(on%)....| 00007080 ea 73 77 25 2c 73 79 25 2c 73 68 25 2c 73 77 32 |.sw%,sy%,sh%,sw2| 00007090 25 2c 73 79 32 25 0d 03 f2 0b 73 74 65 70 25 3d |%,sy2%....step%=| 000070a0 34 0d 03 f3 4b c8 99 26 30 30 30 30 30 30 32 45 |4...K..&0000002E| 000070b0 2c 34 30 2b 35 31 32 2c 53 70 72 69 74 65 41 72 |,40+512,SpriteAr| 000070c0 65 61 25 2c 53 70 72 41 64 64 25 28 4f 62 6a 65 |ea%,SprAdd%(Obje| 000070d0 63 74 53 74 61 72 74 25 2b 28 6f 6e 25 2a 32 29 |ctStart%+(on%*2)| 000070e0 29 b8 2c 2c 2c 73 77 25 2c 73 68 25 0d 03 f4 4f |).,,,sw%,sh%...O| 000070f0 c8 99 26 30 30 30 30 30 30 32 45 2c 34 30 2b 35 |..&0000002E,40+5| 00007100 31 32 2c 53 70 72 69 74 65 41 72 65 61 25 2c 53 |12,SpriteArea%,S| 00007110 70 72 41 64 64 25 28 4f 62 6a 65 63 74 53 74 61 |prAdd%(ObjectSta| 00007120 72 74 25 2b 28 6f 6e 25 2a 32 29 2b 31 29 b8 2c |rt%+(on%*2)+1).,| 00007130 2c 2c 73 77 32 25 2c 73 68 32 25 0d 03 f5 16 e7 |,,sw2%,sh2%.....| 00007140 73 77 32 25 3e 73 77 25 8c 73 77 25 3d 73 77 32 |sw2%>sw%.sw%=sw2| 00007150 25 0d 03 f6 16 e7 73 68 32 25 3e 73 68 25 8c 73 |%.....sh2%>sh%.s| 00007160 68 25 3d 73 68 32 25 0d 03 f7 2d e3 66 25 3d 53 |h%=sh2%...-.f%=S| 00007170 70 72 69 74 65 42 6f 74 74 6f 6d 25 b8 53 70 72 |priteBottom%.Spr| 00007180 69 74 65 42 6f 74 74 6f 6d 25 2b 28 73 68 25 2a |iteBottom%+(sh%*| 00007190 34 29 88 34 0d 03 f8 07 d1 3d 30 0d 03 f9 1b e7 |4).4.....=0.....| 000071a0 a6 28 2d 31 29 8c 73 74 65 70 25 3d 31 36 8b 73 |.(-1).step%=16.s| 000071b0 74 65 70 25 3d 34 0d 03 fa 39 ef 32 34 2c 36 34 |tep%=4...9.24,64| 000071c0 30 2d 28 28 73 77 25 2a 34 29 2f 32 29 3b 53 70 |0-((sw%*4)/2);Sp| 000071d0 72 69 74 65 42 6f 74 74 6f 6d 25 3b 36 34 30 2b |riteBottom%;640+| 000071e0 28 28 73 77 25 2a 34 29 2f 32 29 3b 66 25 3b 0d |((sw%*4)/2);f%;.| 000071f0 03 fb 2d e3 70 25 3d 36 34 30 2d 28 28 73 77 25 |..-.p%=640-((sw%| 00007200 2a 34 29 2f 32 29 b8 36 34 30 2b 28 28 73 77 25 |*4)/2).640+((sw%| 00007210 2a 34 29 2f 32 29 88 73 74 65 70 25 0d 03 fc 21 |*4)/2).step%...!| 00007220 e7 b0 70 25 2c 66 25 2b 34 29 8c e6 30 2c b3 28 |..p%,f%+4)..0,.(| 00007230 31 35 29 3a c8 92 70 25 2c 66 25 2b 34 0d 03 fd |15):..p%,f%+4...| 00007240 07 ed 70 25 0d 03 fe 27 e6 30 2c 30 3a ec 36 34 |..p%...'.0,0:.64| 00007250 30 2d 28 28 73 77 25 2a 34 29 2f 32 29 2c 66 25 |0-((sw%*4)/2),f%| 00007260 3a df 42 59 73 77 25 2a 34 2c 30 0d 03 ff 47 f2 |:.BYsw%*4,0...G.| 00007270 50 6c 6f 74 53 70 72 69 74 65 28 4f 62 6a 65 63 |PlotSprite(Objec| 00007280 74 53 74 61 72 74 25 2b 28 6f 6e 25 2a 32 29 2b |tStart%+(on%*2)+| 00007290 31 2c 36 34 30 2d 28 28 73 77 25 2a 34 29 2f 32 |1,640-((sw%*4)/2| 000072a0 29 2c 53 70 72 69 74 65 42 6f 74 74 6f 6d 25 2c |),SpriteBottom%,| 000072b0 30 29 0d 04 00 12 e7 ac a6 28 2d 31 29 8c f5 3a |0).......(-1)..:| 000072c0 fd 91 3e 32 0d 04 01 07 ed 66 25 0d 04 02 0c ef |..>2.....f%.....| 000072d0 32 36 3a e6 30 2c 37 0d 04 03 05 e1 0d 04 04 0c |26:.0,7.........| 000072e0 dd f2 53 63 72 6f 6c 6c 0d 04 05 11 ef 32 38 2c |..Scroll.....28,| 000072f0 30 2c 32 33 2c 33 39 2c 30 0d 04 06 0c e3 66 25 |0,23,39,0.....f%| 00007300 3d 31 b8 38 30 0d 04 07 07 d1 3d 30 0d 04 08 0f |=1.80.....=0....| 00007310 ef 32 33 2c 37 2c 30 2c 31 2c 30 0d 04 09 12 e7 |.23,7,0,1,0.....| 00007320 ac a6 28 2d 31 29 8c f5 3a fd 91 3e 30 0d 04 0a |..(-1)..:..>0...| 00007330 07 ed 66 25 0d 04 0b 07 ef 32 36 0d 04 0c 05 e1 |..f%.....26.....| 00007340 0d 04 0d 0d dd f2 44 69 67 53 69 74 65 0d 04 0e |......DigSite...| 00007350 10 55 73 69 6e 67 54 6f 6f 6c 25 3d 30 0d 04 0f |.UsingTool%=0...| 00007360 05 f5 0d 04 10 0a 44 53 71 25 3d 30 0d 04 11 09 |......DSq%=0....| 00007370 f2 50 4d 61 70 0d 04 12 1e f2 4f 70 28 22 48 65 |.PMap.....Op("He| 00007380 6c 70 22 2c 22 4c 65 61 76 65 20 44 69 67 22 2c |lp","Leave Dig",| 00007390 22 22 29 0d 04 13 0a f2 50 54 42 61 72 0d 04 14 |"").....PTBar...| 000073a0 23 53 24 3d 22 43 68 6f 6f 73 65 20 61 20 74 6f |#S$="Choose a to| 000073b0 6f 6c 20 74 6f 20 64 69 67 20 77 69 74 68 2e 22 |ol to dig with."| 000073c0 0d 04 15 16 f2 54 69 6c 65 28 2d 31 2c 33 37 30 |.....Tile(-1,370| 000073d0 2c 2d 31 2c 32 29 0d 04 16 05 f5 0d 04 17 0a f2 |,-1,2)..........| 000073e0 4d 6f 75 73 65 0d 04 18 17 e7 42 75 74 74 6f 6e |Mouse.....Button| 000073f0 50 72 65 73 73 65 64 25 3c 3e 31 8c 0d 04 19 21 |Pressed%<>1....!| 00007400 4c 6f 63 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 |Loc%=.ConLoc(Mou| 00007410 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 04 1a |seX%,MouseY%)...| 00007420 0b c8 8e 4c 6f 63 25 ca 0d 04 1b 0f c9 31 3a f2 |...Loc%......1:.| 00007430 48 65 6c 70 28 32 29 0d 04 1c 0d c9 32 3a 44 53 |Help(2).....2:DS| 00007440 71 25 3d 31 0d 04 1d 24 c9 38 2c 39 2c 31 30 3a |q%=1...$.8,9,10:| 00007450 55 73 69 6e 67 54 6f 6f 6c 25 3d 4c 6f 63 25 2d |UsingTool%=Loc%-| 00007460 37 3a 44 53 71 25 3d 32 0d 04 1e 13 c9 31 31 3a |7:DSq%=2.....11:| 00007470 f2 4d 61 67 6e 69 66 79 28 31 29 0d 04 1f 05 cb |.Magnify(1).....| 00007480 0d 04 20 05 cd 0d 04 21 0b fd 44 53 71 25 3e 30 |.. ....!..DSq%>0| 00007490 0d 04 22 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 |.."..ReplaceTemp| 000074a0 0d 04 23 16 e7 44 53 71 25 3d 31 8c 45 78 44 53 |..#..DSq%=1.ExDS| 000074b0 71 25 3d b9 3a e1 0d 04 24 0a 44 53 71 25 3d 30 |q%=.:...$.DSq%=0| 000074c0 0d 04 25 12 f2 48 69 67 68 6c 69 67 68 74 54 6f |..%..HighlightTo| 000074d0 6f 6c 0d 04 26 1f 53 24 3d 22 43 68 6f 6f 73 65 |ol..&.S$="Choose| 000074e0 20 61 20 70 6c 61 63 65 20 74 6f 20 64 69 67 2e | a place to dig.| 000074f0 22 0d 04 27 16 f2 54 69 6c 65 28 2d 31 2c 33 37 |"..'..Tile(-1,37| 00007500 30 2c 2d 31 2c 32 29 0d 04 28 05 f5 0d 04 29 0a |0,-1,2)..(....).| 00007510 f2 4d 6f 75 73 65 0d 04 2a 1c e7 42 75 74 74 6f |.Mouse..*..Butto| 00007520 6e 50 72 65 73 73 65 64 25 3d 31 8c 44 53 71 25 |nPressed%=1.DSq%| 00007530 3d 33 0d 04 2b 0d e7 44 53 71 25 3c 3e 33 8c 0d |=3..+..DSq%<>3..| 00007540 04 2c 21 4c 6f 63 25 3d a4 43 6f 6e 4c 6f 63 28 |.,!Loc%=.ConLoc(| 00007550 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 |MouseX%,MouseY%)| 00007560 0d 04 2d 0b c8 8e 4c 6f 63 25 ca 0d 04 2e 19 c9 |..-...Loc%......| 00007570 31 3a f2 48 65 6c 70 28 32 29 3a 4d 6f 75 73 65 |1:.Help(2):Mouse| 00007580 59 25 3d 30 0d 04 2f 0d c9 32 3a 44 53 71 25 3d |Y%=0../..2:DSq%=| 00007590 31 0d 04 30 05 cb 0d 04 31 35 e7 4d 6f 75 73 65 |1..0....15.Mouse| 000075a0 59 25 3e 33 38 30 80 4d 6f 75 73 65 59 25 3c 38 |Y%>380.MouseY%<8| 000075b0 36 30 80 4d 6f 75 73 65 58 25 3e 34 30 80 4d 6f |60.MouseX%>40.Mo| 000075c0 75 73 65 58 25 3c 31 32 34 30 8c 0d 04 32 24 44 |useX%<1240...2$D| 000075d0 69 67 4c 6f 63 25 3d a4 44 69 67 4c 6f 63 28 4d |igLoc%=.DigLoc(M| 000075e0 6f 75 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d |ouseX%,MouseY%).| 000075f0 04 33 cd e7 4f 62 6a 65 63 74 44 75 67 25 3d 2d |.3..ObjectDug%=-| 00007600 31 8c f2 52 65 70 6c 61 63 65 54 65 6d 70 3a f2 |1..ReplaceTemp:.| 00007610 43 6f 6e 73 6f 6c 65 3a 53 24 3d 22 53 6f 72 72 |Console:S$="Sorr| 00007620 79 2c 20 74 68 61 74 20 61 72 65 61 20 68 61 73 |y, that area has| 00007630 20 62 65 65 6e 20 64 61 6d 61 67 65 64 2e 22 3a | been damaged.":| 00007640 f2 54 69 6c 65 28 2d 31 2c 39 30 30 2c 2d 31 2c |.Tile(-1,900,-1,| 00007650 32 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 |2):.ContBox(-1,3| 00007660 37 30 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 |70):.ReplaceTemp| 00007670 3a 53 24 3d 22 43 68 6f 6f 73 65 20 61 20 70 6c |:S$="Choose a pl| 00007680 61 63 65 20 74 6f 20 64 69 67 2e 22 3a f2 54 69 |ace to dig.":.Ti| 00007690 6c 65 28 2d 31 2c 33 37 30 2c 2d 31 2c 32 29 3a |le(-1,370,-1,2):| 000076a0 f2 4f 70 28 43 75 72 4f 70 61 24 2c 43 75 72 4f |.Op(CurOpa$,CurO| 000076b0 70 62 24 2c 43 75 72 4f 70 63 24 29 0d 04 34 cd |pb$,CurOpc$)..4.| 000076c0 e7 4f 62 6a 65 63 74 44 75 67 25 3d 39 39 39 8c |.ObjectDug%=999.| 000076d0 f2 52 65 70 6c 61 63 65 54 65 6d 70 3a f2 43 6f |.ReplaceTemp:.Co| 000076e0 6e 73 6f 6c 65 3a 53 24 3d 22 53 6f 72 72 79 20 |nsole:S$="Sorry | 000076f0 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61 64 79 |you have already| 00007700 20 64 75 67 20 74 68 65 72 65 2e 22 3a f2 54 69 | dug there.":.Ti| 00007710 6c 65 28 2d 31 2c 39 30 30 2c 2d 31 2c 32 29 3a |le(-1,900,-1,2):| 00007720 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 37 30 29 |.ContBox(-1,370)| 00007730 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 3a 53 24 |:.ReplaceTemp:S$| 00007740 3d 22 43 68 6f 6f 73 65 20 61 20 70 6c 61 63 65 |="Choose a place| 00007750 20 74 6f 20 64 69 67 2e 22 3a f2 54 69 6c 65 28 | to dig.":.Tile(| 00007760 2d 31 2c 33 37 30 2c 2d 31 2c 32 29 3a f2 4f 70 |-1,370,-1,2):.Op| 00007770 28 43 75 72 4f 70 61 24 2c 43 75 72 4f 70 62 24 |(CurOpa$,CurOpb$| 00007780 2c 43 75 72 4f 70 63 24 29 0d 04 35 41 e7 4f 62 |,CurOpc$)..5A.Ob| 00007790 6a 65 63 74 44 75 67 25 3e 3d 30 80 4f 62 6a 65 |jectDug%>=0.Obje| 000077a0 63 74 44 75 67 25 3c 3e 39 39 39 8c 44 53 71 25 |ctDug%<>999.DSq%| 000077b0 3d 32 3a 3f 50 55 6e 6b 6e 6f 77 6e 25 3d 3f 50 |=2:?PUnknown%=?P| 000077c0 55 6e 6b 6e 6f 77 6e 25 2b 31 0d 04 36 05 cd 0d |Unknown%+1..6...| 000077d0 04 37 05 cd 0d 04 38 0b fd 44 53 71 25 3e 30 0d |.7....8..DSq%>0.| 000077e0 04 39 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d |.9..ReplaceTemp.| 000077f0 04 3a 16 e7 44 53 71 25 3d 31 8c 45 78 44 53 71 |.:..DSq%=1.ExDSq| 00007800 25 3d b9 3a e1 0d 04 3b 0c fd 44 53 71 25 3c 3e |%=.:...;..DSq%<>| 00007810 33 0d 04 3c 0c f2 43 6f 6e 73 6f 6c 65 0d 04 3d |3..<..Console..=| 00007820 12 f2 48 69 67 68 6c 69 67 68 74 54 6f 6f 6c 0d |..HighlightTool.| 00007830 04 3e 1f 44 69 67 58 25 3d 4d 6f 75 73 65 58 25 |.>.DigX%=MouseX%| 00007840 3a 44 69 67 59 25 3d 4d 6f 75 73 65 59 25 0d 04 |:DigY%=MouseY%..| 00007850 3f 0c f2 44 69 67 5a 6f 6f 6d 0d 04 40 0f f2 44 |?..DigZoom..@..D| 00007860 69 67 41 6e 69 6d 28 31 29 0d 04 41 14 e7 4f 62 |igAnim(1)..A..Ob| 00007870 6a 65 63 74 44 75 67 25 3d 39 39 38 8c 0d 04 42 |jectDug%=998...B| 00007880 9c f2 43 6c 6f 63 6b 41 64 76 61 6e 63 65 28 55 |..ClockAdvance(U| 00007890 73 69 6e 67 54 6f 6f 6c 25 2c 32 29 3a f2 50 54 |singTool%,2):.PT| 000078a0 42 61 72 3a 53 24 3d 22 59 6f 75 20 64 6f 6e 27 |Bar:S$="You don'| 000078b0 74 20 66 69 6e 64 20 61 6e 79 74 68 69 6e 67 20 |t find anything | 000078c0 68 65 72 65 2e 22 3a f2 54 69 6c 65 28 44 69 67 |here.":.Tile(Dig| 000078d0 58 25 2d 32 34 34 2c 44 69 67 59 25 2b 32 34 38 |X%-244,DigY%+248| 000078e0 2c 31 34 2c 32 29 3a f2 43 6f 6e 74 42 6f 78 28 |,14,2):.ContBox(| 000078f0 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 65 |-1,350):.Replace| 00007900 54 65 6d 70 3a 44 69 67 5a 6f 6e 65 25 28 44 69 |Temp:DigZone%(Di| 00007910 67 4c 6f 63 25 29 3d 2d 32 0d 04 43 96 e7 21 54 |gLoc%)=-2..C..!T| 00007920 69 6d 65 25 3e 3d 31 37 80 44 53 71 25 3c 3e 31 |ime%>=17.DSq%<>1| 00007930 8c 53 24 3d 22 49 74 20 69 73 20 67 65 74 74 69 |.S$="It is getti| 00007940 6e 67 20 64 61 72 6b 20 6e 6f 77 2e 20 59 6f 75 |ng dark now. You| 00007950 20 6d 75 73 74 20 72 65 74 75 72 6e 20 74 6f 20 | must return to | 00007960 74 68 65 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 |the Information | 00007970 68 75 74 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 37 |hut.":.Tile(-1,7| 00007980 30 30 2c 33 30 2c 32 29 3a f2 43 6f 6e 74 42 6f |00,30,2):.ContBo| 00007990 78 28 2d 31 2c 33 37 30 29 3a f2 52 65 70 6c 61 |x(-1,370):.Repla| 000079a0 63 65 54 65 6d 70 3a 45 78 44 53 71 25 3d b9 0d |ceTemp:ExDSq%=..| 000079b0 04 44 05 e1 0d 04 45 05 cd 0d 04 46 32 f2 43 6c |.D....E....F2.Cl| 000079c0 6f 63 6b 41 64 76 61 6e 63 65 28 55 73 69 6e 67 |ockAdvance(Using| 000079d0 54 6f 6f 6c 25 2c 32 29 3a f2 41 77 61 72 64 53 |Tool%,2):.AwardS| 000079e0 63 6f 72 65 3a f2 50 54 42 61 72 0d 04 47 1b e7 |core:.PTBar..G..| 000079f0 44 69 67 5a 6f 6e 65 25 28 44 69 67 4c 6f 63 25 |DigZone%(DigLoc%| 00007a00 29 3c 32 35 36 8c 0d 04 48 3a 53 24 3d 4f 62 44 |)<256...H:S$=ObD| 00007a10 69 67 31 24 28 4f 62 6a 65 63 74 44 75 67 25 29 |ig1$(ObjectDug%)| 00007a20 3a f2 54 69 6c 65 28 44 69 67 58 25 2d 32 34 34 |:.Tile(DigX%-244| 00007a30 2c 44 69 67 59 25 2b 32 34 38 2c 31 34 2c 32 29 |,DigY%+248,14,2)| 00007a40 0d 04 49 2c 44 69 67 5a 6f 6e 65 25 28 44 69 67 |..I,DigZone%(Dig| 00007a50 4c 6f 63 25 29 3d 44 69 67 5a 6f 6e 65 25 28 44 |Loc%)=DigZone%(D| 00007a60 69 67 4c 6f 63 25 29 2b 31 30 30 30 0d 04 4a 38 |igLoc%)+1000..J8| 00007a70 f2 4f 70 28 22 4b 65 65 70 20 44 69 67 67 69 6e |.Op("Keep Diggin| 00007a80 67 22 2c 22 44 69 67 20 73 6f 6d 65 77 68 65 72 |g","Dig somewher| 00007a90 65 20 65 6c 73 65 22 2c 22 4c 65 61 76 65 20 64 |e else","Leave d| 00007aa0 69 67 22 29 0d 04 4b 0a 44 53 71 25 3d 30 0d 04 |ig")..K.DSq%=0..| 00007ab0 4c 05 f5 0d 04 4d 0a f2 4d 6f 75 73 65 0d 04 4e |L....M..Mouse..N| 00007ac0 21 4c 6f 63 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f |!Loc%=.ConLoc(Mo| 00007ad0 75 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 04 |useX%,MouseY%)..| 00007ae0 4f 0b c8 8e 4c 6f 63 25 ca 0d 04 50 0d c9 31 3a |O...Loc%...P..1:| 00007af0 44 53 71 25 3d 32 0d 04 51 0d c9 32 3a 44 53 71 |DSq%=2..Q..2:DSq| 00007b00 25 3d 33 0d 04 52 0d c9 33 3a 44 53 71 25 3d 31 |%=3..R..3:DSq%=1| 00007b10 0d 04 53 05 cb 0d 04 54 0b fd 44 53 71 25 3e 30 |..S....T..DSq%>0| 00007b20 0d 04 55 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 |..U..ReplaceTemp| 00007b30 0d 04 56 94 e7 21 54 69 6d 65 25 3e 3d 31 37 80 |..V..!Time%>=17.| 00007b40 44 53 71 25 3c 3e 31 8c 53 24 3d 22 49 74 20 69 |DSq%<>1.S$="It i| 00007b50 73 20 67 65 74 74 69 6e 67 20 64 61 72 6b 20 6e |s getting dark n| 00007b60 6f 77 2e 20 59 6f 75 20 6d 75 73 74 20 72 65 74 |ow. You must ret| 00007b70 75 72 6e 20 74 6f 20 74 68 65 20 49 6e 66 6f 72 |urn to the Infor| 00007b80 6d 61 74 69 6f 6e 20 68 75 74 2e 22 3a f2 54 69 |mation hut.":.Ti| 00007b90 6c 65 28 2d 31 2c 37 30 30 2c 33 30 2c 32 29 3a |le(-1,700,30,2):| 00007ba0 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 37 30 29 |.ContBox(-1,370)| 00007bb0 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 3a 44 53 |:.ReplaceTemp:DS| 00007bc0 71 25 3d 31 0d 04 57 16 e7 44 53 71 25 3d 31 8c |q%=1..W..DSq%=1.| 00007bd0 45 78 44 53 71 25 3d b9 3a e1 0d 04 58 0d e7 44 |ExDSq%=.:...X..D| 00007be0 53 71 25 3d 33 8c e1 0d 04 59 0c f2 43 6f 6e 73 |Sq%=3....Y..Cons| 00007bf0 6f 6c 65 0d 04 5a 36 53 24 3d 22 43 68 6f 6f 73 |ole..Z6S$="Choos| 00007c00 65 20 61 20 74 6f 6f 6c 20 74 6f 20 64 69 67 20 |e a tool to dig | 00007c10 77 69 74 68 2e 22 3a f2 54 69 6c 65 28 2d 31 2c |with.":.Tile(-1,| 00007c20 33 37 30 2c 2d 31 2c 32 29 0d 04 5b 0a 44 53 71 |370,-1,2)..[.DSq| 00007c30 25 3d 30 0d 04 5c 05 f5 0d 04 5d 0a f2 4d 6f 75 |%=0..\....]..Mou| 00007c40 73 65 0d 04 5e 21 4c 6f 63 25 3d a4 43 6f 6e 4c |se..^!Loc%=.ConL| 00007c50 6f 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 |oc(MouseX%,Mouse| 00007c60 59 25 29 0d 04 5f 0b c8 8e 4c 6f 63 25 ca 0d 04 |Y%).._...Loc%...| 00007c70 60 24 c9 38 2c 39 2c 31 30 3a 55 73 69 6e 67 54 |`$.8,9,10:UsingT| 00007c80 6f 6f 6c 25 3d 4c 6f 63 25 2d 37 3a 44 53 71 25 |ool%=Loc%-7:DSq%| 00007c90 3d 32 0d 04 61 13 c9 31 31 3a f2 4d 61 67 6e 69 |=2..a..11:.Magni| 00007ca0 66 79 28 30 29 0d 04 62 05 cb 0d 04 63 0b fd 44 |fy(0)..b....c..D| 00007cb0 53 71 25 3d 32 0d 04 64 12 f2 48 69 67 68 6c 69 |Sq%=2..d..Highli| 00007cc0 67 68 74 54 6f 6f 6c 0d 04 65 10 f2 52 65 70 6c |ghtTool..e..Repl| 00007cd0 61 63 65 54 65 6d 70 0d 04 66 0f f2 44 69 67 41 |aceTemp..f..DigA| 00007ce0 6e 69 6d 28 32 29 0d 04 67 32 f2 43 6c 6f 63 6b |nim(2)..g2.Clock| 00007cf0 41 64 76 61 6e 63 65 28 55 73 69 6e 67 54 6f 6f |Advance(UsingToo| 00007d00 6c 25 2c 32 29 3a f2 41 77 61 72 64 53 63 6f 72 |l%,2):.AwardScor| 00007d10 65 3a f2 50 54 42 61 72 0d 04 68 bf e7 42 72 6f |e:.PTBar..h..Bro| 00007d20 6b 65 6e 4f 62 6a 65 63 74 25 8c 53 24 3d 22 54 |kenObject%.S$="T| 00007d30 68 65 20 73 70 61 64 65 20 77 61 73 20 74 68 65 |he spade was the| 00007d40 20 77 72 6f 6e 67 20 74 6f 6f 6c 20 66 6f 72 20 | wrong tool for | 00007d50 74 68 69 73 20 6a 6f 62 2e 20 49 20 61 6d 20 61 |this job. I am a| 00007d60 66 72 61 69 64 20 79 6f 75 20 68 61 76 65 20 64 |fraid you have d| 00007d70 61 6d 61 67 65 64 20 74 68 69 73 20 61 72 65 61 |amaged this area| 00007d80 2e 22 3a f2 54 69 6c 65 28 44 69 67 58 25 2d 32 |.":.Tile(DigX%-2| 00007d90 34 34 2c 44 69 67 59 25 2b 32 34 38 2c 31 34 2c |44,DigY%+248,14,| 00007da0 32 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 |2):.ContBox(-1,3| 00007db0 35 30 29 3a 44 69 67 5a 6f 6e 65 25 28 44 69 67 |50):DigZone%(Dig| 00007dc0 4c 6f 63 25 29 3d 2d 31 3a f2 52 65 70 6c 61 63 |Loc%)=-1:.Replac| 00007dd0 65 54 65 6d 70 3a e1 0d 04 69 05 cd 0d 04 6a 32 |eTemp:...i....j2| 00007de0 e7 44 69 67 5a 6f 6e 65 25 28 44 69 67 4c 6f 63 |.DigZone%(DigLoc| 00007df0 25 29 3e 39 39 39 80 44 69 67 5a 6f 6e 65 25 28 |%)>999.DigZone%(| 00007e00 44 69 67 4c 6f 63 25 29 3c 39 39 39 39 8c 0d 04 |DigLoc%)<9999...| 00007e10 6b 3a 53 24 3d 4f 62 44 69 67 32 24 28 4f 62 6a |k:S$=ObDig2$(Obj| 00007e20 65 63 74 44 75 67 25 29 3a f2 54 69 6c 65 28 44 |ectDug%):.Tile(D| 00007e30 69 67 58 25 2d 32 34 34 2c 44 69 67 59 25 2b 32 |igX%-244,DigY%+2| 00007e40 34 38 2c 31 34 2c 32 29 0d 04 6c 2d 44 69 67 5a |48,14,2)..l-DigZ| 00007e50 6f 6e 65 25 28 44 69 67 4c 6f 63 25 29 3d 44 69 |one%(DigLoc%)=Di| 00007e60 67 5a 6f 6e 65 25 28 44 69 67 4c 6f 63 25 29 2b |gZone%(DigLoc%)+| 00007e70 31 30 30 30 30 0d 04 6d 38 f2 4f 70 28 22 4b 65 |10000..m8.Op("Ke| 00007e80 65 70 20 44 69 67 67 69 6e 67 22 2c 22 44 69 67 |ep Digging","Dig| 00007e90 20 73 6f 6d 65 77 68 65 72 65 20 65 6c 73 65 22 | somewhere else"| 00007ea0 2c 22 4c 65 61 76 65 20 64 69 67 22 29 0d 04 6e |,"Leave dig")..n| 00007eb0 0a 44 53 71 25 3d 30 0d 04 6f 05 f5 0d 04 70 0a |.DSq%=0..o....p.| 00007ec0 f2 4d 6f 75 73 65 0d 04 71 21 4c 6f 63 25 3d a4 |.Mouse..q!Loc%=.| 00007ed0 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 2c 4d |ConLoc(MouseX%,M| 00007ee0 6f 75 73 65 59 25 29 0d 04 72 0b c8 8e 4c 6f 63 |ouseY%)..r...Loc| 00007ef0 25 ca 0d 04 73 0d c9 31 3a 44 53 71 25 3d 32 0d |%...s..1:DSq%=2.| 00007f00 04 74 0d c9 32 3a 44 53 71 25 3d 33 0d 04 75 0d |.t..2:DSq%=3..u.| 00007f10 c9 33 3a 44 53 71 25 3d 31 0d 04 76 05 cb 0d 04 |.3:DSq%=1..v....| 00007f20 77 0b fd 44 53 71 25 3e 30 0d 04 78 10 f2 52 65 |w..DSq%>0..x..Re| 00007f30 70 6c 61 63 65 54 65 6d 70 0d 04 79 94 e7 21 54 |placeTemp..y..!T| 00007f40 69 6d 65 25 3e 3d 31 37 80 44 53 71 25 3c 3e 31 |ime%>=17.DSq%<>1| 00007f50 8c 53 24 3d 22 49 74 20 69 73 20 67 65 74 74 69 |.S$="It is getti| 00007f60 6e 67 20 64 61 72 6b 20 6e 6f 77 2e 20 59 6f 75 |ng dark now. You| 00007f70 20 6d 75 73 74 20 72 65 74 75 72 6e 20 74 6f 20 | must return to | 00007f80 74 68 65 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 |the Information | 00007f90 68 75 74 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 37 |hut.":.Tile(-1,7| 00007fa0 30 30 2c 33 30 2c 32 29 3a f2 43 6f 6e 74 42 6f |00,30,2):.ContBo| 00007fb0 78 28 2d 31 2c 33 37 30 29 3a f2 52 65 70 6c 61 |x(-1,370):.Repla| 00007fc0 63 65 54 65 6d 70 3a 44 53 71 25 3d 31 0d 04 7a |ceTemp:DSq%=1..z| 00007fd0 16 e7 44 53 71 25 3d 31 8c 45 78 44 53 71 25 3d |..DSq%=1.ExDSq%=| 00007fe0 b9 3a e1 0d 04 7b 0d e7 44 53 71 25 3d 33 8c e1 |.:...{..DSq%=3..| 00007ff0 0d 04 7c 0c f2 43 6f 6e 73 6f 6c 65 0d 04 7d 36 |..|..Console..}6| 00008000 53 24 3d 22 43 68 6f 6f 73 65 20 61 20 74 6f 6f |S$="Choose a too| 00008010 6c 20 74 6f 20 64 69 67 20 77 69 74 68 2e 22 3a |l to dig with.":| 00008020 f2 54 69 6c 65 28 2d 31 2c 33 37 30 2c 2d 31 2c |.Tile(-1,370,-1,| 00008030 32 29 0d 04 7e 0a 44 53 71 25 3d 30 0d 04 7f 05 |2)..~.DSq%=0....| 00008040 f5 0d 04 80 0a f2 4d 6f 75 73 65 0d 04 81 21 4c |......Mouse...!L| 00008050 6f 63 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 73 |oc%=.ConLoc(Mous| 00008060 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 04 82 0b |eX%,MouseY%)....| 00008070 c8 8e 4c 6f 63 25 ca 0d 04 83 24 c9 38 2c 39 2c |..Loc%....$.8,9,| 00008080 31 30 3a 55 73 69 6e 67 54 6f 6f 6c 25 3d 4c 6f |10:UsingTool%=Lo| 00008090 63 25 2d 37 3a 44 53 71 25 3d 32 0d 04 84 13 c9 |c%-7:DSq%=2.....| 000080a0 31 31 3a f2 4d 61 67 6e 69 66 79 28 30 29 0d 04 |11:.Magnify(0)..| 000080b0 85 05 cb 0d 04 86 0b fd 44 53 71 25 3d 32 0d 04 |........DSq%=2..| 000080c0 87 12 f2 48 69 67 68 6c 69 67 68 74 54 6f 6f 6c |...HighlightTool| 000080d0 0d 04 88 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 |.....ReplaceTemp| 000080e0 0d 04 89 0f f2 44 69 67 41 6e 69 6d 28 33 29 0d |.....DigAnim(3).| 000080f0 04 8a 32 f2 43 6c 6f 63 6b 41 64 76 61 6e 63 65 |..2.ClockAdvance| 00008100 28 55 73 69 6e 67 54 6f 6f 6c 25 2c 32 29 3a f2 |(UsingTool%,2):.| 00008110 41 77 61 72 64 53 63 6f 72 65 3a f2 50 54 42 61 |AwardScore:.PTBa| 00008120 72 0d 04 8b bf e7 42 72 6f 6b 65 6e 4f 62 6a 65 |r.....BrokenObje| 00008130 63 74 25 8c 53 24 3d 22 54 68 65 20 73 70 61 64 |ct%.S$="The spad| 00008140 65 20 77 61 73 20 74 68 65 20 77 72 6f 6e 67 20 |e was the wrong | 00008150 74 6f 6f 6c 20 66 6f 72 20 74 68 69 73 20 6a 6f |tool for this jo| 00008160 62 2e 20 49 20 61 6d 20 61 66 72 61 69 64 20 79 |b. I am afraid y| 00008170 6f 75 20 68 61 76 65 20 64 61 6d 61 67 65 64 20 |ou have damaged | 00008180 74 68 69 73 20 61 72 65 61 2e 22 3a f2 54 69 6c |this area.":.Til| 00008190 65 28 44 69 67 58 25 2d 32 34 34 2c 44 69 67 59 |e(DigX%-244,DigY| 000081a0 25 2b 32 34 38 2c 31 34 2c 32 29 3a 44 69 67 5a |%+248,14,2):DigZ| 000081b0 6f 6e 65 25 28 44 69 67 4c 6f 63 25 29 3d 2d 31 |one%(DigLoc%)=-1| 000081c0 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 |:.ContBox(-1,350| 000081d0 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 3a e1 |):.ReplaceTemp:.| 000081e0 0d 04 8c 05 cd 0d 04 8d 1c e7 44 69 67 5a 6f 6e |..........DigZon| 000081f0 65 25 28 44 69 67 4c 6f 63 25 29 3e 39 39 39 39 |e%(DigLoc%)>9999| 00008200 8c 0d 04 8e 3a 53 24 3d 4f 62 44 69 67 33 24 28 |....:S$=ObDig3$(| 00008210 4f 62 6a 65 63 74 44 75 67 25 29 3a f2 54 69 6c |ObjectDug%):.Til| 00008220 65 28 44 69 67 58 25 2d 32 34 34 2c 44 69 67 59 |e(DigX%-244,DigY| 00008230 25 2b 32 34 38 2c 31 34 2c 31 29 0d 04 8f 4d 3f |%+248,14,1)...M?| 00008240 28 50 4f 62 6a 65 63 74 73 25 2b 21 50 4f 62 4e |(PObjects%+!PObN| 00008250 6f 25 29 3d 4f 62 6a 65 63 74 44 75 67 25 3a 44 |o%)=ObjectDug%:D| 00008260 69 67 5a 6f 6e 65 25 28 44 69 67 4c 6f 63 25 29 |igZone%(DigLoc%)| 00008270 3d 39 39 39 3a 21 50 4f 62 4e 6f 25 3d 28 21 50 |=999:!PObNo%=(!P| 00008280 4f 62 4e 6f 25 29 2b 31 0d 04 90 21 e7 4f 62 6a |ObNo%)+1...!.Obj| 00008290 65 63 74 44 75 67 25 3d 34 8c 55 6e 6b 6e 6f 77 |ectDug%=4.Unknow| 000082a0 6e 46 6f 75 6e 64 25 3d b9 0d 04 91 13 44 6f 4e |nFound%=.....DoN| 000082b0 6f 74 52 65 70 6c 61 63 65 25 3d b9 0d 04 92 16 |otReplace%=.....| 000082c0 f2 41 73 6b 4f 62 6a 65 63 74 51 75 65 73 74 69 |.AskObjectQuesti| 000082d0 6f 6e 0d 04 93 3a f2 4f 70 28 22 4c 6f 6f 6b 20 |on...:.Op("Look | 000082e0 61 74 20 6f 62 6a 65 63 74 22 2c 22 44 69 67 20 |at object","Dig | 000082f0 73 6f 6d 65 77 68 65 72 65 20 65 6c 73 65 22 2c |somewhere else",| 00008300 22 4c 65 61 76 65 20 64 69 67 22 29 0d 04 94 18 |"Leave dig")....| 00008310 44 53 71 25 3d 30 3a f2 53 69 6e 67 6c 65 53 63 |DSq%=0:.SingleSc| 00008320 72 65 65 6e 0d 04 95 05 f5 0d 04 96 0a f2 4d 6f |reen..........Mo| 00008330 75 73 65 0d 04 97 21 4c 6f 63 25 3d a4 43 6f 6e |use...!Loc%=.Con| 00008340 4c 6f 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 |Loc(MouseX%,Mous| 00008350 65 59 25 29 0d 04 98 0b c8 8e 4c 6f 63 25 ca 0d |eY%)......Loc%..| 00008360 04 99 14 c9 31 3a e7 43 75 72 4f 70 61 24 3c 3e |....1:.CurOpa$<>| 00008370 22 22 8c 0d 04 9a 16 f2 43 6c 6f 73 65 72 4c 6f |""......CloserLo| 00008380 6f 6b 3a 44 53 71 25 3d 33 0d 04 9b 05 cd 0d 04 |ok:DSq%=3.......| 00008390 9c 0d c9 32 3a 44 53 71 25 3d 33 0d 04 9d 0d c9 |...2:DSq%=3.....| 000083a0 33 3a 44 53 71 25 3d 31 0d 04 9e 15 c9 31 31 3a |3:DSq%=1.....11:| 000083b0 e7 43 75 72 4f 70 61 24 3c 3e 22 22 8c 0d 04 9f |.CurOpa$<>""....| 000083c0 16 f2 43 6c 6f 73 65 72 4c 6f 6f 6b 3a 44 53 71 |..CloserLook:DSq| 000083d0 25 3d 33 0d 04 a0 05 cd 0d 04 a1 05 cb 0d 04 a2 |%=3.............| 000083e0 0b fd 44 53 71 25 3e 30 0d 04 a3 94 e7 21 54 69 |..DSq%>0.....!Ti| 000083f0 6d 65 25 3e 3d 31 37 80 44 53 71 25 3c 3e 31 8c |me%>=17.DSq%<>1.| 00008400 53 24 3d 22 49 74 20 69 73 20 67 65 74 74 69 6e |S$="It is gettin| 00008410 67 20 64 61 72 6b 20 6e 6f 77 2e 20 59 6f 75 20 |g dark now. You | 00008420 6d 75 73 74 20 72 65 74 75 72 6e 20 74 6f 20 74 |must return to t| 00008430 68 65 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 68 |he Information h| 00008440 75 74 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 37 30 |ut.":.Tile(-1,70| 00008450 30 2c 33 30 2c 32 29 3a f2 43 6f 6e 74 42 6f 78 |0,30,2):.ContBox| 00008460 28 2d 31 2c 33 37 30 29 3a f2 52 65 70 6c 61 63 |(-1,370):.Replac| 00008470 65 54 65 6d 70 3a 44 53 71 25 3d 31 0d 04 a4 16 |eTemp:DSq%=1....| 00008480 e7 44 53 71 25 3d 31 8c 45 78 44 53 71 25 3d b9 |.DSq%=1.ExDSq%=.| 00008490 3a e1 0d 04 a5 0d e7 44 53 71 25 3d 33 8c e1 0d |:......DSq%=3...| 000084a0 04 a6 05 cd 0d 04 a7 05 e1 0d 04 a8 10 dd f2 43 |...............C| 000084b0 6c 6f 73 65 72 4c 6f 6f 6b 0d 04 a9 12 ea 78 25 |loserLook.....x%| 000084c0 2c 77 25 2c 73 77 25 2c 73 68 25 0d 04 aa 1a 78 |,w%,sw%,sh%....x| 000084d0 25 3d 44 69 67 58 25 3a 79 25 3d 44 69 67 59 25 |%=DigX%:y%=DigY%| 000084e0 3a 77 25 3d 31 0d 04 ab 11 f2 44 6f 75 62 6c 65 |:w%=1.....Double| 000084f0 42 75 66 66 65 72 0d 04 ac 08 e6 30 2c 30 0d 04 |Buffer.....0,0..| 00008500 ad 12 e3 77 25 3d 32 35 36 b8 36 34 30 88 33 32 |...w%=256.640.32| 00008510 0d 04 ae 07 d1 3d 30 0d 04 af 12 e7 78 25 2d 77 |.....=0.....x%-w| 00008520 25 3c 30 8c 78 25 3d 77 25 0d 04 b0 1a e7 78 25 |%<0.x%=w%.....x%| 00008530 2b 77 25 3e 31 32 37 36 8c 78 25 3d 31 32 37 36 |+w%>1276.x%=1276| 00008540 2d 77 25 0d 04 b1 18 e7 79 25 2b 77 25 3e 39 35 |-w%.....y%+w%>95| 00008550 30 8c 79 25 3d 39 35 30 2d 77 25 0d 04 b2 18 e7 |0.y%=950-w%.....| 00008560 79 25 2d 77 25 3c 32 35 36 8c 79 25 3d 32 35 36 |y%-w%<256.y%=256| 00008570 2b 77 25 0d 04 b3 3a f2 50 6c 6f 74 53 70 72 69 |+w%...:.PlotSpri| 00008580 74 65 53 63 61 6c 65 64 28 22 44 69 67 53 70 72 |teScaled("DigSpr| 00008590 31 22 2c 78 25 2d 77 25 2c 79 25 2d 77 25 2c 77 |1",x%-w%,y%-w%,w| 000085a0 25 2c 77 25 2c 32 35 36 2c 32 35 36 29 0d 04 b4 |%,w%,256,256)...| 000085b0 14 e7 77 25 3c 33 32 30 8c f2 43 6f 6e 73 6f 6c |..w%<320..Consol| 000085c0 65 0d 04 b5 06 c8 96 0d 04 b6 0f f2 53 77 61 70 |e...........Swap| 000085d0 53 63 72 65 65 6e 0d 04 b7 07 ed 77 25 0d 04 b8 |Screen.....w%...| 000085e0 27 f2 53 69 6e 67 6c 65 53 63 72 65 65 6e 3a f2 |'.SingleScreen:.| 000085f0 53 63 72 43 6c 6f 3a f2 44 6f 75 62 6c 65 42 75 |ScrClo:.DoubleBu| 00008600 66 66 65 72 0d 04 b9 0b ef 32 36 3a da 3a db 0d |ffer.....26:.:..| 00008610 04 ba 4a f2 47 65 74 42 61 63 6b 67 72 6f 75 6e |..J.GetBackgroun| 00008620 64 50 61 6c 65 74 74 65 28 53 70 72 4e 6d 24 28 |dPalette(SprNm$(| 00008630 4f 62 6a 65 63 74 53 74 61 72 74 25 2b 28 4f 62 |ObjectStart%+(Ob| 00008640 6a 65 63 74 44 75 67 25 2a 32 29 29 29 3a f2 53 |jectDug%*2))):.S| 00008650 65 74 50 61 6c 65 74 74 65 0d 04 bb 52 c8 99 26 |etPalette...R..&| 00008660 30 30 30 30 30 30 32 45 2c 34 30 2b 35 31 32 2c |0000002E,40+512,| 00008670 53 70 72 69 74 65 41 72 65 61 25 2c 53 70 72 41 |SpriteArea%,SprA| 00008680 64 64 25 28 4f 62 6a 65 63 74 53 74 61 72 74 25 |dd%(ObjectStart%| 00008690 2b 28 4f 62 6a 65 63 74 44 75 67 25 2a 32 29 29 |+(ObjectDug%*2))| 000086a0 b8 2c 2c 2c 73 77 25 2c 73 68 25 0d 04 bc 42 f2 |.,,,sw%,sh%...B.| 000086b0 50 6c 6f 74 53 70 72 69 74 65 28 4f 62 6a 65 63 |PlotSprite(Objec| 000086c0 74 53 74 61 72 74 25 2b 28 4f 62 6a 65 63 74 44 |tStart%+(ObjectD| 000086d0 75 67 25 2a 32 29 2c 36 34 30 2d 28 28 73 77 25 |ug%*2),640-((sw%| 000086e0 2a 34 29 2f 32 29 2c 33 30 30 2c 30 29 0d 04 bd |*4)/2),300,0)...| 000086f0 0f f2 53 77 61 70 53 63 72 65 65 6e 0d 04 be 15 |..SwapScreen....| 00008700 44 69 67 58 25 3d 78 25 3a 44 69 67 59 25 3d 79 |DigX%=x%:DigY%=y| 00008710 25 0d 04 bf 11 f2 53 69 6e 67 6c 65 53 63 72 65 |%.....SingleScre| 00008720 65 6e 0d 04 c0 14 f2 43 6f 6e 74 42 6f 78 28 2d |en.....ContBox(-| 00008730 31 2c 31 30 30 29 0d 04 c1 05 e1 0d 04 c2 13 dd |1,100)..........| 00008740 f2 48 69 67 68 6c 69 67 68 74 54 6f 6f 6c 0d 04 |.HighlightTool..| 00008750 c3 08 e6 30 2c 34 0d 04 c4 11 c8 8e 55 73 69 6e |...0,4......Usin| 00008760 67 54 6f 6f 6c 25 ca 0d 04 c5 07 c9 31 3a 0d 04 |gTool%......1:..| 00008770 c6 14 c8 93 39 34 34 2c 31 35 30 2c 31 32 38 2c |....944,150,128,| 00008780 36 38 0d 04 c7 07 c9 32 3a 0d 04 c8 15 c8 93 31 |68.....2:......1| 00008790 31 31 30 2c 31 35 30 2c 31 32 38 2c 36 38 0d 04 |110,150,128,68..| 000087a0 c9 07 c9 33 3a 0d 04 ca 13 c8 93 39 34 34 2c 34 |...3:......944,4| 000087b0 30 2c 31 32 38 2c 36 38 0d 04 cb 07 c9 34 3a 0d |0,128,68.....4:.| 000087c0 04 cc 14 c8 93 31 31 31 30 2c 34 30 2c 31 32 38 |.....1110,40,128| 000087d0 2c 36 38 0d 04 cd 05 cb 0d 04 ce 05 e1 0d 04 cf |,68.............| 000087e0 17 dd f2 41 73 6b 4f 62 6a 65 63 74 51 75 65 73 |...AskObjectQues| 000087f0 74 69 6f 6e 0d 04 d0 22 e7 51 75 65 73 74 69 6f |tion...".Questio| 00008800 6e 41 73 6b 65 64 25 28 4f 62 6a 65 63 74 44 75 |nAsked%(ObjectDu| 00008810 67 25 29 3d a3 8c 0d 04 d1 11 c8 8e 4f 62 6a 65 |g%)=........Obje| 00008820 63 74 44 75 67 25 ca 0d 04 d2 05 cb 0d 04 d3 20 |ctDug%......... | 00008830 51 75 65 73 74 69 6f 6e 41 73 6b 65 64 25 28 4f |QuestionAsked%(O| 00008840 62 6a 65 63 74 44 75 67 25 29 3d b9 0d 04 d4 05 |bjectDug%)=.....| 00008850 cd 0d 04 d5 05 e1 0d 04 d6 24 dd f2 4f 62 51 75 |.........$..ObQu| 00008860 65 73 74 69 6f 6e 28 71 24 2c 61 31 24 2c 61 32 |estion(q$,a1$,a2| 00008870 24 2c 61 33 24 2c 63 61 25 29 0d 04 d7 14 f2 43 |$,a3$,ca%).....C| 00008880 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 0d 04 |ontBox(-1,350)..| 00008890 d8 20 f2 52 65 70 6c 61 63 65 54 65 6d 70 3a 44 |. .ReplaceTemp:D| 000088a0 6f 4e 6f 74 52 65 70 6c 61 63 65 25 3d b9 0d 04 |oNotReplace%=...| 000088b0 d9 1c 53 24 3d 71 24 3a f2 54 69 6c 65 28 2d 31 |..S$=q$:.Tile(-1| 000088c0 2c 37 30 30 2c 33 30 2c 32 29 0d 04 da 0a c8 8e |,700,30,2)......| 000088d0 63 61 25 ca 0d 04 db 0e c9 31 3a 63 61 24 3d 61 |ca%......1:ca$=a| 000088e0 31 24 0d 04 dc 0e c9 32 3a 63 61 24 3d 61 32 24 |1$.....2:ca$=a2$| 000088f0 0d 04 dd 0e c9 33 3a 63 61 24 3d 61 33 24 0d 04 |.....3:ca$=a3$..| 00008900 de 05 cb 0d 04 df 14 f2 4f 70 28 61 31 24 2c 61 |........Op(a1$,a| 00008910 32 24 2c 61 33 24 29 0d 04 e0 05 f5 0d 04 e1 0a |2$,a3$).........| 00008920 f2 4d 6f 75 73 65 0d 04 e2 21 4c 6f 63 25 3d a4 |.Mouse...!Loc%=.| 00008930 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 2c 4d |ConLoc(MouseX%,M| 00008940 6f 75 73 65 59 25 29 0d 04 e3 70 e7 4c 6f 63 25 |ouseY%)...p.Loc%| 00008950 3d 63 61 25 8c f2 52 65 70 6c 61 63 65 54 65 6d |=ca%..ReplaceTem| 00008960 70 3a 53 24 3d 22 54 68 61 74 27 73 20 72 69 67 |p:S$="That's rig| 00008970 68 74 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 37 30 |ht.":.Tile(-1,70| 00008980 30 2c 2d 31 2c 32 29 3a f2 43 6f 6e 74 42 6f 78 |0,-1,2):.ContBox| 00008990 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 |(-1,350):.Replac| 000089a0 65 54 65 6d 70 3a 21 53 63 6f 72 65 25 3d 21 53 |eTemp:!Score%=!S| 000089b0 63 6f 72 65 25 2b 31 0d 04 e4 7c e7 4c 6f 63 25 |core%+1...|.Loc%| 000089c0 3c 3e 63 61 25 80 4c 6f 63 25 3c 34 80 4c 6f 63 |<>ca%.Loc%<4.Loc| 000089d0 25 3e 30 8c f2 52 65 70 6c 61 63 65 54 65 6d 70 |%>0..ReplaceTemp| 000089e0 3a 53 24 3d 22 53 6f 72 72 79 2c 20 74 68 65 20 |:S$="Sorry, the | 000089f0 61 6e 73 77 65 72 20 77 61 73 20 3a 20 22 2b 63 |answer was : "+c| 00008a00 61 24 3a f2 54 69 6c 65 28 2d 31 2c 37 30 30 2c |a$:.Tile(-1,700,| 00008a10 2d 31 2c 32 29 3a f2 43 6f 6e 74 42 6f 78 28 2d |-1,2):.ContBox(-| 00008a20 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 65 54 |1,350):.ReplaceT| 00008a30 65 6d 70 0d 04 e5 19 fd 4c 6f 63 25 3d 31 84 4c |emp.....Loc%=1.L| 00008a40 6f 63 25 3d 32 84 4c 6f 63 25 3d 33 0d 04 e6 05 |oc%=2.Loc%=3....| 00008a50 e1 0d 04 e7 16 dd f2 4d 61 67 6e 69 66 79 28 4e |.......Magnify(N| 00008a60 6f 74 44 75 67 25 29 0d 04 e8 16 f2 43 6c 6f 63 |otDug%).....Cloc| 00008a70 6b 41 64 76 61 6e 63 65 28 31 2c 32 29 0d 04 e9 |kAdvance(1,2)...| 00008a80 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 04 ea |..ReplaceTemp...| 00008a90 ab e7 4e 6f 74 44 75 67 25 8c 53 24 3d 22 49 20 |..NotDug%.S$="I | 00008aa0 74 68 69 6e 6b 20 61 20 73 70 61 64 65 20 77 6f |think a spade wo| 00008ab0 75 6c 64 20 62 65 20 61 20 67 6f 6f 64 20 74 6f |uld be a good to| 00008ac0 6f 6c 20 74 6f 20 73 74 61 72 74 20 77 69 74 68 |ol to start with| 00008ad0 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 38 30 30 2c |.":.Tile(-1,800,| 00008ae0 33 30 2c 32 29 3a f2 43 6f 6e 74 42 6f 78 28 2d |30,2):.ContBox(-| 00008af0 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 65 54 |1,350):.ReplaceT| 00008b00 65 6d 70 3a 53 24 3d 22 43 68 6f 6f 73 65 20 61 |emp:S$="Choose a| 00008b10 20 74 6f 6f 6c 20 74 6f 20 64 69 67 20 77 69 74 | tool to dig wit| 00008b20 68 2e 22 3a f2 54 69 6c 65 28 2d 31 2c 33 37 30 |h.":.Tile(-1,370| 00008b30 2c 2d 31 2c 32 29 3a e1 0d 04 eb 19 c8 8e 4f 62 |,-1,2):.......Ob| 00008b40 54 6f 6c 25 28 4f 62 6a 65 63 74 44 75 67 25 29 |Tol%(ObjectDug%)| 00008b50 ca 0d 04 ec 31 c9 31 3a 53 24 3d 22 54 68 65 72 |....1.1:S$="Ther| 00008b60 65 20 69 73 20 71 75 69 74 65 20 61 20 6c 6f 74 |e is quite a lot| 00008b70 20 6f 66 20 73 6f 69 6c 20 74 6f 20 6d 6f 76 65 | of soil to move| 00008b80 2e 22 0d 04 ed 2f c9 32 3a 53 24 3d 22 54 68 65 |.".../.2:S$="The| 00008b90 72 65 20 63 6f 75 6c 64 20 62 65 20 66 72 61 67 |re could be frag| 00008ba0 69 6c 65 20 74 68 69 6e 67 73 20 68 65 72 65 2e |ile things here.| 00008bb0 22 0d 04 ee 2a c9 33 3a 53 24 3d 22 59 6f 75 20 |"...*.3:S$="You | 00008bc0 6d 75 73 74 20 62 65 20 76 65 72 79 20 63 61 72 |must be very car| 00008bd0 65 66 75 6c 20 68 65 72 65 2e 22 0d 04 ef 05 cb |eful here.".....| 00008be0 0d 04 f0 34 f2 54 69 6c 65 28 2d 31 2c 38 30 30 |...4.Tile(-1,800| 00008bf0 2c 2d 31 2c 32 29 3a f2 43 6f 6e 74 42 6f 78 28 |,-1,2):.ContBox(| 00008c00 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 65 |-1,350):.Replace| 00008c10 54 65 6d 70 0d 04 f1 36 53 24 3d 22 43 68 6f 6f |Temp...6S$="Choo| 00008c20 73 65 20 61 20 74 6f 6f 6c 20 74 6f 20 64 69 67 |se a tool to dig| 00008c30 20 77 69 74 68 2e 22 3a f2 54 69 6c 65 28 2d 31 | with.":.Tile(-1| 00008c40 2c 33 37 30 2c 2d 31 2c 32 29 0d 04 f2 05 e1 0d |,370,-1,2)......| 00008c50 04 f3 10 dd f2 41 77 61 72 64 53 63 6f 72 65 0d |.....AwardScore.| 00008c60 04 f4 13 42 72 6f 6b 65 6e 4f 62 6a 65 63 74 25 |...BrokenObject%| 00008c70 3d a3 0d 04 f5 34 e7 4f 62 54 6f 6c 25 28 4f 62 |=....4.ObTol%(Ob| 00008c80 6a 65 63 74 44 75 67 25 29 3d 55 73 69 6e 67 54 |jectDug%)=UsingT| 00008c90 6f 6f 6c 25 8c 21 53 63 6f 72 65 25 3d 21 53 63 |ool%.!Score%=!Sc| 00008ca0 6f 72 65 25 2b 32 0d 04 f6 56 e7 4f 62 54 6f 6c |ore%+2...V.ObTol| 00008cb0 25 28 4f 62 6a 65 63 74 44 75 67 25 29 3d 55 73 |%(ObjectDug%)=Us| 00008cc0 69 6e 67 54 6f 6f 6c 25 2d 31 84 4f 62 54 6f 6c |ingTool%-1.ObTol| 00008cd0 25 28 4f 62 6a 65 63 74 44 75 67 25 29 3d 55 73 |%(ObjectDug%)=Us| 00008ce0 69 6e 67 54 6f 6f 6c 25 2b 31 8c 21 53 63 6f 72 |ingTool%+1.!Scor| 00008cf0 65 25 3d 21 53 63 6f 72 65 25 2b 31 0d 04 f7 34 |e%=!Score%+1...4| 00008d00 e7 4f 62 54 6f 6c 25 28 4f 62 6a 65 63 74 44 75 |.ObTol%(ObjectDu| 00008d10 67 25 29 3d 55 73 69 6e 67 54 6f 6f 6c 25 2b 32 |g%)=UsingTool%+2| 00008d20 8c 42 72 6f 6b 65 6e 4f 62 6a 65 63 74 25 3d b9 |.BrokenObject%=.| 00008d30 0d 04 f8 05 e1 0d 04 f9 11 dd f2 44 69 67 41 6e |...........DigAn| 00008d40 69 6d 28 74 25 29 0d 04 fa 0a ea 66 25 2c 61 25 |im(t%).....f%,a%| 00008d50 0d 04 fb 4b e7 74 25 3e 31 8c c8 96 3a c8 99 26 |...K.t%>1...:..&| 00008d60 30 30 30 30 30 30 32 45 2c 33 34 2b 32 35 36 2c |0000002E,34+256,| 00008d70 53 70 72 69 74 65 41 72 65 61 25 2c 22 61 6e 69 |SpriteArea%,"ani| 00008d80 6d 62 61 63 6b 22 2c 44 69 67 58 25 2d 36 34 2c |mback",DigX%-64,| 00008d90 44 69 67 59 25 2d 32 32 30 2c 30 0d 04 fc 54 c8 |DigY%-220,0...T.| 00008da0 99 26 30 30 30 30 30 30 32 45 2c 31 36 2b 32 35 |.&0000002E,16+25| 00008db0 36 2c 53 70 72 69 74 65 41 72 65 61 25 2c 22 61 |6,SpriteArea%,"a| 00008dc0 6e 69 6d 62 61 63 6b 22 2c 30 2c 44 69 67 58 25 |nimback",0,DigX%| 00008dd0 2d 36 34 2c 44 69 67 59 25 2d 32 32 30 2c 44 69 |-64,DigY%-220,Di| 00008de0 67 58 25 2b 36 38 2c 44 69 67 59 25 2d 35 30 0d |gX%+68,DigY%-50.| 00008df0 04 fd 1b e7 55 73 69 6e 67 54 6f 6f 6c 25 3d 31 |....UsingTool%=1| 00008e00 8c f2 44 69 67 41 6e 69 6d 31 0d 04 fe 1b e7 55 |..DigAnim1.....U| 00008e10 73 69 6e 67 54 6f 6f 6c 25 3d 32 8c f2 44 69 67 |singTool%=2..Dig| 00008e20 41 6e 69 6d 32 0d 04 ff 1b e7 55 73 69 6e 67 54 |Anim2.....UsingT| 00008e30 6f 6f 6c 25 3d 33 8c f2 44 69 67 41 6e 69 6d 33 |ool%=3..DigAnim3| 00008e40 0d 05 00 05 e1 0d 05 01 0e dd f2 44 69 67 41 6e |...........DigAn| 00008e50 69 6d 31 0d 05 02 0b e3 61 25 3d 31 b8 36 0d 05 |im1.....a%=1.6..| 00008e60 03 11 d4 32 2c 53 56 6f 6c 25 2c 35 30 2c 31 0d |...2,SVol%,50,1.| 00008e70 05 04 25 e3 66 25 3d 44 69 67 41 6e 69 6d 53 74 |..%.f%=DigAnimSt| 00008e80 61 72 74 25 b8 44 69 67 41 6e 69 6d 53 74 61 72 |art%.DigAnimStar| 00008e90 74 25 2b 35 0d 05 05 07 d1 3d 30 0d 05 06 28 f2 |t%+5.....=0...(.| 00008ea0 50 6c 6f 74 53 70 72 69 74 65 28 66 25 2c 44 69 |PlotSprite(f%,Di| 00008eb0 67 58 25 2d 36 34 2c 44 69 67 59 25 2d 32 32 30 |gX%-64,DigY%-220| 00008ec0 2c 38 29 0d 05 07 38 e7 66 25 3d 44 69 67 41 6e |,8)...8.f%=DigAn| 00008ed0 69 6d 53 74 61 72 74 25 2b 31 84 66 25 3d 44 69 |imStart%+1.f%=Di| 00008ee0 67 41 6e 69 6d 53 74 61 72 74 25 2b 32 8c 74 6c |gAnimStart%+2.tl| 00008ef0 25 3d 32 30 8b 74 6c 25 3d 31 30 0d 05 08 14 e7 |%=20.tl%=10.....| 00008f00 ac a6 28 2d 31 29 8c f5 3a fd 91 3e 74 6c 25 0d |..(-1)..:..>tl%.| 00008f10 05 09 06 c8 96 0d 05 0a 42 c8 99 26 30 30 30 30 |........B..&0000| 00008f20 30 30 32 45 2c 33 34 2b 32 35 36 2c 53 70 72 69 |002E,34+256,Spri| 00008f30 74 65 41 72 65 61 25 2c 22 61 6e 69 6d 62 61 63 |teArea%,"animbac| 00008f40 6b 22 2c 44 69 67 58 25 2d 36 34 2c 44 69 67 59 |k",DigX%-64,DigY| 00008f50 25 2d 32 32 30 2c 30 0d 05 0b 07 ed 66 25 0d 05 |%-220,0.....f%..| 00008f60 0c 11 d4 32 2c 53 56 6f 6c 25 2c 35 30 2c 31 0d |...2,SVol%,50,1.| 00008f70 05 0d 07 ed 61 25 0d 05 0e 33 f2 50 6c 6f 74 53 |....a%...3.PlotS| 00008f80 70 72 69 74 65 28 44 69 67 41 6e 69 6d 53 74 61 |prite(DigAnimSta| 00008f90 72 74 25 2c 44 69 67 58 25 2d 36 34 2c 44 69 67 |rt%,DigX%-64,Dig| 00008fa0 59 25 2d 32 32 30 2c 38 29 0d 05 0f 05 e1 0d 05 |Y%-220,8).......| 00008fb0 10 0e dd f2 44 69 67 41 6e 69 6d 32 0d 05 11 24 |....DigAnim2...$| 00008fc0 2a 43 48 41 4e 4e 45 4c 56 4f 49 43 45 20 32 20 |*CHANNELVOICE 2 | 00008fd0 50 65 72 63 75 73 73 69 6f 6e 2d 4e 6f 69 73 65 |Percussion-Noise| 00008fe0 0d 05 12 0b e3 61 25 3d 31 b8 36 0d 05 13 13 d4 |.....a%=1.6.....| 00008ff0 32 2c 53 56 6f 6c 25 2f 33 2c 30 2c 31 30 0d 05 |2,SVol%/3,0,10..| 00009000 14 27 e3 66 25 3d 44 69 67 41 6e 69 6d 53 74 61 |.'.f%=DigAnimSta| 00009010 72 74 25 2b 36 b8 44 69 67 41 6e 69 6d 53 74 61 |rt%+6.DigAnimSta| 00009020 72 74 25 2b 37 0d 05 15 07 d1 3d 30 0d 05 16 28 |rt%+7.....=0...(| 00009030 f2 50 6c 6f 74 53 70 72 69 74 65 28 66 25 2c 44 |.PlotSprite(f%,D| 00009040 69 67 58 25 2d 36 34 2c 44 69 67 59 25 2d 32 32 |igX%-64,DigY%-22| 00009050 30 2c 38 29 0d 05 17 0a 74 6c 25 3d 35 30 0d 05 |0,8)....tl%=50..| 00009060 18 14 e7 ac a6 28 2d 31 29 8c f5 3a fd 91 3e 74 |.....(-1)..:..>t| 00009070 6c 25 0d 05 19 06 c8 96 0d 05 1a 42 c8 99 26 30 |l%.........B..&0| 00009080 30 30 30 30 30 32 45 2c 33 34 2b 32 35 36 2c 53 |000002E,34+256,S| 00009090 70 72 69 74 65 41 72 65 61 25 2c 22 61 6e 69 6d |priteArea%,"anim| 000090a0 62 61 63 6b 22 2c 44 69 67 58 25 2d 36 34 2c 44 |back",DigX%-64,D| 000090b0 69 67 59 25 2d 32 32 30 2c 30 0d 05 1b 07 ed 66 |igY%-220,0.....f| 000090c0 25 0d 05 1c 07 ed 61 25 0d 05 1d 35 f2 50 6c 6f |%.....a%...5.Plo| 000090d0 74 53 70 72 69 74 65 28 44 69 67 41 6e 69 6d 53 |tSprite(DigAnimS| 000090e0 74 61 72 74 25 2b 36 2c 44 69 67 58 25 2d 36 34 |tart%+6,DigX%-64| 000090f0 2c 44 69 67 59 25 2d 32 32 30 2c 38 29 0d 05 1e |,DigY%-220,8)...| 00009100 23 2a 43 48 41 4e 4e 45 4c 56 4f 49 43 45 20 32 |#*CHANNELVOICE 2| 00009110 20 50 65 72 63 75 73 73 69 6f 6e 2d 53 6f 66 74 | Percussion-Soft| 00009120 0d 05 1f 05 e1 0d 05 20 0e dd f2 44 69 67 41 6e |....... ...DigAn| 00009130 69 6d 33 0d 05 21 24 2a 43 48 41 4e 4e 45 4c 56 |im3..!$*CHANNELV| 00009140 4f 49 43 45 20 32 20 50 65 72 63 75 73 73 69 6f |OICE 2 Percussio| 00009150 6e 2d 4e 6f 69 73 65 0d 05 22 0b e3 61 25 3d 31 |n-Noise.."..a%=1| 00009160 b8 36 0d 05 23 14 d4 32 2c 53 56 6f 6c 25 2f 31 |.6..#..2,SVol%/1| 00009170 30 2c 30 2c 31 30 0d 05 24 27 e3 66 25 3d 44 69 |0,0,10..$'.f%=Di| 00009180 67 41 6e 69 6d 53 74 61 72 74 25 2b 38 b8 44 69 |gAnimStart%+8.Di| 00009190 67 41 6e 69 6d 53 74 61 72 74 25 2b 39 0d 05 25 |gAnimStart%+9..%| 000091a0 07 d1 3d 30 0d 05 26 28 f2 50 6c 6f 74 53 70 72 |..=0..&(.PlotSpr| 000091b0 69 74 65 28 66 25 2c 44 69 67 58 25 2d 36 34 2c |ite(f%,DigX%-64,| 000091c0 44 69 67 59 25 2d 32 32 30 2c 38 29 0d 05 27 0a |DigY%-220,8)..'.| 000091d0 74 6c 25 3d 35 30 0d 05 28 14 e7 ac a6 28 2d 31 |tl%=50..(....(-1| 000091e0 29 8c f5 3a fd 91 3e 74 6c 25 0d 05 29 06 c8 96 |)..:..>tl%..)...| 000091f0 0d 05 2a 42 c8 99 26 30 30 30 30 30 30 32 45 2c |..*B..&0000002E,| 00009200 33 34 2b 32 35 36 2c 53 70 72 69 74 65 41 72 65 |34+256,SpriteAre| 00009210 61 25 2c 22 61 6e 69 6d 62 61 63 6b 22 2c 44 69 |a%,"animback",Di| 00009220 67 58 25 2d 36 34 2c 44 69 67 59 25 2d 32 32 30 |gX%-64,DigY%-220| 00009230 2c 30 0d 05 2b 07 ed 66 25 0d 05 2c 07 ed 61 25 |,0..+..f%..,..a%| 00009240 0d 05 2d 35 f2 50 6c 6f 74 53 70 72 69 74 65 28 |..-5.PlotSprite(| 00009250 44 69 67 41 6e 69 6d 53 74 61 72 74 25 2b 38 2c |DigAnimStart%+8,| 00009260 44 69 67 58 25 2d 36 34 2c 44 69 67 59 25 2d 32 |DigX%-64,DigY%-2| 00009270 32 30 2c 38 29 0d 05 2e 23 2a 43 48 41 4e 4e 45 |20,8)...#*CHANNE| 00009280 4c 56 4f 49 43 45 20 32 20 50 65 72 63 75 73 73 |LVOICE 2 Percuss| 00009290 69 6f 6e 2d 53 6f 66 74 0d 05 2f 05 e1 0d 05 30 |ion-Soft../....0| 000092a0 0b dd f2 54 6f 6f 6c 73 0d 05 31 1c f2 50 6c 6f |...Tools..1..Plo| 000092b0 74 53 70 72 69 74 65 28 34 2c 39 38 30 2c 31 35 |tSprite(4,980,15| 000092c0 30 2c 38 29 0d 05 32 1d f2 50 6c 6f 74 53 70 72 |0,8)..2..PlotSpr| 000092d0 69 74 65 28 35 2c 31 31 34 30 2c 31 35 30 2c 38 |ite(5,1140,150,8| 000092e0 29 0d 05 33 1b f2 50 6c 6f 74 53 70 72 69 74 65 |)..3..PlotSprite| 000092f0 28 36 2c 39 38 30 2c 34 30 2c 38 29 0d 05 34 1c |(6,980,40,8)..4.| 00009300 f2 50 6c 6f 74 53 70 72 69 74 65 28 37 2c 31 31 |.PlotSprite(7,11| 00009310 34 30 2c 34 30 2c 38 29 0d 05 35 05 e1 0d 05 36 |40,40,8)..5....6| 00009320 20 dd f2 47 65 74 42 61 63 6b 67 72 6f 75 6e 64 | ..GetBackground| 00009330 50 61 6c 65 74 74 65 28 73 70 72 24 29 0d 05 37 |Palette(spr$)..7| 00009340 0c ea 66 25 2c 61 64 72 25 0d 05 38 2e c8 99 26 |..f%,adr%..8...&| 00009350 30 30 30 30 30 30 32 45 2c 32 34 2b 32 35 36 2c |0000002E,24+256,| 00009360 53 70 72 69 74 65 41 72 65 61 25 2c 73 70 72 24 |SpriteArea%,spr$| 00009370 b8 2c 2c 61 64 72 25 0d 05 39 10 61 64 72 25 3d |.,,adr%..9.adr%=| 00009380 61 64 72 25 2b 34 38 0d 05 3a 0c e3 66 25 3d 30 |adr%+48..:..f%=0| 00009390 b8 31 35 0d 05 3b 45 50 61 6c 32 25 28 66 25 2c |.15..;EPal2%(f%,| 000093a0 31 29 3d 3f 28 61 64 72 25 2b 31 29 3a 50 61 6c |1)=?(adr%+1):Pal| 000093b0 32 25 28 66 25 2c 32 29 3d 3f 28 61 64 72 25 2b |2%(f%,2)=?(adr%+| 000093c0 32 29 3a 50 61 6c 32 25 28 66 25 2c 33 29 3d 3f |2):Pal2%(f%,3)=?| 000093d0 28 61 64 72 25 2b 33 29 0d 05 3c 0f 61 64 72 25 |(adr%+3)..<.adr%| 000093e0 3d 61 64 72 25 2b 38 0d 05 3d 07 ed 66 25 0d 05 |=adr%+8..=..f%..| 000093f0 3e 05 e1 0d 05 3f 0c dd f2 46 61 64 65 55 70 0d |>....?...FadeUp.| 00009400 05 40 0d ea 66 25 2c 61 25 2c 74 25 0d 05 41 0c |.@..f%,a%,t%..A.| 00009410 e3 66 25 3d 30 b8 31 35 0d 05 42 2d 50 61 6c 33 |.f%=0.15..B-Pal3| 00009420 25 28 66 25 2c 31 29 3d 30 3a 50 61 6c 33 25 28 |%(f%,1)=0:Pal3%(| 00009430 66 25 2c 32 29 3d 30 3a 50 61 6c 33 25 28 66 25 |f%,2)=0:Pal3%(f%| 00009440 2c 33 29 3d 30 0d 05 43 07 ed 66 25 0d 05 44 0c |,3)=0..C..f%..D.| 00009450 e3 66 25 3d 30 b8 33 31 0d 05 45 08 74 25 3d 91 |.f%=0.31..E.t%=.| 00009460 0d 05 46 06 c8 96 0d 05 47 0c e3 61 25 3d 30 b8 |..F.....G..a%=0.| 00009470 31 35 0d 05 48 31 ef 31 39 2c 61 25 2c 31 36 2c |15..H1.19,a%,16,| 00009480 50 61 6c 33 25 28 61 25 2c 31 29 2c 50 61 6c 33 |Pal3%(a%,1),Pal3| 00009490 25 28 61 25 2c 32 29 2c 50 61 6c 33 25 28 61 25 |%(a%,2),Pal3%(a%| 000094a0 2c 33 29 0d 05 49 50 50 61 6c 33 25 28 61 25 2c |,3)..IPPal3%(a%,| 000094b0 31 29 3d 50 61 6c 33 25 28 61 25 2c 31 29 2b 31 |1)=Pal3%(a%,1)+1| 000094c0 30 3a e7 50 61 6c 33 25 28 61 25 2c 31 29 3e 3d |0:.Pal3%(a%,1)>=| 000094d0 50 61 6c 32 25 28 61 25 2c 31 29 8c 50 61 6c 33 |Pal2%(a%,1).Pal3| 000094e0 25 28 61 25 2c 31 29 3d 50 61 6c 32 25 28 61 25 |%(a%,1)=Pal2%(a%| 000094f0 2c 31 29 0d 05 4a 50 50 61 6c 33 25 28 61 25 2c |,1)..JPPal3%(a%,| 00009500 32 29 3d 50 61 6c 33 25 28 61 25 2c 32 29 2b 31 |2)=Pal3%(a%,2)+1| 00009510 30 3a e7 50 61 6c 33 25 28 61 25 2c 32 29 3e 3d |0:.Pal3%(a%,2)>=| 00009520 50 61 6c 32 25 28 61 25 2c 32 29 8c 50 61 6c 33 |Pal2%(a%,2).Pal3| 00009530 25 28 61 25 2c 32 29 3d 50 61 6c 32 25 28 61 25 |%(a%,2)=Pal2%(a%| 00009540 2c 32 29 0d 05 4b 50 50 61 6c 33 25 28 61 25 2c |,2)..KPPal3%(a%,| 00009550 33 29 3d 50 61 6c 33 25 28 61 25 2c 33 29 2b 31 |3)=Pal3%(a%,3)+1| 00009560 30 3a e7 50 61 6c 33 25 28 61 25 2c 33 29 3e 3d |0:.Pal3%(a%,3)>=| 00009570 50 61 6c 32 25 28 61 25 2c 33 29 8c 50 61 6c 33 |Pal2%(a%,3).Pal3| 00009580 25 28 61 25 2c 33 29 3d 50 61 6c 32 25 28 61 25 |%(a%,3)=Pal2%(a%| 00009590 2c 33 29 0d 05 4c 07 ed 61 25 0d 05 4d 0d f5 3a |,3)..L..a%..M..:| 000095a0 fd 91 3e 74 25 2b 35 0d 05 4e 07 ed 66 25 0d 05 |..>t%+5..N..f%..| 000095b0 4f 05 e1 0d 05 50 0e dd f2 42 6c 61 63 6b 4f 75 |O....P...BlackOu| 000095c0 74 0d 05 51 07 ea 66 25 0d 05 52 0c e3 66 25 3d |t..Q..f%..R..f%=| 000095d0 30 b8 31 35 0d 05 53 0d 3f 28 46 70 25 29 3d 66 |0.15..S.?(Fp%)=f| 000095e0 25 0d 05 54 16 c8 99 26 30 30 30 30 30 30 30 37 |%..T...&00000007| 000095f0 2c 31 31 2c 46 70 25 0d 05 55 18 50 61 6c 32 25 |,11,Fp%..U.Pal2%| 00009600 28 66 25 2c 31 29 3d 3f 28 46 70 25 2b 32 29 0d |(f%,1)=?(Fp%+2).| 00009610 05 56 18 50 61 6c 32 25 28 66 25 2c 32 29 3d 3f |.V.Pal2%(f%,2)=?| 00009620 28 46 70 25 2b 33 29 0d 05 57 18 50 61 6c 32 25 |(Fp%+3)..W.Pal2%| 00009630 28 66 25 2c 33 29 3d 3f 28 46 70 25 2b 34 29 0d |(f%,3)=?(Fp%+4).| 00009640 05 58 13 ef 31 39 2c 66 25 2c 31 36 2c 30 2c 30 |.X..19,f%,16,0,0| 00009650 2c 30 0d 05 59 07 ed 66 25 0d 05 5a 05 e1 0d 05 |,0..Y..f%..Z....| 00009660 5b 13 dd a4 44 69 67 4c 6f 63 28 78 25 2c 79 25 |[...DigLoc(x%,y%| 00009670 29 0d 05 5c 0c ea 44 69 67 4c 6f 63 25 0d 05 5d |)..\..DigLoc%..]| 00009680 2d 44 69 67 4c 6f 63 25 3d 28 28 78 25 2d 34 30 |-DigLoc%=((x%-40| 00009690 29 81 31 32 30 29 2b 28 28 28 38 36 30 2d 79 25 |).120)+(((860-y%| 000096a0 29 81 31 32 30 29 2a 31 30 29 0d 05 5e 20 4f 62 |).120)*10)..^ Ob| 000096b0 6a 65 63 74 44 75 67 25 3d 44 69 67 5a 6f 6e 65 |jectDug%=DigZone| 000096c0 25 28 44 69 67 4c 6f 63 25 29 0d 05 5f 6a e7 a4 |%(DigLoc%).._j..| 000096d0 47 65 74 4e 65 78 74 55 6e 6b 6e 6f 77 6e 4f 62 |GetNextUnknownOb| 000096e0 6a 65 63 74 3c 3e 30 80 4f 62 6a 65 63 74 44 75 |ject<>0.ObjectDu| 000096f0 67 25 3c 39 39 39 8c 4f 62 6a 65 63 74 44 75 67 |g%<999.ObjectDug| 00009700 25 3d a4 47 65 74 4e 65 78 74 55 6e 6b 6e 6f 77 |%=.GetNextUnknow| 00009710 6e 4f 62 6a 65 63 74 3a 44 69 67 5a 6f 6e 65 25 |nObject:DigZone%| 00009720 28 44 69 67 4c 6f 63 25 29 3d 4f 62 6a 65 63 74 |(DigLoc%)=Object| 00009730 44 75 67 25 0d 05 60 44 e7 a4 47 65 74 4e 65 78 |Dug%..`D..GetNex| 00009740 74 55 6e 6b 6e 6f 77 6e 4f 62 6a 65 63 74 3c 3e |tUnknownObject<>| 00009750 30 80 4f 62 6a 65 63 74 44 75 67 25 3e 39 39 39 |0.ObjectDug%>999| 00009760 8c 3f 50 55 6e 6b 6e 6f 77 6e 25 3d 3f 50 55 6e |.?PUnknown%=?PUn| 00009770 6b 6e 6f 77 6e 25 2d 31 0d 05 61 30 e7 4f 62 6a |known%-1..a0.Obj| 00009780 65 63 74 44 75 67 25 3e 3d 31 30 30 30 8c 4f 62 |ectDug%>=1000.Ob| 00009790 6a 65 63 74 44 75 67 25 3d 4f 62 6a 65 63 74 44 |jectDug%=ObjectD| 000097a0 75 67 25 2d 31 30 30 30 0d 05 62 32 e7 4f 62 6a |ug%-1000..b2.Obj| 000097b0 65 63 74 44 75 67 25 3e 3d 31 30 30 30 30 8c 4f |ectDug%>=10000.O| 000097c0 62 6a 65 63 74 44 75 67 25 3d 4f 62 6a 65 63 74 |bjectDug%=Object| 000097d0 44 75 67 25 2d 31 30 30 30 30 0d 05 63 0c 3d 44 |Dug%-10000..c.=D| 000097e0 69 67 4c 6f 63 25 0d 05 64 1a dd a4 47 65 74 4e |igLoc%..d...GetN| 000097f0 65 78 74 55 6e 6b 6e 6f 77 6e 4f 62 6a 65 63 74 |extUnknownObject| 00009800 0d 05 65 08 ea 75 6f 25 0d 05 66 11 c8 8e 3f 50 |..e..uo%..f...?P| 00009810 55 6e 6b 6e 6f 77 6e 25 ca 0d 05 67 0d c9 30 3a |Unknown%...g..0:| 00009820 75 6f 25 3d 31 34 0d 05 68 0c c9 31 3a 75 6f 25 |uo%=14..h..1:uo%| 00009830 3d 34 0d 05 69 0d c9 32 3a 75 6f 25 3d 32 33 0d |=4..i..2:uo%=23.| 00009840 05 6a 0d c9 33 3a 75 6f 25 3d 31 35 0d 05 6b 0d |.j..3:uo%=15..k.| 00009850 c9 34 3a 75 6f 25 3d 31 34 0d 05 6c 0d c9 35 3a |.4:uo%=14..l..5:| 00009860 75 6f 25 3d 32 33 0d 05 6d 0d c9 36 3a 75 6f 25 |uo%=23..m..6:uo%| 00009870 3d 31 35 0d 05 6e 0d c9 37 3a 75 6f 25 3d 31 34 |=15..n..7:uo%=14| 00009880 0d 05 6f 05 cb 0d 05 70 08 3d 75 6f 25 0d 05 71 |..o....p.=uo%..q| 00009890 0a dd f2 50 4d 61 70 0d 05 72 0a ea 78 25 2c 79 |...PMap..r..x%,y| 000098a0 25 0d 05 73 2c f2 47 65 74 42 61 63 6b 67 72 6f |%..s,.GetBackgro| 000098b0 75 6e 64 50 61 6c 65 74 74 65 28 22 44 69 67 22 |undPalette("Dig"| 000098c0 29 3a f2 53 65 74 50 61 6c 65 74 74 65 0d 05 74 |):.SetPalette..t| 000098d0 23 f2 50 6c 6f 74 53 70 72 69 74 65 28 4d 61 70 |#.PlotSprite(Map| 000098e0 53 70 72 69 74 65 25 2c 30 2c 32 36 30 2c 30 29 |Sprite%,0,260,0)| 000098f0 0d 05 75 0c e3 66 25 3d 30 b8 34 39 0d 05 76 15 |..u..f%=0.49..v.| 00009900 78 25 3d 28 66 25 83 31 30 29 2a 31 32 30 2b 36 |x%=(f%.10)*120+6| 00009910 38 0d 05 77 19 79 25 3d 38 36 30 2d 28 66 25 81 |8..w.y%=860-(f%.| 00009920 31 30 29 2a 31 32 30 2d 39 36 0d 05 78 16 e7 44 |10)*120-96..x..D| 00009930 69 67 5a 6f 6e 65 25 28 66 25 29 3d 39 39 39 8c |igZone%(f%)=999.| 00009940 0d 05 79 21 ef 32 34 2c 78 25 2d 33 32 3b 79 25 |..y!.24,x%-32;y%| 00009950 2d 34 30 3b 78 25 2b 39 32 3b 79 25 2b 31 30 30 |-40;x%+92;y%+100| 00009960 3b 0d 05 7a 1b f2 50 6c 6f 74 53 70 72 69 74 65 |;..z..PlotSprite| 00009970 28 31 30 2c 78 25 2c 79 25 2c 38 29 0d 05 7b 07 |(10,x%,y%,8)..{.| 00009980 ef 32 36 0d 05 7c 05 cd 0d 05 7d 15 e7 44 69 67 |.26..|....}..Dig| 00009990 5a 6f 6e 65 25 28 66 25 29 3d 2d 31 8c 0d 05 7e |Zone%(f%)=-1...~| 000099a0 21 ef 32 34 2c 78 25 2d 33 32 3b 79 25 2d 34 30 |!.24,x%-32;y%-40| 000099b0 3b 78 25 2b 39 32 3b 79 25 2b 31 30 30 3b 0d 05 |;x%+92;y%+100;..| 000099c0 7f 1b f2 50 6c 6f 74 53 70 72 69 74 65 28 31 33 |...PlotSprite(13| 000099d0 2c 78 25 2c 79 25 2c 38 29 0d 05 80 07 ef 32 36 |,x%,y%,8).....26| 000099e0 0d 05 81 05 cd 0d 05 82 15 e7 44 69 67 5a 6f 6e |..........DigZon| 000099f0 65 25 28 66 25 29 3d 2d 32 8c 0d 05 83 21 ef 32 |e%(f%)=-2....!.2| 00009a00 34 2c 78 25 2d 33 32 3b 79 25 2d 34 30 3b 78 25 |4,x%-32;y%-40;x%| 00009a10 2b 39 32 3b 79 25 2b 31 30 30 3b 0d 05 84 1b f2 |+92;y%+100;.....| 00009a20 50 6c 6f 74 53 70 72 69 74 65 28 31 34 2c 78 25 |PlotSprite(14,x%| 00009a30 2c 79 25 2c 38 29 0d 05 85 07 ef 32 36 0d 05 86 |,y%,8).....26...| 00009a40 05 cd 0d 05 87 3f e7 44 69 67 5a 6f 6e 65 25 28 |.....?.DigZone%(| 00009a50 66 25 29 3e 39 39 39 84 44 69 67 5a 6f 6e 65 25 |f%)>999.DigZone%| 00009a60 28 66 25 29 3e 39 39 39 39 8c f2 50 6c 6f 74 53 |(f%)>9999..PlotS| 00009a70 70 72 69 74 65 28 31 31 2c 78 25 2c 79 25 2c 38 |prite(11,x%,y%,8| 00009a80 29 0d 05 88 07 ed 66 25 0d 05 89 05 e1 0d 05 8a |).....f%........| 00009a90 10 dd f2 53 65 74 50 61 6c 65 74 74 65 0d 05 8b |...SetPalette...| 00009aa0 0c e3 66 25 3d 30 b8 31 35 0d 05 8c 22 3f 28 50 |..f%=0.15..."?(P| 00009ab0 61 6c 65 74 74 65 2b 28 66 25 2a 31 32 29 29 3d |alette+(f%*12))=| 00009ac0 50 61 6c 32 25 28 66 25 2c 31 29 0d 05 8d 24 3f |Pal2%(f%,1)...$?| 00009ad0 28 50 61 6c 65 74 74 65 2b 28 66 25 2a 31 32 29 |(Palette+(f%*12)| 00009ae0 2b 34 29 3d 50 61 6c 32 25 28 66 25 2c 32 29 0d |+4)=Pal2%(f%,2).| 00009af0 05 8e 24 3f 28 50 61 6c 65 74 74 65 2b 28 66 25 |..$?(Palette+(f%| 00009b00 2a 31 32 29 2b 38 29 3d 50 61 6c 32 25 28 66 25 |*12)+8)=Pal2%(f%| 00009b10 2c 33 29 0d 05 8f 07 ed 66 25 0d 05 90 0e d6 43 |,3).....f%.....C| 00009b20 68 61 6e 67 65 50 61 6c 0d 05 91 0f c8 99 26 30 |hangePal......&0| 00009b30 30 30 34 30 37 35 30 0d 05 92 05 e1 0d 05 93 0f |0040750.........| 00009b40 dd a4 47 63 6f 6c 28 70 65 25 29 0d 05 94 0a ea |..Gcol(pe%).....| 00009b50 67 63 6f 6c 25 0d 05 95 19 c8 99 26 30 30 30 34 |gcol%......&0004| 00009b60 30 37 34 32 2c 70 65 25 b8 67 63 6f 6c 25 0d 05 |0742,pe%.gcol%..| 00009b70 96 0a 3d 67 63 6f 6c 25 0d 05 97 0b dd f2 50 54 |..=gcol%......PT| 00009b80 42 61 72 0d 05 98 2f e7 3f 50 4e 61 6d 65 25 3e |Bar.../.?PName%>| 00009b90 26 36 30 80 3f 50 4e 61 6d 65 25 3c 26 37 42 8c |&60.?PName%<&7B.| 00009ba0 3f 50 4e 61 6d 65 25 3d 3f 50 4e 61 6d 65 25 2d |?PName%=?PName%-| 00009bb0 33 32 0d 05 99 28 53 24 3d 24 50 4e 61 6d 65 25 |32...(S$=$PName%| 00009bc0 3a 53 53 24 3d 22 53 63 6f 72 65 20 3a 20 22 2b |:SS$="Score : "+| 00009bd0 c3 28 21 53 63 6f 72 65 25 29 0d 05 9a 20 44 53 |.(!Score%)... DS| 00009be0 53 24 3d 22 44 61 79 20 3a 20 22 2b c3 28 28 21 |S$="Day : "+.((!| 00009bf0 44 61 79 25 29 80 26 46 46 29 0d 05 9b 25 73 6c |Day%).&FF)...%sl| 00009c00 25 3d 28 33 39 2d 28 a9 28 53 24 29 2b a9 28 53 |%=(39-(.(S$)+.(S| 00009c10 53 24 29 2b a9 28 44 53 53 24 29 29 29 81 32 0d |S$)+.(DSS$))).2.| 00009c20 05 9c 32 e7 28 33 39 2d 28 a9 28 53 24 29 2b a9 |..2.(39-(.(S$)+.| 00009c30 28 53 53 24 29 2b a9 28 44 53 53 24 29 29 29 83 |(SS$)+.(DSS$))).| 00009c40 32 3d 31 8c 65 73 6c 25 3d 31 8b 65 73 6c 25 3d |2=1.esl%=1.esl%=| 00009c50 30 0d 05 9d 2b 53 24 3d 53 24 2b c4 73 6c 25 2c |0...+S$=S$+.sl%,| 00009c60 22 20 22 29 2b 44 53 53 24 2b c4 73 6c 25 2b 65 |" ")+DSS$+.sl%+e| 00009c70 73 6c 25 2c 22 20 22 29 2b 53 53 24 0d 05 9e 16 |sl%," ")+SS$....| 00009c80 f2 54 69 6c 65 28 30 2c 31 30 32 33 2c 33 39 2c |.Tile(0,1023,39,| 00009c90 31 29 0d 05 9f 05 e1 0d 05 a0 0b dd f2 43 6c 6f |1)...........Clo| 00009ca0 63 6b 0d 05 a1 17 68 6f 75 72 25 3d 21 54 69 6d |ck....hour%=!Tim| 00009cb0 65 25 3a 6d 69 6e 25 3d 30 0d 05 a2 1d 61 3d 28 |e%:min%=0....a=(| 00009cc0 33 36 30 2f 31 32 29 2a 68 6f 75 72 25 2b 28 6d |360/12)*hour%+(m| 00009cd0 69 6e 25 2f 32 29 0d 05 a3 13 62 3d 28 33 36 30 |in%/2)....b=(360| 00009ce0 2f 36 30 29 2a 6d 69 6e 25 0d 05 a4 29 e6 30 2c |/60)*min%...).0,| 00009cf0 a4 47 63 6f 6c 28 26 32 32 32 32 32 32 30 30 29 |.Gcol(&22222200)| 00009d00 3a f2 43 6c 6f 63 6b 48 61 6e 64 73 28 38 2c 2d |:.ClockHands(8,-| 00009d10 38 29 0d 05 a5 28 e6 30 2c a4 47 63 6f 6c 28 26 |8)...(.0,.Gcol(&| 00009d20 46 46 46 46 46 46 30 30 29 3a f2 43 6c 6f 63 6b |FFFFFF00):.Clock| 00009d30 48 61 6e 64 73 28 30 2c 30 29 0d 05 a6 05 e1 0d |Hands(0,0)......| 00009d40 05 a7 17 dd f2 43 6c 6f 63 6b 48 61 6e 64 73 28 |.....ClockHands(| 00009d50 78 25 2c 79 25 29 0d 05 a8 37 ec 38 32 30 2b 78 |x%,y%)...7.820+x| 00009d60 25 2c 31 33 30 2b 79 25 3a df b5 28 b2 28 61 29 |%,130+y%:..(.(a)| 00009d70 29 2a 34 30 2b 38 32 30 2b 78 25 2c 9b 28 b2 28 |)*40+820+x%,.(.(| 00009d80 61 29 29 2a 34 30 2b 31 33 30 2b 79 25 0d 05 a9 |a))*40+130+y%...| 00009d90 37 ec 38 32 30 2b 78 25 2c 31 33 30 2b 79 25 3a |7.820+x%,130+y%:| 00009da0 df b5 28 b2 28 62 29 29 2a 36 36 2b 38 32 30 2b |..(.(b))*66+820+| 00009db0 78 25 2c 9b 28 b2 28 62 29 29 2a 36 36 2b 31 33 |x%,.(.(b))*66+13| 00009dc0 30 2b 79 25 0d 05 aa 05 e1 0d 05 ab 19 dd f2 43 |0+y%...........C| 00009dd0 6c 6f 63 6b 41 64 76 61 6e 63 65 28 68 25 2c 73 |lockAdvance(h%,s| 00009de0 25 29 0d 05 ac 1a ea 63 6c 68 25 2c 63 6c 6d 25 |%).....clh%,clm%| 00009df0 2c 63 68 25 2c 6e 74 25 2c 73 74 25 0d 05 ad 0e |,ch%,nt%,st%....| 00009e00 63 68 25 3d 21 54 69 6d 65 25 0d 05 ae 0e e7 68 |ch%=!Time%.....h| 00009e10 25 3d 33 8c 68 25 3d 32 0d 05 af 0c e7 ac a6 28 |%=3.h%=2.......(| 00009e20 2d 31 29 8c 0d 05 b0 17 ef 32 34 2c 36 37 30 3b |-1)......24,670;| 00009e30 32 30 3b 38 38 30 3b 32 33 36 3b 0d 05 b1 31 e7 |20;880;236;...1.| 00009e40 68 25 3e 30 8c e3 63 6c 68 25 3d 63 68 25 b8 63 |h%>0..clh%=ch%.c| 00009e50 68 25 2b 68 25 2d 31 8b e3 63 6c 68 25 3d 63 68 |h%+h%-1..clh%=ch| 00009e60 25 2d 31 b8 63 68 25 2b 68 25 3a cd 0d 05 b2 0c |%-1.ch%+h%:.....| 00009e70 e7 ac a6 28 2d 31 29 8c 0d 05 b3 2c e7 68 25 3e |...(-1)....,.h%>| 00009e80 30 8c e3 63 6c 6d 25 3d 30 b8 36 30 88 73 25 8b |0..clm%=0.60.s%.| 00009e90 e3 63 6c 6d 25 3d 36 30 b8 30 88 28 2d 31 2a 73 |.clm%=60.0.(-1*s| 00009ea0 25 29 3a cd 0d 05 b4 1c 61 3d 28 33 36 30 2f 31 |%):.....a=(360/1| 00009eb0 32 29 2a 63 6c 68 25 2b 28 63 6c 6d 25 2f 32 29 |2)*clh%+(clm%/2)| 00009ec0 0d 05 b5 13 62 3d 28 33 36 30 2f 36 30 29 2a 63 |....b=(360/60)*c| 00009ed0 6c 6d 25 0d 05 b6 10 e7 63 6c 6d 25 3d 36 30 8c |lm%.....clm%=60.| 00009ee0 62 3d 30 0d 05 b7 06 c8 96 0d 05 b8 22 f2 50 6c |b=0.........".Pl| 00009ef0 6f 74 53 70 72 69 74 65 28 46 73 67 69 4e 75 6d |otSprite(FsgiNum| 00009f00 62 65 72 25 2c 30 2c 30 2c 30 29 0d 05 b9 29 e6 |ber%,0,0,0)...).| 00009f10 30 2c a4 47 63 6f 6c 28 26 32 32 32 32 32 32 30 |0,.Gcol(&2222220| 00009f20 30 29 3a f2 43 6c 6f 63 6b 48 61 6e 64 73 28 38 |0):.ClockHands(8| 00009f30 2c 2d 38 29 0d 05 ba 28 e6 30 2c a4 47 63 6f 6c |,-8)...(.0,.Gcol| 00009f40 28 26 46 46 46 46 46 46 30 30 29 3a f2 43 6c 6f |(&FFFFFF00):.Clo| 00009f50 63 6b 48 61 6e 64 73 28 30 2c 30 29 0d 05 bb 09 |ckHands(0,0)....| 00009f60 ed 63 6c 6d 25 0d 05 bc 05 cd 0d 05 bd 09 ed 63 |.clm%..........c| 00009f70 6c 68 25 0d 05 be 0c ef 32 36 3a e6 30 2c 37 0d |lh%.....26:.0,7.| 00009f80 05 bf 05 cd 0d 05 c0 21 6e 74 25 3d 63 68 25 2b |.......!nt%=ch%+| 00009f90 68 25 3a e7 6e 74 25 3e 32 33 8c 6e 74 25 3d 6e |h%:.nt%>23.nt%=n| 00009fa0 74 25 2d 32 34 0d 05 c1 0e 21 54 69 6d 65 25 3d |t%-24....!Time%=| 00009fb0 6e 74 25 0d 05 c2 10 44 61 74 61 53 61 76 65 64 |nt%....DataSaved| 00009fc0 25 3d a3 0d 05 c3 05 e1 0d 05 c4 0d dd f2 44 69 |%=............Di| 00009fd0 67 5a 6f 6f 6d 0d 05 c5 0a ea 78 25 2c 77 25 0d |gZoom.....x%,w%.| 00009fe0 05 c6 1a 78 25 3d 44 69 67 58 25 3a 79 25 3d 44 |...x%=DigX%:y%=D| 00009ff0 69 67 59 25 3a 77 25 3d 31 0d 05 c7 11 f2 44 6f |igY%:w%=1.....Do| 0000a000 75 62 6c 65 42 75 66 66 65 72 0d 05 c8 05 db 0d |ubleBuffer......| 0000a010 05 c9 0c f2 43 6f 6e 73 6f 6c 65 0d 05 ca 09 f2 |....Console.....| 0000a020 50 4d 61 70 0d 05 cb 0a f2 50 54 42 61 72 0d 05 |PMap.....PTBar..| 0000a030 cc 12 f2 48 69 67 68 6c 69 67 68 74 54 6f 6f 6c |...HighlightTool| 0000a040 0d 05 cd 08 e6 30 2c 30 0d 05 ce 0f e3 77 25 3d |.....0,0.....w%=| 0000a050 30 b8 32 35 36 88 38 0d 05 cf 07 d1 3d 30 0d 05 |0.256.8.....=0..| 0000a060 d0 12 e7 78 25 2d 77 25 3c 30 8c 78 25 3d 77 25 |...x%-w%<0.x%=w%| 0000a070 0d 05 d1 1a e7 78 25 2b 77 25 3e 31 32 37 36 8c |.....x%+w%>1276.| 0000a080 78 25 3d 31 32 37 36 2d 77 25 0d 05 d2 18 e7 79 |x%=1276-w%.....y| 0000a090 25 2d 77 25 3c 32 37 32 8c 79 25 3d 32 37 32 2b |%-w%<272.y%=272+| 0000a0a0 77 25 0d 05 d3 18 e7 79 25 2b 77 25 3e 39 35 30 |w%.....y%+w%>950| 0000a0b0 8c 79 25 3d 39 35 30 2d 77 25 0d 05 d4 06 c8 96 |.y%=950-w%......| 0000a0c0 0d 05 d5 27 c8 93 c8 90 78 25 2d 77 25 2b 31 32 |...'....x%-w%+12| 0000a0d0 2c 79 25 2d 77 25 2d 31 32 2c 28 77 25 2a 32 29 |,y%-w%-12,(w%*2)| 0000a0e0 2d 34 2c 77 25 2a 32 0d 05 d6 3a f2 50 6c 6f 74 |-4,w%*2...:.Plot| 0000a0f0 53 70 72 69 74 65 53 63 61 6c 65 64 28 22 44 69 |SpriteScaled("Di| 0000a100 67 53 70 72 31 22 2c 78 25 2d 77 25 2c 79 25 2d |gSpr1",x%-w%,y%-| 0000a110 77 25 2c 77 25 2c 77 25 2c 32 35 36 2c 32 35 36 |w%,w%,w%,256,256| 0000a120 29 0d 05 d7 12 e7 ac a6 28 2d 31 29 8c f5 3a fd |).......(-1)..:.| 0000a130 91 3e 35 0d 05 d8 0f f2 53 77 61 70 53 63 72 65 |.>5.....SwapScre| 0000a140 65 6e 0d 05 d9 07 ed 77 25 0d 05 da 11 f2 53 69 |en.....w%.....Si| 0000a150 6e 67 6c 65 53 63 72 65 65 6e 0d 05 db 3a f2 50 |ngleScreen...:.P| 0000a160 6c 6f 74 53 70 72 69 74 65 53 63 61 6c 65 64 28 |lotSpriteScaled(| 0000a170 22 44 69 67 53 70 72 31 22 2c 78 25 2d 77 25 2c |"DigSpr1",x%-w%,| 0000a180 79 25 2d 77 25 2c 77 25 2c 77 25 2c 32 35 36 2c |y%-w%,w%,w%,256,| 0000a190 32 35 36 29 0d 05 dc 15 44 69 67 58 25 3d 78 25 |256)....DigX%=x%| 0000a1a0 3a 44 69 67 59 25 3d 79 25 0d 05 dd 05 e1 0d 05 |:DigY%=y%.......| 0000a1b0 de 0e dd f2 48 65 6c 70 28 68 25 29 0d 05 df 13 |....Help(h%)....| 0000a1c0 ea 63 78 25 2c 63 79 25 2c 6c 25 2c 68 68 25 0d |.cx%,cy%,l%,hh%.| 0000a1d0 05 e0 0c f2 43 6f 6e 73 6f 6c 65 0d 05 e1 09 c8 |....Console.....| 0000a1e0 8e 68 25 ca 0d 05 e2 45 c9 31 3a 53 24 3d 22 54 |.h%....E.1:S$="T| 0000a1f0 68 65 20 74 68 69 6e 67 73 20 74 68 61 74 20 79 |he things that y| 0000a200 6f 75 20 66 69 6e 64 20 61 74 20 74 68 65 20 64 |ou find at the d| 0000a210 69 67 20 73 69 74 65 20 61 72 65 20 6c 69 73 74 |ig site are list| 0000a220 65 64 20 68 65 72 65 2e 22 0d 05 e3 37 c9 32 3a |ed here."...7.2:| 0000a230 53 24 3d 22 42 65 20 63 61 72 65 66 75 6c 20 77 |S$="Be careful w| 0000a240 68 65 6e 20 63 68 6f 6f 73 69 6e 67 20 77 68 69 |hen choosing whi| 0000a250 63 68 20 74 6f 6f 6c 20 74 6f 20 75 73 65 2e 22 |ch tool to use."| 0000a260 0d 05 e4 18 7f 3a 53 24 3d 22 4e 6f 20 68 65 6c |.....:S$="No hel| 0000a270 70 20 68 65 72 65 2e 22 0d 05 e5 05 cb 0d 05 e6 |p here."........| 0000a280 0c 6c 25 3d a9 28 53 24 29 0d 05 e7 1c e7 6c 25 |.l%=.(S$).....l%| 0000a290 3e 33 38 8c 6c 25 3d 33 38 3a 68 68 25 3d 32 8b |>38.l%=38:hh%=2.| 0000a2a0 68 68 25 3d 31 0d 05 e8 24 63 78 25 3d 36 34 30 |hh%=1...$cx%=640| 0000a2b0 2d 28 28 28 6c 25 2a 33 32 29 2b 34 30 29 2f 32 |-(((l%*32)+40)/2| 0000a2c0 29 3a 63 79 25 3d 39 30 30 0d 05 e9 56 c8 99 26 |):cy%=900...V..&| 0000a2d0 30 30 30 30 30 30 32 45 2c 31 36 2b 32 35 36 2c |0000002E,16+256,| 0000a2e0 53 70 72 69 74 65 41 72 65 61 25 2c 22 68 65 6c |SpriteArea%,"hel| 0000a2f0 70 22 2c 30 2c 63 78 25 2c 63 79 25 2d 28 28 68 |p",0,cx%,cy%-((h| 0000a300 68 25 2a 34 30 29 2b 32 38 29 2c 63 78 25 2b 28 |h%*40)+28),cx%+(| 0000a310 28 6c 25 2a 33 32 29 2b 34 30 29 2c 63 79 25 0d |(l%*32)+40),cy%.| 0000a320 05 ea 17 f2 54 69 6c 65 28 63 78 25 2c 63 79 25 |....Tile(cx%,cy%| 0000a330 2c 6c 25 2c 31 29 0d 05 eb 14 f2 43 6f 6e 74 42 |,l%,1).....ContB| 0000a340 6f 78 28 2d 31 2c 34 35 30 29 0d 05 ec 41 c8 99 |ox(-1,450)...A..| 0000a350 26 30 30 30 30 30 30 32 45 2c 33 34 2b 32 35 36 |&0000002E,34+256| 0000a360 2c 53 70 72 69 74 65 41 72 65 61 25 2c 22 68 65 |,SpriteArea%,"he| 0000a370 6c 70 22 2c 63 78 25 2c 63 79 25 2d 28 28 68 68 |lp",cx%,cy%-((hh| 0000a380 25 2a 34 30 29 2b 32 38 29 2c 30 0d 05 ed 20 f2 |%*40)+28),0... .| 0000a390 4f 70 28 43 75 72 4f 70 61 24 2c 43 75 72 4f 70 |Op(CurOpa$,CurOp| 0000a3a0 62 24 2c 43 75 72 4f 70 63 24 29 0d 05 ee 0b 2a |b$,CurOpc$)....*| 0000a3b0 46 58 31 35 2c 30 0d 05 ef 05 e1 0d 05 f0 14 dd |FX15,0..........| 0000a3c0 f2 4c 6f 61 64 4f 62 6a 65 63 74 54 65 78 74 0d |.LoadObjectText.| 0000a3d0 05 f1 36 ff 28 22 4c 4f 41 44 20 3c 41 72 63 56 |..6.("LOAD <ArcV| 0000a3e0 33 24 44 69 72 3e 2e 44 61 74 61 2e 4f 62 6a 65 |3$Dir>.Data.Obje| 0000a3f0 63 74 54 65 78 74 20 22 2b c3 7e 28 4f 62 54 65 |ctText "+.~(ObTe| 0000a400 78 74 25 29 29 0d 05 f2 14 6f 25 3d 30 3a 78 66 |xt%))....o%=0:xf| 0000a410 25 3d 4f 62 54 65 78 74 25 0d 05 f3 05 f5 0d 05 |%=ObText%.......| 0000a420 f4 26 4f 62 44 65 73 63 24 28 6f 25 29 3d a4 47 |.&ObDesc$(o%)=.G| 0000a430 65 74 53 74 72 69 6e 67 46 72 6f 6d 4d 65 6d 28 |etStringFromMem(| 0000a440 78 66 25 29 0d 05 f5 27 4f 62 4e 61 72 61 25 28 |xf%)...'ObNara%(| 0000a450 6f 25 29 3d a4 47 65 74 41 64 64 72 65 73 73 46 |o%)=.GetAddressF| 0000a460 72 6f 6d 4d 65 6d 28 78 66 25 29 0d 05 f6 26 4f |romMem(xf%)...&O| 0000a470 62 44 69 67 31 24 28 6f 25 29 3d a4 47 65 74 53 |bDig1$(o%)=.GetS| 0000a480 74 72 69 6e 67 46 72 6f 6d 4d 65 6d 28 78 66 25 |tringFromMem(xf%| 0000a490 29 0d 05 f7 26 4f 62 44 69 67 32 24 28 6f 25 29 |)...&ObDig2$(o%)| 0000a4a0 3d a4 47 65 74 53 74 72 69 6e 67 46 72 6f 6d 4d |=.GetStringFromM| 0000a4b0 65 6d 28 78 66 25 29 0d 05 f8 26 4f 62 44 69 67 |em(xf%)...&ObDig| 0000a4c0 33 24 28 6f 25 29 3d a4 47 65 74 53 74 72 69 6e |3$(o%)=.GetStrin| 0000a4d0 67 46 72 6f 6d 4d 65 6d 28 78 66 25 29 0d 05 f9 |gFromMem(xf%)...| 0000a4e0 28 4f 62 54 6f 6c 25 28 6f 25 29 3d bb 28 a4 47 |(ObTol%(o%)=.(.G| 0000a4f0 65 74 53 74 72 69 6e 67 46 72 6f 6d 4d 65 6d 28 |etStringFromMem(| 0000a500 78 66 25 29 29 0d 05 fa 23 4e 65 77 4c 69 6e 65 |xf%))...#NewLine| 0000a510 24 3d a4 47 65 74 53 74 72 69 6e 67 46 72 6f 6d |$=.GetStringFrom| 0000a520 4d 65 6d 28 78 66 25 29 0d 05 fb 0b 6f 25 3d 6f |Mem(xf%)....o%=o| 0000a530 25 2b 31 0d 05 fc 11 fd 4e 65 77 4c 69 6e 65 24 |%+1.....NewLine$| 0000a540 3d 22 2a 22 0d 05 fd 13 4e 6f 6f 66 4f 62 6a 65 |="*"....NoofObje| 0000a550 63 74 73 25 3d 6f 25 0d 05 fe 25 78 66 25 3d 8e |cts%=o%...%xf%=.| 0000a560 28 22 3c 41 72 63 56 33 24 44 69 72 3e 2e 44 61 |("<ArcV3$Dir>.Da| 0000a570 74 61 2e 4f 62 5a 6f 6e 65 73 22 29 0d 05 ff 08 |ta.ObZones")....| 0000a580 6f 25 3d 30 0d 06 00 05 f5 0d 06 01 2b 44 69 67 |o%=0........+Dig| 0000a590 5a 6f 6e 65 25 28 6f 25 29 3d bb 28 a4 47 65 74 |Zone%(o%)=.(.Get| 0000a5a0 53 74 72 69 6e 67 46 72 6f 6d 46 69 6c 65 28 78 |StringFromFile(x| 0000a5b0 66 25 29 29 0d 06 02 0b 6f 25 3d 6f 25 2b 31 0d |f%))....o%=o%+1.| 0000a5c0 06 03 0a fd c5 23 78 66 25 0d 06 04 09 d9 23 78 |.....#xf%.....#x| 0000a5d0 66 25 0d 06 05 05 e1 0d 06 06 12 dd f2 4c 6f 61 |f%...........Loa| 0000a5e0 64 52 6f 6f 6d 54 65 78 74 0d 06 07 26 78 66 25 |dRoomText...&xf%| 0000a5f0 3d 8e 28 22 3c 41 72 63 56 33 24 44 69 72 3e 2e |=.("<ArcV3$Dir>.| 0000a600 44 61 74 61 2e 52 6f 6f 6d 54 65 78 74 22 29 0d |Data.RoomText").| 0000a610 06 08 08 6f 25 3d 30 0d 06 09 05 f5 0d 06 0a 29 |...o%=0........)| 0000a620 52 6f 6f 6d 4e 61 6d 65 24 28 6f 25 29 3d a4 47 |RoomName$(o%)=.G| 0000a630 65 74 53 74 72 69 6e 67 46 72 6f 6d 46 69 6c 65 |etStringFromFile| 0000a640 28 78 66 25 29 0d 06 0b 0b 6f 25 3d 6f 25 2b 31 |(xf%)....o%=o%+1| 0000a650 0d 06 0c 0a fd c5 23 78 66 25 0d 06 0d 09 d9 23 |......#xf%.....#| 0000a660 78 66 25 0d 06 0e 05 e1 0d 06 0f 1c dd a4 47 65 |xf%...........Ge| 0000a670 74 53 74 72 69 6e 67 46 72 6f 6d 46 69 6c 65 28 |tStringFromFile(| 0000a680 78 66 25 29 0d 06 10 07 ea 74 24 0d 06 11 09 74 |xf%).....t$....t| 0000a690 24 3d 22 22 0d 06 12 05 f5 0d 06 13 0c 62 25 3d |$="".........b%=| 0000a6a0 9a 23 78 66 25 0d 06 14 17 e7 62 25 3c 3e 31 30 |.#xf%.....b%<>10| 0000a6b0 8c 74 24 3d 74 24 2b bd 28 62 25 29 0d 06 15 10 |.t$=t$+.(b%)....| 0000a6c0 fd 62 25 3d 31 30 84 c5 23 78 66 25 0d 06 16 07 |.b%=10..#xf%....| 0000a6d0 3d 74 24 0d 06 17 1c dd a4 47 65 74 53 74 72 69 |=t$......GetStri| 0000a6e0 6e 67 46 72 6f 6d 4d 65 6d 28 f8 78 66 25 29 0d |ngFromMem(.xf%).| 0000a6f0 06 18 07 ea 74 24 0d 06 19 09 74 24 3d 22 22 0d |....t$....t$="".| 0000a700 06 1a 05 f5 0d 06 1b 0b 62 25 3d 3f 78 66 25 0d |........b%=?xf%.| 0000a710 06 1c 1e e7 62 25 3c 3e 31 30 80 62 25 3c 3e 31 |....b%<>10.b%<>1| 0000a720 33 8c 74 24 3d 74 24 2b bd 28 62 25 29 0d 06 1d |3.t$=t$+.(b%)...| 0000a730 0d 78 66 25 3d 78 66 25 2b 31 0d 06 1e 1a fd 62 |.xf%=xf%+1.....b| 0000a740 25 3d 31 30 84 62 25 3d 31 33 84 bd 28 62 25 29 |%=10.b%=13..(b%)| 0000a750 3d 22 2a 22 0d 06 1f 07 3d 74 24 0d 06 20 1d dd |="*"....=t$.. ..| 0000a760 a4 47 65 74 41 64 64 72 65 73 73 46 72 6f 6d 4d |.GetAddressFromM| 0000a770 65 6d 28 f8 78 66 25 29 0d 06 21 0e ea 74 24 2c |em(.xf%)..!..t$,| 0000a780 4f 6c 64 78 66 25 0d 06 22 14 74 24 3d 22 22 3a |Oldxf%..".t$="":| 0000a790 4f 6c 64 78 66 25 3d 78 66 25 0d 06 23 05 f5 0d |Oldxf%=xf%..#...| 0000a7a0 06 24 0b 62 25 3d 3f 78 66 25 0d 06 25 0d 78 66 |.$.b%=?xf%..%.xf| 0000a7b0 25 3d 78 66 25 2b 31 0d 06 26 14 fd 62 25 3d 31 |%=xf%+1..&..b%=1| 0000a7c0 30 84 bd 28 62 25 29 3d 22 2a 22 0d 06 27 0b 3d |0..(b%)="*"..'.=| 0000a7d0 4f 6c 64 78 66 25 0d 06 28 10 dd f2 54 69 6d 65 |Oldxf%..(...Time| 0000a7e0 54 75 6e 6e 65 6c 0d 06 29 05 db 0d 06 2a 0c e3 |Tunnel..)....*..| 0000a7f0 74 66 25 3d 35 b8 35 0d 06 2b 1b f2 53 63 72 43 |tf%=5.5..+..ScrC| 0000a800 6c 6f 3a f2 53 63 72 43 6c 6f 3a f2 53 63 72 43 |lo:.ScrClo:.ScrC| 0000a810 6c 6f 0d 06 2c 0f e3 7a 25 3d 31 b8 32 35 36 88 |lo..,..z%=1.256.| 0000a820 38 0d 06 2d 06 c8 96 0d 06 2e 32 f2 47 65 74 42 |8..-......2.GetB| 0000a830 61 63 6b 67 72 6f 75 6e 64 50 61 6c 65 74 74 65 |ackgroundPalette| 0000a840 28 22 74 6c 22 2b c3 28 74 66 25 29 29 3a f2 53 |("tl"+.(tf%)):.S| 0000a850 65 74 50 61 6c 65 74 74 65 0d 06 2f 3e f2 50 6c |etPalette../>.Pl| 0000a860 6f 74 53 70 72 69 74 65 53 63 61 6c 65 64 28 22 |otSpriteScaled("| 0000a870 74 6c 22 2b c3 28 74 66 25 29 2c 36 30 30 2d 7a |tl"+.(tf%),600-z| 0000a880 25 2c 36 30 30 2d 7a 25 2c 7a 25 2c 7a 25 2c 32 |%,600-z%,z%,z%,2| 0000a890 35 36 2c 32 35 36 29 0d 06 30 07 ed 7a 25 0d 06 |56,256)..0..z%..| 0000a8a0 31 0a 7a 25 3d 32 35 36 0d 06 32 3e f2 50 6c 6f |1.z%=256..2>.Plo| 0000a8b0 74 53 70 72 69 74 65 53 63 61 6c 65 64 28 22 74 |tSpriteScaled("t| 0000a8c0 6c 22 2b c3 28 74 66 25 29 2c 36 30 30 2d 7a 25 |l"+.(tf%),600-z%| 0000a8d0 2c 36 30 30 2d 7a 25 2c 7a 25 2c 7a 25 2c 32 35 |,600-z%,z%,z%,25| 0000a8e0 36 2c 32 35 36 29 0d 06 33 0a c8 8e 74 66 25 ca |6,256)..3...tf%.| 0000a8f0 0d 06 34 18 c9 35 3a 53 24 3d 22 56 69 6b 69 6e |..4..5:S$="Vikin| 0000a900 67 20 54 69 6d 65 73 22 0d 06 35 05 cb 0d 06 36 |g Times"..5....6| 0000a910 16 f2 54 69 6c 65 28 2d 31 2c 33 30 30 2c 2d 31 |..Tile(-1,300,-1| 0000a920 2c 31 29 0d 06 37 0f e7 74 66 25 3c 3e 35 8c d1 |,1)..7..tf%<>5..| 0000a930 3d 30 0d 06 38 05 f5 0d 06 39 10 e7 a6 28 2d 31 |=0..8....9...(-1| 0000a940 29 8c d1 3d 33 30 30 0d 06 3a 0a fd 91 3e 33 30 |)..=300..:...>30| 0000a950 30 0d 06 3b 05 cd 0d 06 3c 08 ed 74 66 25 0d 06 |0..;....<..tf%..| 0000a960 3d 05 e1 0d 06 3e 0b dd f2 49 6e 69 74 32 0d 06 |=....>...Init2..| 0000a970 3f b9 de 20 56 61 72 42 6c 6f 63 6b 25 20 32 30 |?.. VarBlock% 20| 0000a980 2c 42 61 63 6b 67 72 6f 75 6e 64 25 20 33 32 30 |,Background% 320| 0000a990 30 30 2c 50 6c 61 79 41 6e 69 6d 25 28 34 2c 37 |00,PlayAnim%(4,7| 0000a9a0 29 2c 4f 72 6e 25 28 4e 6f 6f 66 50 32 4f 62 6a |),Orn%(NoofP2Obj| 0000a9b0 65 63 74 73 25 29 2c 4f 66 6e 25 28 4e 6f 6f 66 |ects%),Ofn%(Noof| 0000a9c0 50 32 4f 62 6a 65 63 74 73 25 29 2c 6f 78 25 28 |P2Objects%),ox%(| 0000a9d0 4e 6f 6f 66 50 32 4f 62 6a 65 63 74 73 25 29 2c |NoofP2Objects%),| 0000a9e0 6f 79 25 28 4e 6f 6f 66 50 32 4f 62 6a 65 63 74 |oy%(NoofP2Object| 0000a9f0 73 25 29 2c 50 32 4f 62 44 65 73 63 24 28 4e 6f |s%),P2ObDesc$(No| 0000aa00 6f 66 50 32 4f 62 6a 65 63 74 73 25 29 2c 50 32 |ofP2Objects%),P2| 0000aa10 4f 62 4e 61 72 61 24 28 4e 6f 6f 66 50 32 4f 62 |ObNara$(NoofP2Ob| 0000aa20 6a 65 63 74 73 25 29 0d 06 40 bc de 20 43 6f 64 |jects%)..@.. Cod| 0000aa30 65 54 61 62 6c 65 25 20 31 30 32 34 20 2c 20 4f |eTable% 1024 , O| 0000aa40 62 42 6f 78 58 25 28 34 29 2c 4f 62 42 6f 78 59 |bBoxX%(4),ObBoxY| 0000aa50 25 28 34 29 20 2c 20 50 65 72 73 6f 6e 54 79 70 |%(4) , PersonTyp| 0000aa60 65 25 28 4e 6f 6f 66 50 65 6f 70 6c 65 25 29 2c |e%(NoofPeople%),| 0000aa70 20 50 56 4f 62 31 25 28 4e 6f 6f 66 50 65 6f 70 | PVOb1%(NoofPeop| 0000aa80 6c 65 25 29 2c 50 56 4f 62 32 25 28 4e 6f 6f 66 |le%),PVOb2%(Noof| 0000aa90 50 65 6f 70 6c 65 25 29 2c 50 56 4f 62 33 25 28 |People%),PVOb3%(| 0000aaa0 4e 6f 6f 66 50 65 6f 70 6c 65 25 29 2c 20 50 32 |NoofPeople%), P2| 0000aab0 4f 62 4e 61 6d 65 24 28 4e 6f 6f 66 50 32 4f 62 |ObName$(NoofP2Ob| 0000aac0 6a 65 63 74 73 25 29 2c 20 50 32 4f 62 50 72 69 |jects%), P2ObPri| 0000aad0 63 65 25 28 4e 6f 6f 66 50 32 4f 62 6a 65 63 74 |ce%(NoofP2Object| 0000aae0 73 25 29 0d 06 41 af de 20 50 65 72 73 6f 6e 4e |s%)..A.. PersonN| 0000aaf0 61 6d 65 24 28 4e 6f 6f 66 50 65 6f 70 6c 65 25 |ame$(NoofPeople%| 0000ab00 29 2c 50 65 72 73 6f 6e 4e 61 72 61 24 28 4e 6f |),PersonNara$(No| 0000ab10 6f 66 50 65 6f 70 6c 65 25 29 2c 50 65 72 73 6f |ofPeople%),Perso| 0000ab20 6e 52 6e 25 28 4e 6f 6f 66 50 65 6f 70 6c 65 25 |nRn%(NoofPeople%| 0000ab30 29 2c 50 65 72 73 6f 6e 58 25 28 4e 6f 6f 66 50 |),PersonX%(NoofP| 0000ab40 65 6f 70 6c 65 25 29 2c 50 65 72 73 6f 6e 59 25 |eople%),PersonY%| 0000ab50 28 4e 6f 6f 66 50 65 6f 70 6c 65 25 29 2c 50 66 |(NoofPeople%),Pf| 0000ab60 6e 25 28 4e 6f 6f 66 50 65 6f 70 6c 65 25 29 3a |n%(NoofPeople%):| 0000ab70 21 28 56 61 72 42 6c 6f 63 6b 25 29 3d 31 34 38 |!(VarBlock%)=148| 0000ab80 3a 21 28 56 61 72 42 6c 6f 63 6b 25 2b 38 29 3d |:!(VarBlock%+8)=| 0000ab90 2d 31 0d 06 42 1b 76 62 25 3d 31 3a 64 62 25 3d |-1..B.vb%=1:db%=| 0000aba0 32 3a 53 6b 69 70 64 6f 6f 72 25 3d a3 0d 06 43 |2:Skipdoor%=...C| 0000abb0 25 de 20 52 6f 6f 6d 44 61 74 61 25 20 31 36 30 |%. RoomData% 160| 0000abc0 30 30 2c 20 4c 69 6e 6b 50 6f 69 6e 74 25 28 33 |00, LinkPoint%(3| 0000abd0 32 29 0d 06 44 11 f2 44 6f 75 62 6c 65 42 75 66 |2)..D..DoubleBuf| 0000abe0 66 65 72 0d 06 45 12 f2 47 65 74 53 63 72 65 65 |fer..E..GetScree| 0000abf0 6e 56 61 72 73 0d 06 46 11 f2 53 69 6e 67 6c 65 |nVars..F..Single| 0000ac00 53 63 72 65 65 6e 0d 06 47 0c f2 43 6f 64 65 41 |Screen..G..CodeA| 0000ac10 73 73 0d 06 48 1f de 20 44 6f 6f 72 52 65 73 70 |ss..H.. DoorResp| 0000ac20 6f 6e 73 65 24 28 4e 6f 6f 66 52 6f 6f 6d 73 25 |onse$(NoofRooms%| 0000ac30 29 0d 06 49 15 f2 53 65 74 44 6f 6f 72 52 65 73 |)..I..SetDoorRes| 0000ac40 70 6f 6e 73 65 73 0d 06 4a 41 4f 62 42 6f 78 58 |ponses..JAObBoxX| 0000ac50 25 28 30 29 3d 39 37 30 3a 4f 62 42 6f 78 58 25 |%(0)=970:ObBoxX%| 0000ac60 28 31 29 3d 31 31 33 30 3a 4f 62 42 6f 78 58 25 |(1)=1130:ObBoxX%| 0000ac70 28 32 29 3d 39 37 30 3a 4f 62 42 6f 78 58 25 28 |(2)=970:ObBoxX%(| 0000ac80 33 29 3d 31 31 33 30 0d 06 4b 3d 4f 62 42 6f 78 |3)=1130..K=ObBox| 0000ac90 59 25 28 30 29 3d 31 35 30 3a 4f 62 42 6f 78 59 |Y%(0)=150:ObBoxY| 0000aca0 25 28 31 29 3d 31 35 30 3a 4f 62 42 6f 78 59 25 |%(1)=150:ObBoxY%| 0000acb0 28 32 29 3d 34 30 3a 4f 62 42 6f 78 59 25 28 33 |(2)=40:ObBoxY%(3| 0000acc0 29 3d 34 30 0d 06 4c 68 70 78 25 3d 33 3a 70 79 |)=40..Lhpx%=3:py| 0000acd0 25 3d 34 3a 43 68 61 6e 67 65 52 6f 6f 6d 25 3d |%=4:ChangeRoom%=| 0000ace0 a3 3a 54 65 6d 70 43 6f 64 65 25 3d 30 3a 43 68 |.:TempCode%=0:Ch| 0000acf0 61 6e 67 69 6e 67 52 6f 6f 6d 25 3d a3 3a 44 6f |angingRoom%=.:Do| 0000ad00 6f 72 43 6c 6f 73 69 6e 67 25 3d a3 3a 4a 75 73 |orClosing%=.:Jus| 0000ad10 74 43 6c 6f 73 65 64 44 6f 6f 72 25 3d a3 3a 52 |tClosedDoor%=.:R| 0000ad20 6f 6f 6d 4e 75 6d 62 65 72 25 3d 31 0d 06 4d 05 |oomNumber%=1..M.| 0000ad30 e1 0d 06 4e 0b dd f2 50 61 72 74 32 0d 06 4f 11 |...N...Part2..O.| 0000ad40 f2 53 69 6e 67 6c 65 53 63 72 65 65 6e 0d 06 50 |.SingleScreen..P| 0000ad50 0f f2 54 69 6d 65 54 75 6e 6e 65 6c 0d 06 51 0d |..TimeTunnel..Q.| 0000ad60 f2 4d 61 6b 65 52 6f 6f 6d 0d 06 52 12 f2 4d 61 |.MakeRoom..R..Ma| 0000ad70 6b 65 4c 69 6e 6b 54 61 62 6c 65 0d 06 53 0f f2 |keLinkTable..S..| 0000ad80 50 75 74 4f 62 6a 65 63 74 73 0d 06 54 0f 76 62 |PutObjects..T.vb| 0000ad90 25 3d 32 3a 64 62 25 3d 31 0d 06 55 33 46 73 67 |%=2:db%=1..U3Fsg| 0000ada0 69 4e 75 6d 62 65 72 25 3d 31 30 3a 50 61 72 74 |iNumber%=10:Part| 0000adb0 25 3d 32 3a 44 6f 6f 72 4b 6e 6f 63 6b 65 64 25 |%=2:DoorKnocked%| 0000adc0 3d 52 6f 6f 6d 4e 75 6d 62 65 72 25 0d 06 56 15 |=RoomNumber%..V.| 0000add0 f2 4d 61 6b 65 53 70 72 69 74 65 54 61 62 6c 65 |.MakeSpriteTable| 0000ade0 32 0d 06 57 13 f2 4d 61 6b 65 41 6e 69 6d 54 61 |2..W..MakeAnimTa| 0000adf0 62 6c 65 73 0d 06 58 0e f2 53 65 74 54 61 62 6c |bles..X..SetTabl| 0000ae00 65 73 0d 06 59 0b 50 61 72 74 25 3d 32 0d 06 5a |es..Y.Part%=2..Z| 0000ae10 1b f2 42 6c 61 63 6b 4f 75 74 3a db 3a 76 62 25 |..BlackOut:.:vb%| 0000ae20 3d 32 3a 64 62 25 3d 31 0d 06 5b 1f f2 44 6f 75 |=2:db%=1..[..Dou| 0000ae30 62 6c 65 42 75 66 66 65 72 3a da 3a f2 53 77 61 |bleBuffer:.:.Swa| 0000ae40 70 53 63 72 65 65 6e 0d 06 5c 12 f2 47 65 74 53 |pScreen..\..GetS| 0000ae50 63 72 65 65 6e 56 61 72 73 0d 06 5d 0e db 3a f2 |creenVars..]..:.| 0000ae60 43 6f 6e 73 6f 6c 65 0d 06 5e 2c f2 47 65 74 42 |Console..^,.GetB| 0000ae70 61 63 6b 67 72 6f 75 6e 64 50 61 6c 65 74 74 65 |ackgroundPalette| 0000ae80 28 22 77 32 31 22 29 3a f2 53 65 74 50 61 6c 65 |("w21"):.SetPale| 0000ae90 74 74 65 0d 06 5f 60 e7 76 62 25 3d 31 8c 21 43 |tte.._`.vb%=1.!C| 0000aea0 75 72 53 63 72 65 65 6e 41 64 64 72 3d 42 61 6e |urScreenAddr=Ban| 0000aeb0 6b 31 41 64 64 72 25 3a 42 61 6e 6b 25 3d 42 61 |k1Addr%:Bank%=Ba| 0000aec0 6e 6b 31 41 64 64 72 25 8b 21 43 75 72 53 63 72 |nk1Addr%.!CurScr| 0000aed0 65 65 6e 41 64 64 72 3d 42 61 6e 6b 32 41 64 64 |eenAddr=Bank2Add| 0000aee0 72 25 3a 42 61 6e 6b 25 3d 42 61 6e 6b 32 41 64 |r%:Bank%=Bank2Ad| 0000aef0 64 72 25 0d 06 60 1b 41 25 3d 52 6f 6f 6d 25 3a |dr%..`.A%=Room%:| 0000af00 42 25 3d 53 70 72 69 74 65 41 72 65 61 25 0d 06 |B%=SpriteArea%..| 0000af10 61 12 d6 42 61 63 6b 64 72 6f 70 50 72 69 6e 74 |a..BackdropPrint| 0000af20 0d 06 62 12 f2 50 72 69 6e 74 52 6f 6f 6d 4e 61 |..b..PrintRoomNa| 0000af30 6d 65 0d 06 63 1b 41 25 3d 42 61 6e 6b 25 3a 44 |me..c.A%=Bank%:D| 0000af40 25 3d 42 61 63 6b 67 72 6f 75 6e 64 25 0d 06 64 |%=Background%..d| 0000af50 0d d6 47 72 61 62 42 61 63 6b 0d 06 65 1b 41 25 |..GrabBack..e.A%| 0000af60 3d 42 61 6e 6b 25 3a 44 25 3d 42 61 63 6b 67 72 |=Bank%:D%=Backgr| 0000af70 6f 75 6e 64 25 0d 06 66 0c d6 50 75 74 42 61 63 |ound%..f..PutBac| 0000af80 6b 0d 06 67 0d f2 42 6c 61 63 6b 4f 75 74 0d 06 |k..g..BlackOut..| 0000af90 68 0c f2 43 6f 6e 73 6f 6c 65 0d 06 69 0e f2 50 |h..Console..i..P| 0000afa0 6c 61 63 65 50 6c 61 79 0d 06 6a 10 f2 44 69 73 |lacePlay..j..Dis| 0000afb0 70 6c 61 79 4c 6f 6f 70 0d 06 6b 0c f2 43 6f 6e |playLoop..k..Con| 0000afc0 73 6f 6c 65 0d 06 6c 0f f2 52 65 6d 6f 76 65 50 |sole..l..RemoveP| 0000afd0 6c 61 79 0d 06 6d 0b f2 46 61 64 65 55 70 0d 06 |lay..m..FadeUp..| 0000afe0 6e 0e f2 47 61 6d 65 4c 6f 6f 70 32 0d 06 6f 11 |n..GameLoop2..o.| 0000aff0 f2 53 69 6e 67 6c 65 53 63 72 65 65 6e 0d 06 70 |.SingleScreen..p| 0000b000 0b 50 61 72 74 25 3d 31 0d 06 71 08 f2 43 6c 77 |.Part%=1..q..Clw| 0000b010 0d 06 72 22 f2 4d 61 6b 65 53 70 72 69 74 65 54 |..r".MakeSpriteT| 0000b020 61 62 6c 65 3a 46 73 67 69 4e 75 6d 62 65 72 25 |able:FsgiNumber%| 0000b030 3d 30 0d 06 73 05 e1 0d 06 74 16 dd f2 4d 61 6b |=0..s....t...Mak| 0000b040 65 53 70 72 69 74 65 54 61 62 6c 65 32 0d 06 75 |eSpriteTable2..u| 0000b050 0b ea 73 6e 24 2c 63 25 0d 06 76 09 f7 8d 74 40 |..sn$,c%..v...t@| 0000b060 46 0d 06 77 0d e3 63 25 3d 30 b8 31 34 36 0d 06 |F..w..c%=0.146..| 0000b070 78 08 f3 73 6e 24 0d 06 79 2b 53 70 72 41 64 64 |x..sn$..y+SprAdd| 0000b080 25 28 63 25 29 3d a4 52 65 74 75 72 6e 41 64 64 |%(c%)=.ReturnAdd| 0000b090 72 65 73 73 4f 66 53 70 72 69 74 65 28 73 6e 24 |ressOfSprite(sn$| 0000b0a0 29 0d 06 7a 12 53 70 72 4e 6d 24 28 63 25 29 3d |)..z.SprNm$(c%)=| 0000b0b0 73 6e 24 0d 06 7b 1d e7 53 70 72 41 64 64 25 28 |sn$..{..SprAdd%(| 0000b0c0 63 25 29 3d 30 8c 85 39 39 2c 22 48 65 6c 70 22 |c%)=0..99,"Help"| 0000b0d0 0d 06 7c 07 ed 63 25 0d 06 7d 16 50 65 72 73 6f |..|..c%..}.Perso| 0000b0e0 6e 53 70 72 69 74 65 73 25 3d 31 32 30 0d 06 7e |nSprites%=120..~| 0000b0f0 17 50 32 4f 62 6a 65 63 74 53 70 72 69 74 65 73 |.P2ObjectSprites| 0000b100 25 3d 39 30 0d 06 7f 05 e1 0d 06 80 4f dc 22 66 |%=90........O."f| 0000b110 6c 6f 6f 72 31 22 2c 22 77 32 31 22 2c 22 77 61 |loor1","w21","wa| 0000b120 6c 6c 31 22 2c 22 6e 22 2c 22 77 61 6c 6c 31 22 |ll1","n","wall1"| 0000b130 2c 22 68 6f 75 73 65 31 22 2c 22 68 6f 75 73 65 |,"house1","house| 0000b140 32 22 2c 22 68 6f 75 73 65 33 22 2c 22 68 6f 75 |2","house3","hou| 0000b150 73 65 34 22 2c 22 6e 22 0d 06 81 59 dc 22 66 73 |se4","n"...Y."fs| 0000b160 67 69 22 2c 22 66 6c 6f 6f 72 31 22 2c 22 66 6c |gi","floor1","fl| 0000b170 6f 6f 72 32 22 2c 22 66 6c 6f 6f 72 33 22 2c 22 |oor2","floor3","| 0000b180 77 61 6c 6c 31 22 2c 22 77 61 6c 6c 32 22 2c 22 |wall1","wall2","| 0000b190 66 6c 6f 6f 72 34 22 2c 22 68 6f 75 73 65 36 22 |floor4","house6"| 0000b1a0 2c 22 77 61 6c 6c 33 22 2c 22 68 6f 75 73 65 37 |,"wall3","house7| 0000b1b0 22 0d 06 82 56 dc 22 66 65 6e 63 65 31 22 2c 22 |"...V."fence1","| 0000b1c0 66 65 6e 63 65 32 22 2c 22 77 33 31 22 2c 22 64 |fence2","w31","d| 0000b1d0 6f 6f 72 31 22 2c 22 64 6f 6f 72 32 22 2c 22 64 |oor1","door2","d| 0000b1e0 6f 6f 72 33 22 2c 22 77 32 31 22 2c 22 66 69 72 |oor3","w21","fir| 0000b1f0 65 31 22 2c 22 68 6f 75 73 65 31 30 22 2c 22 68 |e1","house10","h| 0000b200 6f 75 73 65 31 31 22 0d 06 83 57 dc 22 68 6f 75 |ouse11"...W."hou| 0000b210 73 65 31 32 22 2c 22 6c 6f 6f 6d 22 2c 22 68 6f |se12","loom","ho| 0000b220 75 73 65 31 33 22 2c 22 77 61 6c 6c 32 22 2c 22 |use13","wall2","| 0000b230 64 6f 6f 72 37 22 2c 22 64 6f 6f 72 35 22 2c 22 |door7","door5","| 0000b240 64 6f 6f 72 34 22 2c 22 64 6f 6f 72 38 22 2c 22 |door4","door8","| 0000b250 77 61 6c 6c 34 22 2c 22 77 61 6c 6c 35 22 0d 06 |wall4","wall5"..| 0000b260 84 48 dc 22 77 35 31 22 2c 22 64 6f 6f 72 37 22 |.H."w51","door7"| 0000b270 2c 22 64 6f 6f 72 38 22 2c 22 66 75 72 6e 61 63 |,"door8","furnac| 0000b280 65 22 2c 22 6e 22 2c 22 64 6f 6f 72 36 22 2c 22 |e","n","door6","| 0000b290 6e 22 2c 22 6e 22 2c 22 66 6c 6f 6f 72 32 22 2c |n","n","floor2",| 0000b2a0 22 61 72 63 68 22 0d 06 85 45 dc 22 70 33 30 22 |"arch"...E."p30"| 0000b2b0 2c 22 70 33 31 22 2c 22 70 33 32 22 2c 22 70 33 |,"p31","p32","p3| 0000b2c0 33 22 2c 22 70 33 34 22 2c 22 70 33 35 22 2c 22 |3","p34","p35","| 0000b2d0 70 33 36 22 2c 22 70 33 37 22 2c 22 61 72 63 68 |p36","p37","arch| 0000b2e0 22 2c 22 72 75 62 62 69 73 68 22 0d 06 86 31 dc |","rubbish"...1.| 0000b2f0 22 70 33 30 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e |"p30","n","n","n| 0000b300 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e |","n","n","n","n| 0000b310 22 2c 22 73 69 67 6e 22 2c 22 6e 22 0d 06 87 2e |","sign","n"....| 0000b320 dc 22 70 31 30 22 2c 22 6e 22 2c 22 6e 22 2c 22 |."p10","n","n","| 0000b330 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 |n","n","n","n","| 0000b340 6e 22 2c 22 6e 22 2c 22 6e 22 0d 06 88 40 dc 22 |n","n","n"...@."| 0000b350 70 31 30 22 2c 22 70 31 31 22 2c 22 70 31 32 22 |p10","p11","p12"| 0000b360 2c 22 70 31 33 22 2c 22 70 31 34 22 2c 22 70 31 |,"p13","p14","p1| 0000b370 35 22 2c 22 70 31 36 22 2c 22 70 31 37 22 2c 22 |5","p16","p17","| 0000b380 74 61 62 6c 65 22 2c 22 6e 22 0d 06 89 37 dc 22 |table","n"...7."| 0000b390 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 |n","n","n","n","| * 0000b3b0 75 6e 6b 6e 6f 77 6e 34 32 22 2c 22 6b 65 79 31 |unknown42","key1| 0000b3c0 22 0d 06 8a 2f dc 22 69 72 6f 6e 22 2c 22 6e 22 |".../."iron","n"| 0000b3d0 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 |,"n","n","n","n"| * 0000b3f0 0d 06 8b 32 dc 22 6e 22 2c 22 6e 22 2c 22 6e 22 |...2."n","n","n"| 0000b400 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 |,"n","n","n","n"| 0000b410 2c 22 6e 22 2c 22 73 68 65 65 70 22 2c 22 70 69 |,"n","sheep","pi| 0000b420 67 22 0d 06 8c 42 dc 22 6f 6c 64 6d 61 6e 22 2c |g"...B."oldman",| 0000b430 22 77 65 61 76 65 72 22 2c 22 6e 22 2c 22 73 6d |"weaver","n","sm| 0000b440 69 74 68 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 |ith","n","n","n"| 0000b450 2c 22 6e 22 2c 22 6c 6f 63 6b 73 6d 69 74 68 22 |,"n","locksmith"| 0000b460 2c 22 6e 22 0d 06 8d 2c dc 22 6e 22 2c 22 6e 22 |,"n"...,."n","n"| 0000b470 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 2c 22 6e 22 |,"n","n","n","n"| * 0000b490 0d 06 8e 2b dc 22 6e 22 2c 22 6e 22 2c 22 6e 22 |...+."n","n","n"| 0000b4a0 2c 22 6e 22 2c 22 61 72 63 32 22 2c 22 61 72 72 |,"n","arc2","arr| 0000b4b0 6f 77 73 22 2c 22 61 72 63 31 22 0d 06 8f 11 dd |ows","arc1".....| 0000b4c0 f2 46 6c 69 70 53 70 72 69 74 65 73 0d 06 90 07 |.FlipSprites....| 0000b4d0 ea 66 25 0d 06 91 0d e3 66 25 3d 35 31 b8 35 37 |.f%.....f%=51.57| 0000b4e0 0d 06 92 2e c8 99 26 30 30 30 30 30 30 32 45 2c |......&0000002E,| 0000b4f0 34 37 2b 35 31 32 2c 53 70 72 69 74 65 41 72 65 |47+512,SpriteAre| 0000b500 61 25 2c 53 70 72 41 64 64 25 28 66 25 29 0d 06 |a%,SprAdd%(f%)..| 0000b510 93 07 ed 66 25 0d 06 94 0d e3 66 25 3d 38 31 b8 |...f%.....f%=81.| 0000b520 38 37 0d 06 95 2e c8 99 26 30 30 30 30 30 30 32 |87......&0000002| 0000b530 45 2c 34 37 2b 35 31 32 2c 53 70 72 69 74 65 41 |E,47+512,SpriteA| 0000b540 72 65 61 25 2c 53 70 72 41 64 64 25 28 66 25 29 |rea%,SprAdd%(f%)| 0000b550 0d 06 96 07 ed 66 25 0d 06 97 2e e7 50 44 69 72 |.....f%.....PDir| 0000b560 65 63 74 69 6f 6e 25 3d 31 8c 50 44 69 72 65 63 |ection%=1.PDirec| 0000b570 74 69 6f 6e 25 3d 32 8b 50 44 69 72 65 63 74 69 |tion%=2.PDirecti| 0000b580 6f 6e 25 3d 31 0d 06 98 05 e1 0d 06 99 14 dd f2 |on%=1...........| 0000b590 4d 61 6b 65 41 6e 69 6d 54 61 62 6c 65 73 0d 06 |MakeAnimTables..| 0000b5a0 9a 09 f7 8d 74 62 46 0d 06 9b 0b e3 66 25 3d 31 |....tbF.....f%=1| 0000b5b0 b8 34 0d 06 9c 0b e3 61 25 3d 30 b8 37 0d 06 9d |.4.....a%=0.7...| 0000b5c0 07 f3 64 25 0d 06 9e 28 50 6c 61 79 41 6e 69 6d |..d%...(PlayAnim| 0000b5d0 25 28 66 25 2c 61 25 29 3d 64 25 2b 50 6c 61 79 |%(f%,a%)=d%+Play| 0000b5e0 46 72 61 6d 65 73 53 74 61 72 74 25 0d 06 9f 07 |FramesStart%....| 0000b5f0 ed 61 25 0d 06 a0 07 ed 66 25 0d 06 a1 05 e1 0d |.a%.....f%......| 0000b600 06 a2 1c dc 32 30 2c 33 31 2c 33 32 2c 33 33 2c |....20,31,32,33,| 0000b610 33 34 2c 33 35 2c 33 36 2c 33 37 0d 06 a3 1c dc |34,35,36,37.....| 0000b620 32 30 2c 33 31 2c 33 32 2c 33 33 2c 33 34 2c 33 |20,31,32,33,34,3| 0000b630 35 2c 33 36 2c 33 37 0d 06 a4 14 dc 30 2c 31 2c |5,36,37.....0,1,| 0000b640 32 2c 33 2c 34 2c 35 2c 36 2c 37 0d 06 a5 14 dc |2,3,4,5,6,7.....| 0000b650 30 2c 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c 37 0d |0,1,2,3,4,5,6,7.| 0000b660 06 a6 0f dd f2 47 61 6d 65 4c 6f 6f 70 32 0d 06 |.....GameLoop2..| 0000b670 a7 0a ea 74 25 2c 63 25 0d 06 a8 0b 47 4c 32 71 |...t%,c%....GL2q| 0000b680 25 3d a3 0d 06 a9 05 f5 0d 06 aa 0a f2 4d 6f 75 |%=...........Mou| 0000b690 73 65 0d 06 ab 51 e7 28 a6 28 2d 36 33 29 80 50 |se...Q.(.(-63).P| 0000b6a0 61 72 74 25 3d 32 29 84 41 6e 73 77 65 72 51 75 |art%=2).AnswerQu| 0000b6b0 65 73 74 69 6f 6e 73 25 84 4b 24 3d 22 a9 22 8c |estions%.K$=".".| 0000b6c0 41 6e 73 77 65 72 51 75 65 73 74 69 6f 6e 73 25 |AnswerQuestions%| 0000b6d0 3d a3 3a f2 41 6e 73 77 65 72 51 75 65 73 74 69 |=.:.AnswerQuesti| 0000b6e0 6f 6e 73 0d 06 ac 21 e7 a6 28 2d 35 31 29 80 a6 |ons...!..(-51)..| 0000b6f0 28 2d 33 38 29 80 a6 28 2d 38 34 29 8c 47 4c 32 |(-38)..(-84).GL2| 0000b700 71 25 3d b9 0d 06 ad 21 4c 6f 63 25 3d a4 43 6f |q%=....!Loc%=.Co| 0000b710 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 |nLoc(MouseX%,Mou| 0000b720 73 65 59 25 29 0d 06 ae 26 50 6c 61 79 65 72 4d |seY%)...&PlayerM| 0000b730 6f 76 65 64 25 3d a3 3a 44 6f 6f 72 43 68 61 6e |oved%=.:DoorChan| 0000b740 67 65 64 25 3d a3 3a 63 25 3d 30 0d 06 af 0b c8 |ged%=.:c%=0.....| 0000b750 8e 4c 6f 63 25 ca 0d 06 b0 07 c9 34 3a 0d 06 b1 |.Loc%......4:...| 0000b760 25 63 25 3d a4 47 65 74 43 6f 6e 74 65 6e 74 73 |%c%=.GetContents| 0000b770 28 52 6f 6f 6d 32 25 2c 70 78 25 2d 31 2c 70 79 |(Room2%,px%-1,py| 0000b780 25 29 0d 06 b2 0c e7 63 25 3d 39 39 39 8c 0d 06 |%).....c%=999...| 0000b790 b3 1b f2 4c 6f 6f 6b 46 6f 72 4c 69 6e 6b 28 70 |...LookForLink(p| 0000b7a0 78 25 2d 31 2c 70 79 25 29 0d 06 b4 05 cc 0d 06 |x%-1,py%).......| 0000b7b0 b5 4b e7 63 25 3c 3e 30 80 28 63 25 3c 50 32 4f |.K.c%<>0.(c%<P2O| 0000b7c0 62 6a 65 63 74 53 74 61 72 74 25 84 63 25 3e 50 |bjectStart%.c%>P| 0000b7d0 65 72 73 6f 6e 45 6e 64 25 29 8c 63 25 3d 39 39 |ersonEnd%).c%=99| 0000b7e0 37 3a f2 4c 6f 6f 6b 46 6f 72 4c 69 6e 6b 28 70 |7:.LookForLink(p| 0000b7f0 78 25 2d 31 2c 70 79 25 29 0d 06 b6 05 cd 0d 06 |x%-1,py%).......| 0000b800 b7 23 e7 70 78 25 2d 31 3c 3e 30 80 70 79 25 3c |.#.px%-1<>0.py%<| 0000b810 3e 30 8c 44 6f 6f 72 43 68 61 6e 67 65 64 25 3d |>0.DoorChanged%=| 0000b820 a3 0d 06 b8 40 e7 28 63 25 3d 30 84 28 63 25 3e |....@.(c%=0.(c%>| 0000b830 39 39 36 80 43 68 61 6e 67 65 52 6f 6f 6d 25 29 |996.ChangeRoom%)| 0000b840 29 80 ac 44 6f 6f 72 43 68 61 6e 67 65 64 25 8c |)..DoorChanged%.| 0000b850 f2 4d 6f 76 65 50 6c 61 79 28 2d 31 2c 30 2c 31 |.MovePlay(-1,0,1| 0000b860 29 0d 06 b9 28 c9 35 3a 63 25 3d a4 47 65 74 43 |)...(.5:c%=.GetC| 0000b870 6f 6e 74 65 6e 74 73 28 52 6f 6f 6d 32 25 2c 70 |ontents(Room2%,p| 0000b880 78 25 2c 70 79 25 2d 31 29 0d 06 ba 0c e7 63 25 |x%,py%-1).....c%| 0000b890 3d 39 39 39 8c 0d 06 bb 1b f2 4c 6f 6f 6b 46 6f |=999......LookFo| 0000b8a0 72 4c 69 6e 6b 28 70 78 25 2c 70 79 25 2d 31 29 |rLink(px%,py%-1)| 0000b8b0 0d 06 bc 05 cc 0d 06 bd 4b e7 63 25 3c 3e 30 80 |........K.c%<>0.| 0000b8c0 28 63 25 3c 50 32 4f 62 6a 65 63 74 53 74 61 72 |(c%<P2ObjectStar| 0000b8d0 74 25 84 63 25 3e 50 65 72 73 6f 6e 45 6e 64 25 |t%.c%>PersonEnd%| 0000b8e0 29 8c 63 25 3d 39 39 37 3a f2 4c 6f 6f 6b 46 6f |).c%=997:.LookFo| 0000b8f0 72 4c 69 6e 6b 28 70 78 25 2c 70 79 25 2d 31 29 |rLink(px%,py%-1)| 0000b900 0d 06 be 05 cd 0d 06 bf 23 e7 70 78 25 3c 3e 30 |........#.px%<>0| 0000b910 80 70 79 25 2d 31 3c 3e 30 8c 44 6f 6f 72 43 68 |.py%-1<>0.DoorCh| 0000b920 61 6e 67 65 64 25 3d a3 0d 06 c0 40 e7 28 63 25 |anged%=....@.(c%| 0000b930 3d 30 84 28 63 25 3e 39 39 36 80 43 68 61 6e 67 |=0.(c%>996.Chang| 0000b940 65 52 6f 6f 6d 25 29 29 80 ac 44 6f 6f 72 43 68 |eRoom%))..DoorCh| 0000b950 61 6e 67 65 64 25 8c f2 4d 6f 76 65 50 6c 61 79 |anged%..MovePlay| 0000b960 28 30 2c 2d 31 2c 32 29 0d 06 c1 28 c9 36 3a 63 |(0,-1,2)...(.6:c| 0000b970 25 3d a4 47 65 74 43 6f 6e 74 65 6e 74 73 28 52 |%=.GetContents(R| 0000b980 6f 6f 6d 32 25 2c 70 78 25 2c 70 79 25 2b 31 29 |oom2%,px%,py%+1)| 0000b990 0d 06 c2 0c e7 63 25 3d 39 39 38 8c 0d 06 c3 19 |.....c%=998.....| 0000b9a0 f2 4c 6f 6f 6b 46 6f 72 4c 69 6e 6b 28 70 78 25 |.LookForLink(px%| 0000b9b0 2c 70 79 25 29 0d 06 c4 05 cc 0d 06 c5 4b e7 63 |,py%)........K.c| 0000b9c0 25 3c 3e 30 80 28 63 25 3c 50 32 4f 62 6a 65 63 |%<>0.(c%<P2Objec| 0000b9d0 74 53 74 61 72 74 25 84 63 25 3e 50 65 72 73 6f |tStart%.c%>Perso| 0000b9e0 6e 45 6e 64 25 29 8c 63 25 3d 39 39 37 3a f2 4c |nEnd%).c%=997:.L| 0000b9f0 6f 6f 6b 46 6f 72 4c 69 6e 6b 28 70 78 25 2c 70 |ookForLink(px%,p| 0000ba00 79 25 2b 31 29 0d 06 c6 05 cd 0d 06 c7 2f e7 63 |y%+1)......../.c| 0000ba10 25 3d 30 84 28 63 25 3e 39 39 36 80 43 68 61 6e |%=0.(c%>996.Chan| 0000ba20 67 65 52 6f 6f 6d 25 29 8c f2 4d 6f 76 65 50 6c |geRoom%)..MovePl| 0000ba30 61 79 28 30 2c 31 2c 33 29 0d 06 c8 28 c9 37 3a |ay(0,1,3)...(.7:| 0000ba40 63 25 3d a4 47 65 74 43 6f 6e 74 65 6e 74 73 28 |c%=.GetContents(| 0000ba50 52 6f 6f 6d 32 25 2c 70 78 25 2b 31 2c 70 79 25 |Room2%,px%+1,py%| 0000ba60 29 0d 06 c9 0c e7 63 25 3d 39 39 38 8c 0d 06 ca |).....c%=998....| 0000ba70 19 f2 4c 6f 6f 6b 46 6f 72 4c 69 6e 6b 28 70 78 |..LookForLink(px| 0000ba80 25 2c 70 79 25 29 0d 06 cb 05 cc 0d 06 cc 4b e7 |%,py%)........K.| 0000ba90 63 25 3c 3e 30 80 28 63 25 3c 50 32 4f 62 6a 65 |c%<>0.(c%<P2Obje| 0000baa0 63 74 53 74 61 72 74 25 84 63 25 3e 50 65 72 73 |ctStart%.c%>Pers| 0000bab0 6f 6e 45 6e 64 25 29 8c 63 25 3d 39 39 37 3a f2 |onEnd%).c%=997:.| 0000bac0 4c 6f 6f 6b 46 6f 72 4c 69 6e 6b 28 70 78 25 2b |LookForLink(px%+| 0000bad0 31 2c 70 79 25 29 0d 06 cd 05 cd 0d 06 ce 2f e7 |1,py%)......../.| 0000bae0 63 25 3d 30 84 28 63 25 3e 39 39 36 80 43 68 61 |c%=0.(c%>996.Cha| 0000baf0 6e 67 65 52 6f 6f 6d 25 29 8c f2 4d 6f 76 65 50 |ngeRoom%)..MoveP| 0000bb00 6c 61 79 28 31 2c 30 2c 34 29 0d 06 cf 1f c9 38 |lay(1,0,4).....8| 0000bb10 2c 39 2c 31 30 2c 31 31 3a f2 4f 62 6a 65 63 74 |,9,10,11:.Object| 0000bb20 32 28 4c 6f 63 25 2d 38 29 0d 06 d0 05 cb 0d 06 |2(Loc%-8).......| 0000bb30 d1 14 e7 50 6c 61 79 65 72 4d 6f 76 65 64 25 3d |...PlayerMoved%=| 0000bb40 a3 8c 0d 06 d2 43 e7 63 25 3e 3d 50 32 4f 62 6a |.....C.c%>=P2Obj| 0000bb50 65 63 74 53 74 61 72 74 25 80 63 25 3c 3d 50 32 |ectStart%.c%<=P2| 0000bb60 4f 62 6a 65 63 74 45 6e 64 25 8c f2 4f 62 6a 65 |ObjectEnd%..Obje| 0000bb70 63 74 28 63 25 2d 50 32 4f 62 6a 65 63 74 53 74 |ct(c%-P2ObjectSt| 0000bb80 61 72 74 25 29 0d 06 d3 3d e7 63 25 3e 3d 50 65 |art%)...=.c%>=Pe| 0000bb90 72 73 6f 6e 53 74 61 72 74 25 80 63 25 3c 3d 50 |rsonStart%.c%<=P| 0000bba0 65 72 73 6f 6e 45 6e 64 25 8c f2 50 65 72 73 6f |ersonEnd%..Perso| 0000bbb0 6e 28 63 25 2d 50 65 72 73 6f 6e 53 74 61 72 74 |n(c%-PersonStart| 0000bbc0 25 29 0d 06 d4 05 cd 0d 06 d5 20 e7 4c 6f 63 25 |%)........ .Loc%| 0000bbd0 3e 33 80 4c 6f 63 25 3c 38 80 50 6c 61 79 65 72 |>3.Loc%<8.Player| 0000bbe0 4d 6f 76 65 64 25 8c 0d 06 d6 0e f2 50 6c 61 63 |Moved%......Plac| 0000bbf0 65 50 6c 61 79 0d 06 d7 26 e7 76 62 25 3d 31 8c |ePlay...&.vb%=1.| 0000bc00 41 25 3d 42 61 6e 6b 31 41 64 64 72 25 8b 41 25 |A%=Bank1Addr%.A%| 0000bc10 3d 42 61 6e 6b 32 41 64 64 72 25 0d 06 d8 12 44 |=Bank2Addr%....D| 0000bc20 25 3d 42 61 63 6b 67 72 6f 75 6e 64 25 0d 06 d9 |%=Background%...| 0000bc30 15 21 43 75 72 53 63 72 65 65 6e 41 64 64 72 3d |.!CurScreenAddr=| 0000bc40 41 25 0d 06 da 0c d6 50 75 74 42 61 63 6b 0d 06 |A%.....PutBack..| 0000bc50 db 1c 41 25 3d 52 6f 6f 6d 32 25 3a 42 25 3d 53 |..A%=Room2%:B%=S| 0000bc60 70 72 69 74 65 41 72 65 61 25 0d 06 dc 12 d6 42 |priteArea%.....B| 0000bc70 61 63 6b 64 72 6f 70 50 72 69 6e 74 0d 06 dd 0f |ackdropPrint....| 0000bc80 f2 52 65 6d 6f 76 65 50 6c 61 79 0d 06 de 06 c8 |.RemovePlay.....| 0000bc90 96 0d 06 df 0f f2 53 77 61 70 53 63 72 65 65 6e |......SwapScreen| 0000bca0 0d 06 e0 05 cd 0d 06 e1 12 50 6c 61 79 65 72 4d |.........PlayerM| 0000bcb0 6f 76 65 64 25 3d a3 0d 06 e2 0a fd 47 4c 32 71 |oved%=......GL2q| 0000bcc0 25 0d 06 e3 05 e1 0d 06 e4 18 dd f2 4d 6f 76 65 |%...........Move| 0000bcd0 50 6c 61 79 28 78 25 2c 79 25 2c 64 25 29 0d 06 |Play(x%,y%,d%)..| 0000bce0 e5 07 ea 6c 25 0d 06 e6 28 e7 4d 65 6e 75 43 68 |...l%...(.MenuCh| 0000bcf0 61 6e 67 65 52 6f 6f 6d 25 8c 4d 65 6e 75 43 68 |angeRoom%.MenuCh| 0000bd00 61 6e 67 65 52 6f 6f 6d 25 3d a3 3a e1 0d 06 e7 |angeRoom%=.:....| 0000bd10 23 2a 43 48 41 4e 4e 45 4c 56 4f 49 43 45 20 32 |#*CHANNELVOICE 2| 0000bd20 20 50 65 72 63 75 73 73 69 6f 6e 2d 53 6f 66 74 | Percussion-Soft| 0000bd30 0d 06 e8 0e f2 50 6c 61 63 65 50 6c 61 79 0d 06 |.....PlacePlay..| 0000bd40 e9 10 44 61 74 61 53 61 76 65 64 25 3d a3 0d 06 |..DataSaved%=...| 0000bd50 ea 2b e7 28 64 25 3d 31 84 64 25 3d 33 29 80 50 |.+.(d%=1.d%=3).P| 0000bd60 44 69 72 65 63 74 69 6f 6e 25 3d 32 8c f2 46 6c |Direction%=2..Fl| 0000bd70 69 70 53 70 72 69 74 65 73 0d 06 eb 2b e7 28 64 |ipSprites...+.(d| 0000bd80 25 3d 32 84 64 25 3d 34 29 80 50 44 69 72 65 63 |%=2.d%=4).PDirec| 0000bd90 74 69 6f 6e 25 3d 31 8c f2 46 6c 69 70 53 70 72 |tion%=1..FlipSpr| 0000bda0 69 74 65 73 0d 06 ec 05 f5 0d 06 ed 0a e3 46 3d |ites..........F=| 0000bdb0 31 b8 37 0d 06 ee 07 d1 3d 30 0d 06 ef 31 21 28 |1.7.....=0...1!(| 0000bdc0 43 6f 64 65 54 61 62 6c 65 25 2b 28 31 30 2a 34 |CodeTable%+(10*4| 0000bdd0 29 29 3d 53 70 72 41 64 64 25 28 50 6c 61 79 41 |))=SprAdd%(PlayA| 0000bde0 6e 69 6d 25 28 64 25 2c 46 29 29 0d 06 f0 18 e7 |nim%(d%,F)).....| 0000bdf0 46 3d 31 8c d4 32 2c 53 56 6f 6c 25 2f 32 2c 35 |F=1..2,SVol%/2,5| 0000be00 30 2c 31 0d 06 f1 18 e7 46 3d 34 8c d4 32 2c 53 |0,1.....F=4..2,S| 0000be10 56 6f 6c 25 2f 32 2c 36 30 2c 31 0d 06 f2 1e e7 |Vol%/2,60,1.....| 0000be20 28 ac a6 28 2d 31 29 29 84 46 3d 37 8c f2 44 69 |(..(-1)).F=7..Di| 0000be30 73 70 6c 61 79 4c 6f 6f 70 0d 06 f3 2a e7 28 46 |splayLoop...*.(F| 0000be40 3d 34 80 ac 43 68 61 6e 67 65 52 6f 6f 6d 25 29 |=4..ChangeRoom%)| 0000be50 84 28 46 3d 34 80 43 68 61 6e 67 65 52 6f 6f 6d |.(F=4.ChangeRoom| 0000be60 25 29 8c 0d 06 f4 0f f2 52 65 6d 6f 76 65 50 6c |%)......RemovePl| 0000be70 61 79 0d 06 f5 11 e7 43 68 61 6e 67 65 52 6f 6f |ay.....ChangeRoo| 0000be80 6d 25 8c 0d 06 f6 0f 74 78 25 3d 30 3a 74 79 25 |m%.....tx%=0:ty%| 0000be90 3d 30 0d 06 f7 1c e7 53 6b 69 70 64 6f 6f 72 25 |=0.....Skipdoor%| 0000bea0 8c 74 78 25 3d 78 25 3a 74 79 25 3d 79 25 0d 06 |.tx%=x%:ty%=y%..| 0000beb0 f8 20 e7 4c 6f 63 25 3d 36 84 4c 6f 63 25 3d 37 |. .Loc%=6.Loc%=7| 0000bec0 8c 74 78 25 3d 78 25 3a 74 79 25 3d 79 25 0d 06 |.tx%=x%:ty%=y%..| 0000bed0 f9 2f 70 78 25 3d 43 70 78 25 2b 74 78 25 3a 70 |./px%=Cpx%+tx%:p| 0000bee0 79 25 3d 43 70 79 25 2b 74 79 25 3a f2 43 68 61 |y%=Cpy%+ty%:.Cha| 0000bef0 6e 67 65 52 6f 6f 6d 28 43 72 6e 25 29 0d 06 fa |ngeRoom(Crn%)...| 0000bf00 05 cc 0d 06 fb 19 70 78 25 3d 70 78 25 2b 78 25 |......px%=px%+x%| 0000bf10 3a 70 79 25 3d 70 79 25 2b 79 25 0d 06 fc 05 cd |:py%=py%+y%.....| 0000bf20 0d 06 fd 0e f2 50 6c 61 63 65 50 6c 61 79 0d 06 |.....PlacePlay..| 0000bf30 fe 05 cd 0d 06 ff 12 e7 ac a6 28 2d 31 29 8c f5 |..........(-1)..| 0000bf40 3a fd 91 3e 35 0d 07 00 06 ed 46 0d 07 01 11 c8 |:..>5.....F.....| 0000bf50 97 58 78 25 2c 59 79 25 2c 42 62 25 0d 07 02 1f |.Xx%,Yy%,Bb%....| 0000bf60 e7 43 68 61 6e 67 65 52 6f 6f 6d 25 8c f2 4d 61 |.ChangeRoom%..Ma| 0000bf70 6b 65 4c 69 6e 6b 54 61 62 6c 65 0d 07 03 11 43 |keLinkTable....C| 0000bf80 68 61 6e 67 65 52 6f 6f 6d 25 3d a3 0d 07 04 3a |hangeRoom%=....:| 0000bf90 fd 42 62 25 3d 30 84 a4 47 65 74 43 6f 6e 74 65 |.Bb%=0..GetConte| 0000bfa0 6e 74 73 28 52 6f 6f 6d 32 25 2c 70 78 25 2b 78 |nts(Room2%,px%+x| 0000bfb0 25 2c 70 79 25 2b 79 25 29 3c 3e 30 84 53 6b 69 |%,py%+y%)<>0.Ski| 0000bfc0 70 64 6f 6f 72 25 0d 07 05 31 21 28 43 6f 64 65 |pdoor%...1!(Code| 0000bfd0 54 61 62 6c 65 25 2b 28 31 30 2a 34 29 29 3d 53 |Table%+(10*4))=S| 0000bfe0 70 72 41 64 64 25 28 50 6c 61 79 41 6e 69 6d 25 |prAdd%(PlayAnim%| 0000bff0 28 64 25 2c 30 29 29 0d 07 06 10 f2 44 69 73 70 |(d%,0)).....Disp| 0000c000 6c 61 79 4c 6f 6f 70 0d 07 07 0f f2 52 65 6d 6f |layLoop.....Remo| 0000c010 76 65 50 6c 61 79 0d 07 08 66 e7 53 6b 69 70 64 |vePlay...f.Skipd| 0000c020 6f 6f 72 25 80 44 6f 6f 72 52 65 73 70 6f 6e 73 |oor%.DoorRespons| 0000c030 65 24 28 52 6f 6f 6d 4e 75 6d 62 65 72 25 29 3c |e$(RoomNumber%)<| 0000c040 3e 22 22 80 44 6f 6f 72 4b 6e 6f 63 6b 65 64 25 |>"".DoorKnocked%| 0000c050 3c 3e 52 6f 6f 6d 4e 75 6d 62 65 72 25 8c f2 43 |<>RoomNumber%..C| 0000c060 68 65 63 6b 43 68 72 52 65 61 63 74 69 6f 6e 28 |heckChrReaction(| 0000c070 52 6f 6f 6d 4e 75 6d 62 65 72 25 29 0d 07 09 21 |RoomNumber%)...!| 0000c080 e7 53 6b 69 70 64 6f 6f 72 25 80 4a 75 73 74 43 |.Skipdoor%.JustC| 0000c090 6c 6f 73 65 64 44 6f 6f 72 25 3d a3 8c 0d 07 0a |losedDoor%=.....| 0000c0a0 11 f2 53 69 6e 67 6c 65 53 63 72 65 65 6e 0d 07 |..SingleScreen..| 0000c0b0 0b 1b f2 4f 70 28 22 53 68 75 74 20 64 6f 6f 72 |...Op("Shut door| 0000c0c0 2e 22 2c 22 22 2c 22 22 29 0d 07 0c 0a f2 4d 6f |.","","").....Mo| 0000c0d0 75 73 65 0d 07 0d 1f 6c 25 3d a4 43 6f 6e 4c 6f |use....l%=.ConLo| 0000c0e0 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 59 |c(MouseX%,MouseY| 0000c0f0 25 29 0d 07 0e 38 e7 6c 25 3d 31 8c f2 43 6c 6f |%)...8.l%=1..Clo| 0000c100 73 65 44 6f 6f 72 3a 4a 75 73 74 43 6c 6f 73 65 |seDoor:JustClose| 0000c110 64 44 6f 6f 72 25 3d b9 8b 4a 75 73 74 43 6c 6f |dDoor%=..JustClo| 0000c120 73 65 64 44 6f 6f 72 25 3d a3 0d 07 0f 11 f2 44 |sedDoor%=......D| 0000c130 6f 75 62 6c 65 42 75 66 66 65 72 0d 07 10 0d f2 |oubleBuffer.....| 0000c140 46 72 65 73 68 41 6c 6c 0d 07 11 16 cc 4a 75 73 |FreshAll.....Jus| 0000c150 74 43 6c 6f 73 65 64 44 6f 6f 72 25 3d a3 0d 07 |tClosedDoor%=...| 0000c160 12 05 cd 0d 07 13 1e 50 6c 61 79 65 72 4d 6f 76 |.......PlayerMov| 0000c170 65 64 25 3d b9 3a 53 6b 69 70 64 6f 6f 72 25 3d |ed%=.:Skipdoor%=| 0000c180 a3 0d 07 14 05 e1 0d 07 15 11 dd f2 44 69 73 70 |............Disp| 0000c190 6c 61 79 4c 6f 6f 70 0d 07 16 07 ea 74 25 0d 07 |layLoop.....t%..| 0000c1a0 17 11 f2 44 6f 75 62 6c 65 42 75 66 66 65 72 0d |...DoubleBuffer.| 0000c1b0 07 18 26 e7 76 62 25 3d 31 8c 41 25 3d 42 61 6e |..&.vb%=1.A%=Ban| 0000c1c0 6b 31 41 64 64 72 25 8b 41 25 3d 42 61 6e 6b 32 |k1Addr%.A%=Bank2| 0000c1d0 41 64 64 72 25 0d 07 19 12 44 25 3d 42 61 63 6b |Addr%....D%=Back| 0000c1e0 67 72 6f 75 6e 64 25 0d 07 1a 15 21 43 75 72 53 |ground%....!CurS| 0000c1f0 63 72 65 65 6e 41 64 64 72 3d 41 25 0d 07 1b 0c |creenAddr=A%....| 0000c200 d6 50 75 74 42 61 63 6b 0d 07 1c 1c 41 25 3d 52 |.PutBack....A%=R| 0000c210 6f 6f 6d 32 25 3a 42 25 3d 53 70 72 69 74 65 41 |oom2%:B%=SpriteA| 0000c220 72 65 61 25 0d 07 1d 12 d6 42 61 63 6b 64 72 6f |rea%.....Backdro| 0000c230 70 50 72 69 6e 74 0d 07 1e 0f f2 53 77 61 70 53 |pPrint.....SwapS| 0000c240 63 72 65 65 6e 0d 07 1f 05 e1 0d 07 20 13 dd f2 |creen....... ...| 0000c250 4f 70 32 28 61 24 2c 62 24 2c 63 24 29 0d 07 21 |Op2(a$,b$,c$)..!| 0000c260 0d ea 78 25 2c 79 25 2c 62 25 0d 07 22 17 c8 99 |..x%,y%,b%.."...| 0000c270 26 30 30 30 30 30 30 30 36 2c 31 31 32 2c 64 62 |&00000006,112,db| 0000c280 25 0d 07 23 17 c8 99 26 30 30 30 30 30 30 30 36 |%..#...&00000006| 0000c290 2c 31 31 33 2c 64 62 25 0d 07 24 0c f2 43 6f 6e |,113,db%..$..Con| 0000c2a0 73 6f 6c 65 0d 07 25 05 f5 0d 07 26 0e c8 97 78 |sole..%....&...x| 0000c2b0 25 2c 79 25 2c 62 25 0d 07 27 09 fd 62 25 3d 30 |%,y%,b%..'..b%=0| 0000c2c0 0d 07 28 24 43 75 72 4f 70 61 24 3d 61 24 3a 43 |..($CurOpa$=a$:C| 0000c2d0 75 72 4f 70 62 24 3d 62 24 3a 43 75 72 4f 70 63 |urOpb$=b$:CurOpc| 0000c2e0 24 3d 63 24 0d 07 29 16 f2 53 68 61 64 6f 77 28 |$=c$..)..Shadow(| 0000c2f0 36 30 2c 32 31 36 2c 61 24 29 0d 07 2a 16 f2 53 |60,216,a$)..*..S| 0000c300 68 61 64 6f 77 28 36 30 2c 31 34 36 2c 62 24 29 |hadow(60,146,b$)| 0000c310 0d 07 2b 15 f2 53 68 61 64 6f 77 28 36 30 2c 37 |..+..Shadow(60,7| 0000c320 32 2c 63 24 29 0d 07 2c 0c 2a 46 58 20 31 35 2c |2,c$)..,.*FX 15,| 0000c330 30 0d 07 2d 17 c8 99 26 30 30 30 30 30 30 30 36 |0..-...&00000006| 0000c340 2c 31 31 32 2c 76 62 25 0d 07 2e 05 e1 0d 07 2f |,112,vb%......./| 0000c350 0d dd f2 43 6f 64 65 41 73 73 0d 07 30 10 de 20 |...CodeAss..0.. | 0000c360 43 6f 64 65 25 20 32 30 34 38 0d 07 31 0d e3 6c |Code% 2048..1..l| 0000c370 25 3d 30 b8 32 88 32 0d 07 32 0c 50 25 3d 43 6f |%=0.2.2..2.P%=Co| 0000c380 64 65 25 0d 07 33 0c 5b 20 4f 50 54 20 6c 25 0d |de%..3.[ OPT l%.| 0000c390 07 34 13 2e 42 61 63 6b 64 72 6f 70 50 72 69 6e |.4..BackdropPrin| 0000c3a0 74 20 0d 07 35 15 53 54 4d 46 44 20 52 31 33 21 |t ..5.STMFD R13!| 0000c3b0 2c 7b 52 31 34 7d 20 0d 07 36 10 4d 4f 56 20 52 |,{R14} ..6.MOV R| 0000c3c0 33 2c 23 36 30 38 20 0d 07 37 10 4d 4f 56 20 52 |3,#608 ..7.MOV R| 0000c3d0 34 2c 23 37 35 32 20 0d 07 38 11 4c 44 52 42 20 |4,#752 ..8.LDRB | 0000c3e0 52 35 2c 5b 52 30 5d 20 0d 07 39 14 4c 44 52 42 |R5,[R0] ..9.LDRB| 0000c3f0 20 52 36 2c 5b 52 30 2c 23 31 5d 20 0d 07 3a 11 | R6,[R0,#1] ..:.| 0000c400 41 44 44 20 52 30 2c 52 30 2c 23 32 20 0d 07 3b |ADD R0,R0,#2 ..;| 0000c410 0e 4d 4f 56 20 52 38 2c 23 30 20 0d 07 3c 0a 2e |.MOV R8,#0 ..<..| 0000c420 4c 6f 6f 70 32 0d 07 3d 0d 4d 4f 56 20 52 37 2c |Loop2..=.MOV R7,| 0000c430 23 30 0d 07 3e 0a 2e 4c 6f 6f 70 31 0d 07 3f 10 |#0..>..Loop1..?.| 0000c440 4c 44 52 42 20 52 32 2c 5b 52 30 5d 0d 07 40 14 |LDRB R2,[R0]..@.| 0000c450 4d 4f 56 20 52 32 2c 52 32 2c 4c 53 4c 20 23 32 |MOV R2,R2,LSL #2| 0000c460 0d 07 41 16 43 4d 50 20 52 32 2c 23 30 20 3a 20 |..A.CMP R2,#0 : | 0000c470 42 45 51 20 4a 6e 0d 07 42 11 4c 44 52 20 52 31 |BEQ Jn..B.LDR R1| 0000c480 30 2c 43 6f 64 65 73 0d 07 43 12 41 44 44 20 52 |0,Codes..C.ADD R| 0000c490 31 30 2c 52 31 30 2c 52 32 0d 07 44 10 4c 44 52 |10,R10,R2..D.LDR| 0000c4a0 20 52 32 2c 5b 52 31 30 5d 0d 07 45 11 42 4c 20 | R2,[R10]..E.BL | 0000c4b0 53 70 72 69 74 65 50 6c 6f 74 0d 07 46 07 2e 4a |SpritePlot..F..J| 0000c4c0 6e 0d 07 47 39 53 55 42 20 52 33 2c 52 33 2c 23 |n..G9SUB R3,R3,#| 0000c4d0 36 34 3a 53 55 42 20 52 34 2c 52 34 2c 23 33 32 |64:SUB R4,R4,#32| 0000c4e0 3a 41 44 44 20 52 37 2c 52 37 2c 23 31 3a 41 44 |:ADD R7,R7,#1:AD| 0000c4f0 44 20 52 30 2c 52 30 2c 23 31 0d 07 48 17 43 4d |D R0,R0,#1..H.CM| 0000c500 50 20 52 37 2c 52 35 3a 42 4c 54 20 4c 6f 6f 70 |P R7,R5:BLT Loop| 0000c510 31 0d 07 49 36 4d 4f 56 20 52 39 2c 23 36 34 3a |1..I6MOV R9,#64:| 0000c520 4d 55 4c 20 52 37 2c 52 35 2c 52 39 3a 41 44 44 |MUL R7,R5,R9:ADD| 0000c530 20 52 33 2c 52 33 2c 52 37 3a 41 44 44 20 52 33 | R3,R3,R7:ADD R3| 0000c540 2c 52 33 2c 23 36 34 0d 07 4a 36 4d 4f 56 20 52 |,R3,#64..J6MOV R| 0000c550 39 2c 23 33 32 3a 4d 55 4c 20 52 37 2c 52 35 2c |9,#32:MUL R7,R5,| 0000c560 52 39 3a 41 44 44 20 52 34 2c 52 34 2c 52 37 3a |R9:ADD R4,R4,R7:| 0000c570 53 55 42 20 52 34 2c 52 34 2c 23 33 32 0d 07 4b |SUB R4,R4,#32..K| 0000c580 25 41 44 44 20 52 38 2c 52 38 2c 23 31 3a 43 4d |%ADD R8,R8,#1:CM| 0000c590 50 20 52 38 2c 52 36 20 3a 42 4c 54 20 4c 6f 6f |P R8,R6 :BLT Loo| 0000c5a0 70 32 0d 07 4c 13 4c 44 4d 46 44 20 52 31 33 21 |p2..L.LDMFD R13!| 0000c5b0 2c 7b 50 43 7d 0d 07 4d 0d 2e 52 6f 6f 6d 4c 6f |,{PC}..M..RoomLo| 0000c5c0 6f 70 0d 07 4e 14 53 54 4d 46 44 20 52 31 33 21 |op..N.STMFD R13!| 0000c5d0 2c 7b 52 31 34 7d 0d 07 4f 0e 4d 4f 56 20 52 31 |,{R14}..O.MOV R1| 0000c5e0 32 2c 23 30 0d 07 50 06 2e 6c 0d 07 51 13 53 54 |2,#0..P..l..Q.ST| 0000c5f0 4d 46 44 20 52 31 33 21 2c 7b 52 30 7d 0d 07 52 |MFD R13!,{R0}..R| 0000c600 14 42 4c 20 42 61 63 6b 64 72 6f 70 50 72 69 6e |.BL BackdropPrin| 0000c610 74 0d 07 53 13 4c 44 4d 46 44 20 52 31 33 21 2c |t..S.LDMFD R13!,| 0000c620 7b 52 30 7d 0d 07 54 12 41 44 44 20 52 31 32 2c |{R0}..T.ADD R12,| 0000c630 52 31 32 2c 23 31 0d 07 55 10 43 4d 50 20 52 31 |R12,#1..U.CMP R1| 0000c640 32 2c 23 31 30 30 0d 07 56 09 42 4c 54 20 6c 0d |2,#100..V.BLT l.| 0000c650 07 57 13 4c 44 4d 46 44 20 52 31 33 21 2c 7b 50 |.W.LDMFD R13!,{P| 0000c660 43 7d 0d 07 58 10 2e 53 70 72 69 74 65 50 6c 6f |C}..X..SpritePlo| 0000c670 74 20 0d 07 59 1a 53 54 4d 46 44 20 52 31 33 21 |t ..Y.STMFD R13!| 0000c680 2c 7b 52 30 2c 52 35 2c 52 31 34 7d 0d 07 5a 12 |,{R0,R5,R14}..Z.| 0000c690 42 4c 20 53 70 72 69 74 65 50 6c 6f 74 32 0d 07 |BL SpritePlot2..| 0000c6a0 5b 19 4c 44 4d 46 44 20 52 31 33 21 2c 7b 52 30 |[.LDMFD R13!,{R0| 0000c6b0 2c 52 35 2c 50 43 7d 0d 07 5c 11 2e 53 70 72 69 |,R5,PC}..\..Spri| 0000c6c0 74 65 50 6c 6f 74 32 20 0d 07 5d 1b 53 54 4d 46 |tePlot2 ..].STMF| 0000c6d0 44 20 52 31 33 21 2c 7b 52 30 2d 52 31 31 2c 52 |D R13!,{R0-R11,R| 0000c6e0 31 34 7d 0d 07 5e 18 4c 44 52 20 52 31 2c 43 75 |14}..^.LDR R1,Cu| 0000c6f0 72 53 63 72 65 65 6e 41 64 64 72 0d 07 5f 14 41 |rScreenAddr.._.A| 0000c700 44 44 20 52 31 2c 52 31 2c 23 34 30 39 36 30 0d |DD R1,R1,#40960.| 0000c710 07 60 14 4c 44 52 20 52 31 31 2c 5b 52 32 2c 23 |.`.LDR R11,[R2,#| 0000c720 32 30 5d 0d 07 61 17 41 44 44 20 52 34 2c 52 34 |20]..a.ADD R4,R4| 0000c730 2c 52 31 31 2c 4c 53 4c 23 32 0d 07 62 0e 4d 4f |,R11,LSL#2..b.MO| 0000c740 56 20 52 36 2c 23 34 30 0d 07 63 10 4d 55 4c 20 |V R6,#40..c.MUL | 0000c750 52 35 2c 52 34 2c 52 36 0d 07 64 0d 4d 4f 56 20 |R5,R4,R6..d.MOV | 0000c760 52 34 2c 52 35 0d 07 65 13 4d 4f 56 20 52 33 2c |R4,R5..e.MOV R3,| 0000c770 52 33 2c 4c 53 52 23 33 0d 07 66 10 53 55 42 20 |R3,LSR#3..f.SUB | 0000c780 52 31 2c 52 31 2c 52 34 0d 07 67 10 41 44 44 20 |R1,R1,R4..g.ADD | 0000c790 52 31 2c 52 31 2c 52 33 0d 07 68 13 4c 44 52 20 |R1,R1,R3..h.LDR | 0000c7a0 52 35 2c 5b 52 32 2c 23 33 32 5d 0d 07 69 10 41 |R5,[R2,#32]..i.A| 0000c7b0 44 44 20 52 35 2c 52 35 2c 52 32 0d 07 6a 13 4c |DD R5,R5,R2..j.L| 0000c7c0 44 52 20 52 36 2c 5b 52 32 2c 23 33 36 5d 0d 07 |DR R6,[R2,#36]..| 0000c7d0 6b 10 41 44 44 20 52 36 2c 52 36 2c 52 32 0d 07 |k.ADD R6,R6,R2..| 0000c7e0 6c 14 4c 44 52 20 52 31 31 2c 5b 52 32 2c 23 32 |l.LDR R11,[R2,#2| 0000c7f0 30 5d 0d 07 6d 0c 2e 53 70 4c 6f 6f 70 31 0d 07 |0]..m..SpLoop1..| 0000c800 6e 19 4c 44 52 20 52 31 30 2c 43 75 72 53 63 72 |n.LDR R10,CurScr| 0000c810 65 65 6e 41 64 64 72 0d 07 6f 0e 43 4d 50 20 52 |eenAddr..o.CMP R| 0000c820 31 30 2c 52 31 0d 07 70 10 42 47 54 20 45 6e 64 |10,R1..p.BGT End| 0000c830 4c 6f 6f 70 31 0d 07 71 0d 4d 4f 56 20 52 37 2c |Loop1..q.MOV R7,| 0000c840 23 30 0d 07 72 0c 2e 53 70 4c 6f 6f 70 32 0d 07 |#0..r..SpLoop2..| 0000c850 73 12 4c 44 52 20 52 39 2c 5b 52 31 2c 52 37 5d |s.LDR R9,[R1,R7]| 0000c860 0d 07 74 13 4c 44 52 20 52 31 30 2c 5b 52 36 2c |..t.LDR R10,[R6,| 0000c870 52 37 5d 0d 07 75 12 4c 44 52 20 52 30 2c 5b 52 |R7]..u.LDR R0,[R| 0000c880 35 2c 52 37 5d 0d 07 76 0f 80 20 52 30 2c 52 30 |5,R7]..v.. R0,R0| 0000c890 2c 52 31 30 0d 07 77 10 84 52 20 52 39 2c 52 39 |,R10..w..R R9,R9| 0000c8a0 2c 52 31 30 0d 07 78 0f 82 20 52 39 2c 52 39 2c |,R10..x.. R9,R9,| 0000c8b0 52 31 30 0d 07 79 0f 84 52 20 52 39 2c 52 39 2c |R10..y..R R9,R9,| 0000c8c0 52 30 0d 07 7a 12 53 54 52 20 52 39 2c 5b 52 31 |R0..z.STR R9,[R1| 0000c8d0 2c 52 37 5d 0d 07 7b 10 41 44 44 20 52 37 2c 52 |,R7]..{.ADD R7,R| 0000c8e0 37 2c 23 34 0d 07 7c 0e 43 4d 50 20 52 37 2c 23 |7,#4..|.CMP R7,#| 0000c8f0 31 36 0d 07 7d 0f 42 4c 54 20 53 70 4c 6f 6f 70 |16..}.BLT SpLoop| 0000c900 32 0d 07 7e 0d 2e 45 6e 64 4c 6f 6f 70 31 0d 07 |2..~..EndLoop1..| 0000c910 7f 12 41 44 44 20 52 31 2c 52 31 2c 23 31 36 30 |..ADD R1,R1,#160| 0000c920 0d 07 80 11 41 44 44 20 52 35 2c 52 35 2c 23 31 |....ADD R5,R5,#1| 0000c930 36 0d 07 81 11 41 44 44 20 52 36 2c 52 36 2c 23 |6....ADD R6,R6,#| 0000c940 31 36 0d 07 82 12 53 55 42 20 52 31 31 2c 52 31 |16....SUB R11,R1| 0000c950 31 2c 23 31 0d 07 83 0e 43 4d 50 20 52 31 31 2c |1,#1....CMP R11,| 0000c960 23 30 0d 07 84 0f 42 47 54 20 53 70 4c 6f 6f 70 |#0....BGT SpLoop| 0000c970 31 0d 07 85 1a 4c 44 4d 46 44 20 52 31 33 21 2c |1....LDMFD R13!,| 0000c980 7b 52 30 2d 52 31 31 2c 50 43 7d 0d 07 86 0b 2e |{R0-R11,PC}.....| 0000c990 43 6f 64 65 73 20 0d 07 87 13 45 51 55 44 20 43 |Codes ....EQUD C| 0000c9a0 6f 64 65 54 61 62 6c 65 25 0d 07 88 13 2e 43 75 |odeTable%.....Cu| 0000c9b0 72 53 63 72 65 65 6e 41 64 64 72 20 0d 07 89 0a |rScreenAddr ....| 0000c9c0 45 51 55 44 20 30 0d 07 8a 0a 2e 44 65 62 75 67 |EQUD 0.....Debug| 0000c9d0 0d 07 8b 0a 45 51 55 44 20 30 0d 07 8c 0e 2e 47 |....EQUD 0.....G| 0000c9e0 72 61 62 42 61 63 6b 20 0d 07 8d 1a 53 54 4d 46 |rabBack ....STMF| 0000c9f0 44 20 52 31 33 21 2c 7b 52 30 2d 52 39 2c 52 31 |D R13!,{R0-R9,R1| 0000ca00 34 7d 0d 07 8e 0d 4d 4f 56 20 52 31 2c 23 30 0d |4}....MOV R1,#0.| 0000ca10 07 8f 0e 2e 47 72 61 62 4c 6f 6f 70 31 0d 07 90 |....GrabLoop1...| 0000ca20 12 4c 44 52 20 52 32 2c 5b 52 30 2c 52 31 5d 0d |.LDR R2,[R0,R1].| 0000ca30 07 91 12 53 54 52 20 52 32 2c 5b 52 33 2c 52 31 |...STR R2,[R3,R1| 0000ca40 5d 0d 07 92 10 41 44 44 20 52 31 2c 52 31 2c 23 |]....ADD R1,R1,#| 0000ca50 34 0d 07 93 11 43 4d 50 20 52 31 2c 23 33 30 37 |4....CMP R1,#307| 0000ca60 32 30 0d 07 94 11 42 4c 54 20 47 72 61 62 4c 6f |20....BLT GrabLo| 0000ca70 6f 70 31 0d 07 95 19 4c 44 4d 46 44 20 52 31 33 |op1....LDMFD R13| 0000ca80 21 2c 7b 52 30 2d 52 39 2c 50 43 7d 0d 07 96 0c |!,{R0-R9,PC}....| 0000ca90 2e 50 75 74 42 61 63 6b 0d 07 97 1a 53 54 4d 46 |.PutBack....STMF| 0000caa0 44 20 52 31 33 21 2c 7b 52 30 2d 52 39 2c 52 31 |D R13!,{R0-R9,R1| 0000cab0 34 7d 0d 07 98 0d 4d 4f 56 20 52 31 2c 23 30 0d |4}....MOV R1,#0.| 0000cac0 07 99 0d 2e 50 75 74 4c 6f 6f 70 31 0d 07 9a 12 |....PutLoop1....| 0000cad0 4c 44 52 20 52 32 2c 5b 52 33 2c 52 31 5d 0d 07 |LDR R2,[R3,R1]..| 0000cae0 9b 12 53 54 52 20 52 32 2c 5b 52 30 2c 52 31 5d |..STR R2,[R0,R1]| 0000caf0 0d 07 9c 10 41 44 44 20 52 31 2c 52 31 2c 23 34 |....ADD R1,R1,#4| 0000cb00 0d 07 9d 11 43 4d 50 20 52 31 2c 23 33 30 37 32 |....CMP R1,#3072| 0000cb10 30 0d 07 9e 10 42 4c 54 20 50 75 74 4c 6f 6f 70 |0....BLT PutLoop| 0000cb20 31 0d 07 9f 19 4c 44 4d 46 44 20 52 31 33 21 2c |1....LDMFD R13!,| 0000cb30 7b 52 30 2d 52 39 2c 50 43 7d 0d 07 a0 09 2e 53 |{R0-R9,PC}.....S| 0000cb40 63 72 31 0d 07 a1 13 45 51 55 44 20 42 61 6e 6b |cr1....EQUD Bank| 0000cb50 31 41 64 64 72 25 0d 07 a2 09 2e 53 63 72 32 0d |1Addr%.....Scr2.| 0000cb60 07 a3 13 45 51 55 44 20 42 61 6e 6b 32 41 64 64 |...EQUD Bank2Add| 0000cb70 72 25 0d 07 a4 0e 2e 42 61 63 6b 53 74 6f 72 65 |r%.....BackStore| 0000cb80 0d 07 a5 14 45 51 55 44 20 42 61 63 6b 67 72 6f |....EQUD Backgro| 0000cb90 75 6e 64 25 0d 07 a6 0e 2e 43 68 61 6e 67 65 50 |und%.....ChangeP| 0000cba0 61 6c 0d 07 a7 12 41 44 52 20 52 37 2c 50 61 6c |al....ADR R7,Pal| 0000cbb0 65 74 74 65 0d 07 a8 0d 4d 4f 56 20 52 38 2c 23 |ette....MOV R8,#| 0000cbc0 30 0d 07 a9 0d 4d 4f 56 20 52 36 2c 23 30 0d 07 |0....MOV R6,#0..| 0000cbd0 aa 0e 4d 4f 56 20 52 30 2c 23 31 39 0d 07 ab 11 |..MOV R0,#19....| 0000cbe0 53 57 49 20 22 4f 53 5f 42 79 74 65 22 0d 07 ac |SWI "OS_Byte"...| 0000cbf0 09 2e 4c 6f 6f 70 0d 07 ad 0e 53 57 49 20 32 35 |..Loop....SWI 25| 0000cc00 36 2b 31 39 0d 07 ae 0d 4d 4f 56 20 52 30 2c 52 |6+19....MOV R0,R| 0000cc10 36 0d 07 af 13 53 57 49 20 22 4f 53 5f 57 72 69 |6....SWI "OS_Wri| 0000cc20 74 65 43 22 0d 07 b0 0e 53 57 49 20 32 35 36 2b |teC"....SWI 256+| 0000cc30 31 36 0d 07 b1 12 4c 44 52 20 52 30 2c 5b 52 37 |16....LDR R0,[R7| 0000cc40 2c 23 30 5d 0d 07 b2 13 53 57 49 20 22 4f 53 5f |,#0]....SWI "OS_| 0000cc50 57 72 69 74 65 43 22 0d 07 b3 12 4c 44 52 20 52 |WriteC"....LDR R| 0000cc60 30 2c 5b 52 37 2c 23 34 5d 0d 07 b4 13 53 57 49 |0,[R7,#4]....SWI| 0000cc70 20 22 4f 53 5f 57 72 69 74 65 43 22 0d 07 b5 12 | "OS_WriteC"....| 0000cc80 4c 44 52 20 52 30 2c 5b 52 37 2c 23 38 5d 0d 07 |LDR R0,[R7,#8]..| 0000cc90 b6 13 53 57 49 20 22 4f 53 5f 57 72 69 74 65 43 |..SWI "OS_WriteC| 0000cca0 22 0d 07 b7 11 41 44 44 20 52 37 2c 52 37 2c 23 |"....ADD R7,R7,#| 0000ccb0 31 32 0d 07 b8 10 41 44 44 20 52 36 2c 52 36 2c |12....ADD R6,R6,| 0000ccc0 23 31 0d 07 b9 0e 43 4d 50 20 52 36 2c 23 31 35 |#1....CMP R6,#15| 0000ccd0 0d 07 ba 0c 42 4c 45 20 4c 6f 6f 70 0d 07 bb 0e |....BLE Loop....| 0000cce0 4d 4f 56 20 50 43 2c 52 31 34 0d 07 bc 09 41 4c |MOV PC,R14....AL| 0000ccf0 49 47 4e 0d 07 bd 0c 2e 50 61 6c 65 74 74 65 0d |IGN.....Palette.| 0000cd00 07 be 12 45 51 55 53 20 c4 36 34 2c bd 28 30 29 |...EQUS .64,.(0)| 0000cd10 29 0d 07 bf 09 41 4c 49 47 4e 0d 07 c0 05 5d 0d |)....ALIGN....].| 0000cd20 07 c1 07 ed 6c 25 0d 07 c2 05 e1 0d 07 c3 0f dd |....l%..........| 0000cd30 f2 53 65 74 54 61 62 6c 65 73 0d 07 c4 0c ea 70 |.SetTables.....p| 0000cd40 73 25 2c 6f 73 25 0d 07 c5 09 f7 8d 64 4d 47 0d |s%,os%......dMG.| 0000cd50 07 c6 16 70 73 25 3d 50 65 72 73 6f 6e 53 70 72 |...ps%=PersonSpr| 0000cd60 69 74 65 73 25 0d 07 c7 18 6f 73 25 3d 50 32 4f |ites%....os%=P2O| 0000cd70 62 6a 65 63 74 53 70 72 69 74 65 73 25 0d 07 c8 |bjectSprites%...| 0000cd80 11 f3 4e 6f 6f 66 45 6e 74 72 69 65 73 25 0d 07 |..NoofEntries%..| 0000cd90 c9 18 e3 61 25 3d 30 b8 4e 6f 6f 66 45 6e 74 72 |...a%=0.NoofEntr| 0000cda0 69 65 73 25 2d 31 0d 07 ca 28 f3 73 25 3a 21 28 |ies%-1...(.s%:!(| 0000cdb0 43 6f 64 65 54 61 62 6c 65 25 2b 28 61 25 2a 34 |CodeTable%+(a%*4| 0000cdc0 29 29 3d 53 70 72 41 64 64 25 28 73 25 29 0d 07 |))=SprAdd%(s%)..| 0000cdd0 cb 07 ed 61 25 0d 07 cc 05 e1 0d 07 cd 08 dc 31 |...a%..........1| 0000cde0 33 30 0d 07 ce 18 dc 30 2c 30 2c 31 2c 32 2c 33 |30.....0,0,1,2,3| 0000cdf0 2c 34 2c 35 2c 36 2c 37 2c 38 0d 07 cf 15 dc 50 |,4,5,6,7,8.....P| 0000ce00 6c 61 79 46 72 61 6d 65 73 53 74 61 72 74 25 0d |layFramesStart%.| 0000ce10 07 d0 1e dc 39 2c 31 31 2c 31 32 2c 31 33 2c 31 |....9,11,12,13,1| 0000ce20 34 2c 31 35 2c 31 36 2c 31 37 2c 31 38 0d 07 d1 |4,15,16,17,18...| 0000ce30 22 dc 31 39 2c 32 30 2c 32 31 2c 32 32 2c 32 33 |".19,20,21,22,23| 0000ce40 2c 32 34 2c 32 35 2c 32 36 2c 32 37 2c 32 38 0d |,24,25,26,27,28.| 0000ce50 07 d2 22 dc 32 39 2c 33 30 2c 33 31 2c 33 32 2c |..".29,30,31,32,| 0000ce60 33 33 2c 33 34 2c 33 38 2c 33 39 2c 34 30 2c 34 |33,34,38,39,40,4| 0000ce70 31 0d 07 d3 22 dc 34 32 2c 34 33 2c 34 34 2c 31 |1...".42,43,44,1| 0000ce80 37 2c 32 34 2c 34 31 2c 34 36 2c 34 37 2c 34 38 |7,24,41,46,47,48| 0000ce90 2c 34 39 0d 07 d4 20 dc 35 38 2c 35 39 2c 36 38 |,49... .58,59,68| 0000cea0 2c 36 39 2c 37 38 2c 37 39 2c 38 38 2c 38 39 2c |,69,78,79,88,89,| 0000ceb0 30 2c 30 0d 07 d5 3e dc 6f 73 25 2c 6f 73 25 2b |0,0...>.os%,os%+| 0000cec0 31 2c 6f 73 25 2b 32 2c 6f 73 25 2b 33 2c 6f 73 |1,os%+2,os%+3,os| 0000ced0 25 2b 34 2c 6f 73 25 2b 35 2c 6f 73 25 2b 36 2c |%+4,os%+5,os%+6,| 0000cee0 6f 73 25 2b 37 2c 6f 73 25 2b 38 2c 6f 73 25 2b |os%+7,os%+8,os%+| 0000cef0 39 0d 07 d6 4a dc 6f 73 25 2b 31 30 2c 6f 73 25 |9...J.os%+10,os%| 0000cf00 2b 31 31 2c 6f 73 25 2b 31 32 2c 6f 73 25 2b 31 |+11,os%+12,os%+1| 0000cf10 33 2c 6f 73 25 2b 31 34 2c 6f 73 25 2b 31 35 2c |3,os%+14,os%+15,| 0000cf20 6f 73 25 2b 31 36 2c 6f 73 25 2b 31 37 2c 6f 73 |os%+16,os%+17,os| 0000cf30 25 2b 31 38 2c 6f 73 25 2b 31 39 0d 07 d7 4a dc |%+18,os%+19...J.| 0000cf40 6f 73 25 2b 32 30 2c 6f 73 25 2b 32 31 2c 6f 73 |os%+20,os%+21,os| 0000cf50 25 2b 32 32 2c 6f 73 25 2b 32 33 2c 6f 73 25 2b |%+22,os%+23,os%+| 0000cf60 32 34 2c 6f 73 25 2b 32 35 2c 6f 73 25 2b 32 36 |24,os%+25,os%+26| 0000cf70 2c 6f 73 25 2b 32 37 2c 6f 73 25 2b 32 38 2c 6f |,os%+27,os%+28,o| 0000cf80 73 25 2b 32 39 0d 07 d8 3e dc 70 73 25 2c 70 73 |s%+29...>.ps%,ps| 0000cf90 25 2b 31 2c 70 73 25 2b 32 2c 70 73 25 2b 33 2c |%+1,ps%+2,ps%+3,| 0000cfa0 70 73 25 2b 34 2c 70 73 25 2b 35 2c 70 73 25 2b |ps%+4,ps%+5,ps%+| 0000cfb0 36 2c 70 73 25 2b 37 2c 70 73 25 2b 38 2c 70 73 |6,ps%+7,ps%+8,ps| 0000cfc0 25 2b 39 0d 07 d9 4a dc 70 73 25 2b 31 30 2c 70 |%+9...J.ps%+10,p| 0000cfd0 73 25 2b 31 31 2c 70 73 25 2b 31 32 2c 70 73 25 |s%+11,ps%+12,ps%| 0000cfe0 2b 31 33 2c 70 73 25 2b 31 34 2c 70 73 25 2b 31 |+13,ps%+14,ps%+1| 0000cff0 35 2c 70 73 25 2b 31 36 2c 70 73 25 2b 31 37 2c |5,ps%+16,ps%+17,| 0000d000 70 73 25 2b 31 38 2c 70 73 25 2b 31 39 0d 07 da |ps%+18,ps%+19...| 0000d010 36 dc 70 73 25 2b 32 30 2c 70 73 25 2b 32 31 2c |6.ps%+20,ps%+21,| 0000d020 70 73 25 2b 32 32 2c 70 73 25 2b 32 33 2c 70 73 |ps%+22,ps%+23,ps| 0000d030 25 2b 32 34 2c 70 73 25 2b 32 35 2c 30 2c 30 2c |%+24,ps%+25,0,0,| 0000d040 30 2c 30 0d 07 db 1c dc 33 35 2c 33 36 2c 33 37 |0,0.....35,36,37| 0000d050 2c 34 35 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d |,45,0,0,0,0,0,0.| 0000d060 07 dc 0e dd f2 4d 61 6b 65 52 6f 6f 6d 0d 07 dd |.....MakeRoom...| 0000d070 33 ff 28 22 4c 4f 41 44 20 3c 41 72 63 56 33 24 |3.("LOAD <ArcV3$| 0000d080 44 69 72 3e 2e 44 61 74 61 2e 52 44 61 74 61 20 |Dir>.Data.RData | 0000d090 22 2b c3 7e 28 52 6f 6f 6d 44 61 74 61 25 29 29 |"+.~(RoomData%))| 0000d0a0 0d 07 de 19 4e 6f 6f 66 52 6f 6f 6d 73 25 3d 3f |....NoofRooms%=?| 0000d0b0 52 6f 6f 6d 44 61 74 61 25 0d 07 df 07 d9 23 30 |RoomData%.....#0| 0000d0c0 0d 07 e0 11 3f 28 50 52 6f 6f 6d 25 2b 32 29 3d |....?(PRoom%+2)=| 0000d0d0 31 0d 07 e1 12 f2 4d 61 6b 65 52 6f 6f 6d 54 61 |1.....MakeRoomTa| 0000d0e0 62 6c 65 0d 07 e2 1b f2 50 6c 61 63 65 45 78 74 |ble.....PlaceExt| 0000d0f0 72 61 46 69 78 65 64 4f 62 6a 65 63 74 73 0d 07 |raFixedObjects..| 0000d100 e3 05 e1 0d 07 e4 1c dd f2 50 6c 61 63 65 45 78 |.........PlaceEx| 0000d110 74 72 61 46 69 78 65 64 4f 62 6a 65 63 74 73 0d |traFixedObjects.| 0000d120 07 e5 4d e7 3f 50 50 32 4f 62 25 3d 38 8c f2 50 |..M.?PP2Ob%=8..P| 0000d130 75 74 43 6f 6e 74 65 6e 74 73 32 28 37 39 2c 33 |utContents2(79,3| 0000d140 2c 33 2c 31 39 2b 50 65 72 73 6f 6e 53 74 61 72 |,3,19+PersonStar| 0000d150 74 25 29 3a f2 50 75 74 43 6f 6e 74 65 6e 74 73 |t%):.PutContents| 0000d160 32 28 37 37 2c 35 2c 31 2c 32 35 29 0d 07 e6 7b |2(77,5,1,25)...{| 0000d170 f2 50 75 74 43 6f 6e 74 65 6e 74 73 32 28 35 31 |.PutContents2(51| 0000d180 2c 31 2c 31 2c 32 38 2b 50 32 4f 62 6a 65 63 74 |,1,1,28+P2Object| 0000d190 53 74 61 72 74 25 29 3a f2 50 75 74 43 6f 6e 74 |Start%):.PutCont| 0000d1a0 65 6e 74 73 32 28 35 31 2c 35 2c 31 2c 32 38 2b |ents2(51,5,1,28+| 0000d1b0 50 32 4f 62 6a 65 63 74 53 74 61 72 74 25 29 3a |P2ObjectStart%):| 0000d1c0 f2 50 75 74 43 6f 6e 74 65 6e 74 73 32 28 35 31 |.PutContents2(51| 0000d1d0 2c 33 2c 33 2c 32 38 2b 50 32 4f 62 6a 65 63 74 |,3,3,28+P2Object| 0000d1e0 53 74 61 72 74 25 29 0d 07 e7 53 f2 50 75 74 43 |Start%)...S.PutC| 0000d1f0 6f 6e 74 65 6e 74 73 32 28 36 33 2c 33 2c 31 2c |ontents2(63,3,1,| 0000d200 32 39 2b 50 32 4f 62 6a 65 63 74 53 74 61 72 74 |29+P2ObjectStart| 0000d210 25 29 3a f2 50 75 74 43 6f 6e 74 65 6e 74 73 32 |%):.PutContents2| 0000d220 28 36 33 2c 34 2c 35 2c 32 39 2b 50 32 4f 62 6a |(63,4,5,29+P2Obj| 0000d230 65 63 74 53 74 61 72 74 25 29 0d 07 e8 1d f2 50 |ectStart%).....P| 0000d240 75 74 43 6f 6e 74 65 6e 74 73 32 28 31 34 36 2c |utContents2(146,| 0000d250 30 2c 35 2c 35 37 29 0d 07 e9 05 e1 0d 07 ea 14 |0,5,57).........| 0000d260 dd f2 52 65 4c 6f 61 64 52 6f 6f 6d 44 61 74 61 |..ReLoadRoomData| 0000d270 0d 07 eb 33 ff 28 22 4c 4f 41 44 20 3c 41 72 63 |...3.("LOAD <Arc| 0000d280 56 33 24 44 69 72 3e 2e 44 61 74 61 2e 52 44 61 |V3$Dir>.Data.RDa| 0000d290 74 61 20 22 2b c3 7e 28 52 6f 6f 6d 44 61 74 61 |ta "+.~(RoomData| 0000d2a0 25 29 29 0d 07 ec 19 4e 6f 6f 66 52 6f 6f 6d 73 |%))....NoofRooms| 0000d2b0 25 3d 3f 52 6f 6f 6d 44 61 74 61 25 0d 07 ed 07 |%=?RoomData%....| 0000d2c0 d9 23 30 0d 07 ee 05 e1 0d 07 ef 0f dd f2 50 6c |.#0...........Pl| 0000d2d0 61 63 65 50 6c 61 79 0d 07 f0 1b 77 25 3d 3f 52 |acePlay....w%=?R| 0000d2e0 6f 6f 6d 25 3a 6c 25 3d 3f 28 52 6f 6f 6d 25 2b |oom%:l%=?(Room%+| 0000d2f0 31 29 0d 07 f1 26 54 65 6d 70 43 6f 64 65 25 3d |1)...&TempCode%=| 0000d300 3f 28 52 6f 6f 6d 32 25 2b 28 70 78 25 2a 77 25 |?(Room2%+(px%*w%| 0000d310 29 2b 70 79 25 2b 32 29 0d 07 f2 1d e7 54 65 6d |)+py%+2).....Tem| 0000d320 70 43 6f 64 65 25 3d 31 30 8c 54 65 6d 70 43 6f |pCode%=10.TempCo| 0000d330 64 65 25 3d 30 0d 07 f3 1f 3f 28 52 6f 6f 6d 32 |de%=0....?(Room2| 0000d340 25 2b 28 70 78 25 2a 77 25 29 2b 70 79 25 2b 32 |%+(px%*w%)+py%+2| 0000d350 29 3d 31 30 0d 07 f4 05 e1 0d 07 f5 10 dd f2 52 |)=10...........R| 0000d360 65 6d 6f 76 65 50 6c 61 79 0d 07 f6 1d 77 25 3d |emovePlay....w%=| 0000d370 3f 52 6f 6f 6d 32 25 3a 6c 25 3d 3f 28 52 6f 6f |?Room2%:l%=?(Roo| 0000d380 6d 32 25 2b 31 29 0d 07 f7 26 3f 28 52 6f 6f 6d |m2%+1)...&?(Room| 0000d390 32 25 2b 28 70 78 25 2a 77 25 29 2b 70 79 25 2b |2%+(px%*w%)+py%+| 0000d3a0 32 29 3d 54 65 6d 70 43 6f 64 65 25 0d 07 f8 0f |2)=TempCode%....| 0000d3b0 54 65 6d 70 43 6f 64 65 25 3d 30 0d 07 f9 05 e1 |TempCode%=0.....| 0000d3c0 0d 07 fa 1e dd a4 47 65 74 43 6f 6e 74 65 6e 74 |......GetContent| 0000d3d0 73 28 52 41 64 64 25 2c 78 25 2c 79 25 29 0d 07 |s(RAdd%,x%,y%)..| 0000d3e0 fb 1f 43 6f 6e 74 65 6e 74 73 58 25 3d 78 25 3a |..ContentsX%=x%:| 0000d3f0 43 6f 6e 74 65 6e 74 73 59 25 3d 79 25 0d 07 fc |ContentsY%=y%...| 0000d400 1d 77 25 3d 3f 28 52 41 64 64 25 29 3a 6c 25 3d |.w%=?(RAdd%):l%=| 0000d410 3f 28 52 41 64 64 25 2b 31 29 0d 07 fd 13 e7 78 |?(RAdd%+1).....x| 0000d420 25 3d 30 84 79 25 3d 30 8c 3d 39 39 39 0d 07 fe |%=0.y%=0.=999...| 0000d430 15 e7 78 25 3d 6c 25 84 79 25 3d 77 25 8c 3d 39 |..x%=l%.y%=w%.=9| 0000d440 39 38 0d 07 ff 1c 3d 3f 28 52 41 64 64 25 2b 28 |98....=?(RAdd%+(| 0000d450 28 78 25 2a 77 25 29 2b 79 25 29 2b 32 29 0d 08 |(x%*w%)+y%)+2)..| 0000d460 00 20 dd a4 47 65 74 43 6f 6e 74 65 6e 74 73 42 |. ..GetContentsB| 0000d470 61 63 6b 28 72 6e 25 2c 78 25 2c 79 25 29 0d 08 |ack(rn%,x%,y%)..| 0000d480 01 0a ea 52 41 64 64 25 0d 08 02 17 52 41 64 64 |...RAdd%....RAdd| 0000d490 25 3d 52 6f 6f 6d 41 64 64 25 28 72 6e 25 29 0d |%=RoomAdd%(rn%).| 0000d4a0 08 03 28 52 41 64 64 32 25 3d 52 41 64 64 25 2b |..(RAdd2%=RAdd%+| 0000d4b0 32 2b 28 3f 28 52 41 64 64 25 29 2a 3f 28 52 41 |2+(?(RAdd%)*?(RA| 0000d4c0 64 64 25 2b 31 29 29 0d 08 04 1f 77 25 3d 3f 28 |dd%+1))....w%=?(| 0000d4d0 52 41 64 64 32 25 29 3a 6c 25 3d 3f 28 52 41 64 |RAdd2%):l%=?(RAd| 0000d4e0 64 32 25 2b 31 29 0d 08 05 1c 3d 3f 28 52 41 64 |d2%+1)....=?(RAd| 0000d4f0 64 25 2b 28 28 78 25 2a 77 25 29 2b 79 25 29 2b |d%+((x%*w%)+y%)+| 0000d500 32 29 0d 08 06 1d dd a4 47 65 74 43 6f 6e 74 65 |2)......GetConte| 0000d510 6e 74 73 32 28 72 6e 25 2c 78 25 2c 79 25 29 0d |nts2(rn%,x%,y%).| 0000d520 08 07 0a ea 52 41 64 64 25 0d 08 08 17 52 41 64 |....RAdd%....RAd| 0000d530 64 25 3d 52 6f 6f 6d 41 64 64 25 28 72 6e 25 29 |d%=RoomAdd%(rn%)| 0000d540 0d 08 09 28 52 41 64 64 32 25 3d 52 41 64 64 25 |...(RAdd2%=RAdd%| 0000d550 2b 32 2b 28 3f 28 52 41 64 64 25 29 2a 3f 28 52 |+2+(?(RAdd%)*?(R| 0000d560 41 64 64 25 2b 31 29 29 0d 08 0a 1f 77 25 3d 3f |Add%+1))....w%=?| 0000d570 28 52 41 64 64 32 25 29 3a 6c 25 3d 3f 28 52 41 |(RAdd2%):l%=?(RA| 0000d580 64 64 32 25 2b 31 29 0d 08 0b 1d 3d 3f 28 52 41 |dd2%+1)....=?(RA| 0000d590 64 64 32 25 2b 28 28 78 25 2a 77 25 29 2b 79 25 |dd2%+((x%*w%)+y%| 0000d5a0 29 2b 32 29 0d 08 0c 15 dd f2 43 68 61 6e 67 65 |)+2)......Change| 0000d5b0 52 6f 6f 6d 28 72 6e 25 29 0d 08 0d 07 ea 74 25 |Room(rn%).....t%| 0000d5c0 0d 08 0e 11 f2 44 6f 75 62 6c 65 42 75 66 66 65 |.....DoubleBuffe| 0000d5d0 72 0d 08 0f 13 43 68 61 6e 67 69 6e 67 52 6f 6f |r....ChangingRoo| 0000d5e0 6d 25 3d b9 0d 08 10 17 52 6f 6f 6d 25 3d 52 6f |m%=.....Room%=Ro| 0000d5f0 6f 6d 41 64 64 25 28 72 6e 25 29 0d 08 11 28 52 |omAdd%(rn%)...(R| 0000d600 6f 6f 6d 32 25 3d 52 6f 6f 6d 25 2b 32 2b 28 3f |oom2%=Room%+2+(?| 0000d610 28 52 6f 6f 6d 25 29 2a 3f 28 52 6f 6f 6d 25 2b |(Room%)*?(Room%+| 0000d620 31 29 29 0d 08 12 14 f2 4d 6f 76 69 6e 67 43 68 |1)).....MovingCh| 0000d630 72 73 28 72 6e 25 29 0d 08 13 13 52 6f 6f 6d 4e |rs(rn%)....RoomN| 0000d640 75 6d 62 65 72 25 3d 72 6e 25 0d 08 14 27 e7 44 |umber%=rn%...'.D| 0000d650 6f 6f 72 4b 6e 6f 63 6b 65 64 25 3c 3e 72 6e 25 |oorKnocked%<>rn%| 0000d660 8c 44 6f 6f 72 4b 6e 6f 63 6b 65 64 25 3d 39 39 |.DoorKnocked%=99| 0000d670 39 0d 08 15 1b 77 25 3d 3f 52 6f 6f 6d 25 3a 6c |9....w%=?Room%:l| 0000d680 25 3d 3f 28 52 6f 6f 6d 25 2b 31 29 0d 08 16 08 |%=?(Room%+1)....| 0000d690 f2 43 6c 77 0d 08 17 3e e7 76 62 25 3d 31 8c 21 |.Clw...>.vb%=1.!| 0000d6a0 43 75 72 53 63 72 65 65 6e 41 64 64 72 3d 42 61 |CurScreenAddr=Ba| 0000d6b0 6e 6b 31 41 64 64 72 25 8b 21 43 75 72 53 63 72 |nk1Addr%.!CurScr| 0000d6c0 65 65 6e 41 64 64 72 3d 42 61 6e 6b 32 41 64 64 |eenAddr=Bank2Add| 0000d6d0 72 25 0d 08 18 1b 41 25 3d 52 6f 6f 6d 25 3a 42 |r%....A%=Room%:B| 0000d6e0 25 3d 53 70 72 69 74 65 41 72 65 61 25 0d 08 19 |%=SpriteArea%...| 0000d6f0 12 d6 42 61 63 6b 64 72 6f 70 50 72 69 6e 74 0d |..BackdropPrint.| 0000d700 08 1a 12 f2 50 72 69 6e 74 52 6f 6f 6d 4e 61 6d |....PrintRoomNam| 0000d710 65 0d 08 1b 26 e7 76 62 25 3d 31 8c 41 25 3d 42 |e...&.vb%=1.A%=B| 0000d720 61 6e 6b 31 41 64 64 72 25 8b 41 25 3d 42 61 6e |ank1Addr%.A%=Ban| 0000d730 6b 32 41 64 64 72 25 0d 08 1c 12 44 25 3d 42 61 |k2Addr%....D%=Ba| 0000d740 63 6b 67 72 6f 75 6e 64 25 0d 08 1d 0d d6 47 72 |ckground%.....Gr| 0000d750 61 62 42 61 63 6b 0d 08 1e 0e f2 50 6c 61 63 65 |abBack.....Place| 0000d760 50 6c 61 79 0d 08 1f 1c 41 25 3d 52 6f 6f 6d 32 |Play....A%=Room2| 0000d770 25 3a 42 25 3d 53 70 72 69 74 65 41 72 65 61 25 |%:B%=SpriteArea%| 0000d780 0d 08 20 12 d6 42 61 63 6b 64 72 6f 70 50 72 69 |.. ..BackdropPri| 0000d790 6e 74 0d 08 21 0f f2 53 77 61 70 53 63 72 65 65 |nt..!..SwapScree| 0000d7a0 6e 0d 08 22 0f f2 52 65 6d 6f 76 65 50 6c 61 79 |n.."..RemovePlay| 0000d7b0 0d 08 23 13 43 68 61 6e 67 69 6e 67 52 6f 6f 6d |..#.ChangingRoom| 0000d7c0 25 3d a3 0d 08 24 05 e1 0d 08 25 13 dd f2 52 65 |%=...$....%...Re| 0000d7d0 74 75 72 6e 54 6f 52 6f 6f 6d 31 0d 08 26 6d 70 |turnToRoom1..&mp| 0000d7e0 78 25 3d 33 3a 70 79 25 3d 34 3a 3f 28 50 52 6f |x%=3:py%=4:?(PRo| 0000d7f0 6f 6d 25 2b 32 29 3d 31 3a f2 4d 61 6b 65 52 6f |om%+2)=1:.MakeRo| 0000d800 6f 6d 54 61 62 6c 65 3a f2 43 68 61 6e 67 65 52 |omTable:.ChangeR| 0000d810 6f 6f 6d 28 30 29 3a f2 46 72 65 73 68 41 6c 6c |oom(0):.FreshAll| 0000d820 3a c8 99 26 30 30 30 30 30 30 30 36 2c 31 31 32 |:..&00000006,112| 0000d830 2c 76 62 25 3a c8 99 26 30 30 30 30 30 30 30 36 |,vb%:..&00000006| 0000d840 2c 31 31 33 2c 64 62 25 0d 08 27 12 f2 4d 61 6b |,113,db%..'..Mak| 0000d850 65 4c 69 6e 6b 54 61 62 6c 65 0d 08 28 0b 2a 46 |eLinkTable..(.*F| 0000d860 58 31 35 2c 31 0d 08 29 05 e1 0d 08 2a 15 dd f2 |X15,1..)....*...| 0000d870 4d 6f 76 69 6e 67 43 68 72 73 28 72 6e 25 29 0d |MovingChrs(rn%).| 0000d880 08 2b 07 ea 72 25 0d 08 2c 0a c8 8e 72 6e 25 ca |.+..r%..,...rn%.| 0000d890 0d 08 2d 0b c9 36 38 2c 37 32 3a 0d 08 2e 29 f2 |..-..68,72:...).| 0000d8a0 50 75 74 43 6f 6e 74 65 6e 74 73 32 28 37 31 2c |PutContents2(71,| 0000d8b0 31 2c 36 2c 32 30 2b 50 65 72 73 6f 6e 53 74 61 |1,6,20+PersonSta| 0000d8c0 72 74 25 29 0d 08 2f 1b f2 50 75 74 43 6f 6e 74 |rt%)../..PutCont| 0000d8d0 65 6e 74 73 32 28 37 31 2c 32 2c 36 2c 30 29 0d |ents2(71,2,6,0).| 0000d8e0 08 30 1b f2 50 75 74 43 6f 6e 74 65 6e 74 73 32 |.0..PutContents2| 0000d8f0 28 37 31 2c 31 2c 35 2c 30 29 0d 08 31 1c f2 50 |(71,1,5,0)..1..P| 0000d900 75 74 43 6f 6e 74 65 6e 74 73 32 28 37 31 2c 31 |utContents2(71,1| 0000d910 2c 37 2c 32 34 29 0d 08 32 1f f2 50 75 74 43 6f |,7,24)..2..PutCo| 0000d920 6e 74 65 6e 74 73 42 61 63 6b 28 37 33 2c 31 2c |ntentsBack(73,1,| 0000d930 30 2c 33 39 29 0d 08 33 09 c9 31 34 39 3a 0d 08 |0,39)..3..149:..| 0000d940 34 0d 72 25 3d 52 6f 6f 6d 32 25 0d 08 35 28 f2 |4.r%=Room2%..5(.| 0000d950 50 75 74 43 6f 6e 74 65 6e 74 73 28 72 25 2c 31 |PutContents(r%,1| 0000d960 2c 33 2c 32 35 2b 50 65 72 73 6f 6e 53 74 61 72 |,3,25+PersonStar| 0000d970 74 25 29 0d 08 36 1a f2 50 75 74 43 6f 6e 74 65 |t%)..6..PutConte| 0000d980 6e 74 73 28 72 25 2c 32 2c 34 2c 30 29 0d 08 37 |nts(r%,2,4,0)..7| 0000d990 08 c9 32 36 3a 0d 08 38 23 e7 52 6f 6f 6d 4e 75 |..26:..8#.RoomNu| 0000d9a0 6d 62 65 72 25 3d 37 30 84 52 6f 6f 6d 4e 75 6d |mber%=70.RoomNum| 0000d9b0 62 65 72 25 3d 36 39 8c 0d 08 39 58 f2 50 75 74 |ber%=69...9X.Put| 0000d9c0 43 6f 6e 74 65 6e 74 73 32 28 32 36 2c 32 2c 33 |Contents2(26,2,3| 0000d9d0 2c 35 2b 50 65 72 73 6f 6e 53 74 61 72 74 25 29 |,5+PersonStart%)| 0000d9e0 3a f2 50 75 74 43 6f 6e 74 65 6e 74 73 32 28 32 |:.PutContents2(2| 0000d9f0 36 2c 32 2c 34 2c 30 29 3a f2 50 75 74 43 6f 6e |6,2,4,0):.PutCon| 0000da00 74 65 6e 74 73 32 28 32 36 2c 31 2c 34 2c 30 29 |tents2(26,1,4,0)| 0000da10 0d 08 3a 05 cc 0d 08 3b 58 f2 50 75 74 43 6f 6e |..:....;X.PutCon| 0000da20 74 65 6e 74 73 32 28 32 36 2c 32 2c 34 2c 35 2b |tents2(26,2,4,5+| 0000da30 50 65 72 73 6f 6e 53 74 61 72 74 25 29 3a f2 50 |PersonStart%):.P| 0000da40 75 74 43 6f 6e 74 65 6e 74 73 32 28 32 36 2c 32 |utContents2(26,2| 0000da50 2c 33 2c 30 29 3a f2 50 75 74 43 6f 6e 74 65 6e |,3,0):.PutConten| 0000da60 74 73 32 28 32 36 2c 31 2c 34 2c 30 29 0d 08 3c |ts2(26,1,4,0)..<| 0000da70 05 cd 0d 08 3d 05 cb 0d 08 3e 0a c8 8e 72 6e 25 |....=....>...rn%| 0000da80 ca 0d 08 3f 11 c9 37 31 2c 32 36 2c 36 39 2c 36 |...?..71,26,69,6| 0000da90 38 3a 0d 08 40 1c f2 50 75 74 43 6f 6e 74 65 6e |8:..@..PutConten| 0000daa0 74 73 32 28 37 32 2c 34 2c 34 2c 32 35 29 0d 08 |ts2(72,4,4,25)..| 0000dab0 41 1f f2 50 75 74 43 6f 6e 74 65 6e 74 73 42 61 |A..PutContentsBa| 0000dac0 63 6b 28 37 30 2c 30 2c 32 2c 33 39 29 0d 08 42 |ck(70,0,2,39)..B| 0000dad0 0b c9 30 2c 31 33 35 3a 0d 08 43 1b f2 50 75 74 |..0,135:..C..Put| 0000dae0 43 6f 6e 74 65 6e 74 73 32 28 33 2c 33 2c 34 2c |Contents2(3,3,4,| 0000daf0 32 34 29 0d 08 44 1e f2 50 75 74 43 6f 6e 74 65 |24)..D..PutConte| 0000db00 6e 74 73 42 61 63 6b 28 34 2c 33 2c 30 2c 33 35 |ntsBack(4,3,0,35| 0000db10 29 0d 08 45 05 cb 0d 08 46 05 e1 0d 08 47 13 dd |)..E....F....G..| 0000db20 f2 50 72 69 6e 74 52 6f 6f 6d 4e 61 6d 65 0d 08 |.PrintRoomName..| 0000db30 48 1a e7 3f 28 50 52 6f 6f 6d 25 2b 32 29 3d 31 |H..?(PRoom%+2)=1| 0000db40 8c 52 6f 66 66 25 3d 30 0d 08 49 1b e7 3f 28 50 |.Roff%=0..I..?(P| 0000db50 52 6f 6f 6d 25 2b 32 29 3d 32 8c 52 6f 66 66 25 |Room%+2)=2.Roff%| 0000db60 3d 32 39 0d 08 4a 1b e7 3f 28 50 52 6f 6f 6d 25 |=29..J..?(PRoom%| 0000db70 2b 32 29 3d 33 8c 52 6f 66 66 25 3d 34 39 0d 08 |+2)=3.Roff%=49..| 0000db80 4b 1b e7 3f 28 50 52 6f 6f 6d 25 2b 32 29 3d 34 |K..?(PRoom%+2)=4| 0000db90 8c 52 6f 66 66 25 3d 35 36 0d 08 4c 1b e7 3f 28 |.Roff%=56..L..?(| 0000dba0 50 52 6f 6f 6d 25 2b 32 29 3d 35 8c 52 6f 66 66 |PRoom%+2)=5.Roff| 0000dbb0 25 3d 36 30 0d 08 4d 37 53 24 3d 52 6f 6f 6d 4e |%=60..M7S$=RoomN| 0000dbc0 61 6d 65 24 28 52 6f 6f 6d 4e 75 6d 62 65 72 25 |ame$(RoomNumber%| 0000dbd0 2b 52 6f 66 66 25 29 3a f2 54 69 6c 65 28 2d 31 |+Roff%):.Tile(-1| 0000dbe0 2c 31 30 32 33 2c 2d 31 2c 31 29 0d 08 4e 05 e1 |,1023,-1,1)..N..| 0000dbf0 0d 08 4f 13 dd f2 4d 61 6b 65 52 6f 6f 6d 54 61 |..O...MakeRoomTa| 0000dc00 62 6c 65 0d 08 50 09 ea 41 64 72 25 0d 08 51 23 |ble..P..Adr%..Q#| 0000dc10 e7 3f 28 50 52 6f 6f 6d 25 2b 32 29 3d 31 8c 41 |.?(PRoom%+2)=1.A| 0000dc20 64 72 25 3d 52 6f 6f 6d 44 61 74 61 25 2b 31 0d |dr%=RoomData%+1.| 0000dc30 08 52 18 4e 6f 6f 66 52 6f 6f 6d 73 25 3d 3f 28 |.R.NoofRooms%=?(| 0000dc40 41 64 72 25 2d 31 29 0d 08 53 16 e3 66 25 3d 30 |Adr%-1)..S..f%=0| 0000dc50 b8 4e 6f 6f 66 52 6f 6f 6d 73 25 2d 31 0d 08 54 |.NoofRooms%-1..T| 0000dc60 15 52 6f 6f 6d 41 64 64 25 28 66 25 29 3d 41 64 |.RoomAdd%(f%)=Ad| 0000dc70 72 25 0d 08 55 23 41 64 72 25 3d 41 64 72 25 2b |r%..U#Adr%=Adr%+| 0000dc80 28 3f 28 41 64 72 25 29 2a 3f 28 41 64 72 25 2b |(?(Adr%)*?(Adr%+| 0000dc90 31 29 29 2b 32 0d 08 56 23 41 64 72 25 3d 41 64 |1))+2..V#Adr%=Ad| 0000dca0 72 25 2b 28 3f 28 41 64 72 25 29 2a 3f 28 41 64 |r%+(?(Adr%)*?(Ad| 0000dcb0 72 25 2b 31 29 29 2b 32 0d 08 57 07 ed 66 25 0d |r%+1))+2..W..f%.| 0000dcc0 08 58 19 45 6e 64 4f 66 52 6f 6f 6d 44 61 74 61 |.X.EndOfRoomData| 0000dcd0 25 3d 41 64 72 25 2d 31 0d 08 59 34 4c 69 6e 6b |%=Adr%-1..Y4Link| 0000dce0 73 25 3d 41 64 72 25 2b 32 3a 4e 6f 6f 66 4c 69 |s%=Adr%+2:NoofLi| 0000dcf0 6e 6b 73 25 3d 3f 41 64 72 25 2b 28 28 3f 28 41 |nks%=?Adr%+((?(A| 0000dd00 64 72 25 2b 31 29 29 2a 32 35 36 29 0d 08 5a 05 |dr%+1))*256)..Z.| 0000dd10 e1 0d 08 5b 13 dd f2 4d 61 6b 65 4c 69 6e 6b 54 |...[...MakeLinkT| 0000dd20 61 62 6c 65 0d 08 5c 08 70 25 3d 30 0d 08 5d 18 |able..\.p%=0..].| 0000dd30 e3 61 25 3d 30 b8 4e 6f 6f 66 4c 69 6e 6b 73 25 |.a%=0.NoofLinks%| 0000dd40 2a 34 88 34 0d 08 5e 20 e7 28 3f 28 4c 69 6e 6b |*4.4..^ .(?(Link| 0000dd50 73 25 2b 61 25 29 29 3d 52 6f 6f 6d 4e 75 6d 62 |s%+a%))=RoomNumb| 0000dd60 65 72 25 8c 0d 08 5f 1d 4c 69 6e 6b 50 6f 69 6e |er%..._.LinkPoin| 0000dd70 74 25 28 70 25 29 3d 61 25 3a 70 25 3d 70 25 2b |t%(p%)=a%:p%=p%+| 0000dd80 31 0d 08 60 05 cd 0d 08 61 22 e7 28 3f 28 4c 69 |1..`....a".(?(Li| 0000dd90 6e 6b 73 25 2b 61 25 2b 31 29 29 3d 52 6f 6f 6d |nks%+a%+1))=Room| 0000dda0 4e 75 6d 62 65 72 25 8c 0d 08 62 1d 4c 69 6e 6b |Number%...b.Link| 0000ddb0 50 6f 69 6e 74 25 28 70 25 29 3d 61 25 3a 70 25 |Point%(p%)=a%:p%| 0000ddc0 3d 70 25 2b 31 0d 08 63 05 cd 0d 08 64 07 ed 61 |=p%+1..c....d..a| 0000ddd0 25 0d 08 65 05 e1 0d 08 66 18 dd f2 4c 6f 6f 6b |%..e....f...Look| 0000dde0 46 6f 72 4c 69 6e 6b 28 78 25 2c 79 25 29 0d 08 |ForLink(x%,y%)..| 0000ddf0 67 15 ea 64 25 2c 66 25 2c 4c 69 6e 6b 46 6f 75 |g..d%,f%,LinkFou| 0000de00 6e 64 25 0d 08 68 0c e3 66 25 3d 30 b8 33 32 0d |nd%..h..f%=0.32.| 0000de10 08 69 15 61 25 3d 4c 69 6e 6b 50 6f 69 6e 74 25 |.i.a%=LinkPoint%| 0000de20 28 66 25 29 0d 08 6a 20 e7 28 3f 28 4c 69 6e 6b |(f%)..j .(?(Link| 0000de30 73 25 2b 61 25 29 29 3d 52 6f 6f 6d 4e 75 6d 62 |s%+a%))=RoomNumb| 0000de40 65 72 25 8c 0d 08 6b 29 54 65 73 74 58 31 25 3d |er%...k)TestX1%=| 0000de50 28 28 21 28 4c 69 6e 6b 73 25 2b 61 25 29 80 28 |((!(Links%+a%).(| 0000de60 26 46 3c 3c 31 36 29 29 3e 3e 31 36 29 0d 08 6c |&F<<16))>>16)..l| 0000de70 0e 54 65 73 74 58 32 25 3d 78 25 0d 08 6d 39 6c |.TestX2%=x%..m9l| 0000de80 79 25 3d 28 28 21 28 4c 69 6e 6b 73 25 2b 61 25 |y%=((!(Links%+a%| 0000de90 29 80 28 26 46 3c 3c 32 38 29 29 3e 3e 32 38 29 |).(&F<<28))>>28)| 0000dea0 3a e7 6c 79 25 3c 30 8c 6c 79 25 3d 6c 79 25 2a |:.ly%<0.ly%=ly%*| 0000deb0 28 2d 31 29 0d 08 6e 47 e7 28 28 21 28 4c 69 6e |(-1)..nG.((!(Lin| 0000dec0 6b 73 25 2b 61 25 29 80 28 26 46 3c 3c 31 36 29 |ks%+a%).(&F<<16)| 0000ded0 29 3e 3e 31 36 29 3d 78 25 80 28 28 21 28 4c 69 |)>>16)=x%.((!(Li| 0000dee0 6e 6b 73 25 2b 61 25 29 80 28 26 46 3c 3c 32 30 |nks%+a%).(&F<<20| 0000def0 29 29 3e 3e 32 30 29 3d 79 25 8c 0d 08 6f 26 50 |))>>20)=y%...o&P| 0000df00 70 78 25 3d 28 28 21 28 4c 69 6e 6b 73 25 2b 61 |px%=((!(Links%+a| 0000df10 25 29 80 28 26 46 3c 3c 32 34 29 29 3e 3e 32 34 |%).(&F<<24))>>24| 0000df20 29 0d 08 70 0c 50 70 79 25 3d 6c 79 25 0d 08 71 |)..p.Ppy%=ly%..q| 0000df30 17 50 72 6e 25 3d 3f 28 4c 69 6e 6b 73 25 2b 61 |.Prn%=?(Links%+a| 0000df40 25 2b 31 29 0d 08 72 10 4c 69 6e 6b 46 6f 75 6e |%+1)..r.LinkFoun| 0000df50 64 25 3d b9 0d 08 73 27 64 25 3d a4 43 68 65 63 |d%=...s'd%=.Chec| 0000df60 6b 46 6f 72 44 6f 6f 72 28 52 6f 6f 6d 4e 75 6d |kForDoor(RoomNum| 0000df70 62 65 72 25 2c 78 25 2c 79 25 29 0d 08 74 08 e7 |ber%,x%,y%)..t..| 0000df80 64 25 8c 0d 08 75 0d 43 70 78 25 3d 50 70 78 25 |d%...u.Cpx%=Ppx%| 0000df90 0d 08 76 0d 43 70 79 25 3d 50 70 79 25 0d 08 77 |..v.Cpy%=Ppy%..w| 0000dfa0 0d 43 72 6e 25 3d 50 72 6e 25 0d 08 78 11 43 68 |.Crn%=Prn%..x.Ch| 0000dfb0 61 6e 67 65 52 6f 6f 6d 25 3d b9 0d 08 79 05 cd |angeRoom%=...y..| 0000dfc0 0d 08 7a 05 cd 0d 08 7b 05 cd 0d 08 7c 22 e7 28 |..z....{....|".(| 0000dfd0 3f 28 4c 69 6e 6b 73 25 2b 61 25 2b 31 29 29 3d |?(Links%+a%+1))=| 0000dfe0 52 6f 6f 6d 4e 75 6d 62 65 72 25 8c 0d 08 7d 39 |RoomNumber%...}9| 0000dff0 6c 79 25 3d 28 28 21 28 4c 69 6e 6b 73 25 2b 61 |ly%=((!(Links%+a| 0000e000 25 29 80 28 26 46 3c 3c 32 38 29 29 3e 3e 32 38 |%).(&F<<28))>>28| 0000e010 29 3a e7 6c 79 25 3c 30 8c 6c 79 25 3d 6c 79 25 |):.ly%<0.ly%=ly%| 0000e020 2a 28 2d 31 29 0d 08 7e 2d e7 28 28 21 28 4c 69 |*(-1)..~-.((!(Li| 0000e030 6e 6b 73 25 2b 61 25 29 80 28 26 46 3c 3c 32 34 |nks%+a%).(&F<<24| 0000e040 29 29 3e 3e 32 34 29 3d 78 25 80 6c 79 25 3d 79 |))>>24)=x%.ly%=y| 0000e050 25 8c 0d 08 7f 26 50 70 78 25 3d 28 28 21 28 4c |%....&Ppx%=((!(L| 0000e060 69 6e 6b 73 25 2b 61 25 29 80 28 26 46 3c 3c 31 |inks%+a%).(&F<<1| 0000e070 36 29 29 3e 3e 31 36 29 0d 08 80 26 50 70 79 25 |6))>>16)...&Ppy%| 0000e080 3d 28 28 21 28 4c 69 6e 6b 73 25 2b 61 25 29 80 |=((!(Links%+a%).| 0000e090 28 26 46 3c 3c 32 30 29 29 3e 3e 32 30 29 0d 08 |(&F<<20))>>20)..| 0000e0a0 81 15 50 72 6e 25 3d 3f 28 4c 69 6e 6b 73 25 2b |..Prn%=?(Links%+| 0000e0b0 61 25 29 0d 08 82 10 4c 69 6e 6b 46 6f 75 6e 64 |a%)....LinkFound| 0000e0c0 25 3d b9 0d 08 83 27 64 25 3d a4 43 68 65 63 6b |%=....'d%=.Check| 0000e0d0 46 6f 72 44 6f 6f 72 28 52 6f 6f 6d 4e 75 6d 62 |ForDoor(RoomNumb| 0000e0e0 65 72 25 2c 78 25 2c 79 25 29 0d 08 84 08 e7 64 |er%,x%,y%).....d| 0000e0f0 25 8c 0d 08 85 0d 43 70 78 25 3d 50 70 78 25 0d |%.....Cpx%=Ppx%.| 0000e100 08 86 0d 43 70 79 25 3d 50 70 79 25 0d 08 87 0d |...Cpy%=Ppy%....| 0000e110 43 72 6e 25 3d 50 72 6e 25 0d 08 88 11 43 68 61 |Crn%=Prn%....Cha| 0000e120 6e 67 65 52 6f 6f 6d 25 3d b9 0d 08 89 05 cd 0d |ngeRoom%=.......| 0000e130 08 8a 05 cd 0d 08 8b 05 cd 0d 08 8c 07 ed 66 25 |..............f%| 0000e140 0d 08 8d 28 64 25 3d a4 43 68 65 63 6b 46 6f 72 |...(d%=.CheckFor| 0000e150 44 6f 6f 72 32 28 52 6f 6f 6d 4e 75 6d 62 65 72 |Door2(RoomNumber| 0000e160 25 2c 78 25 2c 79 25 29 0d 08 8e 15 e7 64 25 80 |%,x%,y%).....d%.| 0000e170 4c 69 6e 6b 46 6f 75 6e 64 25 3d a3 8c 0d 08 8f |LinkFound%=.....| 0000e180 0f f2 4c 6f 63 6b 65 64 44 6f 6f 72 0d 08 90 05 |..LockedDoor....| 0000e190 cd 0d 08 91 4a 63 31 25 3d a4 47 65 74 43 6f 6e |....Jc1%=.GetCon| 0000e1a0 74 65 6e 74 73 28 52 6f 6f 6d 32 25 2c 78 25 2c |tents(Room2%,x%,| 0000e1b0 79 25 29 3a 63 32 25 3d a4 47 65 74 43 6f 6e 74 |y%):c2%=.GetCont| 0000e1c0 65 6e 74 73 42 61 63 6b 28 52 6f 6f 6d 4e 75 6d |entsBack(RoomNum| 0000e1d0 62 65 72 25 2c 78 25 2c 79 25 29 0d 08 92 26 e7 |ber%,x%,y%)...&.| 0000e1e0 63 31 25 3d 35 31 84 63 31 25 3d 31 84 63 32 25 |c1%=51.c1%=1.c2%| 0000e1f0 3d 35 31 8c 43 68 61 6e 67 65 52 6f 6f 6d 25 3d |=51.ChangeRoom%=| 0000e200 a3 0d 08 93 05 e1 0d 08 94 1c dd a4 43 68 65 63 |............Chec| 0000e210 6b 46 6f 72 44 6f 6f 72 28 72 25 2c 78 25 2c 79 |kForDoor(r%,x%,y| 0000e220 25 29 0d 08 95 0a ea 63 25 2c 64 25 0d 08 96 4a |%).....c%,d%...J| 0000e230 e7 78 25 3d 30 84 79 25 3d 30 8c 63 25 3d a4 47 |.x%=0.y%=0.c%=.G| 0000e240 65 74 43 6f 6e 74 65 6e 74 73 42 61 63 6b 28 72 |etContentsBack(r| 0000e250 25 2c 78 25 2c 79 25 29 8b 63 25 3d a4 47 65 74 |%,x%,y%).c%=.Get| 0000e260 43 6f 6e 74 65 6e 74 73 28 52 6f 6f 6d 32 25 2c |Contents(Room2%,| 0000e270 78 25 2c 79 25 29 0d 08 97 53 e7 63 25 3d 31 32 |x%,y%)...S.c%=12| 0000e280 30 84 63 25 3d 33 31 84 63 25 3d 31 32 32 84 63 |0.c%=31.c%=122.c| 0000e290 25 3d 31 32 31 84 63 25 3d 31 32 33 84 63 25 3d |%=121.c%=123.c%=| 0000e2a0 34 30 84 63 25 3d 33 30 8c 53 6b 69 70 64 6f 6f |40.c%=30.Skipdoo| 0000e2b0 72 25 3d b9 3a 4a 75 73 74 43 6c 6f 73 65 64 44 |r%=.:JustClosedD| 0000e2c0 6f 6f 72 25 3d a3 3a 3d b9 0d 08 98 57 e7 63 25 |oor%=.:=....W.c%| 0000e2d0 3d 32 36 84 63 25 3d 32 34 84 63 25 3d 32 35 84 |=26.c%=24.c%=25.| 0000e2e0 63 25 3d 31 38 84 63 25 3d 33 33 84 63 25 3d 33 |c%=18.c%=33.c%=3| 0000e2f0 35 84 63 25 3d 33 39 8c 64 25 3d a4 43 6c 6f 73 |5.c%=39.d%=.Clos| 0000e300 65 64 44 6f 6f 72 28 63 25 2c 78 25 2c 79 25 29 |edDoor(c%,x%,y%)| 0000e310 3a 53 6b 69 70 64 6f 6f 72 25 3d a3 3a 3d 64 25 |:Skipdoor%=.:=d%| 0000e320 0d 08 99 25 e7 63 25 3d 34 33 84 63 25 3d 34 34 |...%.c%=43.c%=44| 0000e330 84 63 25 3d 34 35 8c f2 4c 6f 63 6b 65 64 44 6f |.c%=45..LockedDo| 0000e340 6f 72 3a 3d a3 0d 08 9a 06 3d b9 0d 08 9b 1d dd |or:=.....=......| 0000e350 a4 43 68 65 63 6b 46 6f 72 44 6f 6f 72 32 28 72 |.CheckForDoor2(r| 0000e360 25 2c 78 25 2c 79 25 29 0d 08 9c 0a ea 63 25 2c |%,x%,y%).....c%,| 0000e370 64 25 0d 08 9d 4a e7 78 25 3d 30 84 79 25 3d 30 |d%...J.x%=0.y%=0| 0000e380 8c 63 25 3d a4 47 65 74 43 6f 6e 74 65 6e 74 73 |.c%=.GetContents| 0000e390 42 61 63 6b 28 72 25 2c 78 25 2c 79 25 29 8b 63 |Back(r%,x%,y%).c| 0000e3a0 25 3d a4 47 65 74 43 6f 6e 74 65 6e 74 73 28 52 |%=.GetContents(R| 0000e3b0 6f 6f 6d 32 25 2c 78 25 2c 79 25 29 0d 08 9e 35 |oom2%,x%,y%)...5| 0000e3c0 e7 63 25 3d 31 32 30 84 63 25 3d 33 31 84 63 25 |.c%=120.c%=31.c%| 0000e3d0 3d 31 32 32 84 63 25 3d 31 32 31 84 63 25 3d 31 |=122.c%=121.c%=1| 0000e3e0 32 33 84 63 25 3d 34 30 84 63 25 3d 33 30 8c 3d |23.c%=40.c%=30.=| 0000e3f0 b9 0d 08 9f 31 e7 63 25 3d 32 36 84 63 25 3d 32 |....1.c%=26.c%=2| 0000e400 34 84 63 25 3d 32 35 84 63 25 3d 31 38 84 63 25 |4.c%=25.c%=18.c%| 0000e410 3d 33 33 84 63 25 3d 33 35 84 63 25 3d 33 39 8c |=33.c%=35.c%=39.| 0000e420 3d b9 0d 08 a0 19 e7 63 25 3d 34 33 84 63 25 3d |=......c%=43.c%=| 0000e430 34 34 84 63 25 3d 34 35 8c 3d b9 0d 08 a1 06 3d |44.c%=45.=.....=| 0000e440 a3 0d 08 a2 1a dd a4 43 6c 6f 73 65 64 44 6f 6f |.......ClosedDoo| 0000e450 72 28 63 25 2c 78 25 2c 79 25 29 0d 08 a3 08 ea |r(c%,x%,y%).....| 0000e460 6e 63 25 0d 08 a4 11 f2 53 69 6e 67 6c 65 53 63 |nc%.....SingleSc| 0000e470 72 65 65 6e 0d 08 a5 1d 53 24 3d 22 54 68 69 73 |reen....S$="This| 0000e480 20 64 6f 6f 72 20 69 73 20 63 6c 6f 73 65 64 2e | door is closed.| 0000e490 22 0d 08 a6 16 f2 54 69 6c 65 28 2d 31 2c 34 30 |".....Tile(-1,40| 0000e4a0 30 2c 2d 31 2c 31 29 0d 08 a7 05 f5 0d 08 a8 11 |0,-1,1).........| 0000e4b0 f2 53 69 6e 67 6c 65 53 63 72 65 65 6e 0d 08 a9 |.SingleScreen...| 0000e4c0 29 f2 4f 70 28 22 4b 6e 6f 63 6b 20 6f 6e 20 64 |).Op("Knock on d| 0000e4d0 6f 6f 72 2e 22 2c 22 4f 70 65 6e 20 64 6f 6f 72 |oor.","Open door| 0000e4e0 2e 22 2c 22 22 29 0d 08 aa 05 f5 0d 08 ab 0a f2 |.","")..........| 0000e4f0 4d 6f 75 73 65 0d 08 ac 22 4c 6f 63 32 25 3d a4 |Mouse..."Loc2%=.| 0000e500 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 2c 4d |ConLoc(MouseX%,M| 0000e510 6f 75 73 65 59 25 29 0d 08 ad 1c fd 4c 6f 63 32 |ouseY%).....Loc2| 0000e520 25 3d 31 84 4c 6f 63 32 25 3d 32 84 4c 6f 63 32 |%=1.Loc2%=2.Loc2| 0000e530 25 3e 33 0d 08 ae 25 e7 4c 6f 63 32 25 3d 32 8c |%>3...%.Loc2%=2.| 0000e540 f2 43 68 61 6e 67 65 44 6f 6f 72 28 72 25 2c 78 |.ChangeDoor(r%,x| 0000e550 25 2c 79 25 29 3a 3d a3 0d 08 af 23 e7 4c 6f 63 |%,y%):=....#.Loc| 0000e560 32 25 3d 31 8c f2 4b 6e 6f 63 6b 4f 6e 44 6f 6f |2%=1..KnockOnDoo| 0000e570 72 28 72 25 2c 78 25 2c 79 25 29 0d 08 b0 0c f2 |r(r%,x%,y%).....| 0000e580 43 6f 6e 73 6f 6c 65 0d 08 b1 21 e7 4c 6f 63 32 |Console...!.Loc2| 0000e590 25 3e 33 8c 4a 75 73 74 43 6c 6f 73 65 64 44 6f |%>3.JustClosedDo| 0000e5a0 6f 72 25 3d a3 3a 3d a3 0d 08 b2 0c fd 4c 6f 63 |or%=.:=......Loc| 0000e5b0 32 25 3e 32 0d 08 b3 11 f2 44 6f 75 62 6c 65 42 |2%>2.....DoubleB| 0000e5c0 75 66 66 65 72 0d 08 b4 0d f2 46 72 65 73 68 41 |uffer.....FreshA| 0000e5d0 6c 6c 0d 08 b5 06 3d a3 0d 08 b6 10 dd f2 4c 6f |ll....=.......Lo| 0000e5e0 63 6b 65 64 44 6f 6f 72 0d 08 b7 29 f2 47 69 76 |ckedDoor...).Giv| 0000e5f0 65 4c 6f 6f 6b 49 6e 66 6f 28 22 54 68 69 73 20 |eLookInfo("This | 0000e600 64 6f 6f 72 20 69 73 20 6c 6f 63 6b 65 64 2e 22 |door is locked."| 0000e610 29 0d 08 b8 0d f2 46 72 65 73 68 41 6c 6c 0d 08 |).....FreshAll..| 0000e620 b9 05 e1 0d 08 ba 1b dd f2 4b 6e 6f 63 6b 4f 6e |.........KnockOn| 0000e630 44 6f 6f 72 28 72 25 2c 78 25 2c 79 25 29 0d 08 |Door(r%,x%,y%)..| 0000e640 bb 1c ff 22 43 48 41 4e 4e 45 4c 56 4f 49 43 45 |..."CHANNELVOICE| 0000e650 20 32 20 4b 6e 6f 63 6b 31 22 0d 08 bc 10 d4 32 | 2 Knock1".....2| 0000e660 2c 53 56 6f 6c 25 2c 30 2c 31 0d 08 bd 0d f2 57 |,SVol%,0,1.....W| 0000e670 61 69 74 28 35 30 29 0d 08 be 10 d4 32 2c 53 56 |ait(50).....2,SV| 0000e680 6f 6c 25 2c 30 2c 31 0d 08 bf 1d e7 44 6f 6f 72 |ol%,0,1.....Door| 0000e690 52 65 73 70 6f 6e 73 65 24 28 50 72 6e 25 29 3c |Response$(Prn%)<| 0000e6a0 3e 22 22 8c 0d 08 c0 0d f2 46 72 65 73 68 41 6c |>""......FreshAl| 0000e6b0 6c 0d 08 c1 50 f2 47 69 76 65 4c 6f 6f 6b 49 6e |l...P.GiveLookIn| 0000e6c0 66 6f 28 22 59 6f 75 20 68 65 61 72 20 61 20 76 |fo("You hear a v| 0000e6d0 6f 69 63 65 20 66 72 6f 6d 20 69 6e 73 69 64 65 |oice from inside| 0000e6e0 20 73 61 79 2c 20 27 22 2b 44 6f 6f 72 52 65 73 | say, '"+DoorRes| 0000e6f0 70 6f 6e 73 65 24 28 50 72 6e 25 29 2b 22 27 22 |ponse$(Prn%)+"'"| 0000e700 29 0d 08 c2 15 44 6f 6f 72 4b 6e 6f 63 6b 65 64 |)....DoorKnocked| 0000e710 25 3d 50 72 6e 25 0d 08 c3 05 cc 0d 08 c4 0d f2 |%=Prn%..........| 0000e720 46 72 65 73 68 41 6c 6c 0d 08 c5 28 f2 47 69 76 |FreshAll...(.Giv| 0000e730 65 4c 6f 6f 6b 49 6e 66 6f 28 22 54 68 65 72 65 |eLookInfo("There| 0000e740 20 69 73 20 6e 6f 20 61 6e 73 77 65 72 2e 22 29 | is no answer.")| 0000e750 0d 08 c6 05 cd 0d 08 c7 0d f2 46 72 65 73 68 41 |..........FreshA| 0000e760 6c 6c 0d 08 c8 05 e1 0d 08 c9 1a dd f2 43 68 61 |ll...........Cha| 0000e770 6e 67 65 44 6f 6f 72 28 72 25 2c 78 25 2c 79 25 |ngeDoor(r%,x%,y%| 0000e780 29 0d 08 ca 0b ea 63 25 2c 6e 63 25 0d 08 cb 0f |).....c%,nc%....| 0000e790 e7 78 25 3d 30 84 79 25 3d 30 8c 0d 08 cc 21 63 |.x%=0.y%=0....!c| 0000e7a0 25 3d a4 47 65 74 43 6f 6e 74 65 6e 74 73 42 61 |%=.GetContentsBa| 0000e7b0 63 6b 28 72 25 2c 78 25 2c 79 25 29 0d 08 cd 16 |ck(r%,x%,y%)....| 0000e7c0 6e 63 25 3d a4 47 65 74 6e 63 42 61 63 6b 28 63 |nc%=.GetncBack(c| 0000e7d0 25 29 0d 08 ce 22 f2 50 75 74 43 6f 6e 74 65 6e |%)...".PutConten| 0000e7e0 74 73 42 61 63 6b 28 72 25 2c 78 25 2c 79 25 2c |tsBack(r%,x%,y%,| 0000e7f0 6e 63 25 29 0d 08 cf 19 44 52 6f 6f 6d 25 3d 52 |nc%)....DRoom%=R| 0000e800 6f 6f 6d 41 64 64 25 28 50 72 6e 25 29 0d 08 d0 |oomAdd%(Prn%)...| 0000e810 2c 44 52 6f 6f 6d 32 25 3d 44 52 6f 6f 6d 25 2b |,DRoom2%=DRoom%+| 0000e820 32 2b 28 3f 28 44 52 6f 6f 6d 25 29 2a 3f 28 44 |2+(?(DRoom%)*?(D| 0000e830 52 6f 6f 6d 25 2b 31 29 29 0d 08 d1 26 63 25 3d |Room%+1))...&c%=| 0000e840 a4 47 65 74 43 6f 6e 74 65 6e 74 73 28 44 52 6f |.GetContents(DRo| 0000e850 6f 6d 32 25 2c 50 70 78 25 2c 50 70 79 25 29 0d |om2%,Ppx%,Ppy%).| 0000e860 08 d2 12 6e 63 25 3d a4 47 65 74 6e 63 28 63 25 |...nc%=.Getnc(c%| 0000e870 29 0d 08 d3 27 f2 50 75 74 43 6f 6e 74 65 6e 74 |)...'.PutContent| 0000e880 73 28 44 52 6f 6f 6d 32 25 2c 50 70 78 25 2c 50 |s(DRoom2%,Ppx%,P| 0000e890 70 79 25 2c 6e 63 25 29 0d 08 d4 13 f2 43 68 61 |py%,nc%).....Cha| 0000e8a0 6e 67 65 52 6f 6f 6d 28 72 25 29 0d 08 d5 05 cc |ngeRoom(r%).....| 0000e8b0 0d 08 d6 21 63 25 3d a4 47 65 74 43 6f 6e 74 65 |...!c%=.GetConte| 0000e8c0 6e 74 73 28 52 6f 6f 6d 32 25 2c 78 25 2c 79 25 |nts(Room2%,x%,y%| 0000e8d0 29 0d 08 d7 12 6e 63 25 3d a4 47 65 74 6e 63 28 |)....nc%=.Getnc(| 0000e8e0 63 25 29 0d 08 d8 22 f2 50 75 74 43 6f 6e 74 65 |c%)...".PutConte| 0000e8f0 6e 74 73 28 52 6f 6f 6d 32 25 2c 78 25 2c 79 25 |nts(Room2%,x%,y%| 0000e900 2c 6e 63 25 29 0d 08 d9 27 63 25 3d a4 47 65 74 |,nc%)...'c%=.Get| 0000e910 43 6f 6e 74 65 6e 74 73 42 61 63 6b 28 50 72 6e |ContentsBack(Prn| 0000e920 25 2c 50 70 78 25 2c 50 70 79 25 29 0d 08 da 16 |%,Ppx%,Ppy%)....| 0000e930 6e 63 25 3d a4 47 65 74 6e 63 42 61 63 6b 28 63 |nc%=.GetncBack(c| 0000e940 25 29 0d 08 db 28 f2 50 75 74 43 6f 6e 74 65 6e |%)...(.PutConten| 0000e950 74 73 42 61 63 6b 28 50 72 6e 25 2c 50 70 78 25 |tsBack(Prn%,Ppx%| 0000e960 2c 50 70 79 25 2c 6e 63 25 29 0d 08 dc 05 cd 0d |,Ppy%,nc%)......| 0000e970 08 dd 43 e7 ac 44 6f 6f 72 43 6c 6f 73 69 6e 67 |..C..DoorClosing| 0000e980 25 8c ff 22 43 48 41 4e 4e 45 4c 56 4f 49 43 45 |%.."CHANNELVOICE| 0000e990 20 32 20 44 6f 6f 72 31 22 8b ff 22 43 48 41 4e | 2 Door1".."CHAN| 0000e9a0 4e 45 4c 56 4f 49 43 45 20 32 20 43 6c 69 63 6b |NELVOICE 2 Click| 0000e9b0 31 22 0d 08 de 13 d4 32 2c 53 56 6f 6c 25 2c 26 |1".....2,SVol%,&| 0000e9c0 32 30 30 2c 31 0d 08 df 11 f2 44 6f 75 62 6c 65 |200,1.....Double| 0000e9d0 42 75 66 66 65 72 0d 08 e0 0d f2 46 72 65 73 68 |Buffer.....Fresh| 0000e9e0 41 6c 6c 0d 08 e1 2f 43 68 61 6e 67 65 52 6f 6f |All.../ChangeRoo| 0000e9f0 6d 25 3d a3 3a 44 6f 6f 72 43 6c 6f 73 69 6e 67 |m%=.:DoorClosing| 0000ea00 25 3d a3 3a 44 6f 6f 72 43 68 61 6e 67 65 64 25 |%=.:DoorChanged%| 0000ea10 3d b9 0d 08 e2 05 e1 0d 08 e3 13 dd a4 47 65 74 |=............Get| 0000ea20 6e 63 42 61 63 6b 28 63 25 29 0d 08 e4 09 c8 8e |ncBack(c%)......| 0000ea30 63 25 ca 0d 08 e5 0b c9 33 33 3a 3d 33 30 0d 08 |c%......33:=30..| 0000ea40 e6 0c c9 32 36 3a 3d 31 32 31 0d 08 e7 0c c9 33 |...26:=121.....3| 0000ea50 35 3a 3d 31 32 32 0d 08 e8 0b c9 33 30 3a 3d 33 |5:=122.....30:=3| 0000ea60 33 0d 08 e9 0c c9 31 32 31 3a 3d 32 36 0d 08 ea |3.....121:=26...| 0000ea70 0c c9 31 32 32 3a 3d 33 35 0d 08 eb 0b c9 31 38 |..122:=35.....18| 0000ea80 3a 3d 33 31 0d 08 ec 0b c9 33 31 3a 3d 31 38 0d |:=31.....31:=18.| 0000ea90 08 ed 0b c9 33 39 3a 3d 34 30 0d 08 ee 0b c9 34 |....39:=40.....4| 0000eaa0 30 3a 3d 33 39 0d 08 ef 08 7f 3d 63 25 0d 08 f0 |0:=39.....=c%...| 0000eab0 05 cb 0d 08 f1 0f dd a4 47 65 74 6e 63 28 63 25 |........Getnc(c%| 0000eac0 29 0d 08 f2 09 c8 8e 63 25 ca 0d 08 f3 0c c9 32 |)......c%......2| 0000ead0 34 3a 3d 31 32 30 0d 08 f4 0c c9 31 32 30 3a 3d |4:=120.....120:=| 0000eae0 32 34 0d 08 f5 0c c9 32 35 3a 3d 31 32 33 0d 08 |24.....25:=123..| 0000eaf0 f6 0c c9 31 32 33 3a 3d 32 35 0d 08 f7 08 7f 3d |...123:=25.....=| 0000eb00 63 25 0d 08 f8 05 cb 0d 08 f9 0f dd f2 43 6c 6f |c%...........Clo| 0000eb10 73 65 44 6f 6f 72 0d 08 fa 0a ea 78 25 2c 79 25 |seDoor.....x%,y%| 0000eb20 0d 08 fb 15 e7 44 6f 6f 72 43 6c 6f 73 69 6e 67 |.....DoorClosing| 0000eb30 25 3d b9 8c e1 0d 08 fc 20 78 25 3d 70 78 25 3a |%=...... x%=px%:| 0000eb40 79 25 3d 70 79 25 3a 44 6f 6f 72 43 6c 6f 73 69 |y%=py%:DoorClosi| 0000eb50 6e 67 25 3d b9 0d 08 fd 52 f2 4c 6f 6f 6b 46 6f |ng%=....R.LookFo| 0000eb60 72 4c 69 6e 6b 28 70 78 25 2d 31 2c 70 79 25 29 |rLink(px%-1,py%)| 0000eb70 3a e7 43 68 61 6e 67 65 52 6f 6f 6d 25 8c 78 25 |:.ChangeRoom%.x%| 0000eb80 3d 70 78 25 2d 31 3a f2 43 68 61 6e 67 65 44 6f |=px%-1:.ChangeDo| 0000eb90 6f 72 28 52 6f 6f 6d 4e 75 6d 62 65 72 25 2c 78 |or(RoomNumber%,x| 0000eba0 25 2c 79 25 29 3a e1 0d 08 fe 52 f2 4c 6f 6f 6b |%,y%):....R.Look| 0000ebb0 46 6f 72 4c 69 6e 6b 28 70 78 25 2b 31 2c 70 79 |ForLink(px%+1,py| 0000ebc0 25 29 3a e7 43 68 61 6e 67 65 52 6f 6f 6d 25 8c |%):.ChangeRoom%.| 0000ebd0 78 25 3d 70 78 25 2b 31 3a f2 43 68 61 6e 67 65 |x%=px%+1:.Change| 0000ebe0 44 6f 6f 72 28 52 6f 6f 6d 4e 75 6d 62 65 72 25 |Door(RoomNumber%| 0000ebf0 2c 78 25 2c 79 25 29 3a e1 0d 08 ff 52 f2 4c 6f |,x%,y%):....R.Lo| 0000ec00 6f 6b 46 6f 72 4c 69 6e 6b 28 70 78 25 2c 70 79 |okForLink(px%,py| 0000ec10 25 2d 31 29 3a e7 43 68 61 6e 67 65 52 6f 6f 6d |%-1):.ChangeRoom| 0000ec20 25 8c 79 25 3d 70 79 25 2d 31 3a f2 43 68 61 6e |%.y%=py%-1:.Chan| 0000ec30 67 65 44 6f 6f 72 28 52 6f 6f 6d 4e 75 6d 62 65 |geDoor(RoomNumbe| 0000ec40 72 25 2c 78 25 2c 79 25 29 3a e1 0d 09 00 52 f2 |r%,x%,y%):....R.| 0000ec50 4c 6f 6f 6b 46 6f 72 4c 69 6e 6b 28 70 78 25 2c |LookForLink(px%,| 0000ec60 70 79 25 2b 31 29 3a e7 43 68 61 6e 67 65 52 6f |py%+1):.ChangeRo| 0000ec70 6f 6d 25 8c 79 25 3d 70 79 25 2b 31 3a f2 43 68 |om%.y%=py%+1:.Ch| 0000ec80 61 6e 67 65 44 6f 6f 72 28 52 6f 6f 6d 4e 75 6d |angeDoor(RoomNum| 0000ec90 62 65 72 25 2c 78 25 2c 79 25 29 3a e1 0d 09 01 |ber%,x%,y%):....| 0000eca0 05 e1 0d 09 02 16 dd f2 4c 6f 61 64 50 32 4f 62 |........LoadP2Ob| 0000ecb0 6a 65 63 74 54 65 78 74 0d 09 03 27 78 66 25 3d |jectText...'xf%=| 0000ecc0 8e 28 22 3c 41 72 63 56 33 24 44 69 72 3e 2e 44 |.("<ArcV3$Dir>.D| 0000ecd0 61 74 61 2e 50 32 4f 62 6a 65 63 74 73 22 29 0d |ata.P2Objects").| 0000ece0 09 04 2d e7 78 66 25 3d 30 8c 85 31 30 30 2c 22 |..-.xf%=0..100,"| 0000ecf0 4e 6f 20 4f 62 6a 65 63 74 20 74 65 78 74 20 66 |No Object text f| 0000ed00 69 6c 65 20 70 72 65 73 65 6e 74 22 0d 09 05 08 |ile present"....| 0000ed10 6f 25 3d 30 0d 09 06 05 f5 0d 09 07 29 50 32 4f |o%=0........)P2O| 0000ed20 62 44 65 73 63 24 28 6f 25 29 3d a4 47 65 74 53 |bDesc$(o%)=.GetS| 0000ed30 74 72 69 6e 67 46 72 6f 6d 46 69 6c 65 28 78 66 |tringFromFile(xf| 0000ed40 25 29 0d 09 08 29 50 32 4f 62 4e 61 72 61 24 28 |%)...)P2ObNara$(| 0000ed50 6f 25 29 3d a4 47 65 74 53 74 72 69 6e 67 46 72 |o%)=.GetStringFr| 0000ed60 6f 6d 46 69 6c 65 28 78 66 25 29 0d 09 09 29 50 |omFile(xf%)...)P| 0000ed70 32 4f 62 4e 61 6d 65 24 28 6f 25 29 3d a4 47 65 |2ObName$(o%)=.Ge| 0000ed80 74 53 74 72 69 6e 67 46 72 6f 6d 46 69 6c 65 28 |tStringFromFile(| 0000ed90 78 66 25 29 0d 09 0a 2d 50 32 4f 62 50 72 69 63 |xf%)...-P2ObPric| 0000eda0 65 25 28 6f 25 29 3d bb 28 a4 47 65 74 53 74 72 |e%(o%)=.(.GetStr| 0000edb0 69 6e 67 46 72 6f 6d 46 69 6c 65 28 78 66 25 29 |ingFromFile(xf%)| 0000edc0 29 0d 09 0b 27 4f 66 6e 25 28 6f 25 29 3d bb 28 |)...'Ofn%(o%)=.(| 0000edd0 a4 47 65 74 53 74 72 69 6e 67 46 72 6f 6d 46 69 |.GetStringFromFi| 0000ede0 6c 65 28 78 66 25 29 29 0d 09 0c 27 4f 72 6e 25 |le(xf%))...'Orn%| 0000edf0 28 6f 25 29 3d bb 28 a4 47 65 74 53 74 72 69 6e |(o%)=.(.GetStrin| 0000ee00 67 46 72 6f 6d 46 69 6c 65 28 78 66 25 29 29 0d |gFromFile(xf%)).| 0000ee10 09 0d 26 6f 78 25 28 6f 25 29 3d bb 28 a4 47 65 |..&ox%(o%)=.(.Ge| 0000ee20 74 53 74 72 69 6e 67 46 72 6f 6d 46 69 6c 65 28 |tStringFromFile(| 0000ee30 78 66 25 29 29 0d 09 0e 26 6f 79 25 28 6f 25 29 |xf%))...&oy%(o%)| 0000ee40 3d bb 28 a4 47 65 74 53 74 72 69 6e 67 46 72 6f |=.(.GetStringFro| 0000ee50 6d 46 69 6c 65 28 78 66 25 29 29 0d 09 0f 24 4e |mFile(xf%))...$N| 0000ee60 65 77 4c 69 6e 65 24 3d a4 47 65 74 53 74 72 69 |ewLine$=.GetStri| 0000ee70 6e 67 46 72 6f 6d 46 69 6c 65 28 78 66 25 29 0d |ngFromFile(xf%).| 0000ee80 09 10 0b 6f 25 3d 6f 25 2b 31 0d 09 11 0a fd c5 |...o%=o%+1......| 0000ee90 23 78 66 25 0d 09 12 09 d9 23 78 66 25 0d 09 13 |#xf%.....#xf%...| 0000eea0 15 4e 6f 6f 66 50 32 4f 62 6a 65 63 74 73 25 3d |.NoofP2Objects%=| 0000eeb0 6f 25 0d 09 14 05 e1 0d 09 15 14 dd f2 4c 6f 61 |o%...........Loa| 0000eec0 64 50 65 6f 70 6c 65 54 65 78 74 0d 09 16 24 78 |dPeopleText...$x| 0000eed0 66 25 3d 8e 28 22 3c 41 72 63 56 33 24 44 69 72 |f%=.("<ArcV3$Dir| 0000eee0 3e 2e 44 61 74 61 2e 50 65 6f 70 6c 65 22 29 0d |>.Data.People").| 0000eef0 09 17 2d e7 78 66 25 3d 30 8c 85 31 30 30 2c 22 |..-.xf%=0..100,"| 0000ef00 4e 6f 20 50 65 72 73 6f 6e 20 74 65 78 74 20 66 |No Person text f| 0000ef10 69 6c 65 20 70 72 65 73 65 6e 74 22 0d 09 18 08 |ile present"....| 0000ef20 6f 25 3d 30 0d 09 19 05 f5 0d 09 1a 2b 50 65 72 |o%=0........+Per| 0000ef30 73 6f 6e 4e 61 6d 65 24 28 6f 25 29 3d a4 47 65 |sonName$(o%)=.Ge| 0000ef40 74 53 74 72 69 6e 67 46 72 6f 6d 46 69 6c 65 28 |tStringFromFile(| 0000ef50 78 66 25 29 0d 09 1b 2b 50 65 72 73 6f 6e 4e 61 |xf%)...+PersonNa| 0000ef60 72 61 24 28 6f 25 29 3d a4 47 65 74 53 74 72 69 |ra$(o%)=.GetStri| 0000ef70 6e 67 46 72 6f 6d 46 69 6c 65 28 78 66 25 29 0d |ngFromFile(xf%).| 0000ef80 09 1c 2e 50 65 72 73 6f 6e 54 79 70 65 25 28 6f |...PersonType%(o| 0000ef90 25 29 3d bb 28 a4 47 65 74 53 74 72 69 6e 67 46 |%)=.(.GetStringF| 0000efa0 72 6f 6d 46 69 6c 65 28 78 66 25 29 29 0d 09 1d |romFile(xf%))...| 0000efb0 17 e7 50 65 72 73 6f 6e 54 79 70 65 25 28 6f 25 |..PersonType%(o%| 0000efc0 29 3d 31 8c 0d 09 1e 29 50 56 4f 62 31 25 28 6f |)=1....)PVOb1%(o| 0000efd0 25 29 3d bb 28 a4 47 65 74 53 74 72 69 6e 67 46 |%)=.(.GetStringF| 0000efe0 72 6f 6d 46 69 6c 65 28 78 66 25 29 29 0d 09 1f |romFile(xf%))...| 0000eff0 29 50 56 4f 62 32 25 28 6f 25 29 3d bb 28 a4 47 |)PVOb2%(o%)=.(.G| 0000f000 65 74 53 74 72 69 6e 67 46 72 6f 6d 46 69 6c 65 |etStringFromFile| 0000f010 28 78 66 25 29 29 0d 09 20 29 50 56 4f 62 33 25 |(xf%)).. )PVOb3%| 0000f020 28 6f 25 29 3d bb 28 a4 47 65 74 53 74 72 69 6e |(o%)=.(.GetStrin| 0000f030 67 46 72 6f 6d 46 69 6c 65 28 78 66 25 29 29 0d |gFromFile(xf%)).| 0000f040 09 21 05 cd 0d 09 22 27 50 66 6e 25 28 6f 25 29 |.!...."'Pfn%(o%)| 0000f050 3d bb 28 a4 47 65 74 53 74 72 69 6e 67 46 72 6f |=.(.GetStringFro| 0000f060 6d 46 69 6c 65 28 78 66 25 29 29 0d 09 23 2c 50 |mFile(xf%))..#,P| 0000f070 65 72 73 6f 6e 52 6e 25 28 6f 25 29 3d bb 28 a4 |ersonRn%(o%)=.(.| 0000f080 47 65 74 53 74 72 69 6e 67 46 72 6f 6d 46 69 6c |GetStringFromFil| 0000f090 65 28 78 66 25 29 29 0d 09 24 2b 50 65 72 73 6f |e(xf%))..$+Perso| 0000f0a0 6e 58 25 28 6f 25 29 3d bb 28 a4 47 65 74 53 74 |nX%(o%)=.(.GetSt| 0000f0b0 72 69 6e 67 46 72 6f 6d 46 69 6c 65 28 78 66 25 |ringFromFile(xf%| 0000f0c0 29 29 0d 09 25 2b 50 65 72 73 6f 6e 59 25 28 6f |))..%+PersonY%(o| 0000f0d0 25 29 3d bb 28 a4 47 65 74 53 74 72 69 6e 67 46 |%)=.(.GetStringF| 0000f0e0 72 6f 6d 46 69 6c 65 28 78 66 25 29 29 0d 09 26 |romFile(xf%))..&| 0000f0f0 24 4e 65 77 4c 69 6e 65 24 3d a4 47 65 74 53 74 |$NewLine$=.GetSt| 0000f100 72 69 6e 67 46 72 6f 6d 46 69 6c 65 28 78 66 25 |ringFromFile(xf%| 0000f110 29 0d 09 27 0b 6f 25 3d 6f 25 2b 31 0d 09 28 0a |)..'.o%=o%+1..(.| 0000f120 fd c5 23 78 66 25 0d 09 29 09 d9 23 78 66 25 0d |..#xf%..)..#xf%.| 0000f130 09 2a 12 4e 6f 6f 66 50 65 6f 70 6c 65 25 3d 6f |.*.NoofPeople%=o| 0000f140 25 0d 09 2b 05 e1 0d 09 2c 21 dd f2 50 75 74 43 |%..+....,!..PutC| 0000f150 6f 6e 74 65 6e 74 73 28 52 41 64 64 25 2c 78 25 |ontents(RAdd%,x%| 0000f160 2c 79 25 2c 63 25 29 0d 09 2d 1d 77 25 3d 3f 28 |,y%,c%)..-.w%=?(| 0000f170 52 41 64 64 25 29 3a 6c 25 3d 3f 28 52 41 64 64 |RAdd%):l%=?(RAdd| 0000f180 25 2b 31 29 0d 09 2e 1e 3f 28 52 41 64 64 25 2b |%+1)....?(RAdd%+| 0000f190 28 28 78 25 2a 77 25 29 2b 79 25 29 2b 32 29 3d |((x%*w%)+y%)+2)=| 0000f1a0 63 25 0d 09 2f 05 e1 0d 09 30 23 dd f2 50 75 74 |c%../....0#..Put| 0000f1b0 43 6f 6e 74 65 6e 74 73 42 61 63 6b 28 72 6e 25 |ContentsBack(rn%| 0000f1c0 2c 78 25 2c 79 25 2c 63 25 29 0d 09 31 0a ea 52 |,x%,y%,c%)..1..R| 0000f1d0 41 64 64 25 0d 09 32 17 52 41 64 64 25 3d 52 6f |Add%..2.RAdd%=Ro| 0000f1e0 6f 6d 41 64 64 25 28 72 6e 25 29 0d 09 33 28 52 |omAdd%(rn%)..3(R| 0000f1f0 41 64 64 32 25 3d 52 41 64 64 25 2b 32 2b 28 3f |Add2%=RAdd%+2+(?| 0000f200 28 52 41 64 64 25 29 2a 3f 28 52 41 64 64 25 2b |(RAdd%)*?(RAdd%+| 0000f210 31 29 29 0d 09 34 1f 77 25 3d 3f 28 52 41 64 64 |1))..4.w%=?(RAdd| 0000f220 32 25 29 3a 6c 25 3d 3f 28 52 41 64 64 32 25 2b |2%):l%=?(RAdd2%+| 0000f230 31 29 0d 09 35 1e 3f 28 52 41 64 64 25 2b 28 28 |1)..5.?(RAdd%+((| 0000f240 78 25 2a 77 25 29 2b 79 25 29 2b 32 29 3d 63 25 |x%*w%)+y%)+2)=c%| 0000f250 0d 09 36 05 e1 0d 09 37 20 dd f2 50 75 74 43 6f |..6....7 ..PutCo| 0000f260 6e 74 65 6e 74 73 32 28 72 6e 25 2c 78 25 2c 79 |ntents2(rn%,x%,y| 0000f270 25 2c 63 25 29 0d 09 38 0a ea 52 41 64 64 25 0d |%,c%)..8..RAdd%.| 0000f280 09 39 17 52 41 64 64 25 3d 52 6f 6f 6d 41 64 64 |.9.RAdd%=RoomAdd| 0000f290 25 28 72 6e 25 29 0d 09 3a 28 52 41 64 64 32 25 |%(rn%)..:(RAdd2%| 0000f2a0 3d 52 41 64 64 25 2b 32 2b 28 3f 28 52 41 64 64 |=RAdd%+2+(?(RAdd| 0000f2b0 25 29 2a 3f 28 52 41 64 64 25 2b 31 29 29 0d 09 |%)*?(RAdd%+1))..| 0000f2c0 3b 1f 77 25 3d 3f 28 52 41 64 64 32 25 29 3a 6c |;.w%=?(RAdd2%):l| 0000f2d0 25 3d 3f 28 52 41 64 64 32 25 2b 31 29 0d 09 3c |%=?(RAdd2%+1)..<| 0000f2e0 1f 3f 28 52 41 64 64 32 25 2b 28 28 78 25 2a 77 |.?(RAdd2%+((x%*w| 0000f2f0 25 29 2b 79 25 29 2b 32 29 3d 63 25 0d 09 3d 05 |%)+y%)+2)=c%..=.| 0000f300 e1 0d 09 3e 24 dd f2 53 65 74 4f 62 6a 65 63 74 |...>$..SetObject| 0000f310 44 61 74 61 28 52 41 64 64 25 2c 78 25 2c 79 25 |Data(RAdd%,x%,y%| 0000f320 2c 6f 6e 25 29 0d 09 3f 1d 77 25 3d 3f 28 52 41 |,on%)..?.w%=?(RA| 0000f330 64 64 25 29 3a 6c 25 3d 3f 28 52 41 64 64 25 2b |dd%):l%=?(RAdd%+| 0000f340 31 29 0d 09 40 3a 21 28 50 50 32 44 61 74 61 25 |1)..@:!(PP2Data%| 0000f350 2b 28 6f 6e 25 2a 34 29 29 3d 28 28 52 41 64 64 |+(on%*4))=((RAdd| 0000f360 25 2b 28 28 78 25 2a 77 25 29 2b 79 25 29 2b 32 |%+((x%*w%)+y%)+2| 0000f370 29 2d 52 6f 6f 6d 44 61 74 61 25 29 0d 09 41 05 |)-RoomData%)..A.| 0000f380 e1 0d 09 42 17 dd a4 49 73 4f 62 6a 65 63 74 48 |...B...IsObjectH| 0000f390 65 72 65 28 6f 6e 25 29 0d 09 43 1f ea 63 25 2c |ere(on%)..C..c%,| 0000f3a0 72 25 2c 77 25 2c 6c 25 2c 72 73 25 2c 72 66 25 |r%,w%,l%,rs%,rf%| 0000f3b0 2c 66 6f 75 6e 64 25 0d 09 44 0c 66 6f 75 6e 64 |,found%..D.found| 0000f3c0 25 3d a3 0d 09 45 1c 72 25 3d 52 6f 6f 6d 41 64 |%=...E.r%=RoomAd| 0000f3d0 64 25 28 52 6f 6f 6d 4e 75 6d 62 65 72 25 29 0d |d%(RoomNumber%).| 0000f3e0 09 46 1b 72 25 3d 72 25 2b 28 3f 28 72 25 29 2a |.F.r%=r%+(?(r%)*| 0000f3f0 3f 28 72 25 2b 31 29 29 2b 32 0d 09 47 15 77 25 |?(r%+1))+2..G.w%| 0000f400 3d 3f 28 72 25 29 3a 6c 25 3d 3f 28 72 25 29 0d |=?(r%):l%=?(r%).| 0000f410 09 48 0a 72 73 25 3d 72 25 0d 09 49 13 72 66 25 |.H.rs%=r%..I.rf%| 0000f420 3d 72 73 25 2b 28 77 25 2a 6c 25 29 0d 09 4a 0f |=rs%+(w%*l%)..J.| 0000f430 e3 66 25 3d 72 73 25 b8 72 66 25 0d 09 4b 24 e7 |.f%=rs%.rf%..K$.| 0000f440 3f 66 25 3d 6f 6e 25 2b 50 32 4f 62 6a 65 63 74 |?f%=on%+P2Object| 0000f450 53 74 61 72 74 25 8c 66 6f 75 6e 64 25 3d b9 0d |Start%.found%=..| 0000f460 09 4c 07 ed 66 25 0d 09 4d 0b 3d 66 6f 75 6e 64 |.L..f%..M.=found| 0000f470 25 0d 09 4e 10 dd f2 50 75 74 4f 62 6a 65 63 74 |%..N...PutObject| 0000f480 73 0d 09 4f 07 ea 72 25 0d 09 50 13 f2 52 65 4c |s..O..r%..P..ReL| 0000f490 6f 61 64 52 6f 6f 6d 44 61 74 61 0d 09 51 0c e3 |oadRoomData..Q..| 0000f4a0 61 25 3d 2d 31 b8 31 0d 09 52 27 e7 61 25 3e 30 |a%=-1.1..R'.a%>0| 0000f4b0 8c 3f 28 50 52 6f 6f 6d 25 2b 32 29 3d 61 25 3a |.?(PRoom%+2)=a%:| 0000f4c0 f2 4d 61 6b 65 52 6f 6f 6d 54 61 62 6c 65 0d 09 |.MakeRoomTable..| 0000f4d0 53 18 e3 66 25 3d 30 b8 4e 6f 6f 66 50 32 4f 62 |S..f%=0.NoofP2Ob| 0000f4e0 6a 65 63 74 73 25 0d 09 54 11 e7 4f 66 6e 25 28 |jects%..T..Ofn%(| 0000f4f0 66 25 29 3d 61 25 8c 0d 09 55 0a e7 61 25 3e 30 |f%)=a%...U..a%>0| 0000f500 8c 0d 09 56 2b 3f 28 50 4f 62 6a 65 63 74 73 32 |...V+?(PObjects2| 0000f510 25 2b 66 25 29 3d 30 3a 21 28 50 50 32 44 61 74 |%+f%)=0:!(PP2Dat| 0000f520 61 25 2b 28 66 25 2a 34 29 29 3d 30 0d 09 57 19 |a%+(f%*4))=0..W.| 0000f530 72 25 3d 52 6f 6f 6d 41 64 64 25 28 4f 72 6e 25 |r%=RoomAdd%(Orn%| 0000f540 28 66 25 29 29 0d 09 58 1b 72 25 3d 72 25 2b 28 |(f%))..X.r%=r%+(| 0000f550 3f 28 72 25 29 2a 3f 28 72 25 2b 31 29 29 2b 32 |?(r%)*?(r%+1))+2| 0000f560 0d 09 59 36 f2 50 75 74 43 6f 6e 74 65 6e 74 73 |..Y6.PutContents| 0000f570 28 72 25 2c 6f 78 25 28 66 25 29 2c 6f 79 25 28 |(r%,ox%(f%),oy%(| 0000f580 66 25 29 2c 66 25 2b 50 32 4f 62 6a 65 63 74 53 |f%),f%+P2ObjectS| 0000f590 74 61 72 74 25 29 0d 09 5a 29 f2 53 65 74 4f 62 |tart%)..Z).SetOb| 0000f5a0 6a 65 63 74 44 61 74 61 28 72 25 2c 6f 78 25 28 |jectData(r%,ox%(| 0000f5b0 66 25 29 2c 6f 79 25 28 66 25 29 2c 66 25 29 0d |f%),oy%(f%),f%).| 0000f5c0 09 5b 05 cc 0d 09 5c 32 e7 61 25 3d 2d 31 8c 3f |.[....\2.a%=-1.?| 0000f5d0 28 50 4f 62 6a 65 63 74 73 32 25 2b 66 25 29 3d |(PObjects2%+f%)=| 0000f5e0 32 3a 21 28 50 50 32 44 61 74 61 25 2b 28 66 25 |2:!(PP2Data%+(f%| 0000f5f0 2a 34 29 29 3d 32 0d 09 5d 31 e7 61 25 3d 30 8c |*4))=2..]1.a%=0.| 0000f600 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b 66 25 29 |?(PObjects2%+f%)| 0000f610 3d 30 3a 21 28 50 50 32 44 61 74 61 25 2b 28 66 |=0:!(PP2Data%+(f| 0000f620 25 2a 34 29 29 3d 30 0d 09 5e 05 cd 0d 09 5f 05 |%*4))=0..^...._.| 0000f630 cd 0d 09 60 07 ed 66 25 0d 09 61 07 ed 61 25 0d |...`..f%..a..a%.| 0000f640 09 62 15 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b |.b.?(PObjects2%+| 0000f650 38 29 3d 31 0d 09 63 20 3f 28 50 52 6f 6f 6d 25 |8)=1..c ?(PRoom%| 0000f660 2b 32 29 3d 31 3a f2 4d 61 6b 65 52 6f 6f 6d 54 |+2)=1:.MakeRoomT| 0000f670 61 62 6c 65 0d 09 64 1b f2 50 6c 61 63 65 45 78 |able..d..PlaceEx| 0000f680 74 72 61 46 69 78 65 64 4f 62 6a 65 63 74 73 0d |traFixedObjects.| 0000f690 09 65 0e f2 50 75 74 50 65 6f 70 6c 65 0d 09 66 |.e..PutPeople..f| 0000f6a0 05 e1 0d 09 67 0f dd f2 50 75 74 50 65 6f 70 6c |....g...PutPeopl| 0000f6b0 65 0d 09 68 07 ea 72 25 0d 09 69 0b e3 61 25 3d |e..h..r%..i..a%=| 0000f6c0 31 b8 31 0d 09 6a 21 3f 28 50 52 6f 6f 6d 25 2b |1.1..j!?(PRoom%+| 0000f6d0 32 29 3d 61 25 3a f2 4d 61 6b 65 52 6f 6f 6d 54 |2)=a%:.MakeRoomT| 0000f6e0 61 62 6c 65 0d 09 6b 15 e3 66 25 3d 30 b8 4e 6f |able..k..f%=0.No| 0000f6f0 6f 66 50 65 6f 70 6c 65 25 0d 09 6c 11 e7 50 66 |ofPeople%..l..Pf| 0000f700 6e 25 28 66 25 29 3d 61 25 8c 0d 09 6d 1e 72 25 |n%(f%)=a%...m.r%| 0000f710 3d 52 6f 6f 6d 41 64 64 25 28 50 65 72 73 6f 6e |=RoomAdd%(Person| 0000f720 52 6e 25 28 66 25 29 29 0d 09 6e 1b 72 25 3d 72 |Rn%(f%))..n.r%=r| 0000f730 25 2b 28 3f 28 72 25 29 2a 3f 28 72 25 2b 31 29 |%+(?(r%)*?(r%+1)| 0000f740 29 2b 32 0d 09 6f 3e f2 50 75 74 43 6f 6e 74 65 |)+2..o>.PutConte| 0000f750 6e 74 73 28 72 25 2c 50 65 72 73 6f 6e 58 25 28 |nts(r%,PersonX%(| 0000f760 66 25 29 2c 50 65 72 73 6f 6e 59 25 28 66 25 29 |f%),PersonY%(f%)| 0000f770 2c 66 25 2b 50 65 72 73 6f 6e 53 74 61 72 74 25 |,f%+PersonStart%| 0000f780 29 0d 09 70 05 cd 0d 09 71 07 ed 66 25 0d 09 72 |)..p....q..f%..r| 0000f790 07 ed 61 25 0d 09 73 20 3f 28 50 52 6f 6f 6d 25 |..a%..s ?(PRoom%| 0000f7a0 2b 32 29 3d 31 3a f2 4d 61 6b 65 52 6f 6f 6d 54 |+2)=1:.MakeRoomT| 0000f7b0 61 62 6c 65 0d 09 74 05 e1 0d 09 75 11 dd f2 4f |able..t....u...O| 0000f7c0 62 6a 65 63 74 28 6f 6e 25 29 0d 09 76 09 4f 71 |bject(on%)..v.Oq| 0000f7d0 25 3d a3 0d 09 77 17 c8 99 26 30 30 30 30 30 30 |%=...w...&000000| 0000f7e0 30 36 2c 31 31 32 2c 64 62 25 0d 09 78 17 c8 99 |06,112,db%..x...| 0000f7f0 26 30 30 30 30 30 30 30 36 2c 31 31 33 2c 64 62 |&00000006,113,db| 0000f800 25 0d 09 79 41 e7 6f 6e 25 3d 32 32 84 6f 6e 25 |%..yA.on%=22.on%| 0000f810 3d 32 38 84 6f 6e 25 3d 32 39 8c 61 24 3d 22 45 |=28.on%=29.a$="E| 0000f820 78 61 6d 69 6e 65 20 61 6e 69 6d 61 6c 22 8b 61 |xamine animal".a| 0000f830 24 3d 22 45 78 61 6d 69 6e 65 20 6f 62 6a 65 63 |$="Examine objec| 0000f840 74 22 0d 09 7a 1f f2 4f 70 28 61 24 2c 22 50 69 |t"..z..Op(a$,"Pi| 0000f850 63 6b 20 75 70 20 6f 62 6a 65 63 74 22 2c 22 22 |ck up object",""| 0000f860 29 0d 09 7b 05 f5 0d 09 7c 0a f2 4d 6f 75 73 65 |)..{....|..Mouse| 0000f870 0d 09 7d 21 4c 6f 63 25 3d a4 43 6f 6e 4c 6f 63 |..}!Loc%=.ConLoc| 0000f880 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 59 25 |(MouseX%,MouseY%| 0000f890 29 0d 09 7e 0b c8 8e 4c 6f 63 25 ca 0d 09 7f 40 |)..~...Loc%....@| 0000f8a0 c9 31 3a f2 43 6f 6e 73 6f 6c 65 3a f2 45 78 61 |.1:.Console:.Exa| 0000f8b0 6d 69 6e 65 4f 62 6a 65 63 74 28 6f 6e 25 29 3a |mineObject(on%):| 0000f8c0 f2 4f 70 28 43 75 72 4f 70 61 24 2c 43 75 72 4f |.Op(CurOpa$,CurO| 0000f8d0 70 62 24 2c 43 75 72 4f 70 63 24 29 0d 09 80 1f |pb$,CurOpc$)....| 0000f8e0 c9 32 3a f2 50 69 63 6b 75 70 4f 62 6a 65 63 74 |.2:.PickupObject| 0000f8f0 28 6f 6e 25 29 3a 4f 71 25 3d b9 0d 09 81 07 c9 |(on%):Oq%=......| 0000f900 33 3a 0d 09 82 0b 7f 3a 4f 71 25 3d b9 0d 09 83 |3:.....:Oq%=....| 0000f910 05 cb 0d 09 84 0a fd 4f 71 25 3d b9 0d 09 85 0c |.......Oq%=.....| 0000f920 f2 43 6f 6e 73 6f 6c 65 0d 09 86 17 c8 99 26 30 |.Console......&0| 0000f930 30 30 30 30 30 30 36 2c 31 31 32 2c 76 62 25 0d |0000006,112,vb%.| 0000f940 09 87 05 e1 0d 09 88 11 dd f2 50 65 72 73 6f 6e |..........Person| 0000f950 28 70 6e 25 29 0d 09 89 0f ea 46 69 72 73 74 54 |(pn%).....FirstT| 0000f960 69 6d 65 25 0d 09 8a 09 50 71 25 3d a3 0d 09 8b |ime%....Pq%=....| 0000f970 11 f2 53 69 6e 67 6c 65 53 63 72 65 65 6e 0d 09 |..SingleScreen..| 0000f980 8c 19 f2 47 65 74 50 65 72 73 6f 6e 43 6f 6f 72 |...GetPersonCoor| 0000f990 64 73 28 70 6e 25 29 0d 09 8d 3c f2 50 6c 6f 74 |ds(pn%)...<.Plot| 0000f9a0 53 70 72 69 74 65 4e 61 6d 65 64 28 53 70 72 4e |SpriteNamed(SprN| 0000f9b0 6d 24 28 70 6e 25 2b 50 65 72 73 6f 6e 53 70 72 |m$(pn%+PersonSpr| 0000f9c0 69 74 65 73 25 29 2b 22 7a 22 2c 30 2c 32 36 30 |ites%)+"z",0,260| 0000f9d0 2c 30 29 0d 09 8e 0d e7 70 6e 25 3c 3e 32 34 8c |,0).....pn%<>24.| 0000f9e0 0d 09 8f a1 e7 44 6f 6f 72 4b 6e 6f 63 6b 65 64 |.....DoorKnocked| 0000f9f0 25 3c 3e 52 6f 6f 6d 4e 75 6d 62 65 72 25 80 4e |%<>RoomNumber%.N| 0000fa00 6f 4b 6e 6f 63 6b 24 28 52 6f 6f 6d 4e 75 6d 62 |oKnock$(RoomNumb| 0000fa10 65 72 25 29 3c 3e 22 22 8c 53 24 3d 4e 6f 4b 6e |er%)<>"".S$=NoKn| 0000fa20 6f 63 6b 24 28 52 6f 6f 6d 4e 75 6d 62 65 72 25 |ock$(RoomNumber%| 0000fa30 29 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c 50 |):.Speak(PerX%,P| 0000fa40 65 72 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 42 |erY%+280):.ContB| 0000fa50 6f 78 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c |ox(-1,350):.Repl| 0000fa60 61 63 65 54 65 6d 70 3a f2 44 6f 75 62 6c 65 42 |aceTemp:.DoubleB| 0000fa70 75 66 66 65 72 3a f2 46 72 65 73 68 41 6c 6c 3a |uffer:.FreshAll:| 0000fa80 e1 0d 09 90 05 cd 0d 09 91 27 53 24 3d 22 48 65 |.........'S$="He| 0000fa90 6c 6c 6f 2e 22 3a f2 53 70 65 61 6b 28 50 65 72 |llo.":.Speak(Per| 0000faa0 58 25 2c 50 65 72 59 25 2b 32 38 30 29 0d 09 92 |X%,PerY%+280)...| 0000fab0 05 f5 0d 09 93 41 f2 4f 70 28 22 54 61 6c 6b 20 |.....A.Op("Talk | 0000fac0 74 6f 20 70 65 72 73 6f 6e 22 2c 22 41 73 6b 20 |to person","Ask | 0000fad0 61 62 6f 75 74 20 6f 62 6a 65 63 74 73 22 2c 22 |about objects","| 0000fae0 41 73 6b 20 70 65 72 73 6f 6e 27 73 20 6e 61 6d |Ask person's nam| 0000faf0 65 22 29 0d 09 94 0a f2 4d 6f 75 73 65 0d 09 95 |e").....Mouse...| 0000fb00 29 e7 46 69 72 73 74 54 69 6d 65 25 8c f2 52 65 |).FirstTime%..Re| 0000fb10 70 6c 61 63 65 54 65 6d 70 3a 46 69 72 73 74 54 |placeTemp:FirstT| 0000fb20 69 6d 65 25 3d a3 0d 09 96 21 4c 6f 63 25 3d a4 |ime%=....!Loc%=.| 0000fb30 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 2c 4d |ConLoc(MouseX%,M| 0000fb40 6f 75 73 65 59 25 29 0d 09 97 0b c8 8e 4c 6f 63 |ouseY%)......Loc| 0000fb50 25 ca 0d 09 98 0f c9 31 3a f2 43 6f 6e 73 6f 6c |%......1:.Consol| 0000fb60 65 0d 09 99 19 f2 47 65 74 50 65 72 73 6f 6e 43 |e.....GetPersonC| 0000fb70 6f 6f 72 64 73 28 70 6e 25 29 0d 09 9a 17 53 24 |oords(pn%)....S$| 0000fb80 3d 50 65 72 73 6f 6e 4e 61 72 61 24 28 70 6e 25 |=PersonNara$(pn%| 0000fb90 29 0d 09 9b 2e e7 70 6e 25 3d 31 39 80 3f 50 50 |).....pn%=19.?PP| 0000fba0 32 4f 62 25 3d 38 8c 53 24 3d 22 48 6f 77 20 63 |2Ob%=8.S$="How c| 0000fbb0 61 6e 20 49 20 68 65 6c 70 20 79 6f 75 3f 22 0d |an I help you?".| 0000fbc0 09 9c 2d e7 70 6e 25 3d 31 31 80 52 6f 6f 6d 4e |..-.pn%=11.RoomN| 0000fbd0 75 6d 62 65 72 25 3c 3e 36 31 8c 53 24 3d 22 48 |umber%<>61.S$="H| 0000fbe0 65 6c 6c 6f 20 61 67 61 69 6e 2e 22 0d 09 9d 45 |ello again."...E| 0000fbf0 e7 70 6e 25 3d 34 80 a4 49 73 4f 62 6a 65 63 74 |.pn%=4..IsObject| 0000fc00 41 76 61 69 6c 61 62 6c 65 28 36 29 3d a3 8c 53 |Available(6)=..S| 0000fc10 24 3d 22 49 20 68 61 76 65 20 72 75 6e 20 6f 75 |$="I have run ou| 0000fc20 74 20 6f 66 20 76 65 67 65 74 61 62 6c 65 73 2e |t of vegetables.| 0000fc30 22 0d 09 9e 39 f2 53 70 65 61 6b 28 50 65 72 58 |"...9.Speak(PerX| 0000fc40 25 2c 50 65 72 59 25 2b 32 38 30 29 3a f2 43 6f |%,PerY%+280):.Co| 0000fc50 6e 74 42 6f 78 28 2d 31 2c 33 37 30 29 3a f2 52 |ntBox(-1,370):.R| 0000fc60 65 70 6c 61 63 65 54 65 6d 70 0d 09 9f 17 c8 8e |eplaceTemp......| 0000fc70 50 65 72 73 6f 6e 54 79 70 65 25 28 70 6e 25 29 |PersonType%(pn%)| 0000fc80 ca 0d 09 a0 07 c9 31 3a 0d 09 a1 10 f2 56 65 6e |......1:.....Ven| 0000fc90 64 6f 72 28 70 6e 25 29 0d 09 a2 07 c9 32 3a 0d |dor(pn%).....2:.| 0000fca0 09 a3 0f f2 42 75 79 65 72 28 70 6e 25 29 0d 09 |....Buyer(pn%)..| 0000fcb0 a4 05 7f 0d 09 a5 1e f2 43 68 65 63 6b 45 78 74 |........CheckExt| 0000fcc0 72 61 50 65 72 73 6f 6e 49 6e 66 6f 28 70 6e 25 |raPersonInfo(pn%| 0000fcd0 29 0d 09 a6 05 cb 0d 09 a7 1b c9 32 3a f2 41 73 |)..........2:.As| 0000fce0 6b 41 62 6f 75 74 4f 62 6a 65 63 74 28 70 6e 25 |kAboutObject(pn%| 0000fcf0 29 0d 09 a8 0f c9 33 3a f2 43 6f 6e 73 6f 6c 65 |).....3:.Console| 0000fd00 0d 09 a9 19 f2 47 65 74 50 65 72 73 6f 6e 43 6f |.....GetPersonCo| 0000fd10 6f 72 64 73 28 70 6e 25 29 0d 09 aa 5f 53 24 3d |ords(pn%)..._S$=| 0000fd20 22 4d 79 20 6e 61 6d 65 20 69 73 20 22 2b 50 65 |"My name is "+Pe| 0000fd30 72 73 6f 6e 4e 61 6d 65 24 28 70 6e 25 29 2b 22 |rsonName$(pn%)+"| 0000fd40 2e 22 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c |.":.Speak(PerX%,| 0000fd50 50 65 72 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 |PerY%+280):.Cont| 0000fd60 42 6f 78 28 2d 31 2c 33 37 30 29 3a f2 52 65 70 |Box(-1,370):.Rep| 0000fd70 6c 61 63 65 54 65 6d 70 0d 09 ab 0b 7f 3a 50 71 |laceTemp.....:Pq| 0000fd80 25 3d b9 0d 09 ac 05 cb 0d 09 ad 0a fd 50 71 25 |%=...........Pq%| 0000fd90 3d b9 0d 09 ae 0c f2 43 6f 6e 73 6f 6c 65 0d 09 |=......Console..| 0000fda0 af 19 f2 47 65 74 50 65 72 73 6f 6e 43 6f 6f 72 |...GetPersonCoor| 0000fdb0 64 73 28 70 6e 25 29 0d 09 b0 29 53 24 3d 22 47 |ds(pn%)...)S$="G| 0000fdc0 6f 6f 64 62 79 65 2e 22 3a f2 53 70 65 61 6b 28 |oodbye.":.Speak(| 0000fdd0 50 65 72 58 25 2c 50 65 72 59 25 2b 32 38 30 29 |PerX%,PerY%+280)| 0000fde0 0d 09 b1 0d f2 57 61 69 74 28 35 30 29 0d 09 b2 |.....Wait(50)...| 0000fdf0 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 09 b3 |..ReplaceTemp...| 0000fe00 17 c8 99 26 30 30 30 30 30 30 30 36 2c 31 31 32 |...&00000006,112| 0000fe10 2c 76 62 25 0d 09 b4 17 c8 99 26 30 30 30 30 30 |,vb%......&00000| 0000fe20 30 30 36 2c 31 31 33 2c 64 62 25 0d 09 b5 0d f2 |006,113,db%.....| 0000fe30 46 72 65 73 68 41 6c 6c 0d 09 b6 05 e1 0d 09 b7 |FreshAll........| 0000fe40 19 dd f2 41 73 6b 41 62 6f 75 74 4f 62 6a 65 63 |...AskAboutObjec| 0000fe50 74 28 70 6e 25 29 0d 09 b8 0a ea 41 41 4f 71 25 |t(pn%).....AAOq%| 0000fe60 0d 09 b9 0b 41 41 4f 71 25 3d a3 0d 09 ba 16 f5 |....AAOq%=......| 0000fe70 3a c8 97 58 25 2c 79 25 2c 62 25 3a fd 62 25 3d |:..X%,y%,b%:.b%=| 0000fe80 30 0d 09 bb 3d f2 43 6f 6e 73 6f 6c 65 3a 53 24 |0...=.Console:S$| 0000fe90 3d 22 50 6c 65 61 73 65 20 63 68 6f 6f 73 65 20 |="Please choose | 0000fea0 61 6e 20 6f 62 6a 65 63 74 2e 22 3a f2 54 69 6c |an object.":.Til| 0000feb0 65 28 2d 31 2c 33 35 30 2c 2d 31 2c 32 29 0d 09 |e(-1,350,-1,2)..| 0000fec0 bc 05 f5 0d 09 bd 0a f2 4d 6f 75 73 65 0d 09 be |........Mouse...| 0000fed0 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 09 bf |..ReplaceTemp...| 0000fee0 21 4c 6f 63 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f |!Loc%=.ConLoc(Mo| 0000fef0 75 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 09 |useX%,MouseY%)..| 0000ff00 c0 0b c8 8e 4c 6f 63 25 ca 0d 09 c1 0e c9 38 2c |....Loc%......8,| 0000ff10 39 2c 31 30 2c 31 31 0d 09 c2 2b 6f 6e 25 3d a4 |9,10,11...+on%=.| 0000ff20 47 65 74 4f 62 6a 65 63 74 4e 75 6d 62 65 72 46 |GetObjectNumberF| 0000ff30 72 6f 6d 43 6f 6e 73 6f 6c 65 28 4c 6f 63 25 2d |romConsole(Loc%-| 0000ff40 37 29 0d 09 c3 0e e7 6f 6e 25 3c 3e 39 39 39 8c |7).....on%<>999.| 0000ff50 0d 09 c4 20 f2 47 65 74 49 6e 66 6f 41 62 6f 75 |... .GetInfoAbou| 0000ff60 74 4f 62 6a 65 63 74 28 70 6e 25 2c 6f 6e 25 29 |tObject(pn%,on%)| 0000ff70 0d 09 c5 05 cd 0d 09 c6 0b 41 41 4f 71 25 3d b9 |.........AAOq%=.| 0000ff80 0d 09 c7 0c 7f 41 41 4f 71 25 3d b9 0d 09 c8 05 |.....AAOq%=.....| 0000ff90 cb 0d 09 c9 0a fd 41 41 4f 71 25 0d 09 ca 05 e1 |......AAOq%.....| 0000ffa0 0d 09 cb 1a dd f2 47 65 74 50 65 72 73 6f 6e 43 |......GetPersonC| 0000ffb0 6f 6f 72 64 73 28 70 6e 25 29 0d 09 cc 3c 50 65 |oords(pn%)...<Pe| 0000ffc0 72 58 25 3d a4 47 65 74 58 43 6f 6f 72 64 46 72 |rX%=.GetXCoordFr| 0000ffd0 6f 6d 47 72 69 64 4c 6f 63 28 50 65 72 73 6f 6e |omGridLoc(Person| 0000ffe0 58 25 28 70 6e 25 29 2c 50 65 72 73 6f 6e 59 25 |X%(pn%),PersonY%| 0000fff0 28 70 6e 25 29 29 0d 09 cd 3c 50 65 72 59 25 3d |(pn%))...<PerY%=| 00010000 a4 47 65 74 59 43 6f 6f 72 64 46 72 6f 6d 47 72 |.GetYCoordFromGr| 00010010 69 64 4c 6f 63 28 50 65 72 73 6f 6e 58 25 28 70 |idLoc(PersonX%(p| 00010020 6e 25 29 2c 50 65 72 73 6f 6e 59 25 28 70 6e 25 |n%),PersonY%(pn%| 00010030 29 29 0d 09 ce 0d 50 65 72 58 25 3d 31 36 30 0d |))....PerX%=160.| 00010040 09 cf 0d 50 65 72 59 25 3d 33 30 30 0d 09 d0 05 |...PerY%=300....| 00010050 e1 0d 09 d1 15 dd f2 47 65 74 50 6c 61 79 65 72 |.......GetPlayer| 00010060 43 6f 6f 72 64 73 0d 09 d2 27 50 73 78 25 3d a4 |Coords...'Psx%=.| 00010070 47 65 74 58 43 6f 6f 72 64 46 72 6f 6d 47 72 69 |GetXCoordFromGri| 00010080 64 4c 6f 63 28 70 78 25 2c 70 79 25 29 0d 09 d3 |dLoc(px%,py%)...| 00010090 27 50 73 79 25 3d a4 47 65 74 59 43 6f 6f 72 64 |'Psy%=.GetYCoord| 000100a0 46 72 6f 6d 47 72 69 64 4c 6f 63 28 70 78 25 2c |FromGridLoc(px%,| 000100b0 70 79 25 29 0d 09 d4 05 e1 0d 09 d5 23 dd a4 47 |py%)........#..G| 000100c0 65 74 58 43 6f 6f 72 64 46 72 6f 6d 47 72 69 64 |etXCoordFromGrid| 000100d0 4c 6f 63 28 67 78 25 2c 67 79 25 29 0d 09 d6 1a |Loc(gx%,gy%)....| 000100e0 3d 36 30 30 2d 28 67 79 25 2a 36 34 29 2b 28 67 |=600-(gy%*64)+(g| 000100f0 78 25 2a 36 34 29 0d 09 d7 23 dd a4 47 65 74 59 |x%*64)...#..GetY| 00010100 43 6f 6f 72 64 46 72 6f 6d 47 72 69 64 4c 6f 63 |CoordFromGridLoc| 00010110 28 67 78 25 2c 67 79 25 29 0d 09 d8 1a 3d 37 35 |(gx%,gy%)....=75| 00010120 32 2d 28 67 79 25 2a 33 32 29 2d 28 67 78 25 2a |2-(gy%*32)-(gx%*| 00010130 33 32 29 0d 09 d9 12 dd f2 4f 62 6a 65 63 74 32 |32)......Object2| 00010140 28 6f 6e 25 29 0d 09 da 2a 6f 6e 25 3d a4 47 65 |(on%)...*on%=.Ge| 00010150 74 4f 62 6a 65 63 74 4e 75 6d 62 65 72 46 72 6f |tObjectNumberFro| 00010160 6d 43 6f 6e 73 6f 6c 65 28 6f 6e 25 2b 31 29 0d |mConsole(on%+1).| 00010170 09 db 0e e7 6f 6e 25 3d 39 39 39 8c e1 0d 09 dc |....on%=999.....| 00010180 09 4f 71 25 3d a3 0d 09 dd 17 c8 99 26 30 30 30 |.Oq%=.......&000| 00010190 30 30 30 30 36 2c 31 31 32 2c 64 62 25 0d 09 de |00006,112,db%...| 000101a0 17 c8 99 26 30 30 30 30 30 30 30 36 2c 31 31 33 |...&00000006,113| 000101b0 2c 64 62 25 0d 09 df 3c f2 4f 70 28 22 45 78 61 |,db%...<.Op("Exa| 000101c0 6d 69 6e 65 20 6f 62 6a 65 63 74 22 2c 22 47 69 |mine object","Gi| 000101d0 76 65 20 6f 72 20 55 73 65 20 6f 62 6a 65 63 74 |ve or Use object| 000101e0 22 2c 22 44 72 6f 70 20 6f 62 6a 65 63 74 22 29 |","Drop object")| 000101f0 0d 09 e0 05 f5 0d 09 e1 0a f2 4d 6f 75 73 65 0d |..........Mouse.| 00010200 09 e2 21 4c 6f 63 25 3d a4 43 6f 6e 4c 6f 63 28 |..!Loc%=.ConLoc(| 00010210 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 |MouseX%,MouseY%)| 00010220 0d 09 e3 0b c8 8e 4c 6f 63 25 ca 0d 09 e4 40 c9 |......Loc%....@.| 00010230 31 3a f2 43 6f 6e 73 6f 6c 65 3a f2 45 78 61 6d |1:.Console:.Exam| 00010240 69 6e 65 4f 62 6a 65 63 74 28 6f 6e 25 29 3a f2 |ineObject(on%):.| 00010250 4f 70 28 43 75 72 4f 70 61 24 2c 43 75 72 4f 70 |Op(CurOpa$,CurOp| 00010260 62 24 2c 43 75 72 4f 70 63 24 29 0d 09 e5 1c c9 |b$,CurOpc$).....| 00010270 32 3a f2 55 73 65 4f 62 6a 65 63 74 28 6f 6e 25 |2:.UseObject(on%| 00010280 29 3a 4f 71 25 3d b9 0d 09 e6 1d c9 33 3a f2 44 |):Oq%=......3:.D| 00010290 72 6f 70 4f 62 6a 65 63 74 28 6f 6e 25 29 3a 4f |ropObject(on%):O| 000102a0 71 25 3d b9 0d 09 e7 0b 7f 3a 4f 71 25 3d b9 0d |q%=......:Oq%=..| 000102b0 09 e8 05 cb 0d 09 e9 0a fd 4f 71 25 3d b9 0d 09 |.........Oq%=...| 000102c0 ea 0c f2 43 6f 6e 73 6f 6c 65 0d 09 eb 17 c8 99 |...Console......| 000102d0 26 30 30 30 30 30 30 30 36 2c 31 31 32 2c 76 62 |&00000006,112,vb| 000102e0 25 0d 09 ec 0d f2 46 72 65 73 68 41 6c 6c 0d 09 |%.....FreshAll..| 000102f0 ed 05 e1 0d 09 ee 14 dd f2 55 73 65 4f 62 6a 65 |.........UseObje| 00010300 63 74 28 6f 6e 25 29 0d 09 ef 10 ea 4f 62 6a 65 |ct(on%).....Obje| 00010310 63 74 55 73 65 64 25 0d 09 f0 11 4f 62 6a 65 63 |ctUsed%....Objec| 00010320 74 55 73 65 64 25 3d a3 0d 09 f1 0a c8 8e 6f 6e |tUsed%=.......on| 00010330 25 ca 0d 09 f2 7f c9 32 3a e7 52 6f 6f 6d 4e 75 |%......2:.RoomNu| 00010340 6d 62 65 72 25 3d 32 36 80 3f 28 50 52 6f 6f 6d |mber%=26.?(PRoom| 00010350 25 2b 32 29 3d 31 8c f2 47 69 76 65 4c 6f 6f 6b |%+2)=1..GiveLook| 00010360 49 6e 66 6f 28 22 59 6f 75 20 67 69 76 65 20 74 |Info("You give t| 00010370 68 65 20 73 77 6f 72 64 20 74 6f 20 74 68 65 20 |he sword to the | 00010380 67 75 61 72 64 2e 22 29 3a f2 53 65 74 46 6c 61 |guard."):.SetFla| 00010390 67 28 33 29 3a f2 54 61 6b 65 4f 62 6a 65 63 74 |g(3):.TakeObject| 000103a0 28 32 29 3a 4f 62 6a 65 63 74 55 73 65 64 25 3d |(2):ObjectUsed%=| 000103b0 b9 0d 09 f3 7b e7 52 6f 6f 6d 4e 75 6d 62 65 72 |....{.RoomNumber| 000103c0 25 3d 37 32 80 3f 28 50 52 6f 6f 6d 25 2b 32 29 |%=72.?(PRoom%+2)| 000103d0 3d 31 8c f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f |=1..GiveLookInfo| 000103e0 28 22 59 6f 75 20 67 69 76 65 20 74 68 65 20 73 |("You give the s| 000103f0 77 6f 72 64 20 74 6f 20 74 68 65 20 4b 69 6e 67 |word to the King| 00010400 2e 22 29 3a f2 53 65 74 46 6c 61 67 28 33 29 3a |."):.SetFlag(3):| 00010410 f2 54 61 6b 65 4f 62 6a 65 63 74 28 32 29 3a 4f |.TakeObject(2):O| 00010420 62 6a 65 63 74 55 73 65 64 25 3d b9 0d 09 f4 78 |bjectUsed%=....x| 00010430 c9 35 3a e7 52 6f 6f 6d 4e 75 6d 62 65 72 25 3d |.5:.RoomNumber%=| 00010440 36 33 80 3f 28 50 52 6f 6f 6d 25 2b 32 29 3d 31 |63.?(PRoom%+2)=1| 00010450 8c f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 |..GiveLookInfo("| 00010460 59 6f 75 20 67 69 76 65 20 74 68 65 20 74 6f 79 |You give the toy| 00010470 20 73 77 6f 72 64 20 74 6f 20 54 68 6f 72 6b 65 | sword to Thorke| 00010480 6c 2e 22 29 3a f2 44 69 73 63 61 72 64 4f 62 6a |l."):.DiscardObj| 00010490 65 63 74 28 35 29 3a 4f 62 6a 65 63 74 55 73 65 |ect(5):ObjectUse| 000104a0 64 25 3d b9 0d 09 f5 83 c9 31 30 3a e7 52 6f 6f |d%=......10:.Roo| 000104b0 6d 4e 75 6d 62 65 72 25 3d 37 80 3f 28 50 52 6f |mNumber%=7.?(PRo| 000104c0 6f 6d 25 2b 32 29 3d 31 8c f2 47 69 76 65 4c 6f |om%+2)=1..GiveLo| 000104d0 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 67 69 76 65 |okInfo("You give| 000104e0 20 74 68 65 20 69 72 6f 6e 20 62 61 72 20 74 6f | the iron bar to| 000104f0 20 74 68 65 20 73 6d 69 74 68 2e 22 29 3a f2 53 | the smith."):.S| 00010500 65 74 46 6c 61 67 28 39 29 3a f2 54 61 6b 65 4f |etFlag(9):.TakeO| 00010510 62 6a 65 63 74 28 31 30 29 3a 4f 62 6a 65 63 74 |bject(10):Object| 00010520 55 73 65 64 25 3d b9 0d 09 f6 70 c9 32 30 3a e7 |Used%=....p.20:.| 00010530 52 6f 6f 6d 4e 75 6d 62 65 72 25 3d 34 8c f2 47 |RoomNumber%=4..G| 00010540 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 |iveLookInfo("You| 00010550 20 67 69 76 65 20 74 68 65 20 73 74 72 69 6e 67 | give the string| 00010560 20 74 6f 20 47 69 73 6c 61 2e 22 29 3a f2 54 61 | to Gisla."):.Ta| 00010570 6b 65 4f 62 6a 65 63 74 28 32 30 29 3a f2 53 65 |keObject(20):.Se| 00010580 74 46 6c 61 67 28 32 35 29 3a 4f 62 6a 65 63 74 |tFlag(25):Object| 00010590 55 73 65 64 25 3d b9 0d 09 f7 14 e7 52 6f 6f 6d |Used%=......Room| 000105a0 4e 75 6d 62 65 72 25 3c 3e 34 8c 0d 09 f8 b1 e7 |Number%<>4......| 000105b0 a4 49 73 4f 62 6a 65 63 74 48 65 6c 64 28 31 39 |.IsObjectHeld(19| 000105c0 29 80 a4 49 73 4f 62 6a 65 63 74 48 65 6c 64 28 |)..IsObjectHeld(| 000105d0 32 30 29 80 a4 49 73 4f 62 6a 65 63 74 48 65 6c |20)..IsObjectHel| 000105e0 64 28 32 31 29 8c f2 47 69 76 65 4c 6f 6f 6b 49 |d(21)..GiveLookI| 000105f0 6e 66 6f 28 22 59 6f 75 20 6d 61 6b 65 20 61 20 |nfo("You make a | 00010600 66 69 73 68 69 6e 67 20 72 6f 64 2e 22 29 3a f2 |fishing rod."):.| 00010610 54 61 6b 65 4f 62 6a 65 63 74 28 31 39 29 3a f2 |TakeObject(19):.| 00010620 54 61 6b 65 4f 62 6a 65 63 74 28 32 30 29 3a f2 |TakeObject(20):.| 00010630 54 61 6b 65 4f 62 6a 65 63 74 28 32 31 29 3a f2 |TakeObject(21):.| 00010640 47 69 76 65 4f 62 6a 65 63 74 28 32 37 29 3a 4f |GiveObject(27):O| 00010650 62 6a 65 63 74 55 73 65 64 25 3d b9 0d 09 f9 05 |bjectUsed%=.....| 00010660 cd 0d 09 fa 25 c9 39 3a e7 52 6f 6f 6d 4e 75 6d |....%.9:.RoomNum| 00010670 62 65 72 25 3d 33 35 80 3f 28 50 52 6f 6f 6d 25 |ber%=35.?(PRoom%| 00010680 2b 32 29 3d 31 8c 0d 09 fb 4c f2 47 69 76 65 4c |+2)=1....L.GiveL| 00010690 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 75 6e 6c |ookInfo("You unl| 000106a0 6f 63 6b 20 74 68 65 20 64 6f 6f 72 20 74 6f 20 |ock the door to | 000106b0 74 68 65 20 73 6d 69 74 68 27 73 20 73 74 6f 72 |the smith's stor| 000106c0 65 2e 22 29 3a 4f 62 6a 65 63 74 55 73 65 64 25 |e."):ObjectUsed%| 000106d0 3d b9 0d 09 fc 1f f2 50 75 74 43 6f 6e 74 65 6e |=......PutConten| 000106e0 74 73 42 61 63 6b 28 33 35 2c 30 2c 31 2c 31 38 |tsBack(35,0,1,18| 000106f0 29 0d 09 fd 13 f2 43 68 61 6e 67 65 52 6f 6f 6d |).....ChangeRoom| 00010700 28 33 35 29 0d 09 fe 05 cd 0d 09 ff 22 e7 52 6f |(35)........".Ro| 00010710 6f 6d 4e 75 6d 62 65 72 25 3d 33 37 80 3f 28 50 |omNumber%=37.?(P| 00010720 52 6f 6f 6d 25 2b 32 29 3d 31 8c 0d 0a 00 4c f2 |Room%+2)=1....L.| 00010730 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 59 6f |GiveLookInfo("Yo| 00010740 75 20 75 6e 6c 6f 63 6b 20 74 68 65 20 64 6f 6f |u unlock the doo| 00010750 72 20 74 6f 20 74 68 65 20 73 6d 69 74 68 27 73 |r to the smith's| 00010760 20 73 74 6f 72 65 2e 22 29 3a 4f 62 6a 65 63 74 | store."):Object| 00010770 55 73 65 64 25 3d b9 0d 0a 01 1f f2 50 75 74 43 |Used%=......PutC| 00010780 6f 6e 74 65 6e 74 73 28 52 6f 6f 6d 32 25 2c 36 |ontents(Room2%,6| 00010790 2c 32 2c 32 35 29 0d 0a 02 05 cd 0d 0a 03 80 c9 |,2,25)..........| 000107a0 31 32 3a e7 52 6f 6f 6d 4e 75 6d 62 65 72 25 3d |12:.RoomNumber%=| 000107b0 35 31 80 3f 28 50 52 6f 6f 6d 25 2b 32 29 3d 31 |51.?(PRoom%+2)=1| 000107c0 8c f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 |..GiveLookInfo("| 000107d0 59 6f 75 20 67 69 76 65 20 74 68 65 20 68 61 79 |You give the hay| 000107e0 20 74 6f 20 74 68 65 20 73 68 65 65 70 2e 22 29 | to the sheep.")| 000107f0 3a f2 53 65 74 46 6c 61 67 28 31 33 29 3a f2 54 |:.SetFlag(13):.T| 00010800 61 6b 65 4f 62 6a 65 63 74 28 31 32 29 3a 4f 62 |akeObject(12):Ob| 00010810 6a 65 63 74 55 73 65 64 25 3d b9 0d 0a 04 79 c9 |jectUsed%=....y.| 00010820 37 3a e7 52 6f 6f 6d 4e 75 6d 62 65 72 25 3d 34 |7:.RoomNumber%=4| 00010830 31 80 3f 28 50 52 6f 6f 6d 25 2b 32 29 3d 31 8c |1.?(PRoom%+2)=1.| 00010840 f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 59 |.GiveLookInfo("Y| 00010850 6f 75 20 67 69 76 65 20 74 68 65 20 62 6f 77 6c |ou give the bowl| 00010860 20 74 6f 20 74 68 65 20 6c 6f 63 6b 73 6d 69 74 | to the locksmit| 00010870 68 2e 22 29 3a f2 44 69 73 63 61 72 64 4f 62 6a |h."):.DiscardObj| 00010880 65 63 74 28 37 29 3a 4f 62 6a 65 63 74 55 73 65 |ect(7):ObjectUse| 00010890 64 25 3d b9 0d 0a 05 82 c9 31 36 3a e7 52 6f 6f |d%=......16:.Roo| 000108a0 6d 4e 75 6d 62 65 72 25 3d 37 33 80 3f 28 50 52 |mNumber%=73.?(PR| 000108b0 6f 6f 6d 25 2b 32 29 3d 31 8c f2 47 69 76 65 4c |oom%+2)=1..GiveL| 000108c0 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 67 69 76 |ookInfo("You giv| 000108d0 65 20 74 68 65 20 62 6f 6f 6b 73 20 74 6f 20 74 |e the books to t| 000108e0 68 65 20 74 61 6e 6e 65 72 2e 22 29 3a f2 53 65 |he tanner."):.Se| 000108f0 74 46 6c 61 67 28 32 30 29 3a f2 54 61 6b 65 4f |tFlag(20):.TakeO| 00010900 62 6a 65 63 74 28 31 36 29 4f 62 6a 65 63 74 55 |bject(16)ObjectU| 00010910 73 65 64 25 3d b9 0d 0a 06 b8 c9 31 39 2c 32 31 |sed%=......19,21| 00010920 3a e7 a4 49 73 4f 62 6a 65 63 74 48 65 6c 64 28 |:..IsObjectHeld(| 00010930 31 39 29 80 a4 49 73 4f 62 6a 65 63 74 48 65 6c |19)..IsObjectHel| 00010940 64 28 32 30 29 80 a4 49 73 4f 62 6a 65 63 74 48 |d(20)..IsObjectH| 00010950 65 6c 64 28 32 31 29 8c f2 47 69 76 65 4c 6f 6f |eld(21)..GiveLoo| 00010960 6b 49 6e 66 6f 28 22 59 6f 75 20 6d 61 6b 65 20 |kInfo("You make | 00010970 61 20 66 69 73 68 69 6e 67 20 72 6f 64 2e 22 29 |a fishing rod.")| 00010980 3a f2 54 61 6b 65 4f 62 6a 65 63 74 28 31 39 29 |:.TakeObject(19)| 00010990 3a f2 54 61 6b 65 4f 62 6a 65 63 74 28 32 30 29 |:.TakeObject(20)| 000109a0 3a f2 54 61 6b 65 4f 62 6a 65 63 74 28 32 31 29 |:.TakeObject(21)| 000109b0 3a f2 47 69 76 65 4f 62 6a 65 63 74 28 32 37 29 |:.GiveObject(27)| 000109c0 3a 4f 62 6a 65 63 74 55 73 65 64 25 3d b9 0d 0a |:ObjectUsed%=...| 000109d0 07 27 c9 32 37 3a e7 52 6f 6f 6d 4e 75 6d 62 65 |.'.27:.RoomNumbe| 000109e0 72 25 3d 31 34 36 80 3f 28 50 52 6f 6f 6d 25 2b |r%=146.?(PRoom%+| 000109f0 32 29 3d 31 8c 0d 0a 08 38 f2 47 69 76 65 4c 6f |2)=1....8.GiveLo| 00010a00 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 66 69 73 68 |okInfo("You fish| 00010a10 20 69 6e 20 74 68 65 20 4f 75 73 65 2e 22 29 3a | in the Ouse."):| 00010a20 4f 62 6a 65 63 74 55 73 65 64 25 3d b9 0d 0a 09 |ObjectUsed%=....| 00010a30 29 72 6e 64 25 3d b3 28 31 30 29 3a e7 4e 6f 6f |)rnd%=.(10):.Noo| 00010a40 66 54 69 6d 65 73 46 69 73 68 65 64 25 3e 35 8c |fTimesFished%>5.| 00010a50 72 6e 64 25 3d 39 0d 0a 0a 27 4e 6f 6f 66 54 69 |rnd%=9...'NoofTi| 00010a60 6d 65 73 46 69 73 68 65 64 25 3d 4e 6f 6f 66 54 |mesFished%=NoofT| 00010a70 69 6d 65 73 46 69 73 68 65 64 25 2b 31 0d 0a 0b |imesFished%+1...| 00010a80 24 e7 a4 49 73 4f 62 6a 65 63 74 41 76 61 69 6c |$..IsObjectAvail| 00010a90 61 62 6c 65 28 32 35 29 80 72 6e 64 25 3e 3d 38 |able(25).rnd%>=8| 00010aa0 8c 0d 0a 0c 39 f2 47 69 76 65 4c 6f 6f 6b 49 6e |....9.GiveLookIn| 00010ab0 66 6f 28 22 59 6f 75 20 63 61 74 63 68 20 73 6f |fo("You catch so| 00010ac0 6d 65 20 66 69 73 68 2e 22 29 3a f2 47 69 76 65 |me fish."):.Give| 00010ad0 4f 62 6a 65 63 74 28 32 35 29 0d 0a 0d 55 67 25 |Object(25)...Ug%| 00010ae0 3d a4 47 65 74 43 6f 6e 74 65 6e 74 73 32 28 36 |=.GetContents2(6| 00010af0 31 2c 32 2c 33 29 3a e7 67 25 3c 3e 30 8c f2 50 |1,2,3):.g%<>0..P| 00010b00 75 74 43 6f 6e 74 65 6e 74 73 32 28 31 31 31 2c |utContents2(111,| 00010b10 35 2c 33 2c 67 25 29 3a f2 50 75 74 43 6f 6e 74 |5,3,g%):.PutCont| 00010b20 65 6e 74 73 32 28 36 31 2c 32 2c 33 2c 30 29 0d |ents2(61,2,3,0).| 00010b30 0a 0e 55 f2 50 75 74 43 6f 6e 74 65 6e 74 73 32 |..U.PutContents2| 00010b40 28 31 31 31 2c 35 2c 32 2c 32 32 2b 50 32 4f 62 |(111,5,2,22+P2Ob| 00010b50 6a 65 63 74 53 74 61 72 74 25 29 3a f2 50 75 74 |jectStart%):.Put| 00010b60 43 6f 6e 74 65 6e 74 73 32 28 31 31 31 2c 35 2c |Contents2(111,5,| 00010b70 31 2c 32 33 2b 50 32 4f 62 6a 65 63 74 53 74 61 |1,23+P2ObjectSta| 00010b80 72 74 25 29 0d 0a 0f 16 4e 6f 6f 66 54 69 6d 65 |rt%)....NoofTime| 00010b90 73 46 69 73 68 65 64 25 3d 30 0d 0a 10 05 cd 0d |sFished%=0......| 00010ba0 0a 11 05 cd 0d 0a 12 74 c9 32 35 3a e7 52 6f 6f |.......t.25:.Roo| 00010bb0 6d 4e 75 6d 62 65 72 25 3d 31 31 31 80 3f 28 50 |mNumber%=111.?(P| 00010bc0 52 6f 6f 6d 25 2b 32 29 3d 31 8c f2 47 69 76 65 |Room%+2)=1..Give| 00010bd0 4c 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 74 72 |LookInfo("You tr| 00010be0 79 20 74 6f 20 67 69 76 65 20 74 68 65 20 66 69 |y to give the fi| 00010bf0 73 68 20 74 6f 20 74 68 65 20 6d 61 72 6b 65 74 |sh to the market| 00010c00 20 6b 65 65 70 65 72 2e 22 29 3a 4f 62 6a 65 63 | keeper."):Objec| 00010c10 74 55 73 65 64 25 3d b9 0d 0a 13 21 e7 52 6f 6f |tUsed%=....!.Roo| 00010c20 6d 4e 75 6d 62 65 72 25 3d 34 80 3f 28 50 52 6f |mNumber%=4.?(PRo| 00010c30 6f 6d 25 2b 32 29 3d 31 8c 0d 0a 14 5a f2 47 69 |om%+2)=1....Z.Gi| 00010c40 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 |veLookInfo("You | 00010c50 67 69 76 65 20 74 68 65 20 66 69 73 68 20 74 6f |give the fish to| 00010c60 20 45 64 64 61 2e 22 29 3a f2 54 61 6b 65 4f 62 | Edda."):.TakeOb| 00010c70 6a 65 63 74 28 32 35 29 3a f2 53 65 74 46 6c 61 |ject(25):.SetFla| 00010c80 67 28 32 37 29 3a 4f 62 6a 65 63 74 55 73 65 64 |g(27):ObjectUsed| 00010c90 25 3d b9 0d 0a 15 57 67 25 3d a4 47 65 74 43 6f |%=....Wg%=.GetCo| 00010ca0 6e 74 65 6e 74 73 32 28 31 31 31 2c 35 2c 33 29 |ntents2(111,5,3)| 00010cb0 3a e7 67 25 3c 3e 30 8c f2 50 75 74 43 6f 6e 74 |:.g%<>0..PutCont| 00010cc0 65 6e 74 73 32 28 31 35 33 2c 31 2c 33 2c 67 25 |ents2(153,1,3,g%| 00010cd0 29 3a f2 50 75 74 43 6f 6e 74 65 6e 74 73 32 28 |):.PutContents2(| 00010ce0 31 31 31 2c 35 2c 33 2c 30 29 0d 0a 16 2c f2 50 |111,5,3,0)...,.P| 00010cf0 75 74 43 6f 6e 74 65 6e 74 73 32 28 31 35 33 2c |utContents2(153,| 00010d00 32 2c 33 2c 32 34 2b 50 32 4f 62 6a 65 63 74 53 |2,3,24+P2ObjectS| 00010d10 74 61 72 74 25 29 0d 0a 17 35 f2 50 75 74 43 6f |tart%)...5.PutCo| 00010d20 6e 74 65 6e 74 73 32 28 31 31 31 2c 35 2c 32 2c |ntents2(111,5,2,| 00010d30 30 29 3a f2 50 75 74 43 6f 6e 74 65 6e 74 73 32 |0):.PutContents2| 00010d40 28 31 31 31 2c 35 2c 31 2c 30 29 0d 0a 18 55 f2 |(111,5,1,0)...U.| 00010d50 50 75 74 43 6f 6e 74 65 6e 74 73 32 28 31 35 33 |PutContents2(153| 00010d60 2c 31 2c 32 2c 32 32 2b 50 32 4f 62 6a 65 63 74 |,1,2,22+P2Object| 00010d70 53 74 61 72 74 25 29 3a f2 50 75 74 43 6f 6e 74 |Start%):.PutCont| 00010d80 65 6e 74 73 32 28 31 35 33 2c 31 2c 31 2c 32 33 |ents2(153,1,1,23| 00010d90 2b 50 32 4f 62 6a 65 63 74 53 74 61 72 74 25 29 |+P2ObjectStart%)| 00010da0 0d 0a 19 05 cd 0d 0a 1a 05 cb 0d 0a 1b 4d e7 ac |.............M..| 00010db0 4f 62 6a 65 63 74 55 73 65 64 25 8c f2 47 69 76 |ObjectUsed%..Giv| 00010dc0 65 4c 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 63 |eLookInfo("You c| 00010dd0 61 6e 27 74 20 75 73 65 20 6f 72 20 67 69 76 65 |an't use or give| 00010de0 20 74 68 61 74 20 74 6f 20 61 6e 79 6f 6e 65 20 | that to anyone | 00010df0 68 65 72 65 2e 22 29 0d 0a 1c 05 e1 0d 0a 1d 15 |here.").........| 00010e00 dd f2 44 72 6f 70 4f 62 6a 65 63 74 28 6f 6e 25 |..DropObject(on%| 00010e10 29 0d 0a 1e 0a ea 78 25 2c 79 25 0d 0a 1f 1f 78 |).....x%,y%....x| 00010e20 25 3d 30 3a 79 25 3d 30 3a 3f 50 78 25 3d 70 78 |%=0:y%=0:?Px%=px| 00010e30 25 3a 3f 50 79 25 3d 70 79 25 0d 0a 20 1d 77 25 |%:?Py%=py%.. .w%| 00010e40 3d 3f 28 52 41 64 64 25 29 3a 6c 25 3d 3f 28 52 |=?(RAdd%):l%=?(R| 00010e50 41 64 64 25 2b 31 29 0d 0a 21 29 63 25 3d a4 47 |Add%+1)..!)c%=.G| 00010e60 65 74 43 6f 6e 74 65 6e 74 73 28 52 6f 6f 6d 32 |etContents(Room2| 00010e70 25 2c 28 3f 50 78 25 29 2d 31 2c 3f 50 79 25 29 |%,(?Px%)-1,?Py%)| 00010e80 0d 0a 22 28 e7 63 25 3d 30 80 28 3f 50 78 25 29 |.."(.c%=0.(?Px%)| 00010e90 2d 31 3e 30 8c 78 25 3d 28 3f 50 78 25 29 2d 31 |-1>0.x%=(?Px%)-1| 00010ea0 3a 79 25 3d 3f 50 79 25 0d 0a 23 29 63 25 3d a4 |:y%=?Py%..#)c%=.| 00010eb0 47 65 74 43 6f 6e 74 65 6e 74 73 28 52 6f 6f 6d |GetContents(Room| 00010ec0 32 25 2c 3f 50 78 25 2c 28 3f 50 79 25 29 2d 31 |2%,?Px%,(?Py%)-1| 00010ed0 29 0d 0a 24 28 e7 63 25 3d 30 80 28 3f 50 79 25 |)..$(.c%=0.(?Py%| 00010ee0 29 2d 31 3e 30 8c 78 25 3d 3f 50 78 25 3a 79 25 |)-1>0.x%=?Px%:y%| 00010ef0 3d 28 3f 50 79 25 29 2d 31 0d 0a 25 29 63 25 3d |=(?Py%)-1..%)c%=| 00010f00 a4 47 65 74 43 6f 6e 74 65 6e 74 73 28 52 6f 6f |.GetContents(Roo| 00010f10 6d 32 25 2c 28 3f 50 78 25 29 2b 31 2c 3f 50 79 |m2%,(?Px%)+1,?Py| 00010f20 25 29 0d 0a 26 29 e7 63 25 3d 30 80 28 3f 50 78 |%)..&).c%=0.(?Px| 00010f30 25 29 2b 31 3c 77 25 8c 78 25 3d 28 3f 50 78 25 |%)+1<w%.x%=(?Px%| 00010f40 29 2b 31 3a 79 25 3d 3f 50 79 25 0d 0a 27 29 63 |)+1:y%=?Py%..')c| 00010f50 25 3d a4 47 65 74 43 6f 6e 74 65 6e 74 73 28 52 |%=.GetContents(R| 00010f60 6f 6f 6d 32 25 2c 3f 50 78 25 2c 28 3f 50 79 25 |oom2%,?Px%,(?Py%| 00010f70 29 2b 31 29 0d 0a 28 29 e7 63 25 3d 30 80 28 3f |)+1)..().c%=0.(?| 00010f80 50 79 25 29 2b 31 3c 6c 25 8c 78 25 3d 3f 50 78 |Py%)+1<l%.x%=?Px| 00010f90 25 3a 79 25 3d 28 3f 50 79 25 29 2b 31 0d 0a 29 |%:y%=(?Py%)+1..)| 00010fa0 a5 e7 78 25 3c 3e 30 80 79 25 3c 3e 30 8c f2 50 |..x%<>0.y%<>0..P| 00010fb0 75 74 43 6f 6e 74 65 6e 74 73 28 52 6f 6f 6d 32 |utContents(Room2| 00010fc0 25 2c 78 25 2c 79 25 2c 50 32 4f 62 6a 65 63 74 |%,x%,y%,P2Object| 00010fd0 53 74 61 72 74 25 2b 6f 6e 25 29 3a 3f 28 50 4f |Start%+on%):?(PO| 00010fe0 62 6a 65 63 74 73 32 25 2b 6f 6e 25 29 3d 30 3a |bjects2%+on%)=0:| 00010ff0 c8 99 26 30 30 30 30 30 30 30 36 2c 31 31 32 2c |..&00000006,112,| 00011000 76 62 25 3a f2 46 72 65 73 68 41 6c 6c 3a c8 99 |vb%:.FreshAll:..| 00011010 26 30 30 30 30 30 30 30 36 2c 31 31 32 2c 64 62 |&00000006,112,db| 00011020 25 3a f2 53 65 74 4f 62 6a 65 63 74 44 61 74 61 |%:.SetObjectData| 00011030 28 52 6f 6f 6d 32 25 2c 78 25 2c 79 25 2c 6f 6e |(Room2%,x%,y%,on| 00011040 25 29 0d 0a 2a 05 e1 0d 0a 2b 25 dd a4 47 65 74 |%)..*....+%..Get| 00011050 4f 62 6a 65 63 74 4e 75 6d 62 65 72 46 72 6f 6d |ObjectNumberFrom| 00011060 43 6f 6e 73 6f 6c 65 28 6f 6e 25 29 0d 0a 2c 0d |Console(on%)..,.| 00011070 ea 6f 25 2c 63 25 2c 66 25 0d 0a 2d 0f 6f 25 3d |.o%,c%,f%..-.o%=| 00011080 39 39 39 3a 63 25 3d 30 0d 0a 2e 1a e3 66 25 3d |999:c%=0.....f%=| 00011090 30 b8 4e 6f 6f 66 50 32 4f 62 6a 65 63 74 73 25 |0.NoofP2Objects%| 000110a0 2d 31 0d 0a 2f 27 e7 3f 28 50 4f 62 6a 65 63 74 |-1../'.?(PObject| 000110b0 73 32 25 2b 66 25 29 3d 31 80 63 25 3c 3e 6f 6e |s2%+f%)=1.c%<>on| 000110c0 25 8c 63 25 3d 63 25 2b 31 0d 0a 30 2c e7 3f 28 |%.c%=c%+1..0,.?(| 000110d0 50 4f 62 6a 65 63 74 73 32 25 2b 66 25 29 3d 31 |PObjects2%+f%)=1| 000110e0 80 63 25 3d 6f 6e 25 8c 6f 25 3d 66 25 3a 63 25 |.c%=on%.o%=f%:c%| 000110f0 3d 63 25 2b 31 0d 0a 31 07 ed 66 25 0d 0a 32 07 |=c%+1..1..f%..2.| 00011100 3d 6f 25 0d 0a 33 17 dd f2 50 69 63 6b 75 70 4f |=o%..3...PickupO| 00011110 62 6a 65 63 74 28 6f 6e 25 29 0d 0a 34 4d e7 6f |bject(on%)..4M.o| 00011120 6e 25 3d 32 38 8c f2 47 69 76 65 4c 6f 6f 6b 49 |n%=28..GiveLookI| 00011130 6e 66 6f 28 22 53 6f 72 72 79 2c 20 79 6f 75 20 |nfo("Sorry, you | 00011140 63 61 6e 6e 6f 74 20 70 69 63 6b 20 75 70 20 74 |cannot pick up t| 00011150 68 65 20 73 68 65 65 70 2e 22 29 3a f2 46 72 65 |he sheep."):.Fre| 00011160 73 68 41 6c 6c 3a e1 0d 0a 35 4b e7 6f 6e 25 3d |shAll:...5K.on%=| 00011170 32 39 8c f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f |29..GiveLookInfo| 00011180 28 22 53 6f 72 72 79 2c 20 79 6f 75 20 63 61 6e |("Sorry, you can| 00011190 6e 6f 74 20 70 69 63 6b 20 75 70 20 74 68 65 20 |not pick up the | 000111a0 70 69 67 2e 22 29 3a f2 46 72 65 73 68 41 6c 6c |pig."):.FreshAll| 000111b0 3a e1 0d 0a 36 59 e7 a4 4e 75 6d 62 65 72 4f 66 |:...6Y..NumberOf| 000111c0 4f 62 6a 65 63 74 73 48 65 6c 64 3d 34 8c f2 47 |ObjectsHeld=4..G| 000111d0 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 53 6f 72 |iveLookInfo("Sor| 000111e0 72 79 2c 20 79 6f 75 20 63 61 6e 27 74 20 63 61 |ry, you can't ca| 000111f0 72 72 79 20 61 6e 79 20 6d 6f 72 65 2e 22 29 3a |rry any more."):| 00011200 f2 46 72 65 73 68 41 6c 6c 3a e1 0d 0a 37 30 f2 |.FreshAll:...70.| 00011210 50 75 74 43 6f 6e 74 65 6e 74 73 28 52 6f 6f 6d |PutContents(Room| 00011220 32 25 2c 43 6f 6e 74 65 6e 74 73 58 25 2c 43 6f |2%,ContentsX%,Co| 00011230 6e 74 65 6e 74 73 59 25 2c 30 29 0d 0a 38 17 3f |ntentsY%,0)..8.?| 00011240 28 50 4f 62 6a 65 63 74 73 32 25 2b 6f 6e 25 29 |(PObjects2%+on%)| 00011250 3d 31 0d 0a 39 19 21 28 50 50 32 44 61 74 61 25 |=1..9.!(PP2Data%| 00011260 2b 28 6f 6e 25 2a 34 29 29 3d 30 0d 0a 3a 17 c8 |+(on%*4))=0..:..| 00011270 99 26 30 30 30 30 30 30 30 36 2c 31 31 32 2c 76 |.&00000006,112,v| 00011280 62 25 0d 0a 3b 0d f2 46 72 65 73 68 41 6c 6c 0d |b%..;..FreshAll.| 00011290 0a 3c 17 c8 99 26 30 30 30 30 30 30 30 36 2c 31 |.<...&00000006,1| 000112a0 31 32 2c 64 62 25 0d 0a 3d 05 e1 0d 0a 3e 15 dd |12,db%..=....>..| 000112b0 f2 47 69 76 65 4f 62 6a 65 63 74 28 6f 6e 25 29 |.GiveObject(on%)| 000112c0 0d 0a 3f 15 4f 62 6a 65 63 74 4e 6f 74 47 69 76 |..?.ObjectNotGiv| 000112d0 65 6e 25 3d a3 0d 0a 40 62 e7 a4 4e 75 6d 62 65 |en%=...@b..Numbe| 000112e0 72 4f 66 4f 62 6a 65 63 74 73 48 65 6c 64 3e 3d |rOfObjectsHeld>=| 000112f0 34 8c f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 |4..GiveLookInfo(| 00011300 22 53 6f 72 72 79 2c 20 79 6f 75 20 63 61 6e 27 |"Sorry, you can'| 00011310 74 20 63 61 72 72 79 20 61 6e 79 20 6d 6f 72 65 |t carry any more| 00011320 2e 22 29 3a 4f 62 6a 65 63 74 4e 6f 74 47 69 76 |."):ObjectNotGiv| 00011330 65 6e 25 3d b9 3a e1 0d 0a 41 17 3f 28 50 4f 62 |en%=.:...A.?(POb| 00011340 6a 65 63 74 73 32 25 2b 6f 6e 25 29 3d 31 0d 0a |jects2%+on%)=1..| 00011350 42 0c f2 43 6f 6e 73 6f 6c 65 0d 0a 43 05 e1 0d |B..Console..C...| 00011360 0a 44 19 dd a4 4e 75 6d 62 65 72 4f 66 4f 62 6a |.D...NumberOfObj| 00011370 65 63 74 73 48 65 6c 64 0d 0a 45 07 ea 6f 25 0d |ectsHeld..E..o%.| 00011380 0a 46 08 6f 25 3d 30 0d 0a 47 1a e3 66 25 3d 30 |.F.o%=0..G..f%=0| 00011390 b8 4e 6f 6f 66 50 32 4f 62 6a 65 63 74 73 25 2d |.NoofP2Objects%-| 000113a0 31 0d 0a 48 1f e7 3f 28 50 4f 62 6a 65 63 74 73 |1..H..?(PObjects| 000113b0 32 25 2b 66 25 29 3d 31 8c 6f 25 3d 6f 25 2b 31 |2%+f%)=1.o%=o%+1| 000113c0 0d 0a 49 07 ed 66 25 0d 0a 4a 07 3d 6f 25 0d 0a |..I..f%..J.=o%..| 000113d0 4b 15 dd f2 54 61 6b 65 4f 62 6a 65 63 74 28 6f |K...TakeObject(o| 000113e0 6e 25 29 0d 0a 4c 17 3f 28 50 4f 62 6a 65 63 74 |n%)..L.?(PObject| 000113f0 73 32 25 2b 6f 6e 25 29 3d 32 0d 0a 4d 0d f2 46 |s2%+on%)=2..M..F| 00011400 72 65 73 68 41 6c 6c 0d 0a 4e 05 e1 0d 0a 4f 18 |reshAll..N....O.| 00011410 dd f2 44 69 73 63 61 72 64 4f 62 6a 65 63 74 28 |..DiscardObject(| 00011420 6f 6e 25 29 0d 0a 50 17 3f 28 50 4f 62 6a 65 63 |on%)..P.?(PObjec| 00011430 74 73 32 25 2b 6f 6e 25 29 3d 30 0d 0a 51 0d f2 |ts2%+on%)=0..Q..| 00011440 46 72 65 73 68 41 6c 6c 0d 0a 52 05 e1 0d 0a 53 |FreshAll..R....S| 00011450 1c dd a4 49 73 4f 62 6a 65 63 74 41 76 61 69 6c |...IsObjectAvail| 00011460 61 62 6c 65 28 6f 6e 25 29 0d 0a 54 1e e7 3f 28 |able(on%)..T..?(| 00011470 50 4f 62 6a 65 63 74 73 32 25 2b 6f 6e 25 29 3d |PObjects2%+on%)=| 00011480 32 8c 3d b9 8b 3d a3 0d 0a 55 17 dd a4 49 73 4f |2.=..=...U...IsO| 00011490 62 6a 65 63 74 48 65 6c 64 28 6f 6e 25 29 0d 0a |bjectHeld(on%)..| 000114a0 56 1e e7 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b |V..?(PObjects2%+| 000114b0 6f 6e 25 29 3d 31 8c 3d b9 8b 3d a3 0d 0a 57 17 |on%)=1.=..=...W.| 000114c0 dd a4 49 73 4f 62 6a 65 63 74 4e 75 6c 6c 28 6f |..IsObjectNull(o| 000114d0 6e 25 29 0d 0a 58 1e e7 3f 28 50 4f 62 6a 65 63 |n%)..X..?(PObjec| 000114e0 74 73 32 25 2b 6f 6e 25 29 3d 30 8c 3d b9 8b 3d |ts2%+on%)=0.=..=| 000114f0 a3 0d 0a 59 0e dd f2 46 72 65 73 68 41 6c 6c 0d |...Y...FreshAll.| 00011500 0a 5a 0e f2 50 6c 61 63 65 50 6c 61 79 0d 0a 5b |.Z..PlacePlay..[| 00011510 0c f2 43 6f 6e 73 6f 6c 65 0d 0a 5c 10 f2 44 69 |..Console..\..Di| 00011520 73 70 6c 61 79 4c 6f 6f 70 0d 0a 5d 0c f2 43 6f |splayLoop..]..Co| 00011530 6e 73 6f 6c 65 0d 0a 5e 10 f2 44 69 73 70 6c 61 |nsole..^..Displa| 00011540 79 4c 6f 6f 70 0d 0a 5f 0f f2 52 65 6d 6f 76 65 |yLoop.._..Remove| 00011550 50 6c 61 79 0d 0a 60 05 e1 0d 0a 61 18 dd f2 45 |Play..`....a...E| 00011560 78 61 6d 69 6e 65 4f 62 6a 65 63 74 28 6f 6e 25 |xamineObject(on%| 00011570 29 0d 0a 62 28 53 24 3d 50 32 4f 62 44 65 73 63 |)..b(S$=P2ObDesc| 00011580 24 28 6f 6e 25 29 3a f2 54 69 6c 65 28 2d 31 2c |$(on%):.Tile(-1,| 00011590 34 35 30 2c 2d 31 2c 32 29 0d 0a 63 14 f2 43 6f |450,-1,2)..c..Co| 000115a0 6e 74 42 6f 78 28 2d 31 2c 33 37 30 29 0d 0a 64 |ntBox(-1,370)..d| 000115b0 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0a 65 |..ReplaceTemp..e| 000115c0 05 e1 0d 0a 66 12 dd f2 50 72 69 6e 74 4f 62 6a |....f...PrintObj| 000115d0 65 63 74 73 0d 0a 67 07 ea 6f 25 0d 0a 68 08 6f |ects..g..o%..h.o| 000115e0 25 3d 30 0d 0a 69 1a e3 66 25 3d 30 b8 4e 6f 6f |%=0..i..f%=0.Noo| 000115f0 66 50 32 4f 62 6a 65 63 74 73 25 2d 31 0d 0a 6a |fP2Objects%-1..j| 00011600 6b e7 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b 66 |k.?(PObjects2%+f| 00011610 25 29 3d 31 8c f2 50 6c 6f 74 53 70 72 69 74 65 |%)=1..PlotSprite| 00011620 4e 61 6d 65 64 28 53 70 72 4e 6d 24 28 50 32 4f |Named(SprNm$(P2O| 00011630 62 6a 65 63 74 53 70 72 69 74 65 73 25 2b 66 25 |bjectSprites%+f%| 00011640 29 2b 22 6c 22 2c 4f 62 42 6f 78 58 25 28 6f 25 |)+"l",ObBoxX%(o%| 00011650 29 2c 4f 62 42 6f 78 59 25 28 6f 25 29 2c 38 29 |),ObBoxY%(o%),8)| 00011660 3a 6f 25 3d 6f 25 2b 31 0d 0a 6b 1d e7 6f 25 3e |:o%=o%+1..k..o%>| 00011670 34 8c 66 25 3d 4e 6f 6f 66 50 32 4f 62 6a 65 63 |4.f%=NoofP2Objec| 00011680 74 73 25 2d 31 0d 0a 6c 07 ed 66 25 0d 0a 6d 05 |ts%-1..l..f%..m.| 00011690 e1 0d 0a 6e 21 dd f2 47 65 74 49 6e 66 6f 41 62 |...n!..GetInfoAb| 000116a0 6f 75 74 4f 62 6a 65 63 74 28 70 6e 25 2c 6f 6e |outObject(pn%,on| 000116b0 25 29 0d 0a 6f 0a c8 8e 6f 6e 25 ca 0d 0a 70 06 |%)..o...on%...p.| 000116c0 c9 38 0d 0a 71 0a c8 8e 70 6e 25 ca 0d 0a 72 06 |.8..q...pn%...r.| 000116d0 c9 38 0d 0a 73 2e f2 47 69 76 65 49 6e 66 6f 28 |.8..s..GiveInfo(| 000116e0 70 6e 25 2c 22 49 74 20 6c 6f 6f 6b 73 20 61 20 |pn%,"It looks a | 000116f0 62 69 74 20 6f 66 20 61 20 6d 65 73 73 2e 22 29 |bit of a mess.")| 00011700 0d 0a 74 75 f2 47 69 76 65 49 6e 66 6f 28 70 6e |..tu.GiveInfo(pn| 00011710 25 2c 22 49 74 20 69 73 20 70 72 6f 62 61 62 6c |%,"It is probabl| 00011720 79 20 61 20 62 61 72 72 65 6c 20 6c 6f 63 6b 2e |y a barrel lock.| 00011730 20 54 68 61 74 20 69 73 20 61 20 6c 6f 63 6b 20 | That is a lock | 00011740 77 68 69 63 68 20 69 73 20 75 73 75 61 6c 6c 79 |which is usually| 00011750 20 75 73 65 64 20 66 6f 72 20 6c 6f 63 6b 69 6e | used for lockin| 00011760 67 20 62 6f 78 65 73 20 61 6e 64 20 63 68 65 73 |g boxes and ches| 00011770 74 73 2e 22 29 0d 0a 75 4a f2 47 69 76 65 49 6e |ts.")..uJ.GiveIn| 00011780 66 6f 28 70 6e 25 2c 22 54 68 65 72 65 20 73 68 |fo(pn%,"There sh| 00011790 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 20 77 69 |ould be a key wi| 000117a0 74 68 20 61 20 66 6c 61 74 2c 20 72 6f 75 6e 64 |th a flat, round| 000117b0 20 65 6e 64 20 77 69 74 68 20 69 74 2e 22 29 0d | end with it.").| 000117c0 0a 76 75 f2 47 69 76 65 49 6e 66 6f 28 70 6e 25 |.vu.GiveInfo(pn%| 000117d0 2c 22 49 27 6d 20 73 6f 72 72 79 2c 20 49 20 64 |,"I'm sorry, I d| 000117e0 6f 6e 27 74 20 6b 6e 6f 77 20 77 68 69 63 68 20 |on't know which | 000117f0 6d 65 74 61 6c 20 69 74 20 69 73 20 6d 61 64 65 |metal it is made| 00011800 20 6f 66 2e 20 59 6f 75 20 63 6f 75 6c 64 20 74 | of. You could t| 00011810 72 79 20 61 73 6b 69 6e 67 20 74 68 65 20 73 6d |ry asking the sm| 00011820 69 74 68 20 69 6e 20 43 6f 70 70 65 72 67 61 74 |ith in Coppergat| 00011830 65 2e 22 29 0d 0a 77 0f f2 53 65 74 46 6c 61 67 |e.")..w..SetFlag| 00011840 28 38 29 0d 0a 78 06 c9 33 0d 0a 79 14 e7 a4 49 |(8)..x..3..y...I| 00011850 73 46 6c 61 67 53 65 74 28 31 30 29 8c 0d 0a 7a |sFlagSet(10)...z| 00011860 5e f2 47 69 76 65 49 6e 66 6f 28 70 6e 25 2c 22 |^.GiveInfo(pn%,"| 00011870 49 20 61 6d 20 66 61 69 72 6c 79 20 63 65 72 74 |I am fairly cert| 00011880 61 69 6e 20 74 68 61 74 20 74 68 65 20 6c 75 6d |ain that the lum| 00011890 70 20 6f 66 20 6d 65 74 61 6c 20 74 68 61 74 20 |p of metal that | 000118a0 79 6f 75 20 68 61 76 65 20 69 73 20 6d 61 64 65 |you have is made| 000118b0 20 6f 66 20 69 72 6f 6e 2e 22 29 0d 0a 7b 05 cc | of iron.")..{..| 000118c0 0d 0a 7c 13 e7 a4 49 73 46 6c 61 67 53 65 74 28 |..|...IsFlagSet(| 000118d0 39 29 8c 0d 0a 7d 5a f2 47 69 76 65 49 6e 66 6f |9)...}Z.GiveInfo| 000118e0 28 70 6e 25 2c 22 54 68 61 6e 6b 20 79 6f 75 20 |(pn%,"Thank you | 000118f0 66 6f 72 20 74 68 65 20 69 72 6f 6e 2e 20 49 20 |for the iron. I | 00011900 74 68 69 6e 6b 20 74 68 65 20 6d 65 74 61 6c 20 |think the metal | 00011910 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 69 73 |that you have is| 00011920 20 61 6c 73 6f 20 69 72 6f 6e 2e 22 29 0d 0a 7e | also iron.")..~| 00011930 10 f2 53 65 74 46 6c 61 67 28 31 30 29 0d 0a 7f |..SetFlag(10)...| 00011940 05 cc 0d 0a 80 3a f2 47 69 76 65 49 6e 66 6f 28 |.....:.GiveInfo(| 00011950 70 6e 25 2c 22 49 20 77 6f 6e 64 65 72 20 69 66 |pn%,"I wonder if| 00011960 20 79 6f 75 20 63 6f 75 6c 64 20 67 69 76 65 20 | you could give | 00011970 6d 65 20 61 20 68 61 6e 64 2e 22 29 0d 0a 81 3f |me a hand.")...?| 00011980 f2 47 69 76 65 49 6e 66 6f 28 70 6e 25 2c 22 49 |.GiveInfo(pn%,"I| 00011990 20 68 61 76 65 20 6c 6f 73 74 20 74 68 65 20 6b | have lost the k| 000119a0 65 79 20 74 6f 20 6d 79 20 73 74 6f 72 65 20 6e |ey to my store n| 000119b0 65 78 74 20 64 6f 6f 72 2e 22 29 0d 0a 82 7d f2 |ext door.")...}.| 000119c0 47 69 76 65 49 6e 66 6f 28 70 6e 25 2c 22 49 27 |GiveInfo(pn%,"I'| 000119d0 6d 20 73 75 72 65 20 74 68 61 74 20 49 20 70 75 |m sure that I pu| 000119e0 74 20 69 74 20 64 6f 77 6e 20 73 6f 6d 65 77 68 |t it down somewh| 000119f0 65 72 65 2e 20 49 66 20 79 6f 75 20 66 69 6e 64 |ere. If you find| 00011a00 20 69 74 2c 20 63 6f 75 6c 64 20 79 6f 75 20 6f | it, could you o| 00011a10 70 65 6e 20 6d 79 20 73 74 6f 72 65 20 61 6e 64 |pen my store and| 00011a20 20 62 72 69 6e 67 20 6d 65 20 61 6e 20 69 72 6f | bring me an iro| 00011a30 6e 20 62 61 72 3f 22 29 0d 0a 83 05 cd 0d 0a 84 |n bar?")........| 00011a40 05 cd 0d 0a 85 05 7f 0d 0a 86 0d e7 b3 28 35 29 |.............(5)| 00011a50 3e 3d 33 8c 0d 0a 87 36 f2 47 69 76 65 49 6e 66 |>=3....6.GiveInf| 00011a60 6f 28 70 6e 25 2c 22 59 6f 75 20 63 6f 75 6c 64 |o(pn%,"You could| 00011a70 20 74 72 79 20 61 73 6b 69 6e 67 20 61 20 6c 6f | try asking a lo| 00011a80 63 6b 73 6d 69 74 68 2e 22 29 0d 0a 88 05 cd 0d |cksmith.")......| 00011a90 0a 89 05 cb 0d 0a 8a 23 7f 3a f2 47 69 76 65 49 |.......#.:.GiveI| 00011aa0 6e 66 6f 28 70 6e 25 2c 50 32 4f 62 44 65 73 63 |nfo(pn%,P2ObDesc| 00011ab0 24 28 6f 6e 25 29 29 0d 0a 8b 29 e7 b3 28 35 29 |$(on%))...)..(5)| 00011ac0 3e 33 8c f2 47 69 76 65 49 6e 66 6f 28 70 6e 25 |>3..GiveInfo(pn%| 00011ad0 2c 50 32 4f 62 4e 61 72 61 24 28 6f 6e 25 29 29 |,P2ObNara$(on%))| 00011ae0 0d 0a 8c 05 cb 0d 0a 8d 05 e1 0d 0a 8e 16 dd f2 |................| 00011af0 47 69 76 65 49 6e 66 6f 28 70 6e 25 2c 53 24 29 |GiveInfo(pn%,S$)| 00011b00 0d 0a 8f 19 f2 47 65 74 50 65 72 73 6f 6e 43 6f |.....GetPersonCo| 00011b10 6f 72 64 73 28 70 6e 25 29 0d 0a 90 39 f2 53 70 |ords(pn%)...9.Sp| 00011b20 65 61 6b 28 50 65 72 58 25 2c 50 65 72 59 25 2b |eak(PerX%,PerY%+| 00011b30 32 38 30 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 |280):.ContBox(-1| 00011b40 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 65 54 65 |,350):.ReplaceTe| 00011b50 6d 70 0d 0a 91 05 e1 0d 0a 92 0a dd f2 4c 6f 6f |mp...........Loo| 00011b60 6b 0d 0a 93 1c e7 43 6f 6e 74 43 6f 75 6e 74 25 |k.....ContCount%| 00011b70 3e 33 84 43 6f 6e 74 42 6f 78 25 8c e1 0d 0a 94 |>3.ContBox%.....| 00011b80 12 c8 8e 52 6f 6f 6d 4e 75 6d 62 65 72 25 ca 0d |...RoomNumber%..| 00011b90 0a 95 6e c9 36 31 3a e7 a4 49 73 4f 62 6a 65 63 |..n.61:..IsObjec| 00011ba0 74 48 65 72 65 28 32 36 29 8c f2 47 69 76 65 4c |tHere(26)..GiveL| 00011bb0 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 73 65 65 |ookInfo("You see| 00011bc0 20 61 20 6e 6f 74 65 20 68 65 72 65 2e 22 29 8b | a note here.").| 00011bd0 f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 59 |.GiveLookInfo("Y| 00011be0 6f 75 20 61 72 65 20 61 74 20 74 68 65 20 6d 61 |ou are at the ma| 00011bf0 72 6b 65 74 20 70 6c 61 63 65 2e 22 29 0d 0a 96 |rket place.")...| 00011c00 31 c9 31 34 36 3a f2 47 69 76 65 4c 6f 6f 6b 49 |1.146:.GiveLookI| 00011c10 6e 66 6f 28 22 59 6f 75 20 73 65 65 20 74 68 65 |nfo("You see the| 00011c20 20 52 69 76 65 72 20 4f 75 73 65 2e 22 29 0d 0a | River Ouse.")..| 00011c30 97 2b c9 31 34 38 3a f2 47 69 76 65 4c 6f 6f 6b |.+.148:.GiveLook| 00011c40 49 6e 66 6f 28 22 59 6f 75 20 73 65 65 20 61 20 |Info("You see a | 00011c50 62 72 69 64 67 65 2e 22 29 0d 0a 98 44 c9 32 32 |bridge.")...D.22| 00011c60 3a f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 |:.GiveLookInfo("| 00011c70 54 68 72 6f 75 67 68 20 74 68 65 20 77 69 6e 64 |Through the wind| 00011c80 6f 77 20 79 6f 75 20 73 65 65 20 73 6f 6d 65 6f |ow you see someo| 00011c90 6e 65 20 77 6f 72 6b 69 6e 67 2e 22 29 0d 0a 99 |ne working.")...| 00011ca0 40 f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 |@.GiveLookInfo("| 00011cb0 54 68 65 72 65 20 69 73 20 61 20 73 69 67 6e 20 |There is a sign | 00011cc0 68 65 72 65 20 74 68 61 74 20 72 65 61 64 73 20 |here that reads | 00011cd0 27 54 6f 79 6d 61 6b 65 72 27 2e 22 29 0d 0a 9a |'Toymaker'.")...| 00011ce0 2c c9 35 31 3a f2 47 69 76 65 4c 6f 6f 6b 49 6e |,.51:.GiveLookIn| 00011cf0 66 6f 28 22 59 6f 75 20 73 65 65 20 73 6f 6d 65 |fo("You see some| 00011d00 20 73 68 65 65 70 2e 22 29 0d 0a 9b 2b c9 36 33 | sheep.")...+.63| 00011d10 3a f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 |:.GiveLookInfo("| 00011d20 59 6f 75 20 73 65 65 20 73 6f 6d 65 20 70 69 67 |You see some pig| 00011d30 73 2e 22 29 0d 0a 9c 43 c9 37 35 3a f2 47 69 76 |s.")...C.75:.Giv| 00011d40 65 4c 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 20 73 |eLookInfo("You s| 00011d50 65 65 20 6c 6f 74 73 20 6f 66 20 77 61 6c 6c 68 |ee lots of wallh| 00011d60 61 6e 67 69 6e 67 73 20 6f 6e 20 74 68 65 20 77 |angings on the w| 00011d70 61 6c 6c 73 2e 22 29 0d 0a 9d 33 c9 37 3a f2 47 |alls.")...3.7:.G| 00011d80 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 59 6f 75 |iveLookInfo("You| 00011d90 20 73 65 65 20 61 20 76 65 72 79 20 68 6f 74 20 | see a very hot | 00011da0 66 75 72 6e 61 63 65 2e 22 29 0d 0a 9e 41 c9 33 |furnace.")...A.3| 00011db0 3a f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 |:.GiveLookInfo("| 00011dc0 54 68 65 72 65 20 69 73 20 61 20 73 69 67 6e 20 |There is a sign | 00011dd0 68 65 72 65 20 74 68 61 74 20 72 65 61 64 73 20 |here that reads | 00011de0 27 50 6f 74 74 65 72 27 2e 22 29 0d 0a 9f 48 c9 |'Potter'.")...H.| 00011df0 32 31 3a f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f |21:.GiveLookInfo| 00011e00 28 22 54 68 65 72 65 20 69 73 20 61 20 73 69 67 |("There is a sig| 00011e10 6e 20 68 65 72 65 20 74 68 61 74 20 72 65 61 64 |n here that read| 00011e20 73 20 27 57 61 6c 6c 68 61 6e 67 69 6e 67 73 27 |s 'Wallhangings'| 00011e30 2e 22 29 0d 0a a0 45 c9 34 30 3a f2 47 69 76 65 |.")...E.40:.Give| 00011e40 4c 6f 6f 6b 49 6e 66 6f 28 22 54 68 65 72 65 20 |LookInfo("There | 00011e50 69 73 20 61 20 73 69 67 6e 20 68 65 72 65 20 74 |is a sign here t| 00011e60 68 61 74 20 72 65 61 64 73 20 27 4c 6f 63 6b 73 |hat reads 'Locks| 00011e70 6d 69 74 68 27 2e 22 29 0d 0a a1 45 c9 35 33 3a |mith'.")...E.53:| 00011e80 f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f 28 22 54 |.GiveLookInfo("T| 00011e90 68 65 72 65 20 69 73 20 61 20 73 69 67 6e 20 68 |here is a sign h| 00011ea0 65 72 65 20 74 68 61 74 20 72 65 61 64 73 20 27 |ere that reads '| 00011eb0 43 72 61 66 74 73 6d 61 6e 27 2e 22 29 0d 0a a2 |Craftsman'.")...| 00011ec0 45 c9 31 33 3a f2 47 69 76 65 4c 6f 6f 6b 49 6e |E.13:.GiveLookIn| 00011ed0 66 6f 28 22 54 68 65 72 65 20 69 73 20 61 20 73 |fo("There is a s| 00011ee0 69 67 6e 20 68 65 72 65 20 74 68 61 74 20 72 65 |ign here that re| 00011ef0 61 64 73 20 27 43 61 72 70 65 6e 74 65 72 27 2e |ads 'Carpenter'.| 00011f00 22 29 0d 0a a3 2e c9 31 36 3a f2 47 69 76 65 4c |").....16:.GiveL| 00011f10 6f 6f 6b 49 6e 66 6f 28 22 54 68 65 72 65 20 69 |ookInfo("There i| 00011f20 73 20 61 20 73 69 67 6e 20 68 65 72 65 2e 22 29 |s a sign here.")| 00011f30 0d 0a a4 61 f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 |...a.GiveLookInf| 00011f40 6f 28 22 49 74 20 73 61 79 73 2c 20 27 59 6f 75 |o("It says, 'You| 00011f50 20 63 61 6e 6e 6f 74 20 67 6f 20 61 6c 6f 6e 67 | cannot go along| 00011f60 20 68 65 72 65 20 6f 6e 20 74 68 69 73 20 64 65 | here on this de| 00011f70 6d 6f 20 76 65 72 73 69 6f 6e 2e 20 54 72 79 20 |mo version. Try | 00011f80 61 6e 6f 74 68 65 72 20 72 6f 75 74 65 2e 27 22 |another route.'"| 00011f90 29 0d 0a a5 2f c9 31 34 33 3a f2 47 69 76 65 4c |).../.143:.GiveL| 00011fa0 6f 6f 6b 49 6e 66 6f 28 22 54 68 65 72 65 20 69 |ookInfo("There i| 00011fb0 73 20 61 20 73 69 67 6e 20 68 65 72 65 2e 22 29 |s a sign here.")| 00011fc0 0d 0a a6 61 f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 |...a.GiveLookInf| 00011fd0 6f 28 22 49 74 20 73 61 79 73 2c 20 27 59 6f 75 |o("It says, 'You| 00011fe0 20 63 61 6e 6e 6f 74 20 67 6f 20 61 6c 6f 6e 67 | cannot go along| 00011ff0 20 68 65 72 65 20 6f 6e 20 74 68 69 73 20 64 65 | here on this de| 00012000 6d 6f 20 76 65 72 73 69 6f 6e 2e 20 54 72 79 20 |mo version. Try | 00012010 61 6e 6f 74 68 65 72 20 72 6f 75 74 65 2e 27 22 |another route.'"| 00012020 29 0d 0a a7 2e c9 34 35 3a f2 47 69 76 65 4c 6f |).....45:.GiveLo| 00012030 6f 6b 49 6e 66 6f 28 22 54 68 65 72 65 20 69 73 |okInfo("There is| 00012040 20 61 20 73 69 67 6e 20 68 65 72 65 2e 22 29 0d | a sign here.").| 00012050 0a a8 61 f2 47 69 76 65 4c 6f 6f 6b 49 6e 66 6f |..a.GiveLookInfo| 00012060 28 22 49 74 20 73 61 79 73 2c 20 27 59 6f 75 20 |("It says, 'You | 00012070 63 61 6e 6e 6f 74 20 67 6f 20 61 6c 6f 6e 67 20 |cannot go along | 00012080 68 65 72 65 20 6f 6e 20 74 68 69 73 20 64 65 6d |here on this dem| 00012090 6f 20 76 65 72 73 69 6f 6e 2e 20 54 72 79 20 61 |o version. Try a| 000120a0 6e 6f 74 68 65 72 20 72 6f 75 74 65 2e 27 22 29 |nother route.'")| 000120b0 0d 0a a9 38 7f 3a f2 47 69 76 65 4c 6f 6f 6b 49 |...8.:.GiveLookI| 000120c0 6e 66 6f 28 22 59 6f 75 20 73 65 65 20 6e 6f 74 |nfo("You see not| 000120d0 68 69 6e 67 20 6f 66 20 69 6e 74 65 72 65 73 74 |hing of interest| 000120e0 20 68 65 72 65 2e 22 29 0d 0a aa 05 cb 0d 0a ab | here.")........| 000120f0 05 e1 0d 0a ac 16 dd f2 47 69 76 65 4c 6f 6f 6b |........GiveLook| 00012100 49 6e 66 6f 28 53 24 29 0d 0a ad 07 ea 6c 25 0d |Info(S$).....l%.| 00012110 0a ae 2a e7 44 6f 75 62 6c 65 42 75 66 66 65 72 |..*.DoubleBuffer| 00012120 25 8c 44 6f 75 62 42 75 66 66 25 3d b9 8b 44 6f |%.DoubBuff%=..Do| 00012130 75 62 42 75 66 66 25 3d a3 0d 0a af 11 f2 53 69 |ubBuff%=......Si| 00012140 6e 67 6c 65 53 63 72 65 65 6e 0d 0a b0 1a e7 a9 |ngleScreen......| 00012150 28 53 24 29 3e 3d 33 30 8c 6c 25 3d 33 30 8b 6c |(S$)>=30.l%=30.l| 00012160 25 3d 2d 31 0d 0a b1 16 f2 54 69 6c 65 28 2d 31 |%=-1.....Tile(-1| 00012170 2c 36 30 30 2c 6c 25 2c 32 29 0d 0a b2 14 f2 43 |,600,l%,2).....C| 00012180 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 0d 0a |ontBox(-1,350)..| 00012190 b3 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0a |...ReplaceTemp..| 000121a0 b4 1c e7 44 6f 75 62 42 75 66 66 25 8c f2 44 6f |...DoubBuff%..Do| 000121b0 75 62 6c 65 42 75 66 66 65 72 0d 0a b5 05 e1 0d |ubleBuffer......| 000121c0 0a b6 12 dd f2 53 65 74 46 6c 61 67 28 66 6e 25 |.....SetFlag(fn%| 000121d0 29 0d 0a b7 22 21 28 50 46 6c 61 67 73 25 29 3d |)..."!(PFlags%)=| 000121e0 21 28 50 46 6c 61 67 73 25 29 84 28 31 3c 3c 66 |!(PFlags%).(1<<f| 000121f0 6e 25 29 0d 0a b8 05 e1 0d 0a b9 10 dd f2 43 6c |n%)...........Cl| 00012200 65 61 72 46 6c 61 67 73 0d 0a ba 10 21 28 50 46 |earFlags....!(PF| 00012210 6c 61 67 73 25 29 3d 30 0d 0a bb 05 e1 0d 0a bc |lags%)=0........| 00012220 14 dd a4 49 73 46 6c 61 67 53 65 74 28 66 6e 25 |...IsFlagSet(fn%| 00012230 29 0d 0a bd 1f 3d 28 21 28 50 46 6c 61 67 73 25 |)....=(!(PFlags%| 00012240 29 80 28 31 3c 3c 66 6e 25 29 29 3e 3e 66 6e 25 |).(1<<fn%))>>fn%| 00012250 0d 0a be 15 dd f2 41 6e 73 77 65 72 51 75 65 73 |......AnswerQues| 00012260 74 69 6f 6e 73 0d 0a bf 17 c8 99 26 30 30 30 30 |tions......&0000| 00012270 30 30 30 36 2c 31 31 32 2c 64 62 25 0d 0a c0 17 |0006,112,db%....| 00012280 c8 99 26 30 30 30 30 30 30 30 36 2c 31 31 33 2c |..&00000006,113,| 00012290 64 62 25 0d 0a c1 08 f2 43 6c 77 0d 0a c2 17 44 |db%.....Clw....D| 000122a0 6f 6e 74 50 72 69 6e 74 4f 62 6a 65 63 74 73 25 |ontPrintObjects%| 000122b0 3d b9 0d 0a c3 0c f2 43 6f 6e 73 6f 6c 65 0d 0a |=......Console..| 000122c0 c4 2d f2 47 65 74 42 61 63 6b 67 72 6f 75 6e 64 |.-.GetBackground| 000122d0 50 61 6c 65 74 74 65 28 22 41 72 63 32 22 29 3a |Palette("Arc2"):| 000122e0 f2 53 65 74 50 61 6c 65 74 74 65 0d 0a c5 1e f2 |.SetPalette.....| 000122f0 41 6e 69 6d 28 31 34 34 2c 2d 31 30 30 2c 32 37 |Anim(144,-100,27| 00012300 30 2c 38 2c 30 2c 34 30 29 0d 0a c6 17 e7 a4 48 |0,8,0,40)......H| 00012310 61 73 49 6e 66 6f 42 65 65 6e 46 6f 75 6e 64 8c |asInfoBeenFound.| 00012320 0d 0a c7 2e 53 24 3d 22 41 72 65 20 79 6f 75 20 |....S$="Are you | 00012330 72 65 61 64 79 20 74 6f 20 61 6e 73 77 65 72 20 |ready to answer | 00012340 6d 79 20 71 75 65 73 74 69 6f 6e 73 3f 22 0d 0a |my questions?"..| 00012350 c8 42 e7 3f 50 50 32 4f 62 25 3d 37 84 3f 50 50 |.B.?PP2Ob%=7.?PP| 00012360 32 4f 62 25 3d 38 8c 53 24 3d 22 41 72 65 20 79 |2Ob%=8.S$="Are y| 00012370 6f 75 20 72 65 61 64 79 20 74 6f 20 61 6e 73 77 |ou ready to answ| 00012380 65 72 20 6d 79 20 71 75 65 73 74 69 6f 6e 3f 22 |er my question?"| 00012390 0d 0a c9 13 f2 53 70 65 61 6b 28 33 30 30 2c 36 |.....Speak(300,6| 000123a0 30 30 29 0d 0a ca 16 f2 4f 70 28 22 59 65 73 22 |00).....Op("Yes"| 000123b0 2c 22 4e 6f 22 2c 22 22 29 0d 0a cb 05 f5 0d 0a |,"No","").......| 000123c0 cc 0a f2 4d 6f 75 73 65 0d 0a cd 21 4c 6f 63 25 |...Mouse...!Loc%| 000123d0 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 |=.ConLoc(MouseX%| 000123e0 2c 4d 6f 75 73 65 59 25 29 0d 0a ce 12 fd 4c 6f |,MouseY%).....Lo| 000123f0 63 25 3d 31 84 4c 6f 63 25 3d 32 0d 0a cf 10 f2 |c%=1.Loc%=2.....| 00012400 52 65 70 6c 61 63 65 54 65 6d 70 0d 0a d0 59 e7 |ReplaceTemp...Y.| 00012410 4c 6f 63 25 3d 32 8c c8 99 26 30 30 30 30 30 30 |Loc%=2...&000000| 00012420 30 36 2c 31 31 32 2c 76 62 25 3a f2 43 6c 77 3a |06,112,vb%:.Clw:| 00012430 f2 47 65 74 42 61 63 6b 67 72 6f 75 6e 64 50 61 |.GetBackgroundPa| 00012440 6c 65 74 74 65 28 22 77 32 31 22 29 3a f2 53 65 |lette("w21"):.Se| 00012450 74 50 61 6c 65 74 74 65 3a f2 46 72 65 73 68 41 |tPalette:.FreshA| 00012460 6c 6c 3a e1 0d 0a d1 0e c8 8e 3f 50 50 32 4f 62 |ll:.......?PP2Ob| 00012470 25 ca 0d 0a d2 07 c9 34 3a 0d 0a d3 2d 53 24 3d |%......4:...-S$=| 00012480 22 57 68 61 74 20 69 73 20 74 68 69 73 20 6f 62 |"What is this ob| 00012490 6a 65 63 74 3f 22 3a f2 53 70 65 61 6b 28 33 30 |ject?":.Speak(30| 000124a0 30 2c 36 30 30 29 0d 0a d4 3e f2 4f 6e 65 51 75 |0,600)...>.OneQu| 000124b0 65 73 74 69 6f 6e 28 22 41 20 62 61 72 72 65 6c |estion("A barrel| 000124c0 20 6c 6f 63 6b 22 2c 22 41 20 68 6f 72 73 65 20 | lock","A horse | 000124d0 73 68 6f 65 22 2c 22 41 20 74 69 6e 20 63 61 6e |shoe","A tin can| 000124e0 22 2c 31 29 0d 0a d5 35 53 24 3d 22 43 6f 72 72 |",1)...5S$="Corr| 000124f0 65 63 74 2e 20 57 68 61 74 20 69 73 20 69 74 20 |ect. What is it | 00012500 6d 61 64 65 20 6f 66 3f 22 3a f2 53 70 65 61 6b |made of?":.Speak| 00012510 28 33 30 30 2c 36 30 30 29 0d 0a d6 2b f2 4f 6e |(300,600)...+.On| 00012520 65 51 75 65 73 74 69 6f 6e 28 22 53 69 6c 76 65 |eQuestion("Silve| 00012530 72 22 2c 22 42 72 61 73 73 22 2c 22 49 72 6f 6e |r","Brass","Iron| 00012540 22 2c 33 29 0d 0a d7 6a 53 24 3d 22 43 6f 72 72 |",3)...jS$="Corr| 00012550 65 63 74 2e 20 49 20 73 68 61 6c 6c 20 6e 6f 77 |ect. I shall now| 00012560 20 74 61 6b 65 20 79 6f 75 20 62 61 63 6b 20 74 | take you back t| 00012570 6f 20 74 68 65 20 64 69 67 20 73 69 74 65 2e 22 |o the dig site."| 00012580 3a f2 53 70 65 61 6b 28 33 30 30 2c 36 30 30 29 |:.Speak(300,600)| 00012590 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 |:.ContBox(-1,350| 000125a0 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0a |):.ReplaceTemp..| 000125b0 d8 8f 53 24 3d 22 49 20 61 6d 20 61 66 72 61 69 |..S$="I am afrai| 000125c0 64 20 79 6f 75 20 77 69 6c 6c 20 68 61 76 65 20 |d you will have | 000125d0 74 6f 20 6c 65 61 76 65 20 62 65 68 69 6e 64 20 |to leave behind | 000125e0 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 79 6f |anything that yo| 000125f0 75 20 63 6f 6c 6c 65 63 74 65 64 20 6f 6e 20 74 |u collected on t| 00012600 68 65 20 65 78 70 65 64 69 74 69 6f 6e 2e 22 3a |he expedition.":| 00012610 f2 53 70 65 61 6b 28 33 30 30 2c 36 30 30 29 3a |.Speak(300,600):| 00012620 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 |.ContBox(-1,350)| 00012630 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0a d9 |:.ReplaceTemp...| 00012640 15 3f 28 50 55 4f 62 6a 65 63 74 73 25 2b 33 29 |.?(PUObjects%+3)| 00012650 3d 31 0d 0a da 1d 47 4c 32 71 25 3d b9 3a 21 53 |=1....GL2q%=.:!S| 00012660 63 6f 72 65 25 3d 21 53 63 6f 72 65 25 2b 32 0d |core%=!Score%+2.| 00012670 0a db 05 cb 0d 0a dc 05 cc 0d 0a dd 65 53 24 3d |............eS$=| 00012680 22 49 20 61 6d 20 73 6f 72 72 79 20 62 75 74 20 |"I am sorry but | 00012690 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 66 6f 75 |you have not fou| 000126a0 6e 64 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 |nd the informati| 000126b0 6f 6e 20 77 68 69 63 68 20 79 6f 75 20 6e 65 65 |on which you nee| 000126c0 64 20 74 6f 20 61 6e 73 77 65 72 20 6d 79 20 71 |d to answer my q| 000126d0 75 65 73 74 69 6f 6e 73 20 79 65 74 2e 22 0d 0a |uestions yet."..| 000126e0 de 31 f2 53 70 65 61 6b 28 33 30 30 2c 36 30 30 |.1.Speak(300,600| 000126f0 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 |):.ContBox(-1,35| 00012700 30 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d |0):.ReplaceTemp.| 00012710 0a df 31 f2 43 6c 77 3a f2 47 65 74 42 61 63 6b |..1.Clw:.GetBack| 00012720 67 72 6f 75 6e 64 50 61 6c 65 74 74 65 28 22 77 |groundPalette("w| 00012730 32 31 22 29 3a f2 53 65 74 50 61 6c 65 74 74 65 |21"):.SetPalette| 00012740 0d 0a e0 17 44 6f 6e 74 50 72 69 6e 74 4f 62 6a |....DontPrintObj| 00012750 65 63 74 73 25 3d a3 0d 0a e1 21 c8 99 26 30 30 |ects%=....!..&00| 00012760 30 30 30 30 30 36 2c 31 31 32 2c 76 62 25 3a f2 |000006,112,vb%:.| 00012770 46 72 65 73 68 41 6c 6c 0d 0a e2 05 cd 0d 0a e3 |FreshAll........| 00012780 17 c8 99 26 30 30 30 30 30 30 30 36 2c 31 31 32 |...&00000006,112| 00012790 2c 76 62 25 0d 0a e4 31 f2 43 6c 77 3a f2 47 65 |,vb%...1.Clw:.Ge| 000127a0 74 42 61 63 6b 67 72 6f 75 6e 64 50 61 6c 65 74 |tBackgroundPalet| 000127b0 74 65 28 22 77 32 31 22 29 3a f2 53 65 74 50 61 |te("w21"):.SetPa| 000127c0 6c 65 74 74 65 0d 0a e5 17 44 6f 6e 74 50 72 69 |lette....DontPri| 000127d0 6e 74 4f 62 6a 65 63 74 73 25 3d a3 0d 0a e6 05 |ntObjects%=.....| 000127e0 e1 0d 0a e7 1e dd f2 4f 6e 65 51 75 65 73 74 69 |.......OneQuesti| 000127f0 6f 6e 28 61 24 2c 62 24 2c 63 24 2c 63 25 29 0d |on(a$,b$,c$,c%).| 00012800 0a e8 05 f5 0d 0a e9 11 f2 4f 70 28 61 24 2c 62 |.........Op(a$,b| 00012810 24 2c 63 24 29 0d 0a ea 05 f5 0d 0a eb 0a f2 4d |$,c$)..........M| 00012820 6f 75 73 65 0d 0a ec 21 4c 6f 63 25 3d a4 43 6f |ouse...!Loc%=.Co| 00012830 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 |nLoc(MouseX%,Mou| 00012840 73 65 59 25 29 0d 0a ed 19 fd 4c 6f 63 25 3d 31 |seY%).....Loc%=1| 00012850 84 4c 6f 63 25 3d 32 84 4c 6f 63 25 3d 33 0d 0a |.Loc%=2.Loc%=3..| 00012860 ee 10 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0a |...ReplaceTemp..| 00012870 ef 3f e7 4c 6f 63 25 3c 3e 63 25 8c 53 24 3d 22 |.?.Loc%<>c%.S$="| 00012880 4e 6f 2c 20 6e 6f 74 20 74 68 61 74 20 6f 6e 65 |No, not that one| 00012890 2e 20 54 72 79 20 61 67 61 69 6e 2e 22 3a f2 53 |. Try again.":.S| 000128a0 70 65 61 6b 28 33 30 30 2c 36 30 30 29 0d 0a f0 |peak(300,600)...| 000128b0 0c fd 4c 6f 63 25 3d 63 25 0d 0a f1 05 e1 0d 0a |..Loc%=c%.......| 000128c0 f2 0b dd a4 59 65 73 4e 6f 0d 0a f3 0c ea 61 25 |....YesNo.....a%| 000128d0 2c 4c 6f 63 25 0d 0a f4 16 f2 4f 70 28 22 59 65 |,Loc%.....Op("Ye| 000128e0 73 22 2c 22 4e 6f 22 2c 22 22 29 0d 0a f5 05 f5 |s","No","").....| 000128f0 0d 0a f6 0a f2 4d 6f 75 73 65 0d 0a f7 21 4c 6f |.....Mouse...!Lo| 00012900 63 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 |c%=.ConLoc(Mouse| 00012910 58 25 2c 4d 6f 75 73 65 59 25 29 0d 0a f8 0b fd |X%,MouseY%).....| 00012920 4c 6f 63 25 3c 33 0d 0a f9 15 e7 4c 6f 63 25 3d |Loc%<3.....Loc%=| 00012930 31 8c 61 25 3d b9 8b 61 25 3d a3 0d 0a fa 0c f2 |1.a%=..a%=......| 00012940 43 6f 6e 73 6f 6c 65 0d 0a fb 07 3d 61 25 0d 0a |Console....=a%..| 00012950 fc 16 dd a4 48 61 73 49 6e 66 6f 42 65 65 6e 46 |....HasInfoBeenF| 00012960 6f 75 6e 64 0d 0a fd 0e c8 8e 3f 50 50 32 4f 62 |ound......?PP2Ob| 00012970 25 ca 0d 0a fe 2a c9 34 3a e7 a4 49 73 46 6c 61 |%....*.4:..IsFla| 00012980 67 53 65 74 28 38 29 80 a4 49 73 46 6c 61 67 53 |gSet(8)..IsFlagS| 00012990 65 74 28 31 30 29 8c 3d b9 8b 3d a3 0d 0a ff 05 |et(10).=..=.....| 000129a0 cb 0d 0b 00 06 3d a3 0d 0b 01 11 dd f2 56 65 6e |.....=.......Ven| 000129b0 64 6f 72 28 70 6e 25 29 0d 0b 02 21 50 71 25 3d |dor(pn%)...!Pq%=| 000129c0 a3 3a 4c 6f 63 31 25 3d 39 39 39 3a 49 74 65 6d |.:Loc1%=999:Item| 000129d0 42 6f 75 67 68 74 25 3d 30 0d 0b 03 11 f2 53 69 |Bought%=0.....Si| 000129e0 6e 67 6c 65 53 63 72 65 65 6e 0d 0b 04 19 f2 47 |ngleScreen.....G| 000129f0 65 74 50 65 72 73 6f 6e 43 6f 6f 72 64 73 28 70 |etPersonCoords(p| 00012a00 6e 25 29 0d 0b 05 5c e7 3f 28 50 4f 62 6a 65 63 |n%)...\.?(PObjec| 00012a10 74 73 32 25 2b 50 56 4f 62 31 25 28 70 6e 25 29 |ts2%+PVOb1%(pn%)| 00012a20 29 3c 3e 32 80 3f 28 50 4f 62 6a 65 63 74 73 32 |)<>2.?(PObjects2| 00012a30 25 2b 50 56 4f 62 32 25 28 70 6e 25 29 29 3c 3e |%+PVOb2%(pn%))<>| 00012a40 32 80 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b 50 |2.?(PObjects2%+P| 00012a50 56 4f 62 33 25 28 70 6e 25 29 29 3c 3e 32 8c 0d |VOb3%(pn%))<>2..| 00012a60 0b 06 67 53 24 3d 22 49 27 6d 20 73 6f 72 72 79 |..gS$="I'm sorry| 00012a70 2c 20 49 20 68 61 76 65 20 6e 6f 74 68 69 6e 67 |, I have nothing| 00012a80 20 74 6f 20 73 65 6c 6c 20 74 6f 64 61 79 2e 22 | to sell today."| 00012a90 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c 50 65 |:.Speak(PerX%,Pe| 00012aa0 72 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 42 6f |rY%+280):.ContBo| 00012ab0 78 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 |x(-1,350):.Repla| 00012ac0 63 65 54 65 6d 70 0d 0b 07 05 cc 0d 0b 08 30 53 |ceTemp........0S| 00012ad0 24 3d 22 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b |$="Would you lik| 00012ae0 65 20 74 6f 20 62 75 79 20 61 6e 79 74 68 69 6e |e to buy anythin| 00012af0 67 3f 20 49 20 68 61 76 65 20 22 0d 0b 09 0d 63 |g? I have "....c| 00012b00 6f 6d 6d 61 24 3d 22 22 0d 0b 0a 48 e7 3f 28 50 |omma$=""...H.?(P| 00012b10 4f 62 6a 65 63 74 73 32 25 2b 50 56 4f 62 32 25 |Objects2%+PVOb2%| 00012b20 28 70 6e 25 29 29 3c 3e 32 80 3f 28 50 4f 62 6a |(pn%))<>2.?(PObj| 00012b30 65 63 74 73 32 25 2b 50 56 4f 62 33 25 28 70 6e |ects2%+PVOb3%(pn| 00012b40 25 29 29 3c 3e 32 8c 63 6f 6d 6d 61 24 3d 22 22 |%))<>2.comma$=""| 00012b50 0d 0b 0b 47 e7 3f 28 50 4f 62 6a 65 63 74 73 32 |...G.?(PObjects2| 00012b60 25 2b 50 56 4f 62 32 25 28 70 6e 25 29 29 3d 32 |%+PVOb2%(pn%))=2| 00012b70 80 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b 50 56 |.?(PObjects2%+PV| 00012b80 4f 62 33 25 28 70 6e 25 29 29 3c 3e 32 8c 63 6f |Ob3%(pn%))<>2.co| 00012b90 6d 6d 61 24 3d 22 22 0d 0b 0c 47 e7 3f 28 50 4f |mma$=""...G.?(PO| 00012ba0 62 6a 65 63 74 73 32 25 2b 50 56 4f 62 32 25 28 |bjects2%+PVOb2%(| 00012bb0 70 6e 25 29 29 3d 32 80 3f 28 50 4f 62 6a 65 63 |pn%))=2.?(PObjec| 00012bc0 74 73 32 25 2b 50 56 4f 62 33 25 28 70 6e 25 29 |ts2%+PVOb3%(pn%)| 00012bd0 29 3d 32 8c 63 6f 6d 6d 61 24 3d 22 2c 22 0d 0b |)=2.comma$=","..| 00012be0 0d 44 e7 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b |.D.?(PObjects2%+| 00012bf0 50 56 4f 62 31 25 28 70 6e 25 29 29 3d 32 8c 53 |PVOb1%(pn%))=2.S| 00012c00 24 3d 53 24 2b 50 32 4f 62 4e 61 6d 65 24 28 50 |$=S$+P2ObName$(P| 00012c10 56 4f 62 31 25 28 70 6e 25 29 29 2b 63 6f 6d 6d |VOb1%(pn%))+comm| 00012c20 61 24 0d 0b 0e 4c e7 3f 28 50 4f 62 6a 65 63 74 |a$...L.?(PObject| 00012c30 73 32 25 2b 50 56 4f 62 33 25 28 70 6e 25 29 29 |s2%+PVOb3%(pn%))| 00012c40 3c 3e 32 8c 61 6e 64 24 3d 22 20 61 6e 64 20 22 |<>2.and$=" and "| 00012c50 3a 63 6f 6d 6d 61 24 3d 22 22 8b 61 6e 64 24 3d |:comma$="".and$=| 00012c60 22 22 3a 63 6f 6d 6d 61 24 3d 22 2c 20 22 0d 0b |"":comma$=", "..| 00012c70 0f 49 e7 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b |.I.?(PObjects2%+| 00012c80 50 56 4f 62 32 25 28 70 6e 25 29 29 3d 32 8c 53 |PVOb2%(pn%))=2.S| 00012c90 24 3d 53 24 2b 61 6e 64 24 2b 50 32 4f 62 4e 61 |$=S$+and$+P2ObNa| 00012ca0 6d 65 24 28 50 56 4f 62 32 25 28 70 6e 25 29 29 |me$(PVOb2%(pn%))| 00012cb0 2b 63 6f 6d 6d 61 24 0d 0b 10 45 e7 3f 28 50 4f |+comma$...E.?(PO| 00012cc0 62 6a 65 63 74 73 32 25 2b 50 56 4f 62 33 25 28 |bjects2%+PVOb3%(| 00012cd0 70 6e 25 29 29 3d 32 8c 53 24 3d 53 24 2b 22 20 |pn%))=2.S$=S$+" | 00012ce0 61 6e 64 20 22 2b 50 32 4f 62 4e 61 6d 65 24 28 |and "+P2ObName$(| 00012cf0 50 56 4f 62 33 25 28 70 6e 25 29 29 0d 0b 11 15 |PVOb3%(pn%))....| 00012d00 53 24 3d 53 24 2b 22 20 74 6f 20 73 65 6c 6c 2e |S$=S$+" to sell.| 00012d10 22 0d 0b 12 1b f2 53 70 65 61 6b 28 50 65 72 58 |".....Speak(PerX| 00012d20 25 2c 50 65 72 59 25 2b 32 38 30 29 0d 0b 13 16 |%,PerY%+280)....| 00012d30 f2 4f 70 28 22 59 65 73 22 2c 22 4e 6f 22 2c 22 |.Op("Yes","No","| 00012d40 22 29 0d 0b 14 05 f5 0d 0b 15 0a f2 4d 6f 75 73 |")..........Mous| 00012d50 65 0d 0b 16 21 4c 6f 63 25 3d a4 43 6f 6e 4c 6f |e...!Loc%=.ConLo| 00012d60 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 59 |c(MouseX%,MouseY| 00012d70 25 29 0d 0b 17 0c f2 43 6f 6e 73 6f 6c 65 0d 0b |%).....Console..| 00012d80 18 0b c8 8e 4c 6f 63 25 ca 0d 0b 19 13 c9 31 3a |....Loc%......1:| 00012d90 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0b 1a 3c |.ReplaceTemp...<| 00012da0 53 24 3d 22 57 68 61 74 20 77 6f 75 6c 64 20 79 |S$="What would y| 00012db0 6f 75 20 6c 69 6b 65 20 74 6f 20 62 75 79 3f 22 |ou like to buy?"| 00012dc0 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c 50 65 |:.Speak(PerX%,Pe| 00012dd0 72 59 25 2b 32 38 30 29 0d 0b 1b 42 e7 3f 28 50 |rY%+280)...B.?(P| 00012de0 4f 62 6a 65 63 74 73 32 25 2b 50 56 4f 62 31 25 |Objects2%+PVOb1%| 00012df0 28 70 6e 25 29 29 3d 32 8c 56 31 24 3d 50 32 4f |(pn%))=2.V1$=P2O| 00012e00 62 4e 61 6d 65 24 28 50 56 4f 62 31 25 28 70 6e |bName$(PVOb1%(pn| 00012e10 25 29 29 8b 56 31 24 3d 22 22 0d 0b 1c 42 e7 3f |%)).V1$=""...B.?| 00012e20 28 50 4f 62 6a 65 63 74 73 32 25 2b 50 56 4f 62 |(PObjects2%+PVOb| 00012e30 32 25 28 70 6e 25 29 29 3d 32 8c 56 32 24 3d 50 |2%(pn%))=2.V2$=P| 00012e40 32 4f 62 4e 61 6d 65 24 28 50 56 4f 62 32 25 28 |2ObName$(PVOb2%(| 00012e50 70 6e 25 29 29 8b 56 32 24 3d 22 22 0d 0b 1d 42 |pn%)).V2$=""...B| 00012e60 e7 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b 50 56 |.?(PObjects2%+PV| 00012e70 4f 62 33 25 28 70 6e 25 29 29 3d 32 8c 56 33 24 |Ob3%(pn%))=2.V3$| 00012e80 3d 50 32 4f 62 4e 61 6d 65 24 28 50 56 4f 62 33 |=P2ObName$(PVOb3| 00012e90 25 28 70 6e 25 29 29 8b 56 33 24 3d 22 22 0d 0b |%(pn%)).V3$=""..| 00012ea0 1e 14 f2 4f 70 28 56 31 24 2c 56 32 24 2c 56 33 |...Op(V1$,V2$,V3| 00012eb0 24 29 0d 0b 1f 05 f5 0d 0b 20 0a f2 4d 6f 75 73 |$)....... ..Mous| 00012ec0 65 0d 0b 21 22 4c 6f 63 31 25 3d a4 43 6f 6e 4c |e..!"Loc1%=.ConL| 00012ed0 6f 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 |oc(MouseX%,Mouse| 00012ee0 59 25 29 0d 0b 22 0c c8 8e 4c 6f 63 31 25 ca 0d |Y%).."...Loc1%..| 00012ef0 0b 23 28 c9 31 3a e7 56 31 24 3c 3e 22 22 8c f2 |.#(.1:.V1$<>""..| 00012f00 44 6f 56 65 6e 64 28 50 56 4f 62 31 25 28 70 6e |DoVend(PVOb1%(pn| 00012f10 25 29 2c 70 6e 25 29 0d 0b 24 28 c9 32 3a e7 56 |%),pn%)..$(.2:.V| 00012f20 32 24 3c 3e 22 22 8c f2 44 6f 56 65 6e 64 28 50 |2$<>""..DoVend(P| 00012f30 56 4f 62 32 25 28 70 6e 25 29 2c 70 6e 25 29 0d |VOb2%(pn%),pn%).| 00012f40 0b 25 28 c9 33 3a e7 56 33 24 3c 3e 22 22 8c f2 |.%(.3:.V3$<>""..| 00012f50 44 6f 56 65 6e 64 28 50 56 4f 62 33 25 28 70 6e |DoVend(PVOb3%(pn| 00012f60 25 29 2c 70 6e 25 29 0d 0b 26 05 cb 0d 0b 27 0d |%),pn%)..&....'.| 00012f70 fd 4c 6f 63 31 25 3c 31 32 0d 0b 28 10 f2 52 65 |.Loc1%<12..(..Re| 00012f80 70 6c 61 63 65 54 65 6d 70 0d 0b 29 52 e7 4c 6f |placeTemp..)R.Lo| 00012f90 63 31 25 3c 34 8c 53 24 3d 22 54 68 61 6e 6b 20 |c1%<4.S$="Thank | 00012fa0 79 6f 75 2e 22 3a f2 53 70 65 61 6b 28 50 65 72 |you.":.Speak(Per| 00012fb0 58 25 2c 50 65 72 59 25 2b 32 38 30 29 3a f2 43 |X%,PerY%+280):.C| 00012fc0 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 3a f2 |ontBox(-1,350):.| 00012fd0 52 65 70 6c 61 63 65 54 65 6d 70 0d 0b 2a 12 7f |ReplaceTemp..*..| 00012fe0 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0b 2b |:.ReplaceTemp..+| 00012ff0 05 cb 0d 0b 2c 0c fd 4c 6f 63 25 3c 31 32 0d 0b |....,..Loc%<12..| 00013000 2d 05 cd 0d 0b 2e 1e f2 43 68 65 63 6b 45 78 74 |-.......CheckExt| 00013010 72 61 50 65 72 73 6f 6e 49 6e 66 6f 28 70 6e 25 |raPersonInfo(pn%| 00013020 29 0d 0b 2f 1b e7 70 6e 25 3d 32 32 80 49 74 65 |)../..pn%=22.Ite| 00013030 6d 42 6f 75 67 68 74 25 3d 32 34 8c 0d 0b 30 5e |mBought%=24...0^| 00013040 f2 47 69 76 65 49 6e 66 6f 28 70 6e 25 2c 22 49 |.GiveInfo(pn%,"I| 00013050 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 74 61 |f you need to ta| 00013060 6b 65 20 74 68 65 20 73 61 6e 64 20 73 6f 6d 65 |ke the sand some| 00013070 77 68 65 72 65 2c 20 61 20 68 6f 72 73 65 20 61 |where, a horse a| 00013080 6e 64 20 63 61 72 74 20 77 6f 75 6c 64 20 62 65 |nd cart would be| 00013090 20 75 73 65 66 75 6c 2e 22 29 0d 0b 31 3a f2 47 | useful.")..1:.G| 000130a0 69 76 65 49 6e 66 6f 28 70 6e 25 2c 22 59 6f 75 |iveInfo(pn%,"You| 000130b0 20 6f 66 74 65 6e 20 73 65 65 20 63 61 72 74 73 | often see carts| 000130c0 20 75 70 20 61 74 20 74 68 65 20 6d 61 72 6b 65 | up at the marke| 000130d0 74 2e 22 29 0d 0b 32 05 cd 0d 0b 33 0c f2 43 6f |t.")..2....3..Co| 000130e0 6e 73 6f 6c 65 0d 0b 34 19 f2 47 65 74 50 65 72 |nsole..4..GetPer| 000130f0 73 6f 6e 43 6f 6f 72 64 73 28 70 6e 25 29 0d 0b |sonCoords(pn%)..| 00013100 35 4a e7 4c 6f 63 31 25 3e 3d 34 8c 53 24 3d 22 |5J.Loc1%>=4.S$="| 00013110 47 6f 6f 64 62 79 65 2e 22 3a f2 53 70 65 61 6b |Goodbye.":.Speak| 00013120 28 50 65 72 58 25 2c 50 65 72 59 25 2b 32 38 30 |(PerX%,PerY%+280| 00013130 29 3a f2 57 61 69 74 28 35 30 29 3a f2 52 65 70 |):.Wait(50):.Rep| 00013140 6c 61 63 65 54 65 6d 70 0d 0b 36 17 c8 99 26 30 |laceTemp..6...&0| 00013150 30 30 30 30 30 30 36 2c 31 31 32 2c 76 62 25 0d |0000006,112,vb%.| 00013160 0b 37 17 c8 99 26 30 30 30 30 30 30 30 36 2c 31 |.7...&00000006,1| 00013170 31 33 2c 64 62 25 0d 0b 38 0d f2 46 72 65 73 68 |13,db%..8..Fresh| 00013180 41 6c 6c 0d 0b 39 05 e1 0d 0b 3a 10 dd f2 42 75 |All..9....:...Bu| 00013190 79 65 72 28 70 6e 25 29 0d 0b 3b 11 f2 53 69 6e |yer(pn%)..;..Sin| 000131a0 67 6c 65 53 63 72 65 65 6e 0d 0b 3c 19 f2 47 65 |gleScreen..<..Ge| 000131b0 74 50 65 72 73 6f 6e 43 6f 6f 72 64 73 28 70 6e |tPersonCoords(pn| 000131c0 25 29 0d 0b 3d 4c 53 24 3d 22 44 6f 20 79 6f 75 |%)..=LS$="Do you| 000131d0 20 68 61 76 65 20 61 6e 79 74 68 69 6e 67 20 74 | have anything t| 000131e0 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 |hat you want to | 000131f0 73 65 6c 6c 3f 22 3a f2 53 70 65 61 6b 28 50 65 |sell?":.Speak(Pe| 00013200 72 58 25 2c 50 65 72 59 25 2b 32 38 30 29 0d 0b |rX%,PerY%+280)..| 00013210 3e 0c e7 a4 59 65 73 4e 6f 8c 0d 0b 3f 10 f2 52 |>...YesNo...?..R| 00013220 65 70 6c 61 63 65 54 65 6d 70 0d 0b 40 42 53 24 |eplaceTemp..@BS$| 00013230 3d 22 57 68 69 63 68 20 6f 62 6a 65 63 74 20 64 |="Which object d| 00013240 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 73 65 |o you want to se| 00013250 6c 6c 3f 22 3a f2 53 70 65 61 6b 28 50 65 72 58 |ll?":.Speak(PerX| 00013260 25 2c 50 65 72 59 25 2b 32 38 30 29 0d 0b 41 05 |%,PerY%+280)..A.| 00013270 f5 0d 0b 42 0a f2 4d 6f 75 73 65 0d 0b 43 22 4c |...B..Mouse..C"L| 00013280 6f 63 62 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 |ocb%=.ConLoc(Mou| 00013290 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 0b 44 |seX%,MouseY%)..D| 000132a0 0c c8 8e 4c 6f 63 62 25 ca 0d 0b 45 0f c9 38 2c |...Locb%...E..8,| 000132b0 39 2c 31 30 2c 31 31 3a 0d 0b 46 10 f2 52 65 70 |9,10,11:..F..Rep| 000132c0 6c 61 63 65 54 65 6d 70 0d 0b 47 2c 6f 6e 25 3d |laceTemp..G,on%=| 000132d0 a4 47 65 74 4f 62 6a 65 63 74 4e 75 6d 62 65 72 |.GetObjectNumber| 000132e0 46 72 6f 6d 43 6f 6e 73 6f 6c 65 28 4c 6f 63 62 |FromConsole(Locb| 000132f0 25 2d 37 29 0d 0b 48 1d e7 6f 6e 25 3c 3e 39 39 |%-7)..H..on%<>99| 00013300 39 8c f2 44 6f 42 75 79 28 6f 6e 25 2c 70 6e 25 |9..DoBuy(on%,pn%| 00013310 29 0d 0b 49 05 cb 0d 0b 4a 0c fd 4c 6f 63 62 25 |)..I....J..Locb%| 00013320 3e 33 0d 0b 4b 05 cd 0d 0b 4c 10 f2 52 65 70 6c |>3..K....L..Repl| 00013330 61 63 65 54 65 6d 70 0d 0b 4d 1e f2 43 68 65 63 |aceTemp..M..Chec| 00013340 6b 45 78 74 72 61 50 65 72 73 6f 6e 49 6e 66 6f |kExtraPersonInfo| 00013350 28 70 6e 25 29 0d 0b 4e 05 e1 0d 0b 4f 0f dd a4 |(pn%)..N....O...| 00013360 43 68 65 63 6b 56 65 6e 64 0d 0b 50 0e 54 72 61 |CheckVend..P.Tra| 00013370 64 65 4f 62 25 3d 30 0d 0b 51 18 e3 66 25 3d 31 |deOb%=0..Q..f%=1| 00013380 b8 4e 6f 6f 66 50 32 4f 62 6a 65 63 74 73 25 0d |.NoofP2Objects%.| 00013390 0b 52 23 e7 3f 28 50 4f 62 6a 65 63 74 73 32 25 |.R#.?(PObjects2%| 000133a0 2b 66 25 29 3d 31 8c 54 72 61 64 65 4f 62 25 3d |+f%)=1.TradeOb%=| 000133b0 66 25 0d 0b 53 07 ed 66 25 0d 0b 54 0d 3d 54 72 |f%..S..f%..T.=Tr| 000133c0 61 64 65 4f 62 25 0d 0b 55 15 dd f2 44 6f 56 65 |adeOb%..U...DoVe| 000133d0 6e 64 28 6f 6e 25 2c 70 6e 25 29 0d 0b 56 09 ea |nd(on%,pn%)..V..| 000133e0 4c 6f 63 25 0d 0b 57 10 f2 52 65 70 6c 61 63 65 |Loc%..W..Replace| 000133f0 54 65 6d 70 0d 0b 58 1e 56 65 6e 64 50 72 69 63 |Temp..X.VendPric| 00013400 65 25 3d 50 32 4f 62 50 72 69 63 65 25 28 6f 6e |e%=P2ObPrice%(on| 00013410 25 29 0d 0b 59 2d e7 56 65 6e 64 50 72 69 63 65 |%)..Y-.VendPrice| 00013420 25 3d 31 8c 70 24 3d 22 20 70 65 6e 6e 79 2e 22 |%=1.p$=" penny."| 00013430 8b 70 24 3d 22 20 70 65 6e 6e 69 65 73 2e 22 0d |.p$=" pennies.".| 00013440 0b 5a 45 53 24 3d 22 54 68 61 74 20 77 69 6c 6c |.ZES$="That will| 00013450 20 63 6f 73 74 20 79 6f 75 20 22 2b c3 28 56 65 | cost you "+.(Ve| 00013460 6e 64 50 72 69 63 65 25 29 2b 70 24 3a f2 53 70 |ndPrice%)+p$:.Sp| 00013470 65 61 6b 28 50 65 72 58 25 2c 50 65 72 59 25 2b |eak(PerX%,PerY%+| 00013480 32 38 30 29 0d 0b 5b 39 f2 4f 70 28 22 49 74 27 |280)..[9.Op("It'| 00013490 73 20 61 20 64 65 61 6c 22 2c 22 54 68 61 74 27 |s a deal","That'| 000134a0 73 20 61 20 62 69 74 20 6d 75 63 68 22 2c 22 4e |s a bit much","N| 000134b0 6f 20 74 68 61 6e 6b 20 79 6f 75 22 29 0d 0b 5c |o thank you")..\| 000134c0 05 f5 0d 0b 5d 0a f2 4d 6f 75 73 65 0d 0b 5e 21 |....]..Mouse..^!| 000134d0 4c 6f 63 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 |Loc%=.ConLoc(Mou| 000134e0 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 0b 5f |seX%,MouseY%).._| 000134f0 0b c8 8e 4c 6f 63 25 ca 0d 0b 60 27 c9 31 3a f2 |...Loc%...`'.1:.| 00013500 50 6c 61 63 65 56 65 6e 64 4f 62 28 6f 6e 25 2c |PlaceVendOb(on%,| 00013510 56 65 6e 64 50 72 69 63 65 25 2c 70 6e 25 29 0d |VendPrice%,pn%).| 00013520 0b 61 07 c9 32 3a 0d 0b 62 1b e7 b3 28 35 29 3e |.a..2:..b...(5)>| 00013530 33 80 56 65 6e 64 50 72 69 63 65 25 2d 31 3e 30 |3.VendPrice%-1>0| 00013540 8c 0d 0b 63 28 56 65 6e 64 50 72 69 63 65 25 3d |...c(VendPrice%=| 00013550 56 65 6e 64 50 72 69 63 65 25 2d 31 3a f2 52 65 |VendPrice%-1:.Re| 00013560 70 6c 61 63 65 54 65 6d 70 0d 0b 64 2d e7 56 65 |placeTemp..d-.Ve| 00013570 6e 64 50 72 69 63 65 25 3d 31 8c 70 24 3d 22 20 |ndPrice%=1.p$=" | 00013580 70 65 6e 6e 79 2e 22 8b 70 24 3d 22 20 70 65 6e |penny.".p$=" pen| 00013590 6e 69 65 73 2e 22 0d 0b 65 4e 53 24 3d 22 4f 6b |nies."..eNS$="Ok| 000135a0 2c 20 49 27 6c 6c 20 67 69 76 65 20 69 74 20 74 |, I'll give it t| 000135b0 6f 20 79 6f 75 20 66 6f 72 20 22 2b c3 28 56 65 |o you for "+.(Ve| 000135c0 6e 64 50 72 69 63 65 25 29 2b 70 24 3a f2 53 70 |ndPrice%)+p$:.Sp| 000135d0 65 61 6b 28 50 65 72 58 25 2c 50 65 72 59 25 2b |eak(PerX%,PerY%+| 000135e0 32 38 30 29 0d 0b 66 39 f2 4f 70 28 22 49 74 27 |280)..f9.Op("It'| 000135f0 73 20 61 20 64 65 61 6c 22 2c 22 54 68 61 74 27 |s a deal","That'| 00013600 73 20 61 20 62 69 74 20 6d 75 63 68 22 2c 22 4e |s a bit much","N| 00013610 6f 20 74 68 61 6e 6b 20 79 6f 75 22 29 0d 0b 67 |o thank you")..g| 00013620 05 f5 0d 0b 68 0a f2 4d 6f 75 73 65 0d 0b 69 22 |....h..Mouse..i"| 00013630 4c 6f 63 32 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f |Loc2%=.ConLoc(Mo| 00013640 75 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 0b |useX%,MouseY%)..| 00013650 6a 0c c8 8e 4c 6f 63 32 25 ca 0d 0b 6b 07 c9 31 |j...Loc2%...k..1| 00013660 3a 0d 0b 6c 24 f2 50 6c 61 63 65 56 65 6e 64 4f |:..l$.PlaceVendO| 00013670 62 28 6f 6e 25 2c 56 65 6e 64 50 72 69 63 65 25 |b(on%,VendPrice%| 00013680 2c 70 6e 25 29 0d 0b 6d 07 c9 32 3a 0d 0b 6e 1b |,pn%)..m..2:..n.| 00013690 e7 b3 28 35 29 3e 33 80 56 65 6e 64 50 72 69 63 |..(5)>3.VendPric| 000136a0 65 25 2d 31 3e 30 8c 0d 0b 6f 28 56 65 6e 64 50 |e%-1>0...o(VendP| 000136b0 72 69 63 65 25 3d 56 65 6e 64 50 72 69 63 65 25 |rice%=VendPrice%| 000136c0 2d 31 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d |-1:.ReplaceTemp.| 000136d0 0b 70 2d e7 56 65 6e 64 50 72 69 63 65 25 3d 31 |.p-.VendPrice%=1| 000136e0 8c 70 24 3d 22 20 70 65 6e 6e 79 2e 22 8b 70 24 |.p$=" penny.".p$| 000136f0 3d 22 20 70 65 6e 6e 69 65 73 2e 22 0d 0b 71 4e |=" pennies."..qN| 00013700 53 24 3d 22 4f 6b 2c 20 49 27 6c 6c 20 67 69 76 |S$="Ok, I'll giv| 00013710 65 20 69 74 20 74 6f 20 79 6f 75 20 66 6f 72 20 |e it to you for | 00013720 22 2b c3 28 56 65 6e 64 50 72 69 63 65 25 29 2b |"+.(VendPrice%)+| 00013730 70 24 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c |p$:.Speak(PerX%,| 00013740 50 65 72 59 25 2b 32 38 30 29 0d 0b 72 39 f2 4f |PerY%+280)..r9.O| 00013750 70 28 22 49 74 27 73 20 61 20 64 65 61 6c 22 2c |p("It's a deal",| 00013760 22 54 68 61 74 27 73 20 61 20 62 69 74 20 6d 75 |"That's a bit mu| 00013770 63 68 22 2c 22 4e 6f 20 74 68 61 6e 6b 20 79 6f |ch","No thank yo| 00013780 75 22 29 0d 0b 73 05 f5 0d 0b 74 0a f2 4d 6f 75 |u")..s....t..Mou| 00013790 73 65 0d 0b 75 22 4c 6f 63 33 25 3d a4 43 6f 6e |se..u"Loc3%=.Con| 000137a0 4c 6f 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 |Loc(MouseX%,Mous| 000137b0 65 59 25 29 0d 0b 76 0c c8 8e 4c 6f 63 33 25 ca |eY%)..v...Loc3%.| 000137c0 0d 0b 77 07 c9 31 3a 0d 0b 78 24 f2 50 6c 61 63 |..w..1:..x$.Plac| 000137d0 65 56 65 6e 64 4f 62 28 6f 6e 25 2c 56 65 6e 64 |eVendOb(on%,Vend| 000137e0 50 72 69 63 65 25 2c 70 6e 25 29 0d 0b 79 07 c9 |Price%,pn%)..y..| 000137f0 32 3a 0d 0b 7a 6a f2 52 65 70 6c 61 63 65 54 65 |2:..zj.ReplaceTe| 00013800 6d 70 3a 53 24 3d 22 49 27 6d 20 73 6f 72 72 79 |mp:S$="I'm sorry| 00013810 20 49 20 63 61 6e 27 74 20 73 65 6c 6c 20 74 68 | I can't sell th| 00013820 61 74 20 66 6f 72 20 61 6e 79 20 6c 65 73 73 2e |at for any less.| 00013830 22 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c 50 |":.Speak(PerX%,P| 00013840 65 72 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 42 |erY%+280):.ContB| 00013850 6f 78 28 2d 31 2c 33 35 30 29 3a e1 0d 0b 7b 46 |ox(-1,350):...{F| 00013860 c9 33 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 3a |.3:.ReplaceTemp:| 00013870 53 24 3d 22 4f 6b 22 3a f2 53 70 65 61 6b 28 50 |S$="Ok":.Speak(P| 00013880 65 72 58 25 2c 50 65 72 59 25 2b 32 38 30 29 3a |erX%,PerY%+280):| 00013890 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 |.ContBox(-1,350)| 000138a0 3a e1 0d 0b 7c 05 cb 0d 0b 7d 0c fd 4c 6f 63 33 |:...|....}..Loc3| 000138b0 25 3e 33 0d 0b 7e 05 cc 0d 0b 7f 6a f2 52 65 70 |%>3..~.....j.Rep| 000138c0 6c 61 63 65 54 65 6d 70 3a 53 24 3d 22 49 27 6d |laceTemp:S$="I'm| 000138d0 20 73 6f 72 72 79 20 49 20 63 61 6e 27 74 20 73 | sorry I can't s| 000138e0 65 6c 6c 20 74 68 61 74 20 66 6f 72 20 61 6e 79 |ell that for any| 000138f0 20 6c 65 73 73 2e 22 3a f2 53 70 65 61 6b 28 50 | less.":.Speak(P| 00013900 65 72 58 25 2c 50 65 72 59 25 2b 32 38 30 29 3a |erX%,PerY%+280):| 00013910 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 |.ContBox(-1,350)| 00013920 3a e1 0d 0b 80 05 cd 0d 0b 81 46 c9 33 3a f2 52 |:.........F.3:.R| 00013930 65 70 6c 61 63 65 54 65 6d 70 3a 53 24 3d 22 4f |eplaceTemp:S$="O| 00013940 6b 22 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c |k":.Speak(PerX%,| 00013950 50 65 72 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 |PerY%+280):.Cont| 00013960 42 6f 78 28 2d 31 2c 33 35 30 29 3a e1 0d 0b 82 |Box(-1,350):....| 00013970 05 cb 0d 0b 83 0c fd 4c 6f 63 32 25 3c 33 0d 0b |.......Loc2%<3..| 00013980 84 05 cc 0d 0b 85 6a f2 52 65 70 6c 61 63 65 54 |......j.ReplaceT| 00013990 65 6d 70 3a 53 24 3d 22 49 27 6d 20 73 6f 72 72 |emp:S$="I'm sorr| 000139a0 79 20 49 20 63 61 6e 27 74 20 73 65 6c 6c 20 74 |y I can't sell t| 000139b0 68 61 74 20 66 6f 72 20 61 6e 79 20 6c 65 73 73 |hat for any less| 000139c0 2e 22 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c |.":.Speak(PerX%,| 000139d0 50 65 72 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 |PerY%+280):.Cont| 000139e0 42 6f 78 28 2d 31 2c 33 35 30 29 3a e1 0d 0b 86 |Box(-1,350):....| 000139f0 05 cd 0d 0b 87 46 c9 33 3a f2 52 65 70 6c 61 63 |.....F.3:.Replac| 00013a00 65 54 65 6d 70 3a 53 24 3d 22 4f 6b 22 3a f2 53 |eTemp:S$="Ok":.S| 00013a10 70 65 61 6b 28 50 65 72 58 25 2c 50 65 72 59 25 |peak(PerX%,PerY%| 00013a20 2b 32 38 30 29 3a f2 43 6f 6e 74 42 6f 78 28 2d |+280):.ContBox(-| 00013a30 31 2c 33 35 30 29 3a e1 0d 0b 88 05 cb 0d 0b 89 |1,350):.........| 00013a40 0b fd 4c 6f 63 25 3c 33 0d 0b 8a 05 e1 0d 0b 8b |..Loc%<3........| 00013a50 14 dd f2 44 6f 42 75 79 28 6f 6e 25 2c 70 6e 25 |...DoBuy(on%,pn%| 00013a60 29 0d 0b 8c 1b ea 4c 6f 63 25 2c 4c 6f 63 31 25 |).....Loc%,Loc1%| 00013a70 2c 4c 6f 63 32 25 2c 4c 6f 63 33 25 0d 0b 8d 0a |,Loc2%,Loc3%....| 00013a80 c8 8e 6f 6e 25 ca 0d 0b 8e 7a c9 30 2c 31 2c 33 |..on%....z.0,1,3| 00013a90 2c 38 2c 31 31 2c 31 33 2c 31 35 2c 31 38 3a 53 |,8,11,13,15,18:S| 00013aa0 24 3d 22 49 27 6d 20 73 6f 72 72 79 2c 20 49 20 |$="I'm sorry, I | 00013ab0 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 62 75 |don't want to bu| 00013ac0 79 20 74 68 61 74 2e 22 3a f2 53 70 65 61 6b 28 |y that.":.Speak(| 00013ad0 50 65 72 58 25 2c 50 65 72 59 25 2b 32 38 30 29 |PerX%,PerY%+280)| 00013ae0 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 |:.ContBox(-1,350| 00013af0 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 3a e1 |):.ReplaceTemp:.| 00013b00 0d 0b 8f 05 cb 0d 0b 90 25 56 65 6e 64 50 72 69 |........%VendPri| 00013b10 63 65 25 3d 50 32 4f 62 50 72 69 63 65 25 28 6f |ce%=P2ObPrice%(o| 00013b20 6e 25 29 2b b3 28 32 29 2d 32 0d 0b 91 1e e7 56 |n%)+.(2)-2.....V| 00013b30 65 6e 64 50 72 69 63 65 25 3c 31 8c 56 65 6e 64 |endPrice%<1.Vend| 00013b40 50 72 69 63 65 25 3d 31 0d 0b 92 2d e7 56 65 6e |Price%=1...-.Ven| 00013b50 64 50 72 69 63 65 25 3d 31 8c 70 24 3d 22 20 70 |dPrice%=1.p$=" p| 00013b60 65 6e 6e 79 2e 22 8b 70 24 3d 22 20 70 65 6e 6e |enny.".p$=" penn| 00013b70 69 65 73 2e 22 0d 0b 93 4d 53 24 3d 22 49 27 6c |ies."...MS$="I'l| 00013b80 6c 20 67 69 76 65 20 79 6f 75 20 22 2b c3 28 56 |l give you "+.(V| 00013b90 65 6e 64 50 72 69 63 65 25 29 2b 70 24 2b 22 20 |endPrice%)+p$+" | 00013ba0 66 6f 72 20 74 68 61 74 2e 22 3a f2 53 70 65 61 |for that.":.Spea| 00013bb0 6b 28 50 65 72 58 25 2c 50 65 72 59 25 2b 32 38 |k(PerX%,PerY%+28| 00013bc0 30 29 0d 0b 94 38 f2 4f 70 28 22 49 74 27 73 20 |0)...8.Op("It's | 00013bd0 61 20 64 65 61 6c 22 2c 22 54 68 61 74 27 73 20 |a deal","That's | 00013be0 6e 6f 74 20 65 6e 6f 75 67 68 22 2c 22 4e 6f 2c |not enough","No,| 00013bf0 20 67 6f 6f 64 62 79 65 22 29 0d 0b 95 05 f5 0d | goodbye")......| 00013c00 0b 96 0a f2 4d 6f 75 73 65 0d 0b 97 22 4c 6f 63 |....Mouse..."Loc| 00013c10 31 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 |1%=.ConLoc(Mouse| 00013c20 58 25 2c 4d 6f 75 73 65 59 25 29 0d 0b 98 0c c8 |X%,MouseY%).....| 00013c30 8e 4c 6f 63 31 25 ca 0d 0b 99 26 c9 31 3a f2 50 |.Loc1%....&.1:.P| 00013c40 6c 61 63 65 42 75 79 4f 62 28 6f 6e 25 2c 56 65 |laceBuyOb(on%,Ve| 00013c50 6e 64 50 72 69 63 65 25 2c 70 6e 25 29 0d 0b 9a |ndPrice%,pn%)...| 00013c60 07 c9 32 3a 0d 0b 9b 0c e7 b3 28 35 29 3e 33 8c |..2:......(5)>3.| 00013c70 0d 0b 9c 28 56 65 6e 64 50 72 69 63 65 25 3d 56 |...(VendPrice%=V| 00013c80 65 6e 64 50 72 69 63 65 25 2b 31 3a f2 52 65 70 |endPrice%+1:.Rep| 00013c90 6c 61 63 65 54 65 6d 70 0d 0b 9d 2d e7 56 65 6e |laceTemp...-.Ven| 00013ca0 64 50 72 69 63 65 25 3d 31 8c 70 24 3d 22 20 70 |dPrice%=1.p$=" p| 00013cb0 65 6e 6e 79 2e 22 8b 70 24 3d 22 20 70 65 6e 6e |enny.".p$=" penn| 00013cc0 69 65 73 2e 22 0d 0b 9e 4f 53 24 3d 22 4f 6b 2c |ies."...OS$="Ok,| 00013cd0 20 49 27 6c 6c 20 67 69 76 65 20 79 6f 75 20 22 | I'll give you "| 00013ce0 2b c3 28 56 65 6e 64 50 72 69 63 65 25 29 2b 70 |+.(VendPrice%)+p| 00013cf0 24 2b 22 20 66 6f 72 20 69 74 2e 22 3a f2 53 70 |$+" for it.":.Sp| 00013d00 65 61 6b 28 50 65 72 58 25 2c 50 65 72 59 25 2b |eak(PerX%,PerY%+| 00013d10 32 38 30 29 0d 0b 9f 38 f2 4f 70 28 22 49 74 27 |280)...8.Op("It'| 00013d20 73 20 61 20 64 65 61 6c 22 2c 22 54 68 61 74 27 |s a deal","That'| 00013d30 73 20 6e 6f 74 20 65 6e 6f 75 67 68 22 2c 22 4e |s not enough","N| 00013d40 6f 2c 20 67 6f 6f 64 62 79 65 22 29 0d 0b a0 05 |o, goodbye")....| 00013d50 f5 0d 0b a1 0a f2 4d 6f 75 73 65 0d 0b a2 22 4c |......Mouse..."L| 00013d60 6f 63 32 25 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 |oc2%=.ConLoc(Mou| 00013d70 73 65 58 25 2c 4d 6f 75 73 65 59 25 29 0d 0b a3 |seX%,MouseY%)...| 00013d80 0c c8 8e 4c 6f 63 32 25 ca 0d 0b a4 07 c9 31 3a |...Loc2%......1:| 00013d90 0d 0b a5 23 f2 50 6c 61 63 65 42 75 79 4f 62 28 |...#.PlaceBuyOb(| 00013da0 6f 6e 25 2c 56 65 6e 64 50 72 69 63 65 25 2c 70 |on%,VendPrice%,p| 00013db0 6e 25 29 0d 0b a6 07 c9 32 3a 0d 0b a7 0c e7 b3 |n%).....2:......| 00013dc0 28 35 29 3e 33 8c 0d 0b a8 28 56 65 6e 64 50 72 |(5)>3....(VendPr| 00013dd0 69 63 65 25 3d 56 65 6e 64 50 72 69 63 65 25 2b |ice%=VendPrice%+| 00013de0 31 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0b |1:.ReplaceTemp..| 00013df0 a9 2d e7 56 65 6e 64 50 72 69 63 65 25 3d 31 8c |.-.VendPrice%=1.| 00013e00 70 24 3d 22 20 70 65 6e 6e 79 2e 22 8b 70 24 3d |p$=" penny.".p$=| 00013e10 22 20 70 65 6e 6e 69 65 73 2e 22 0d 0b aa 4f 53 |" pennies."...OS| 00013e20 24 3d 22 4f 6b 2c 20 49 27 6c 6c 20 67 69 76 65 |$="Ok, I'll give| 00013e30 20 79 6f 75 20 22 2b c3 28 56 65 6e 64 50 72 69 | you "+.(VendPri| 00013e40 63 65 25 29 2b 70 24 2b 22 20 66 6f 72 20 69 74 |ce%)+p$+" for it| 00013e50 2e 22 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c |.":.Speak(PerX%,| 00013e60 50 65 72 59 25 2b 32 38 30 29 0d 0b ab 38 f2 4f |PerY%+280)...8.O| 00013e70 70 28 22 49 74 27 73 20 61 20 64 65 61 6c 22 2c |p("It's a deal",| 00013e80 22 54 68 61 74 27 73 20 6e 6f 74 20 65 6e 6f 75 |"That's not enou| 00013e90 67 68 22 2c 22 4e 6f 2c 20 67 6f 6f 64 62 79 65 |gh","No, goodbye| 00013ea0 22 29 0d 0b ac 05 f5 0d 0b ad 0a f2 4d 6f 75 73 |")..........Mous| 00013eb0 65 0d 0b ae 22 4c 6f 63 33 25 3d a4 43 6f 6e 4c |e..."Loc3%=.ConL| 00013ec0 6f 63 28 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 |oc(MouseX%,Mouse| 00013ed0 59 25 29 0d 0b af 0c c8 8e 4c 6f 63 33 25 ca 0d |Y%)......Loc3%..| 00013ee0 0b b0 07 c9 31 3a 0d 0b b1 23 f2 50 6c 61 63 65 |....1:...#.Place| 00013ef0 42 75 79 4f 62 28 6f 6e 25 2c 56 65 6e 64 50 72 |BuyOb(on%,VendPr| 00013f00 69 63 65 25 2c 70 6e 25 29 0d 0b b2 07 c9 32 3a |ice%,pn%).....2:| 00013f10 0d 0b b3 77 f2 52 65 70 6c 61 63 65 54 65 6d 70 |...w.ReplaceTemp| 00013f20 3a 53 24 3d 22 49 27 6d 20 73 6f 72 72 79 20 74 |:S$="I'm sorry t| 00013f30 68 61 74 27 73 20 61 73 20 6d 75 63 68 20 61 73 |hat's as much as| 00013f40 20 49 20 63 61 6e 20 61 66 66 6f 72 64 2e 22 3a | I can afford.":| 00013f50 f2 53 70 65 61 6b 28 50 65 72 58 25 2c 50 65 72 |.Speak(PerX%,Per| 00013f60 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 42 6f 78 |Y%+280):.ContBox| 00013f70 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 |(-1,350):.Replac| 00013f80 65 54 65 6d 70 3a e1 0d 0b b4 53 c9 33 3a f2 52 |eTemp:....S.3:.R| 00013f90 65 70 6c 61 63 65 54 65 6d 70 3a 53 24 3d 22 4f |eplaceTemp:S$="O| 00013fa0 6b 22 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c |k":.Speak(PerX%,| 00013fb0 50 65 72 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 |PerY%+280):.Cont| 00013fc0 42 6f 78 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 |Box(-1,350):.Rep| 00013fd0 6c 61 63 65 54 65 6d 70 3a e1 0d 0b b5 05 cb 0d |laceTemp:.......| 00013fe0 0b b6 0c fd 4c 6f 63 33 25 3e 33 0d 0b b7 05 cc |....Loc3%>3.....| 00013ff0 0d 0b b8 70 f2 52 65 70 6c 61 63 65 54 65 6d 70 |...p.ReplaceTemp| 00014000 3a 53 24 3d 22 49 27 6d 20 73 6f 72 72 79 20 74 |:S$="I'm sorry t| 00014010 68 61 74 27 73 20 61 6c 6c 20 49 20 63 61 6e 20 |hat's all I can | 00014020 61 66 66 6f 72 64 2e 22 3a f2 53 70 65 61 6b 28 |afford.":.Speak(| 00014030 50 65 72 58 25 2c 50 65 72 59 25 2b 32 38 30 29 |PerX%,PerY%+280)| 00014040 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 |:.ContBox(-1,350| 00014050 29 3a f2 52 65 70 6c 61 63 65 54 65 6d 70 3a e1 |):.ReplaceTemp:.| 00014060 0d 0b b9 05 cd 0d 0b ba 53 c9 33 3a f2 52 65 70 |........S.3:.Rep| 00014070 6c 61 63 65 54 65 6d 70 3a 53 24 3d 22 4f 6b 22 |laceTemp:S$="Ok"| 00014080 3a f2 53 70 65 61 6b 28 50 65 72 58 25 2c 50 65 |:.Speak(PerX%,Pe| 00014090 72 59 25 2b 32 38 30 29 3a f2 43 6f 6e 74 42 6f |rY%+280):.ContBo| 000140a0 78 28 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 |x(-1,350):.Repla| 000140b0 63 65 54 65 6d 70 3a e1 0d 0b bb 05 cb 0d 0b bc |ceTemp:.........| 000140c0 0c fd 4c 6f 63 32 25 3c 33 0d 0b bd 05 cc 0d 0b |..Loc2%<3.......| 000140d0 be 70 f2 52 65 70 6c 61 63 65 54 65 6d 70 3a 53 |.p.ReplaceTemp:S| 000140e0 24 3d 22 49 27 6d 20 73 6f 72 72 79 20 74 68 61 |$="I'm sorry tha| 000140f0 74 27 73 20 61 6c 6c 20 49 20 63 61 6e 20 61 66 |t's all I can af| 00014100 66 6f 72 64 2e 22 3a f2 53 70 65 61 6b 28 50 65 |ford.":.Speak(Pe| 00014110 72 58 25 2c 50 65 72 59 25 2b 32 38 30 29 3a f2 |rX%,PerY%+280):.| 00014120 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 3a |ContBox(-1,350):| 00014130 f2 52 65 70 6c 61 63 65 54 65 6d 70 3a e1 0d 0b |.ReplaceTemp:...| 00014140 bf 05 cd 0d 0b c0 53 c9 33 3a f2 52 65 70 6c 61 |......S.3:.Repla| 00014150 63 65 54 65 6d 70 3a 53 24 3d 22 4f 6b 22 3a f2 |ceTemp:S$="Ok":.| 00014160 53 70 65 61 6b 28 50 65 72 58 25 2c 50 65 72 59 |Speak(PerX%,PerY| 00014170 25 2b 32 38 30 29 3a f2 43 6f 6e 74 42 6f 78 28 |%+280):.ContBox(| 00014180 2d 31 2c 33 35 30 29 3a f2 52 65 70 6c 61 63 65 |-1,350):.Replace| 00014190 54 65 6d 70 3a e1 0d 0b c1 05 cb 0d 0b c2 0c fd |Temp:...........| 000141a0 4c 6f 63 31 25 3c 33 0d 0b c3 05 e1 0d 0b c4 1d |Loc1%<3.........| 000141b0 dd f2 50 6c 61 63 65 56 65 6e 64 4f 62 28 6f 6e |..PlaceVendOb(on| 000141c0 25 2c 70 25 2c 70 6e 25 29 0d 0b c5 10 f2 52 65 |%,p%,pn%).....Re| 000141d0 70 6c 61 63 65 54 65 6d 70 0d 0b c6 58 e7 70 25 |placeTemp...X.p%| 000141e0 3e 21 50 4d 6f 6e 65 79 25 8c f2 47 69 76 65 49 |>!PMoney%..GiveI| 000141f0 6e 66 6f 28 70 6e 25 2c 22 53 6f 72 72 79 2c 20 |nfo(pn%,"Sorry, | 00014200 79 6f 75 20 64 6f 6e 27 74 20 68 61 76 65 20 65 |you don't have e| 00014210 6e 6f 75 67 68 20 6d 6f 6e 65 79 2e 22 29 3a f2 |nough money."):.| 00014220 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 30 29 3a |ContBox(-1,350):| 00014230 e1 0d 0b c7 62 e7 6f 6e 25 3d 32 34 8c f2 44 72 |....b.on%=24..Dr| 00014240 6f 70 4f 62 6a 65 63 74 28 6f 6e 25 29 3a f2 53 |opObject(on%):.S| 00014250 65 74 46 6c 61 67 28 33 30 29 3a f2 50 6c 6f 74 |etFlag(30):.Plot| 00014260 53 70 72 69 74 65 4e 61 6d 65 64 28 53 70 72 4e |SpriteNamed(SprN| 00014270 6d 24 28 70 6e 25 2b 50 65 72 73 6f 6e 53 70 72 |m$(pn%+PersonSpr| 00014280 69 74 65 73 25 29 2b 22 7a 22 2c 30 2c 32 36 30 |ites%)+"z",0,260| 00014290 2c 30 29 0d 0b c8 1d e7 6f 6e 25 3c 3e 32 34 8c |,0).....on%<>24.| 000142a0 f2 47 69 76 65 4f 62 6a 65 63 74 28 6f 6e 25 29 |.GiveObject(on%)| 000142b0 0d 0b c9 18 21 50 4d 6f 6e 65 79 25 3d 21 50 4d |....!PMoney%=!PM| 000142c0 6f 6e 65 79 25 2d 70 25 0d 0b ca 13 49 74 65 6d |oney%-p%....Item| 000142d0 42 6f 75 67 68 74 25 3d 6f 6e 25 0d 0b cb 20 e7 |Bought%=on%... .| 000142e0 70 6e 25 3d 37 80 3f 50 50 32 4f 62 25 3d 33 8c |pn%=7.?PP2Ob%=3.| 000142f0 f2 53 65 74 46 6c 61 67 28 36 29 0d 0b cc 05 e1 |.SetFlag(6).....| 00014300 0d 0b cd 1c dd f2 50 6c 61 63 65 42 75 79 4f 62 |......PlaceBuyOb| 00014310 28 6f 6e 25 2c 70 25 2c 70 6e 25 29 0d 0b ce 10 |(on%,p%,pn%)....| 00014320 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0b cf 2c |.ReplaceTemp...,| 00014330 3f 28 50 4f 62 6a 65 63 74 73 32 25 2b 6f 6e 25 |?(PObjects2%+on%| 00014340 29 3d 32 3a 21 50 4d 6f 6e 65 79 25 3d 21 50 4d |)=2:!PMoney%=!PM| 00014350 6f 6e 65 79 25 2b 70 25 0d 0b d0 14 f2 43 6f 6e |oney%+p%.....Con| 00014360 74 42 6f 78 28 2d 31 2c 33 35 30 29 0d 0b d1 05 |tBox(-1,350)....| 00014370 e1 0d 0b d2 0f dd f2 50 6f 74 74 65 72 79 45 49 |.......PotteryEI| 00014380 0d 0b d3 08 f2 43 6c 77 0d 0b d4 33 f2 54 65 6c |.....Clw...3.Tel| 00014390 65 78 28 30 2c 30 2c 22 41 62 6f 75 74 20 50 6f |ex(0,0,"About Po| 000143a0 74 74 65 72 79 20 69 6e 20 56 69 6b 69 6e 67 20 |ttery in Viking | 000143b0 54 69 6d 65 73 2e 22 2c 33 39 29 0d 0b d5 9a f2 |Times.",39).....| 000143c0 54 65 6c 65 78 28 30 2c 33 2c 22 4d 61 6e 79 20 |Telex(0,3,"Many | 000143d0 64 69 66 66 65 72 65 6e 74 20 6b 69 6e 64 73 20 |different kinds | 000143e0 6f 66 20 70 6f 74 74 65 72 79 20 77 65 72 65 20 |of pottery were | 000143f0 66 6f 75 6e 64 20 61 74 20 74 68 65 20 43 6f 70 |found at the Cop| 00014400 70 65 72 67 61 74 65 20 73 69 74 65 2e 20 54 68 |pergate site. Th| 00014410 65 72 65 20 77 65 72 65 20 73 69 67 6e 73 20 74 |ere were signs t| 00014420 68 61 74 20 74 68 65 20 56 69 6b 69 6e 67 73 20 |hat the Vikings | 00014430 6d 61 64 65 20 73 6f 6d 65 20 75 73 65 20 6f 66 |made some use of| 00014440 20 6f 6c 64 20 52 6f 6d 61 6e 20 70 6f 74 73 2e | old Roman pots.| 00014450 22 2c 33 39 29 0d 0b d6 c0 f2 54 65 6c 65 78 28 |",39).....Telex(| 00014460 30 2c 31 30 2c 22 54 68 65 72 65 20 77 65 72 65 |0,10,"There were| 00014470 20 61 6c 73 6f 20 61 20 66 65 77 20 70 69 65 63 | also a few piec| 00014480 65 73 20 6f 66 20 66 6f 72 65 69 67 6e 20 70 6f |es of foreign po| 00014490 74 74 65 72 79 20 62 75 74 20 6d 6f 73 74 20 6f |ttery but most o| 000144a0 66 20 74 68 65 20 70 69 65 63 65 73 20 66 6f 75 |f the pieces fou| 000144b0 6e 64 20 77 65 72 65 20 6d 61 64 65 20 66 61 69 |nd were made fai| 000144c0 72 6c 79 20 63 6c 6f 73 65 20 74 6f 20 59 6f 72 |rly close to Yor| 000144d0 6b 2e 20 53 6f 6d 65 20 70 6f 74 73 20 77 65 72 |k. Some pots wer| 000144e0 65 20 62 72 6f 75 67 68 74 20 66 72 6f 6d 20 49 |e brought from I| 000144f0 70 73 77 69 63 68 2c 20 4c 69 6e 63 6f 6c 6e 20 |pswich, Lincoln | 00014500 61 6e 64 20 59 6f 72 6b 20 69 74 73 65 6c 66 2e |and York itself.| 00014510 22 2c 33 39 29 0d 0b d7 14 f2 43 6f 6e 74 42 6f |",39).....ContBo| 00014520 78 28 2d 31 2c 33 35 30 29 0d 0b d8 05 e1 0d 0b |x(-1,350).......| 00014530 d9 12 dd f2 55 6e 6b 6e 6f 77 6e 34 4c 69 6e 6b |....Unknown4Link| 00014540 0d 0b da 0b f2 53 63 72 43 6c 6f 0d 0b db 41 f2 |.....ScrClo...A.| 00014550 47 65 74 42 61 63 6b 67 72 6f 75 6e 64 50 61 6c |GetBackgroundPal| 00014560 65 74 74 65 28 53 70 72 4e 6d 24 28 4f 62 6a 65 |ette(SprNm$(Obje| 00014570 63 74 53 74 61 72 74 25 2b 28 34 2a 32 29 29 29 |ctStart%+(4*2)))| 00014580 3a f2 53 65 74 50 61 6c 65 74 74 65 0d 0b dc 49 |:.SetPalette...I| 00014590 c8 99 26 30 30 30 30 30 30 32 45 2c 34 30 2b 35 |..&0000002E,40+5| 000145a0 31 32 2c 53 70 72 69 74 65 41 72 65 61 25 2c 53 |12,SpriteArea%,S| 000145b0 70 72 41 64 64 25 28 4f 62 6a 65 63 74 53 74 61 |prAdd%(ObjectSta| 000145c0 72 74 25 2b 28 34 2a 32 29 29 b8 2c 2c 2c 73 77 |rt%+(4*2)).,,,sw| 000145d0 25 2c 73 68 25 0d 0b dd 3e f2 50 6c 6f 74 53 70 |%,sh%...>.PlotSp| 000145e0 72 69 74 65 28 4f 62 6a 65 63 74 53 74 61 72 74 |rite(ObjectStart| 000145f0 25 2b 28 34 2a 32 29 2c 36 34 30 2d 28 73 77 25 |%+(4*2),640-(sw%| 00014600 2a 32 29 2c 31 30 32 33 2d 28 73 68 25 2a 34 29 |*2),1023-(sh%*4)| 00014610 2c 30 29 0d 0b de 71 53 24 3d 22 54 68 65 72 65 |,0)...qS$="There| 00014620 20 69 73 20 73 6f 6d 65 20 69 6e 66 6f 72 6d 61 | is some informa| 00014630 74 69 6f 6e 20 74 68 61 74 20 49 20 6e 65 65 64 |tion that I need| 00014640 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 61 62 6f | to find out abo| 00014650 75 74 20 74 68 69 73 20 6f 62 6a 65 63 74 2e 22 |ut this object."| 00014660 3a f2 54 69 6c 65 28 36 34 2c 36 30 30 2c 33 36 |:.Tile(64,600,36| 00014670 2c 31 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c |,1):.ContBox(-1,| 00014680 31 30 30 29 0d 0b df 70 53 24 3d 22 54 68 65 20 |100)...pS$="The | 00014690 32 20 74 68 69 6e 67 73 20 74 68 61 74 20 49 20 |2 things that I | 000146a0 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 61 62 6f |need to know abo| 000146b0 75 74 20 74 68 69 73 20 6f 62 6a 65 63 74 20 61 |ut this object a| 000146c0 72 65 20 61 73 20 66 6f 6c 6c 6f 77 73 20 3a 22 |re as follows :"| 000146d0 3a f2 54 69 6c 65 28 36 34 2c 34 35 30 2c 33 36 |:.Tile(64,450,36| 000146e0 2c 31 29 3a f2 43 6f 6e 74 42 6f 78 28 2d 31 2c |,1):.ContBox(-1,| 000146f0 31 30 30 29 0d 0b e0 30 53 24 3d 22 57 68 61 74 |100)...0S$="What| 00014700 20 69 73 20 74 68 69 73 20 6f 62 6a 65 63 74 3f | is this object?| 00014710 22 3a f2 54 69 6c 65 28 32 30 2c 33 30 30 2c 31 |":.Tile(20,300,1| 00014720 37 2c 31 29 0d 0b e1 30 53 24 3d 22 57 68 61 74 |7,1)...0S$="What| 00014730 20 69 73 20 69 74 20 6d 61 64 65 20 6f 66 3f 22 | is it made of?"| 00014740 3a f2 54 69 6c 65 28 37 30 30 2c 33 30 30 2c 31 |:.Tile(700,300,1| 00014750 37 2c 31 29 0d 0b e2 14 f2 43 6c 65 61 72 50 6c |7,1).....ClearPl| 00014760 61 79 65 72 42 69 74 73 0d 0b e3 30 f2 43 6f 6e |ayerBits...0.Con| 00014770 74 42 6f 78 28 2d 31 2c 31 30 30 29 3a 3f 50 50 |tBox(-1,100):?PP| 00014780 32 4f 62 25 3d 34 3a 3f 28 50 4f 62 6a 65 63 74 |2Ob%=4:?(PObject| 00014790 73 32 25 2b 38 29 3d 31 0d 0b e4 1a 55 6e 6b 6e |s2%+8)=1....Unkn| 000147a0 6f 77 6e 4f 62 6a 65 63 74 4e 75 6d 62 65 72 25 |ownObjectNumber%| 000147b0 3d 38 0d 0b e5 0d f2 53 65 74 52 6f 6f 6d 31 0d |=8.....SetRoom1.| 000147c0 0b e6 0a f2 4c 69 6e 6b 31 0d 0b e7 05 e1 0d 0b |....Link1.......| 000147d0 e8 0e dd f2 53 65 74 52 6f 6f 6d 31 0d 0b e9 29 |....SetRoom1...)| 000147e0 52 6f 6f 6d 4e 75 6d 62 65 72 25 3d 30 3a 3f 50 |RoomNumber%=0:?P| 000147f0 52 6f 6f 6d 25 3d 30 3a 3f 28 50 52 6f 6f 6d 25 |Room%=0:?(PRoom%| 00014800 2b 32 29 3d 31 0d 0b ea 12 f2 4d 61 6b 65 52 6f |+2)=1.....MakeRo| 00014810 6f 6d 54 61 62 6c 65 0d 0b eb 15 52 6f 6f 6d 25 |omTable....Room%| 00014820 3d 52 6f 6f 6d 41 64 64 25 28 30 29 0d 0b ec 28 |=RoomAdd%(0)...(| 00014830 52 6f 6f 6d 32 25 3d 52 6f 6f 6d 25 2b 28 3f 28 |Room2%=Room%+(?(| 00014840 52 6f 6f 6d 25 29 2a 3f 28 52 6f 6f 6d 25 2b 31 |Room%)*?(Room%+1| 00014850 29 29 2b 32 0d 0b ed 1b 77 25 3d 3f 52 6f 6f 6d |))+2....w%=?Room| 00014860 25 3a 6c 25 3d 3f 28 52 6f 6f 6d 25 2b 31 29 0d |%:l%=?(Room%+1).| 00014870 0b ee 12 f2 4d 61 6b 65 4c 69 6e 6b 54 61 62 6c |....MakeLinkTabl| 00014880 65 0d 0b ef 39 70 78 25 3d 33 3a 70 79 25 3d 34 |e...9px%=3:py%=4| 00014890 3a 43 68 61 6e 67 65 52 6f 6f 6d 25 3d a3 3a 54 |:ChangeRoom%=.:T| 000148a0 65 6d 70 43 6f 64 65 25 3d 30 3a 43 68 61 6e 67 |empCode%=0:Chang| 000148b0 69 6e 67 52 6f 6f 6d 25 3d a3 0d 0b f0 05 e1 0d |ingRoom%=.......| 000148c0 0b f1 0b dd f2 4c 69 6e 6b 31 0d 0b f2 05 da 0d |.....Link1......| 000148d0 0b f3 2d f2 47 65 74 42 61 63 6b 67 72 6f 75 6e |..-.GetBackgroun| 000148e0 64 50 61 6c 65 74 74 65 28 22 61 72 63 31 22 29 |dPalette("arc1")| 000148f0 3a f2 53 65 74 50 61 6c 65 74 74 65 0d 0b f4 49 |:.SetPalette...I| 00014900 c8 99 26 30 30 30 30 30 30 32 45 2c 34 30 2b 35 |..&0000002E,40+5| 00014910 31 32 2c 53 70 72 69 74 65 41 72 65 61 25 2c 53 |12,SpriteArea%,S| 00014920 70 72 41 64 64 25 28 4f 62 6a 65 63 74 53 74 61 |prAdd%(ObjectSta| 00014930 72 74 25 2b 28 31 2a 32 29 29 b8 2c 2c 2c 73 77 |rt%+(1*2)).,,,sw| 00014940 25 2c 73 68 25 0d 0b f5 1a f2 41 6e 69 6d 28 39 |%,sh%.....Anim(9| 00014950 2c 30 2c 31 30 30 2c 38 2c 30 2c 31 34 30 29 0d |,0,100,8,0,140).| 00014960 0b f6 1d f2 50 6c 6f 74 53 70 72 69 74 65 28 31 |....PlotSprite(1| 00014970 2c 31 31 31 32 2c 31 30 30 2c 30 29 0d 0b f7 69 |,1112,100,0)...i| 00014980 53 70 44 69 72 25 3d 31 3a 53 24 3d 22 49 20 73 |SpDir%=1:S$="I s| 00014990 68 61 6c 6c 20 6e 6f 77 20 72 65 63 6f 6e 73 74 |hall now reconst| 000149a0 72 75 63 74 20 56 69 6b 69 6e 67 20 74 69 6d 65 |ruct Viking time| 000149b0 73 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 |s so that you ca| 000149c0 6e 20 66 69 6e 64 20 74 68 65 20 69 6e 66 6f 72 |n find the infor| 000149d0 6d 61 74 69 6f 6e 20 77 68 69 63 68 20 49 20 6e |mation which I n| 000149e0 65 65 64 2e 22 0d 0b f8 31 f2 53 70 65 61 6b 28 |eed."...1.Speak(| 000149f0 36 30 30 2c 34 30 30 29 3a f2 43 6f 6e 74 42 6f |600,400):.ContBo| 00014a00 78 28 2d 31 2c 31 30 30 29 3a f2 52 65 70 6c 61 |x(-1,100):.Repla| 00014a10 63 65 54 65 6d 70 0d 0b f9 75 53 70 44 69 72 25 |ceTemp...uSpDir%| 00014a20 3d 31 3a 53 24 3d 22 4d 61 6b 65 20 67 6f 6f 64 |=1:S$="Make good| 00014a30 20 75 73 65 20 6f 66 20 79 6f 75 72 20 6a 6f 75 | use of your jou| 00014a40 72 6e 65 79 20 74 6f 20 56 69 6b 69 6e 67 20 74 |rney to Viking t| 00014a50 69 6d 65 73 2e 20 54 68 65 72 65 20 77 69 6c 6c |imes. There will| 00014a60 20 62 65 20 6c 6f 74 73 20 6f 66 20 70 65 6f 70 | be lots of peop| 00014a70 6c 65 20 74 68 65 72 65 20 77 68 6f 20 63 61 6e |le there who can| 00014a80 20 68 65 6c 70 20 79 6f 75 2e 22 0d 0b fa 31 f2 | help you."...1.| 00014a90 53 70 65 61 6b 28 36 30 30 2c 34 30 30 29 3a f2 |Speak(600,400):.| 00014aa0 43 6f 6e 74 42 6f 78 28 2d 31 2c 31 30 30 29 3a |ContBox(-1,100):| 00014ab0 f2 52 65 70 6c 61 63 65 54 65 6d 70 0d 0b fb 5d |.ReplaceTemp...]| 00014ac0 53 70 44 69 72 25 3d 31 3a 53 24 3d 22 57 68 65 |SpDir%=1:S$="Whe| 00014ad0 6e 20 79 6f 75 20 68 61 76 65 20 66 6f 75 6e 64 |n you have found| 00014ae0 20 74 68 65 20 61 6e 73 77 65 72 73 20 49 20 6e | the answers I n| 00014af0 65 65 64 2c 20 63 61 6c 6c 20 6d 65 20 62 79 20 |eed, call me by | 00014b00 70 72 65 73 73 69 6e 67 20 74 68 65 20 27 48 6f |pressing the 'Ho| 00014b10 6d 65 27 20 6b 65 79 2e 22 0d 0b fc 31 f2 53 70 |me' key."...1.Sp| 00014b20 65 61 6b 28 36 30 30 2c 34 30 30 29 3a f2 43 6f |eak(600,400):.Co| 00014b30 6e 74 42 6f 78 28 2d 31 2c 31 30 30 29 3a f2 52 |ntBox(-1,100):.R| 00014b40 65 70 6c 61 63 65 54 65 6d 70 0d 0b fd 1c 53 70 |eplaceTemp....Sp| 00014b50 44 69 72 25 3d 31 3a 53 24 3d 22 47 6f 6f 64 20 |Dir%=1:S$="Good | 00014b60 4c 75 63 6b 2e 22 0d 0b fe 31 f2 53 70 65 61 6b |Luck."...1.Speak| 00014b70 28 36 30 30 2c 34 30 30 29 3a f2 43 6f 6e 74 42 |(600,400):.ContB| 00014b80 6f 78 28 2d 31 2c 31 30 30 29 3a f2 52 65 70 6c |ox(-1,100):.Repl| 00014b90 61 63 65 54 65 6d 70 0d 0b ff 1c 53 74 61 72 74 |aceTemp....Start| 00014ba0 46 72 6f 6d 25 3d 31 3a f2 43 6c 65 61 72 46 6c |From%=1:.ClearFl| 00014bb0 61 67 73 0d 0c 00 0a f2 50 61 72 74 32 0d 0c 01 |ags.....Part2...| 00014bc0 05 e1 0d 0c 02 15 dd f2 43 6c 65 61 72 50 6c 61 |........ClearPla| 00014bd0 79 65 72 42 69 74 73 0d 0c 03 0f f2 50 75 74 4f |yerBits.....PutO| 00014be0 62 6a 65 63 74 73 0d 0c 04 0e 21 50 4d 6f 6e 65 |bjects....!PMone| 00014bf0 79 25 3d 30 0d 0c 05 0f f2 43 6c 65 61 72 46 6c |y%=0.....ClearFl| 00014c00 61 67 73 0d 0c 06 05 e1 0d 0c 07 14 dd f2 52 65 |ags...........Re| 00014c10 41 73 6b 51 75 65 73 74 69 6f 6e 73 0d 0c 08 05 |AskQuestions....| 00014c20 e1 0d 0c 09 1f dd f2 43 68 65 63 6b 45 78 74 72 |.......CheckExtr| 00014c30 61 50 65 72 73 6f 6e 49 6e 66 6f 28 70 6e 25 29 |aPersonInfo(pn%)| 00014c40 0d 0c 0a 14 ea 71 31 25 2c 71 32 25 2c 71 33 25 |.....q1%,q2%,q3%| 00014c50 2c 71 34 25 0d 0c 0b 1b 71 31 25 3d a3 3a 71 32 |,q4%....q1%=.:q2| 00014c60 25 3d a3 3a 71 33 25 3d a3 3a 71 34 25 3d a3 0d |%=.:q3%=.:q4%=..| 00014c70 0c 0c 0a c8 8e 70 6e 25 ca 0d 0c 0d 07 c9 30 3a |.....pn%......0:| 00014c80 0d 0c 0e 1e f2 4f 70 28 22 41 73 6b 20 68 6f 77 |.....Op("Ask how| 00014c90 20 68 65 20 69 73 22 2c 22 22 2c 22 22 29 0d 0c | he is","","")..| 00014ca0 0f 0a f2 4d 6f 75 73 65 0d 0c 10 21 4c 6f 63 25 |...Mouse...!Loc%| 00014cb0 3d a4 43 6f 6e 4c 6f 63 28 4d 6f 75 73 65 58 25 |=.ConLoc(MouseX%| 00014cc0 2c 4d 6f 75 73 65 59 25 29 0d 0c 11 0c e7 4c 6f |,MouseY%).....Lo| 00014cd0 63 25 3d 31 8c 0d 0c 12 67 f2 47 69 76 65 49 6e |c%=1....g.GiveIn| 00014ce0 66 6f 28 70 6e 25 2c 22 4f 68 2c 20 49 27 6d 20 |fo(pn%,"Oh, I'm | 00014cf0 6e 6f 74 20 74 6f 6f 20 62 61 64 2e 20 4d 79 20 |not too bad. My | 00014d00 6a 6f 69 6e 74 73 20 61 72 65 20 73 74 61 72 74 |joints are start| 00014d10 69 6e 67 20 74 6f 20 61 63 68 65 20 6e 6f 77 20 |ing to ache now | 00014d20 74 68 61 74 20 77 69 6e 74 65 72 20 69 73 20 6f |that winter is o| 00014d30 6e 20 69 74 73 20 77 61 79 2e 22 29 0d 0c 13 05 |n its way.")....| 00014d40 cd 0d 0c 14 0c f2 43 6f 6e 73 6f 6c 65 0d 0c 15 |......Console...| 00014d50 07 c9 32 35 0d 0c 16 2a f2 47 69 76 65 49 6e 66 |..25...*.GiveInf| 00014d60 6f 28 70 6e 25 2c 22 54 68 65 20 65 64 67 65 20 |o(pn%,"The edge | 00014d70 6f 66 20 74 68 65 20 64 65 6d 6f 2e 22 29 0d 0c |of the demo.")..| 00014d80 17 05 cb 0d 0c 18 05 e1 0d 0c 19 10 dd f2 53 77 |..............Sw| 00014d90 61 70 53 63 72 65 65 6e 0d 0c 1a 06 c8 96 0d 0c |apScreen........| 00014da0 1b 17 c8 99 26 30 30 30 30 30 30 30 36 2c 31 31 |....&00000006,11| 00014db0 32 2c 64 62 25 0d 0c 1c 17 c8 99 26 30 30 30 30 |2,db%......&0000| 00014dc0 30 30 30 36 2c 31 31 33 2c 76 62 25 0d 0c 1d 22 |0006,113,vb%..."| 00014dd0 e7 76 62 25 3d 31 8c 76 62 25 3d 32 3a 64 62 25 |.vb%=1.vb%=2:db%| 00014de0 3d 31 8b 76 62 25 3d 31 3a 64 62 25 3d 32 0d 0c |=1.vb%=1:db%=2..| 00014df0 1e 05 e1 0d 0c 1f 12 dd f2 53 69 6e 67 6c 65 53 |.........SingleS| 00014e00 63 72 65 65 6e 0d 0c 20 15 e7 ac 44 6f 75 62 6c |creen.. ...Doubl| 00014e10 65 42 75 66 66 65 72 25 8c e1 0d 0c 21 17 c8 99 |eBuffer%....!...| 00014e20 26 30 30 30 30 30 30 30 36 2c 31 31 32 2c 64 62 |&00000006,112,db| 00014e30 25 0d 0c 22 17 c8 99 26 30 30 30 30 30 30 30 36 |%.."...&00000006| 00014e40 2c 31 31 33 2c 64 62 25 0d 0c 23 13 44 6f 75 62 |,113,db%..#.Doub| 00014e50 6c 65 42 75 66 66 65 72 25 3d a3 0d 0c 24 05 e1 |leBuffer%=...$..| 00014e60 0d 0c 25 12 dd f2 44 6f 75 62 6c 65 42 75 66 66 |..%...DoubleBuff| 00014e70 65 72 0d 0c 26 14 e7 44 6f 75 62 6c 65 42 75 66 |er..&..DoubleBuf| 00014e80 66 65 72 25 8c e1 0d 0c 27 17 c8 99 26 30 30 30 |fer%....'...&000| 00014e90 30 30 30 30 36 2c 31 31 32 2c 76 62 25 0d 0c 28 |00006,112,vb%..(| 00014ea0 17 c8 99 26 30 30 30 30 30 30 30 36 2c 31 31 33 |...&00000006,113| 00014eb0 2c 64 62 25 0d 0c 29 13 44 6f 75 62 6c 65 42 75 |,db%..).DoubleBu| 00014ec0 66 66 65 72 25 3d b9 0d 0c 2a 05 e1 0d 0c 2b 16 |ffer%=...*....+.| 00014ed0 dd f2 53 65 74 44 6f 6f 72 52 65 73 70 6f 6e 73 |..SetDoorRespons| 00014ee0 65 73 0d 0c 2c 0a ea 66 25 2c 72 25 0d 0c 2d 1a |es..,..f%,r%..-.| 00014ef0 de 20 4e 6f 4b 6e 6f 63 6b 24 28 4e 6f 6f 66 52 |. NoKnock$(NoofR| 00014f00 6f 6f 6d 73 25 29 0d 0c 2e 09 f7 8d 54 75 4c 0d |ooms%)......TuL.| 00014f10 0c 2f 11 f3 4e 6f 6f 66 45 6e 74 72 69 65 73 25 |./..NoofEntries%| 00014f20 0d 0c 30 16 e3 66 25 3d 30 b8 4e 6f 6f 66 45 6e |..0..f%=0.NoofEn| 00014f30 74 72 69 65 73 25 0d 0c 31 07 f3 72 25 0d 0c 32 |tries%..1..r%..2| 00014f40 23 f3 44 6f 6f 72 52 65 73 70 6f 6e 73 65 24 28 |#.DoorResponse$(| 00014f50 72 25 29 2c 4e 6f 4b 6e 6f 63 6b 24 28 72 25 29 |r%),NoKnock$(r%)| 00014f60 0d 0c 33 07 ed 66 25 0d 0c 34 05 e1 0d 0c 35 07 |..3..f%..4....5.| 00014f70 dc 31 33 0d 0c 36 14 dc 34 2c 22 43 6f 6d 65 20 |.13..6..4,"Come | 00014f80 69 6e 2e 22 2c 22 22 0d 0c 37 0c dc 35 2c 22 22 |in.",""..7..5,""| 00014f90 2c 22 22 0d 0c 38 13 dc 37 32 2c 22 45 6e 74 65 |,""..8..72,"Ente| 00014fa0 72 2e 22 2c 22 22 0d 0c 39 14 dc 37 2c 22 43 6f |r.",""..9..7,"Co| 00014fb0 6d 65 20 69 6e 2e 22 2c 22 22 0d 0c 3a 15 dc 33 |me in.",""..:..3| 00014fc0 31 2c 22 43 6f 6d 65 20 69 6e 2e 22 2c 22 22 0d |1,"Come in.","".| 00014fd0 0c 3b 0d dc 33 33 2c 22 22 2c 22 22 0d 0c 3c 15 |.;..33,"",""..<.| 00014fe0 dc 34 31 2c 22 43 6f 6d 65 20 69 6e 2e 22 2c 22 |.41,"Come in.","| 00014ff0 22 0d 0c 3d 15 dc 37 35 2c 22 43 6f 6d 65 20 69 |"..=..75,"Come i| 00015000 6e 2e 22 2c 22 22 0d 0c 3e 15 dc 36 32 2c 22 43 |n.",""..>..62,"C| 00015010 6f 6d 65 20 69 6e 2e 22 2c 22 22 0d 0c 3f 15 dc |ome in.",""..?..| 00015020 36 38 2c 22 43 6f 6d 65 20 69 6e 2e 22 2c 22 22 |68,"Come in.",""| 00015030 0d 0c 40 15 dc 38 30 2c 22 43 6f 6d 65 20 69 6e |..@..80,"Come in| 00015040 2e 22 2c 22 22 0d 0c 41 15 dc 37 31 2c 22 43 6f |.",""..A..71,"Co| 00015050 6d 65 20 69 6e 2e 22 2c 22 22 0d 0c 42 16 dc 31 |me in.",""..B..1| 00015060 35 35 2c 22 43 6f 6d 65 20 69 6e 2e 22 2c 22 22 |55,"Come in.",""| 00015070 0d 0c 43 16 dc 31 32 38 2c 22 43 6f 6d 65 20 69 |..C..128,"Come i| 00015080 6e 2e 22 2c 22 22 0d 0c 44 1a dd f2 43 68 65 63 |n.",""..D...Chec| 00015090 6b 43 68 72 52 65 61 63 74 69 6f 6e 28 72 25 29 |kChrReaction(r%)| 000150a0 0d 0c 45 05 e1 0d 0c 46 10 dd f2 50 72 69 6e 74 |..E....F...Print| 000150b0 4d 6f 6e 65 79 0d 0c 47 16 ea 78 25 2c 79 25 2c |Money..G..x%,y%,| 000150c0 62 25 2c 7a 25 2c 63 24 2c 77 25 0d 0c 48 3e e7 |b%,z%,c$,w%..H>.| 000150d0 44 6f 75 62 6c 65 42 75 66 66 65 72 25 8c f2 53 |DoubleBuffer%..S| 000150e0 69 6e 67 6c 65 53 63 72 65 65 6e 3a 44 6f 75 62 |ingleScreen:Doub| 000150f0 6c 65 42 42 61 63 6b 25 3d b9 8b 44 6f 75 62 6c |leBBack%=..Doubl| 00015100 65 42 42 61 63 6b 25 3d a3 0d 0c 49 4d e7 21 50 |eBBack%=...IM.!P| 00015110 4d 6f 6e 65 79 25 3e 31 8c 53 24 3d 22 59 6f 75 |Money%>1.S$="You| 00015120 20 68 61 76 65 20 22 2b c3 28 21 50 4d 6f 6e 65 | have "+.(!PMone| 00015130 79 25 29 2b 22 20 70 65 6e 6e 69 65 73 2e 22 8b |y%)+" pennies.".| 00015140 53 24 3d 22 59 6f 75 20 68 61 76 65 20 31 20 70 |S$="You have 1 p| 00015150 65 6e 6e 79 2e 22 0d 0c 4a 27 e7 21 50 4d 6f 6e |enny."..J'.!PMon| 00015160 65 79 25 3d 30 8c 53 24 3d 22 59 6f 75 20 68 61 |ey%=0.S$="You ha| 00015170 76 65 20 6e 6f 20 6d 6f 6e 65 79 2e 22 0d 0c 4b |ve no money."..K| 00015180 22 77 25 3d a9 28 53 24 29 2a 31 36 3a 63 78 25 |"w%=.(S$)*16:cx%| 00015190 3d 36 32 30 2d 77 25 3a 63 79 25 3d 36 30 30 0d |=620-w%:cy%=600.| 000151a0 0c 4c 47 c8 99 26 30 30 30 30 30 30 32 45 2c 31 |.LG..&0000002E,1| 000151b0 36 2b 32 35 36 2c 53 70 72 69 74 65 41 72 65 61 |6+256,SpriteArea| 000151c0 25 2c 22 6d 6f 6e 22 2c 30 2c 63 78 25 2c 63 79 |%,"mon",0,cx%,cy| 000151d0 25 2d 36 38 2c 63 78 25 2b 28 77 25 2a 32 2b 34 |%-68,cx%+(w%*2+4| 000151e0 30 29 2c 63 79 25 0d 0c 4d 1a f2 54 69 6c 65 28 |0),cy%..M..Tile(| 000151f0 63 78 25 2c 63 79 25 2c a9 28 53 24 29 2c 31 29 |cx%,cy%,.(S$),1)| 00015200 0d 0c 4e 0e f5 3a fd bf 28 30 29 3d 22 22 0d 0c |..N..:..(0)=""..| 00015210 4f 14 f2 43 6f 6e 74 42 6f 78 28 2d 31 2c 33 35 |O..ContBox(-1,35| 00015220 30 29 0d 0c 50 35 c8 99 26 30 30 30 30 30 30 32 |0)..P5..&0000002| 00015230 45 2c 33 34 2b 32 35 36 2c 53 70 72 69 74 65 41 |E,34+256,SpriteA| 00015240 72 65 61 25 2c 22 6d 6f 6e 22 2c 63 78 25 2c 63 |rea%,"mon",cx%,c| 00015250 79 25 2d 36 38 2c 30 0d 0c 51 1f e7 44 6f 75 62 |y%-68,0..Q..Doub| 00015260 6c 65 42 42 61 63 6b 25 8c f2 44 6f 75 62 6c 65 |leBBack%..Double| 00015270 42 75 66 66 65 72 0d 0c 52 05 e1 0d 0c 53 16 dd |Buffer..R....S..| 00015280 f2 53 75 6d 6d 61 72 69 73 65 4f 6c 64 47 61 6d |.SummariseOldGam| 00015290 65 0d 0c 54 05 e1 0d ff |e..T....| 00015298