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
bSpDir%=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
2P%=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)
pPpy%=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%
	Dfound%=�
	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