AMOS Pro101v`>X@Bcht>|\Bobt> |Bchtt&-||&-7  othtpq|Bchtt(tpq\>|||6tpq\tpq|>| mytpq|ttpq|& |$mxp>XT*mz> > \> >!> &ab3:includes/256pal\@t> |#@0@palrt>|\6@palgt>|\<@palbt>|<Ba>>&0@palrtBa|!t@t> |Ba>|t>|*6@palgtBa|!t@t> |Ba>>|t>|*<@palbtBa|!t@t> |Ba>>|t>|F@H Bleveltextt>|<PBa>> H BleveltexttBa|^t>|F Nteam>@T@echot*mz|@ZBalnamet>|\`Bobnamet>|-@f@alhitptst>|\l@opst>\>|\r@lopst>\>|@x@obtorooft>|\~ @locktowallt>|3@@telzot*mz|\@telxt*mz|\@telzt*mz|\@cptult>c|-@@usedt*mz|\@wbt*mz\> |\@uwbt*mz\> |a@Bbutt>;|\@pxt$mxp|\@pyt$mxp|\@zot*mz\> |\@zpt*mz|\@wtt*mz\> |\@zwt*mz\> \>|\@@zht*mz\>|\@zct*mz\> |\@zbt*mz|\@uzbt*mz|\@obxt>|\@obzt>|\@zzt*mz\> |&@@uzht*mz\>|\@zpbrt*mz\> \>|R,PBR(MXP),UPBR(MXP) Z@@zrgt*mz\>|\@zfgt*mz\>|\@zwgt*mz\> \>|\ @wdt*mz\> |\&@zdt*mz|\,@dct>|6@2@uzrgt*mz\>|\8@uzfgt*mz\>|\>@uzwgt*mz\> \>|]@DBvectt>|\J@cptxt>c|\P@cptyt>c|\V@cptzt>c|\\@zcptt*mz|\b@uzcptt*mz|\h@rbt*mz|\n@fbt*mz|O@t@vcplt*mz|\z@vcprt*mz|\@lpt*mz\>d|\@rpt*mz\>d|\@zut*mz|\@put$mxp|a@@pnt$mxp|\@xt>|\@yt>|\@dt$mxp\>|\@sowt>|\@pwt$mxp|\@cordt*mz|\@liftct>|>@@pmcomt>\>|\@pfcomt>\>|\@wlit*mz\> |\@zlit*mz|D@@dmxt>|\@dmzt>|\@dmyt>|\@hilitet> \>|\@pcwt$mxp\>|L@@swwlt>\>|\@swpt>|\ @keygrapht>|\@zdptt*mz|\@zgptt*mz|\@sgot>|*@"@dwptt*mz\> |\(@zliptt>|\.@zdoptt>|.@4@drtt>|\:@dltt>|\@@lrtt>|\F@lltt>|;@L@watht>|\R@wabht>|\X@zwat*mz|\^@waspt>|\d@waptt*mz|@j@fftt>|\p @switchtypet>|@vBdrt> |\|Bdlt> |"@Blrt> |\Bllt> |\@bsfxt*mz|/@@lspt>|\Bwchunkt>|\@wcyt>|\@wcsvt>|@ @biggungrapht> |@ @biggundimt> \>|lwchunk> wgw>@ R plasmagun @biggungrapht>|> @biggundimt>\>|>  @biggundimt>\>|> R rocket launcher @biggungrapht>|> @biggundimt>\>|> @biggundimt>\>|> R shotgun @biggungrapht>|> @biggundimt>\>|>  @biggundimt>\>|> R grenade launcher  @biggungrapht>|> @biggundimt>\>|>  @biggundimt>\>|>j@fftt>|>j@fftt>|>j@fftt>|>j@fftt>|>j@fftt>|>j@fftt>|>j@fftt>|>j@fftt>|>j@fftt>|>j@fftt> |>j@fftt> |>j@fftt> |>j@fftt> |>j@fftt> |>j@fftt>|>j@fftt>|>%<FBa>*mzT@telzotBa|>TFBwchunkt>|& GreenMechanic@wcyt>|>@T@wcsvt>|>Bwchunkt>|& BlueGreyMetal@wcyt>|>@T@wcsvt>|>Bwchunkt>|& TechnoDetail@wcyt>|>T@wcsvt>|>Bwchunkt>|& BlueStone@wcyt>|>@T@wcsvt>|>Bwchunkt>|&RedAlert@wcyt>|>@T@wcsvt>|>Bwchunkt>|&Rock@wcyt>|>@T@wcsvt>|>Bwchunkt>|&scummy@wcyt>|>T@wcsvt>|>Bwchunkt>|& stairfronts@wcyt>|>T@wcsvt>|>Bwchunkt>|&bigdoor@wcyt>|>T@wcsvt>|>Bwchunkt> |&redrock@wcyt> |>@T@wcsvt> |>Bwchunkt> |&dirt@wcyt> |>T@wcsvt> |>Bwchunkt> |&SWITCHES@wcyt> |>@T@wcsvt> |>Bwchunkt> |& SHINYMETAL@wcyt> |>T@wcsvt> |>Bwchunkt> |& bluemechanic@wcyt> |>@T@wcsvt> |>vBdrt>|& Plr Touch+SPCvBdrt>|& Plr Touch vBdrt>|& Bullet Touch vBdrt>|& Alien Touch vBdrt>|& On Timeout vBdrt>|& Never |Bdlt>|& On Timeout |Bdlt>|& Never Blrt>|& Plr Touch+SPCBlrt>|& Plr Touch Blrt>|& On Timeout Blrt>|& Never Bllt>|& Plr Touch+SPCBllt>|& Plr Touch Bllt>|& On Timeout Bllt>|& Never txt><<tBa>>T@swwltBa\>|>T@swwltBa\>|>TF@@swtt> |\@bwtt> |@swtt>|>T@bwtt>|>@swtt>|>T@bwtt>|>@swtt>|>T@bwtt>|>@swtt>|>T@bwtt>|>@swtt>|>T@bwtt>|>@swtt>|>T@bwtt>|>><xBa>>T@pmcomtBa\>|>T@pfcomtBa\>|>TF pcom> mp@t> | RFor A=0 To 12 R F$= Fn MY$(A+1)R, Load Iff "ab3:graphics/walls/wall."+F$,0 R Get Icon A+1,0,0 To 64,64 R8 For B=0 To 31 : Doke MP,Colour(B) : Add MP,2 : Next RNext mp@t> |>@><Ba>>f mytBa>|&ab3:graphics/floors/floor.f\>Ba>\>\>>@\>@*<Pb>>TZmp\ ,tb|TXmp\>TFF)&ab3:includes/editorblocks.pal\@t> |@t> |Lt> |RElse R2 Bload "ab3:includes/editorblocks.pal",Start(10)REnd If <FBa>*mz<Vb>> @zwgtBa\b\>|>@F=@uzhtBa\>|>T@uzhtBa\>|>T@uzhtBa\>|>*@zhtBa\>|>T@zhtBa\>|>TF ebx> ncpt> >\>@\>\>\  > >\>@\>@\>\ FT 4T > >\\>(>\\ > lg> > \>>@ >\*mz>@>%<dBa@t>|@t>|Lt>|>V> !Ba\>F  >\> @ &ab3:includes/test.lnk\@t>|s@t>|64<Ba>><b>>c!ts|.Tcf>ZBalnametBa|ZBalnametBa|Rtc| Xs\>FFs@t>|6W<Ba>><b>>c!ts|.Tcf>`BobnametBa|`BobnametBa|Rtc| Xs\>FFs@t>|6Z<Ba>>x@obtorooftBa|!ts>|~ @locktowalltBa|!ts>|ss>(Fs@t>|66h<~Ba>>f@alhitptstBa|!ts> |ss>>Fs@t>|6G`<Ba>>BwchunktBa|&<b>>?l!ts|f>& BwchunktBa|BwchunktBa|Rt!ts|| Xs\>FF< Ba>>@wcytBa|!ts|TXs\>@wcsvtBa|>Pz@wcsvtBa|@wcsvtBa|>\>@wcsvtBa|@wcytBa|F > \>d>d  > \>*&ab3:includes/BETPTS\>  np>Tcp nptxp>>>R<NBa>> BobtBa|& Undefined FBobt>|&Alien Bobt>|&ObjectROB$(0)="Enemy "ROB$(1)="MediPac "ROB$(2)="Ammo Clip "ROB$(3)="Big Gun "ROB$(4)="Key "ROB$(5)="Vector Object"ROB$(6)="Marine "ROB$(7)="Glass Ball "ROB$(8)="Barrel "ROB$(9)="Decoration "R<VBa>>DBvecttBa|&Undefined FDBvectt>|&ROBOT DBvectt>|&reserved DBvectt>|&Lamp DBvectt>|&crate DBvectt>|&terminal DBvectt>|&Blue key Indicator DBvectt>|&Green key Indicator DBvectt>|&Red key Indicator DBvectt>|&Yellow key IndicatorDBvectt> |&Gas Pipe DBvectt> |&Torch RBbutt>|&Add Point Bbutt>|&Delete Point Bbutt>|&Move Point Bbutt>|&Define New Zone Bbutt>|&Toggle Wall/Delete Zone Bbutt>|&Define Viewing Order Bbutt> |&Upper Roof Height Bbutt> |&Upper Floor Height Bbutt>|&Define Roof Height Bbutt>|&Define Floor Height Bbutt> |&Upper Roof Point Brightness Bbutt> |&Upper Floor Point BrightnessBbutt>|&Lower Roof Point Brightness Bbutt>|&Lower Floor Point BrightnessBbutt>|&Define Roof Graphic Bbutt>|&Define Wall Graphic Bbutt>|&Define Floor Graphic Bbutt>|&UPPER Roof Graphic Bbutt>|&UPPER Wall Graphic Bbutt>|&UPPER Floor Graphic Bbutt>|&Add Object Bbutt>|&Move Object Bbutt>|&Delete Object Bbutt> |&Set Player Start / End Zone Bbutt>|&Define Door Zone Bbutt>|&Define Lift Zone Bbutt>|&Define Teleporter Bbutt>|&Water Height Bbutt>|&Water Height Anim Bbutt>!|&Upper Wall Bright Bbutt>"|&Lower Wall Bright Bbutt>|&Add Control Point Bbutt>|&Link Control Points Bbutt>|&Link Zone to Cpt Bbutt> |&Link Upper Zone to Cpt Bbutt>#|&Move Control Point Bbutt>$|&Set Background SFX for zone:Bbutt>%|&Set Echo Level of zone  >\>\>\>\ &ab3:graphics/editorbuttons >T> >\\>*>\\ >\>@\>\>\ FT >D>t>\>> \> t>\>> \> t>\>> \> t>\>>\>t>\>>\>t>\>>\>t>\>>\>>\>\>>\> >t>\>>\>t>\>>\>t>\>>\>t>\>>\>>\>\>>\> >D>t>\>>\>t>\>>\>t>\>>\>t>\>>\>J>\>\>>\>\>>\> >t>\>>\>t>\>>\>t>\>>\>t>\>>\>J>\>\>>\>\>>\> >x>\>Tv&B>\>\>>\> >x>\>Tv&L+>\>\>>\> >x>\>Tv&L->\>\>>\> >t>\>>\>t>\>>\>t>\>>\>t>\>>\>>\>\>>\> >\>@\>\>\ FT 4T >%<FBa>>dTJt>|\t>|\>TF>\>\>>\> >\>@\>\>\ FT >  >\\>)\\ RMenu$(1)="File "R Menu$(1,1)="Load Game Link File" RMenu$(1,2)=" "R Menu$(1,3)="Load Level ->" RFor A=1 To 16 R( Menu$(1,3,A)=" "+(Str$(A)-" ")+" " RNext  dt>|&Edit  dt>\>|& Text Strings dt>\>|&Show -> dt>\>\>|&No Control Point Links  dt>\>\>|&Physical Links Only  dt>\>\>|&Visual Links Only  dt>\>\>|&All Control Point Links+@hilitet>\>|>T@hilitet>\>|>*@hilitet>\>|>T@hilitet>\>|>*@hilitet>\>|>T@hilitet>\>|>)@hilitet>\>|>T@hilitet>\>|> >\>@\>\>\  >\\>)\\FT >  > n>  >\63  >\6  >\6  >\6  >\6  >\6  >\6 D> \&(888,1)(000,1) D> \&(fff,1)(444,1) D> \&(0cf,1)(048,1) D> \&(f88,1)(600,1) D>\&(ff0,1)(440,1) D>\&(f0f,1)(404,1)  >\6 RDual Playfield 2,1 sc6.n t>\>|\ t>\>| t>\>@|\ t>\>|!$xot>> |T*yot>>|/0mu>T6nz>T<cz>TBze>THpz>Nop>TpshineboxNop\>R Tredcpt>y$xo\*yo\@pxt|\@pyt|\@zot|\@zpt|\@wtt|\@wlit|\@zlit|\@liftct|\@zct|\ np\cp\6nz\<cz\Bze\0mu\ebx\ncptkZno\`ot\Bobt|\@obxt|\@obzt|\txp\lg\@zfgt|\@zrgt|\@zwgt|\@zdt|\@wdt|\@dct|\@cptxt|\@cptyt|w@cptzt|\fhilite\@hilitet|\@swwlt|\@swpt|\lswn\mp\rmpx\Bdrt|\Bdlt|\Bllt|\Blrt|\@dltt|\@drtt|\@lltt|\@lrtt|XBvectt|\@lspt|\wgw\ @switchtypet|\xnwa\@zwat|\@watht|\@waspt|\Tredcpt\@opst|\@lopst|txt\~ezone>\>\> mptr> >\>@\>@\>@\ FT 4T > >R mos>TD >\ebx> \>\ebx> >\>>\>\>TpshineboxNop\>P  n>Tx>F\>Tv<czd& & phed ~t>| Hhed> RHILITE=Choice(2)-1 Bredraw hed> 6 ~t>|>  setleveltext  T ~t>|> Tredcpt ~t>|>TBredraw a,a&]scsc> pa&[Tscsc> 2sc>T sc>vt0mu> ea&(Xebx>Xebx\>T >\ebx> \>\ebx> >\>>\>\>TpshineboxNop\>da&)Xebx>Xebx\>T >\ebx> \>\ebx> >\>>\>\>TpshineboxNop\>&DaRt>|$xo$xovtTBredraw&DaRt>|$xo$xovtTBredraw&DaRt>|*yo*yovtTBredraw&DaRt>|*yo*yovtTBredraw la&E<NBa>6nz> T@echotBa|>F la&B<NBa>6nz> @bsfxtBa|>F"a&Ipicsave a&Dshodef"a&Pscrnsave.a&s >Tl levelsave.a&l >T` levelloadba&#0mu0mu>Tvtvt>T$xot$xovt|vtT*yot*yovt|vtTgridTBredrawka&;X0mu>0mu0mu>Tvtvt>T$xot$xovt|vtT*yot*yovt|vtTgridTBredrawxmTym$#x .t>\xm|Ty Ht>\ym|y>Xy> 8mos>  mos> >mptrf> > mptr> mapedit*zy> <mptrf> > mptr> T > 0 pickbutton y> 8mos> mos>  >mptrf>> mptr>  \>R  picsaveRScreen Open 7,640,256,16,HiresRCurs Off : Flash Off : Cls 0 RGet Palette 0 R(Screen Copy 0,0,0,640,48 To 7,0,(256-48)RR$Zoom 2,0,0,320,200 To 7,0,0,640,200 R Wait Key RScreen Close 7 n>fTt&\&\&| f` shodef<Ba>6nz><db>@zptBa|>@zztBa\b|>FF 6nz> 6nz><Ba>6nz> <b>@zptBa|>/ f@zotBa\b|Ts@zotBa\b>| <0cBa>6nz><d>@zptc|>1@zotc\d|sX@zotc\d>|f+@zztBa\b|cT@zztc\d|BaF F FF<Ba>6nz><b>@zptBa|>g Z@zwgtBa\b\>|>@X@zwgtBa\b\>|>X@zwgtBa\b\>|>X@zwgtBa\b\>|> z@zztBa\b| {z>0Jjoin@zotBa\b|\@zotBa\b>|\> ? %@zhtBa\>|@zhtz\>|L@zhtBa\>|@zhtz\>|0Jjoin@zotBa\b|\@zotBa\b>|\>   FF`  scrnsave >\>\>\>\ %  FT 4T >mix>N Tmiz>N mxx>N Tmxz>N <Ba> np>mixtmix\@pxtBa||miztmiz\@pytBa||mxxtmxx\@pxtBa||mxztmxz\@pytBa||F3scttmxxmix|\ttmxzmiz|>@|>|>mmxtmxxmix|>mmztmxzmiz|>  >\6  >\6  >\><Ba>6nz><b>@zptBa|>D><@wttBa\b|> D>x1@pxt@zotBa\b||y1@pyt@zotBa\b|| x2@pxt@zotBa\b>|| y2@pyt@zotBa\b>||x1ttx1mmx|>|scy1tty1mmz|>|scx2ttx2mmx|>|scy2tty2mmz|>|sc&tx1>@\y1>x2>@\y2>FF >\>\> \>\ &LEVEL NUMBER (A-P) da n> &work:temp/ABLEVa&.iff > >`  setleveltext >\>\>\>\  4T >T >\6T >\6 m>P leveltextshowP*mB \mf> m>y Ht>\$|>x>\y>>Tv^t>|x>\y>>'txtgety>>TH Bleveltextty|tH Bleveltextty||>8 H Bleveltextty|H Bleveltextty|^t>tH Bleveltextty||| \mf> >`vtxtgety p&P:P(  a \ af&n aRt>| Lpf& p(tp\tp|>| N @ afRt> | pp a x>\yT Tvpd& \ aRt> | p  leveltextshow<2Ba>> x>\Ba> >T>vBad >T>+v&L---------------------------------------------------------------------------- >T>vH BleveltexttBa|dx>\Ba>>F`RvFlkv!#mp\vTX#mp\>vFdkvZ#mp\vTX#mp\>vFpkv!#mp\vTX#mp\>R  levelsave n>!D>Ttxp>\>>>\>PFxtxp\>Tv&Enter file name to save level:xtxp\>T& Filename: dfFtxp>\>>>\>Pxtxp\>Tv&Calculating level data... mp@t>|RR,* START *********************************** <Ba>> <lb>>%~pkttH BleveltexttBa|\b\>||FF dkplxdkply dkplz dk plx2dk&ply2 dk,plz2 R MYPRINT[" "]R*MYPRINT["NumCPts: dc.w "+ Fn MY$(NCPT+1)] dkncpt>dk np>dk6nz> dk>dkZno>>R22 2basempQlk>Tlk>Tlk>Tlk>Tlk>Tlk>Tlk>Tlk>R54R.* CONTROLPOINTS *************************** RMYPRINT["CPtPos:"] Bncpt><"Ba>ncpt R8MYPRINT[" dc.w "+ Fn MY$(CPTX(A))+","+ Fn MY$(-CPTY(A))]dkJ@cptxtBa|dkP@cptytBa|@cptultBa|>B dkt@zhtV@cptztBa|\@cptultBa||@zhtV@cptztBa|\>||>D dkt@uzhtV@cptztBa|\@cptultBa||@uzhtV@cptztBa|\>||>dk@cptultBa|F R MYPRINT[" "]RMYPRINT["NumObjectPoints:"] R MYPRINT[" dc.w "+ Fn MY$(NO+41)]RMYPRINT["ObjectPoints:"]!2base>\mp@t>| Zno><Ba>Zno>%RBMYPRINT[" dc.l "+ Fn MY$(OBX(A)*65536)+","+ Fn MY$(-OBZ(A)*65536)]lk@obxtBa|>lk@obztBa|>FRMYPRINT[" ds.l 62*2"] <LBa>>>lk>Tlk>F R MYPRINT[" "]RMYPRINT["ObjectData:"]!2base>\mp@t>| Zno> s@t> |<Ba>Zno>RM$=" dc.w "+ Fn MY$(A)+",0," 8stmp dkBa dk>+>watt!ts> |T.>wattf>T>watt>T2!ts|>T aliensaveT2!ts|>T thingsaveTR. If Peek(S)=0 : Gosub ENEMYSAVE : End If R. If Peek(S)=1 : Gosub MEDISAVE : End If R0 If Peek(S)=3 : Gosub BIGGUNSAVE : End If R, If Peek(S)=4 : Gosub KEYSAVE : End If R. If Peek(S)=5 : Gosub FLHASAVE : End If R0 If Peek(S)=6 : Gosub MARINESAVE : End If R. If Peek(S)=7 : Gosub GLASSSAVE : End If R. If Peek(S)=2 : Gosub AMMOSAVE : End If R0 If Peek(S)=8 : Gosub BBARRELSAVE : End If R. If Peek(S)=9 : Gosub DDECOSAVE : End If Xs\> FRMYPRINT["PlayerShotData:"]!2base> \mp@t>|<NBaZnoZno>R( MYPRINT[" dc.w "+ Fn MY$(A)+",-10,0"]!dkBaTdk> Tdk>R MYPRINT[" dc.b 20,20"] ~pk>T~pk>R MYPRINT[" dc.l 0"] lk>R MYPRINT[" dc.w -1"] dk>R MYPRINT[" dc.b 16,16,2,0"] )~pk>T~pk>T~pk>T~pk>R" MYPRINT[" dc.w 0,0,0,0,0,0,0"] R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TFF!2base>\mp@t>|RMYPRINT["NastyShotData:"] <VBaZno>Zno>'R( MYPRINT[" dc.w "+ Fn MY$(A)+",-10,0"]!dkBaTdk> Tdk>R MYPRINT[" dc.b 20,20"] ~pk>T~pk>R MYPRINT[" dc.l 0"] lk>R MYPRINT[" dc.w -1"] dk>R MYPRINT[" dc.b 16,16,2,0"] )~pk>T~pk>T~pk>T~pk>R" MYPRINT[" dc.w 0,0,0,0,0,0,0"] R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TFFR Other nasty data.... <VBaZno>(Zno>;R( MYPRINT[" dc.w "+ Fn MY$(A)+",-10,0"]!dkBaTdk> Tdk>R MYPRINT[" dc.b 20,20"] ~pk>T~pk>R MYPRINT[" dc.l 0"] lk>R MYPRINT[" dc.w -1"] dk>R MYPRINT[" dc.b 16,16,2,0"] )~pk>T~pk>T~pk>T~pk>R" MYPRINT[" dc.w 0,0,0,0,0,0,0"] R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TFFRRMYPRINT["PLR1_Obj:"]!2base>\mp@t>|$dkZno><Tdk>Tdk>~pk>@T~pk>@ lk> dk>~pk> T~pk> ~pk>T~pk><4Dqq>>Tdk>TF dk> <4Dqq>>Tdk>TF!2base>\mp@t>|$dkZno>=Tdk>Tdk>~pk>@T~pk>@ lk> dk>~pk> T~pk> ~pk>T~pk>Jflh>TPrfh>d<4Dqq>>Tdk>TFR$dkZno>>Tdk>Tdk>~pk>@T~pk> lk> > dk>~pk> T~pk>~pk>T~pk><4Dqq>>Tdk>TFRMYPRINT[" dc.w -1"] dk> RMYPRINT["Points:"]!2base\mp@t>|<Vs>>-0@swwlts\>|>X@swwlts\>|>+Ba@swwlts\>|Tb@swwlts\>|7Vlx@pxt@zotBa\b||T\ly@pyt@zotBa\b||?brx@pxt@zotBa\b>||Thry@pyt@zotBa\b>||+nmxtVlxbrx|>Ttmyt\lyhry|>brxbrxVlxThryhry\lyzlhtbrx>hry>|5Vlxnmxt> brx|zlT\lytmyt> hry|zl5brxnmxt> brx|zlThrytmyt> hry|zl=@pxt npss>|VlxT@pyt npss>|\ly=@pxt npss>|brxT@pyt npss>|hryF np>> <Ba> np> R8 MYPRINT[" dc.w "+ Fn MY$(PX(A))+","+ Fn MY$(-PY(A))] $dk@pxtBa|Tdk@pytBa|F<Ba>6nz><b>> <\c>> dk@zpbrtBa\b\c|FFF splibmp<Ba>6nz><fb>@zptBa|>dk@zotBa\b|Fv@zptBa|> <Hb@zptBa|> dk>FF 11 R MYPRINT[" "] RMYPRINT["Walls:"] RIf NZ=-1 Then Goto 22 RT=0 RFor A=0 To NZ R If ZP(A)>0 R For B=0 To ZP(A)-1R If SWT(WT(A,B))=1R4 LL=B-1 : If LL<0 : LL=ZP(A)-1 : End If R4 NL=B+1 : If LL>ZP(A)-1 : NL=0 : End If R, X1=PX(ZO(A,B)) : Y1=-PY(ZO(A,B))R0 X2=PX(ZO(A,B+1)) : Y2=-PY(ZO(A,B+1))R X2=X2-X1 : Y2=Y2-Y1 R L=Sqr(X2*X2+Y2*Y2)R X1=X1+(Y2*32)/L R, Y1=Y1-(X2*32)/L : XD=X2 : YD=Y2 R X1=X1-(X2*2)/LR Y1=Y1-(Y2*2)/LR X2=X2+2*(X2*2)/LR Y2=Y2+2*(Y2*2)/L1RZ MYPRINT[" dc.w "+ Fn MY$(X1)+","+ Fn MY$(Y1)+","+ Fn MY$(X2)+","+ Fn MY$(Y2)] R2 MYPRINT[" dc.w "+ Fn MY$(L)+",0,0,0"] R" ZW(A,B,0)=T : Add T,1 R End If R Next R End If RNext  22 R MYPRINT[" "]RMYPRINT["FloorLines:"]dk~ezone!2base>\mp@t>|6nz>> t>< Ba>6nz @zptBa|>< b>@zptBa|>' b@zotBa\b|@zotBa\b>|8 x1@pxt@zotBa\b||Ty1@pyt@zotBa\b||@ x2@pxt@zotBa\b>||Ty2@pyt@zotBa\b>||7 dkx1Tdky1Tdkx2x1Tdky2y1  x2x2x1Ty2y2y1 lhtx2x2y2y2| zll xatx2FE|l yaty2FE|l xayaxa yatxaya| R,JOINCOORDS[X1+XA,-(Y1+YA),X2-YA,-(Y2+XA),3]  R( JOINCOORDS[X1,-Y1,X2,-Y2,3]  R Wait Key    @ x1@pxt@zotBa\b>||Ty1@pyt@zotBa\b>||8 x2@pxt@zotBa\b||Ty2@pyt@zotBa\b||  x2x2x1Ty2y2y1 lhtx2x2y2y2| zll xatx2FE|l yaty2FE|l xatyaxa| yatxaya|  R,JOINCOORDS[X2+XA,-(Y2+YA),X1-YA,-(Y1+XA),3]  RJOINCOORDS[X2,-Y2,X1,-Y1,3] R Wait Key 7 dkx2Tdky2Tdkx1x2Tdky1y2  n@bwtt@wttBa\b||> <c>6nz<xd>@zptc|>K<@zotBa\b|@zotc\d>|X@zotBa\b>|@zotc\d|!R:MYPRINT[" dc.l ZoneDat"+ Fn MY$(C)+",ZoneDat"+ Fn MY$(A)] @zztBa\b|cd@zptc|Tc6nzF F+ @wttBa\b|f>X@wttBa\b|f> h1@zht@zztBa\b|\>| h2@zht@zztBa\b|\>|dk@zztBa\b| Hh1>Th2> dk>  R6MYPRINT[" dc.l "+ Fn MY$(H1*256)+","+ Fn MY$(H2*256)]  f dk> RMYPRINT[" dc.l 0,0"] R MYPRINT[" dc.l 900*256,900*256"] % RBMYPRINT[" dc.w "+ Fn MY$(L)+","+ Fn MY$(XA)+","+ Fn MY$(YA)+",0"] , dkzlT~pkxaT~pkyaTdk>= @zwtBa\b\>|tT@zwtBa\b\>|tTXt\>FF R MYPRINT[" "] 13 t>#<BBa> npT@pwtBa|>TF<Ba>6nz><zb>@zptBa|>(@wttBa\b|> @pwt@zotBa\b||t0 @pcwt@zotBa\b|\>|@zotBa\b>|0 @pcwt@zotBa\b>|\>|@zotBa\b| Xt\>FF dk6nz<Ba>6nz>bt>Tut><b>@zptBa|><c>> pb@zpbrtBa\b\c|X6 ,pb>pbpb> btbtpbF<c>>$ pb@zpbrtBa\b\c>|X6 ,pb>pbpb> ututpbFFbtbtt@zptBa|>|ututt@zptBa|>|"@zbtBa|btT@uzbtBa|utF<hBa>6nz>8@zptBa|>R&MYPRINT["ZoneBorders"+ Fn MY$(A)+":"] RM$="" RB$="" zbptmp<b>@zptBa|> RM$=M$+ Fn MY$(ZW(A,B,1))+"," dk@zwtBa\b\>|FRMYPRINT[" dc.w "+M$+"-1"] dk>Rzl@zptBa|><b>@zptBa|> @pwt@zotBa\b||f>. @zotBa\zl|f@pcwt@zotBa\b|\>|(dk@pwt@pcwt@zotBa\b|\>|| 2 @zotBa\b>|f@pcwt@zotBa\b|\>|dk@pwt@zotBa\b||   zltzl>|@zptBa|F dk>R"MYPRINT["ZoneDat"+ Fn MY$(A)+":"] RMYPRINT[" dc.w "+ Fn MY$(A)]@zdpttBa|mp dkBaR2 R If ZLI(A)>0 R& MYPRINT["ZoneFloor"+ Fn MY$(A)+":"]REnd If R&MYPRINT[" dc.l "+ Fn MY$(ZH(A,0)*256)]lk@zhtBa\>|>R6 R If ZD(A)>0R& MYPRINT["ZoneRoof"+ Fn MY$(A)+":"] REnd IfR&MYPRINT[" dc.l "+ Fn MY$(ZH(A,1)*256)]lk@zhtBa\>|>R10lk@uzhtBa\>|>R14lk@uzhtBa\>|>R18lk@zhtBa\>|>R22R MYPRINT[" dc.w "+ Fn MY$(ZB(A))]dk@zbtBa|R24dk@uzbtBa|R26R"MYPRINT[" dc.w "+ Fn MY$(ZCPT(A))]&~pk\@zcpttBa|T~pkb@uzcpttBa|R28 RMYPRINT[" dc.l 0"]lk@bsfxtBa|R32R(MYPRINT[" dc.l ZoneBorders"+ Fn MY$(A)] dkzbpt@zdpttBa|R34R MYPRINT[" dc.l ZPTS"+ Fn MY$(A)] zpptmp dk>R36s@t>|tBa>@>| back>"<@Dqq>6nzT@zutDqq|>TF<b>>? c!ts| cf> @zutc|> F@zrgtc\>|> back>   Xs\>F@zutBa|>!back>L@zrgtBa\>|> RMYPRINT[" dc.l BackGraph"] ~pk> RMYPRINT[" dc.l NullClip,0"]  ~pk>~pkT@echotBa|R389dk@telzotBa|Tdk@telxtBa|Tdk@telztBa|R44-dk@zfgtBa\>|Tdk8@uzfgtBa\>|R48s@t>|tBa>@>|&<Hb> np>T@putb|>TF<nk>@zptBa|> @put@zotBa\k||>F<k>> @swwltk\>|Ba @put npkk>|> @put npkk>|> F vat>R&MYPRINT[" dc.l ZoneGraph"+ Fn MY$(A)] dkBaR MYPRINT[" dc.l NullClip"] dk> cord> bts><Dqq>@zptBa|> @wttBa\Dqq|f> " bts\cord " bts>\cord " bts>\cord Xbts\> FRMYPRINT[" dc.l "+Bin$(CORD)] lkcord<b>>? !ts|f> zl!ts| cord!ts>| bts> <k>@zptzl|>@put@zotzl\k||>@wttzl\k|f>X@zut@zztzl\k||>" bts\cord Xbts\> F <k>>@swwltk\>|zl@put npkk>|>@put npkk>|> F R,MYPRINT[" dc.l ZoneGraph"+ Fn MY$(Deek(S))]  dk!ts| R6MYPRINT[" dc.l ZoneClip"+ Fn MY$(A)+"to"+ Fn MY$(VAT)] dk> RMYPRINT[" dc.l "+Bin$(CORD)] lkcord Xvat\> R B$=" dc.w "  R If Deek(S+2)<>65535  R, B$=B$+ Fn MY$(Deek(S+2))+"," R Else  R B$=B$+"-1," R End If  R If Deek(S+4)<>65535  R, B$=B$+ Fn MY$(Deek(S+4))+"," R Else  R B$=B$+"-1," R End If  R If Deek(S+6)<>65535  R( B$=B$+ Fn MY$(Deek(S+6)) R Else  R B$=B$+"-1"  R End If  R MYPRINT[B$]   Xs\>FRMYPRINT[" dc.l -1"] lk> R MYPRINT[" "]RMYPRINT["ZPTS"+ Fn MY$(A)+":"] tmptmpZzppt\tmpt@zdpttBa| t> m&< b> np> @putb|> RIf T mod 10=9  R2 M$=M$+ Fn MY$(B) : MYPRINT[" dc.w "+M$] : M$="" RElse  R M$=M$+ Fn MY$(B)+","  REnd If  RAdd T,1 dkb F dk>RIf M$=""R MYPRINT[" dc.w -1"]RElse R MYPRINT[" dc.w "+M$+"-1"]REnd If F 12RIf NP>-1R MYPRINT["AllPoints:"]R M$=""R For A=0 To NP+16 R If A mod 10=9 R8 M$=M$+ Fn MY$(A) : MYPRINT[" dc.w "+M$] : M$="" R Else R M$=M$+ Fn MY$(A)+"," R End If R Next R If NP mod 10<>9R M$=Left$(M$,Len(M$)-1)R MYPRINT[" dc.w "+M$] R End If R MYPRINT[" dc.w -1"]REnd If R(&ab3:levels/level_f& /twolev.bin\@t>|mptxp>\>>>\>Pxtxp\>Tv&Calculating graphics file...R mp@t>|R. Pointer to door/Lift/switch/Graphiclist data )lk>Tlk>Tlk>Tlk> 6nz>RMYPRINT["ZoneAdds:"]<Ba>6nz>R$MYPRINT[" dc.l ZoneDat"+ Fn MY$(A)] lk@zdpttBa|@t>|F!@t>|> \mp@t>|RMYPRINT["ZoneGraphAdds:"]  zgaptmp<Ba>6nz>R&MYPRINT[" dc.l ZoneGraph"+ Fn MY$(A)] lk>Tlk>F6nz>R4MYPRINT["ZoneGraph"+ Fn MY$(A)+": dc.w "+ Fn MY$(A)]bmp@t>|! zgapttBa>|\b dkBaC@zptBa|> <5b>@zptBa|>7 x1@pxt@zotBa\b||Ty1@pyt@zotBa\b||? x2@pxt@zotBa\b>||Ty2@pyt@zotBa\b>||) zlhttx2x1|>ty2y1|>| zlzl> gw@zwgtBa\b\>| @zwgtBa\b\>|>zltzlXtgw||zlzlgw  @zwgtBa\b\>|>zltzlXtgw|| :zl>zlzlgw  R(W$=" dc.l "+ Fn MY$(ZWG(A,B,0))+"*4096" f w@zwgtBa\b\>|>Tch@wcyt@zwgtBa\b\>||>T"csv@wcsvt@zwgtBa\b\>|| gwgw> (nbtb>|@zptBa| @wttBa\b|>)h2@zhtBa\>|Th1@zhtBa\>|".oh1@uzht@zztBa\b|\>|"4oh2@uzht@zztBa\b|\>|!:oh3@zht@zztBa\b|\>|!@oh4@zht@zztBa\b|\>|N.oh1:oh3.oh1>T4oh2>h1.oh1 R If H2>RElse R BBV=8+3REnd If Lvot.oh1\h2|X>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] g~pk>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H2)+"*256,"+ Fn MY$(H1)+"*256"](lkh1>Tlkt.oh1\h2|>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]Xh1:oh3Xh24oh2 R If H2>RElse R BBV=8+1REnd If R If H1>OH2 Rtbv>>RElse R TBV=8+2REnd If Lvot:oh3\h2|X>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] g~pk>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H1)+"*256,"+ Fn MY$(H2)+"*256"]1lkt4oh2\h1|>Tlkth2\:oh3|>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]h2@oh4 R If H1>OH4 Rtbv>RElse R TBV=8+0REnd If Fbbv>>Lvoth2|X>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] k~pkb>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H1)+"*256,"+ Fn MY$(H2)+"*256"](lkt@oh4\h1|>Tlkh2>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]<s>>-@swwlts\>|BaX@swwlts\>|b'RFMYPRINT[" dc.w wall,"+ Fn MY$(NP+S+S+1)+","+ Fn MY$(NP+S+S+2)+",0,31"]Qdk>Tdk npss>Tdk npss>Tdk>Tdk>@sgots|mp@t>|R&MYPRINT["SWITCHGRAPH"+ Fn MY$(S)+":"] Xswt@zhtBa\>||X>R&MYPRINT[" dc.l 13*4096+"+ Fn MY$(SW)] lkXswRMYPRINT[" dc.w 0,0,0"])dk> T~pk>T~pk>Tdk>(RHMYPRINT[" dc.l "+ Fn MY$(ZH(A,0)-64)+"*256,"+ Fn MY$(ZH(A,0)-32)+"*256"]?lkt@zhtBa\>|>@|>Tlkt@zhtBa\>|> |>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]F  @wttBa\b|>Rtbv>TFbbv>Lvot@zhtBa\>||X>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] g~pkbT~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv%RBMYPRINT[" dc.l "+ Fn MY$(ZH(A,1))+"*256,"+ Fn MY$(ZH(A,0))+"*256"]3lk@zhtBa\>|>Tlk@zhtBa\>|>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]<s>>-@swwlts\>|BaX@swwlts\>|b'RFMYPRINT[" dc.w wall,"+ Fn MY$(NP+S+S+1)+","+ Fn MY$(NP+S+S+2)+",0,31"]Qdk>Tdk npss>Tdk npss>Tdk>Tdk>@sgots|mp@t>|R&MYPRINT["SWITCHGRAPH"+ Fn MY$(S)+":"] Xswt@zhtBa\>||X>R&MYPRINT[" dc.l 13*4096+"+ Fn MY$(SW)] lkXswRMYPRINT[" dc.w 0,0,0"])dk> T~pk>T~pk>Tdk>(RHMYPRINT[" dc.l "+ Fn MY$(ZH(A,0)-64)+"*256,"+ Fn MY$(ZH(A,0)-32)+"*256"]?lkt@zhtBa\>|>@|>Tlkt@zhtBa\>|> |>dk@wbtBa\b| R MYPRINT[" "]F  @wttBa\b|>Lvot@zhtBa\>||X>/RVMYPRINT[" dc.w seethruwall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)]\dk> Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv%RBMYPRINT[" dc.l "+ Fn MY$(ZH(A,1))+"*256,"+ Fn MY$(ZH(A,0))+"*256"]3lk@zhtBa\>|>Tlk@zhtBa\>|>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]  @wttBa\b|>Lvot@zhtBa\>||X>1RZMYPRINT[" dc.w seethruwall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+","+ Fn MY$(-L)+",0"]\dk> Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv%RBMYPRINT[" dc.l "+ Fn MY$(ZH(A,1))+"*256,"+ Fn MY$(ZH(A,0))+"*256"]3lk@zhtBa\>|>Tlk@zhtBa\>|>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]  x@wttBa\b|>Rtbv>TFbbv>4h1@zhtBa\>|Th2@zht@zztBa\b|\>| Nh2h1Lvoth1|X>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] g~pk>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H2)+"*256,"+ Fn MY$(H1)+"*256"]lkh2>Tlkh1>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]4h1@zhtBa\>|Th2@zht@zztBa\b|\>|Rtbv>TFbbv>> h2h1Lvoth2|X>"@dwpttBa\b|mp@t>|R,MYPRINT["DW_"+ Fn MY$(A)+"_"+ Fn MY$(B)+":"],RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] k~pkb>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H1)+"*256,"+ Fn MY$(H2)+"*256"]lkh1>Tlkh2>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]  @wttBa\b|>Rtbv>>TFbbv>)h1@zhtBa\>|Th2@zhtBa\>|"@dwpttBa\b|mp@t>|R,MYPRINT["LW_"+ Fn MY$(A)+"_"+ Fn MY$(B)+":"],RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] k~pkb>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H2)+"*256,"+ Fn MY$(H1)+"*256"]lkh2>Tlkh1>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]Rtbv>TFbbv>>4h1@zhtBa\>|Th2@zht@zztBa\b|\>| Nh2h1Lvoth2|X>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] g~pk>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwLvoRMYPRINT[" dc.w 0,0,0"]Tdk@zwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H1)+"*256,"+ Fn MY$(H2)+"*256"]lkh1>Tlkh2>-~pk@wbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]  F ^fl>Tdro> jk& :n@fbtBa|> ^fl>  @zlitBa|>% (@zliptt@zlitBa|>|mp@t>| RMYPRINT["LF_"+ Fn MY$(A)+":"]  ' RFMYPRINT[" dc.w "+K$+"floor,"+ Fn MY$(ZH(A,0))+"*4,"+ Fn MY$(ZP(A)-1)] : dk^flTdk@zhtBa\>|>Tdk@zptBa|> RM$=" dc.w "+ Fn MY$(ZO(A,0)) <b>@zptBa|> RM$=M$+","+ Fn MY$(ZO(A,B))& dk@zotBa\b|tb>>| F dk@zotBa\>| R MYPRINT[M$] 5 pr@zfgtBa\>|Tprtpr>|>tpr>| R$MYPRINT[" dc.w -1,"+ Fn MY$(R)+",0"], dk@zfgtBa\>|TdkprTdk> R MYPRINT[" "] R &@zdtBa|> RMYPRINT["DR_"+ Fn MY$(A)+":"] $ .@zdoptt&@zdtBa|>|mp@t>|  :h@rbtBa|> dro>   @zrgtBa\>|>& RDMYPRINT[" dc.w "+K$+"roof,"+ Fn MY$(ZH(A,1))+"*4,"+ Fn MY$(ZP(A)-1)]: dkdroTdk@zhtBa\>|>Tdk@zptBa|> RM$=" dc.w "+ Fn MY$(ZO(A,0)) <b>@zptBa|>RM$=M$+","+ Fn MY$(ZO(A,B))&dk@zotBa\b|tb>>| F dk@zotBa\>| R MYPRINT[M$] 5 pr@zrgtBa\>|Tprtpr>|>tpr>| R$MYPRINT[" dc.w -1,"+ Fn MY$(R)+",0"], dk@zrgtBa\>|TdkprTdk> 3 t@zhtBa\>|@zhtBa\>||LX@zwatBa|f> RMYPRINT[" dc.w object"] dk>& RDMYPRINT[" dc.l "+ Fn MY$(ZH(A,0)+4)+"*256,"+ Fn MY$(ZH(A,2))+"*256"] R&LK[(ZH(A,0)+4)*256] : LK[ZH(A,2)*256] dk>  d@wapttBa|mp@t>| $ R@MYPRINT[" dc.w water,"+ Fn MY$(ZH(A,2))+"*4,"+ Fn MY$(ZP(A)-1)] 9 dk>Tdk@zhtBa\>|>Tdk@zptBa|> RM$=" dc.w "+ Fn MY$(ZO(A,0)) <b>@zptBa|>RM$=M$+","+ Fn MY$(ZO(A,B))&dk@zotBa\b|tb>>| F dk@zotBa\>| R MYPRINT[M$] 5 pr@zrgtBa\>|Tprtpr>|>tpr>| R$MYPRINT[" dc.w 0,"+ Fn MY$(R)+",0"] ! dk>TdkprTdk> RMYPRINT[" dc.w object"] dk>% RBMYPRINT[" dc.l "+ Fn MY$(ZH(A,2))+"*256,"+ Fn MY$(ZH(A,1))+"*256"] R"LK[ZH(A,2)*256] : LK[ZH(A,1)*256] dk>  RMYPRINT[" dc.w object"] dk>& RDMYPRINT[" dc.l "+ Fn MY$(ZH(A,0)+4)+"*256,"+ Fn MY$(ZH(A,1))+"*256"] R&LK[(ZH(A,0)+4)*256] : LK[ZH(A,1)*256] dk>  R"MYPRINT[" dc.w setclip,-1,-1,-1"] R MYPRINT[" "] RMYPRINT[" dc.l -1"] lk> R MYPRINT[" "]R4MYPRINT["ZoneGraph"+ Fn MY$(A)+": dc.w "+ Fn MY$(A)]")d@uzhtBa\>|@zhtBa\>| bmp@t>| ! zgapttBa>|>\b dkBa (@zptBa|> <b>@zptBa|>(nbtb>|@zptBa|7x1@pxt@zotBa\b||Ty1@pyt@zotBa\b||?x2@pxt@zotBa\b>||Ty2@pyt@zotBa\b>||)zlhttx2x1|>ty2y1|>|zlzl>gw>@uzwgtBa\b\>|>@uzwgtBa\b\>|>zltzlXtgw||zlzlgw>@uzwgtBa\b\>|>zltzlXtgw|| :zl>zlzlgwR(W$=" dc.l "+ Fn MY$(ZWG(A,B,0))+"*4096" fw>@uzwgtBa\b\>|>Tch@wcyt@zwgtBa\b\>||>T"csv@wcsvt@zwgtBa\b\>||gwgw> @@wttBa\b|>+h2@uzhtBa\>|Th1@uzhtBa\>|".oh1@uzht@zztBa\b|\>|"4oh2@uzht@zztBa\b|\>|!:oh3@zht@zztBa\b|\>|!@oh4@zht@zztBa\b|\>|N.oh1:oh3.oh1>T4oh2>`h1.oh1Rtbv>TFbbv>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] g~pk>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwRMYPRINT[" dc.w 0,0,0"]Tdk>@uzwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H2)+"*256,"+ Fn MY$(H1)+"*256"](lkh1>Tlkt.oh1\h2|>.~pk@uwbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]h1:oh3Xh24oh2Rtbv>TFbbv>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] g~pk>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwRMYPRINT[" dc.w 0,0,0"]Tdk>@uzwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H1)+"*256,"+ Fn MY$(H2)+"*256"]1lkt4oh2\h1|>Tlkth2\:oh3|>.~pk@uwbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]hh2@oh4Rtbv>TFbbv>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] k~pkb>T~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwRMYPRINT[" dc.w 0,0,0"]Tdk>@uzwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv R8MYPRINT[" dc.l "+ Fn MY$(H1)+"*256,"+ Fn MY$(H2)+"*256"](lkt@oh4\h1|>Tlkh2>.~pk@uwbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]@wttBa\b|>Rtbv>TFbbv>,RPMYPRINT[" dc.w wall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)] g~pkbT~pk>Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwRMYPRINT[" dc.w 0,0,0"] Tdk>@uzwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv%RBMYPRINT[" dc.l "+ Fn MY$(ZH(A,1))+"*256,"+ Fn MY$(ZH(A,0))+"*256"]5lk@uzhtBa\>|>Tlk@uzhtBa\>|>.~pk@uwbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]\@wttBa\b|>/RVMYPRINT[" dc.w seethruwall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+",0,"+ Fn MY$(L)]\dk> Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwRMYPRINT[" dc.w 0,0,0"]Tdk>@uzwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv%RBMYPRINT[" dc.l "+ Fn MY$(ZH(A,1))+"*256,"+ Fn MY$(ZH(A,0))+"*256"]5lk@uzhtBa\>|>Tlk@uzhtBa\>|>.~pk@uwbtBa\b|T~pk@zztBa\b| R MYPRINT[" "]`@wttBa\b|>1RZMYPRINT[" dc.w seethruwall,"+ Fn MY$(ZO(A,B))+","+ Fn MY$(ZO(A,B+1))+","+ Fn MY$(-L)+",0"]\dk> Tdk@zotBa\b|Tdk@zotBa\b>|T~pkbT~pk(nbTdkzl R MYPRINT[W$] lkwRMYPRINT[" dc.w 0,0,0"]Tdk>@uzwgtBa\b\>|T~pkchT~pk"csvT~pkgwT~pkRtbv>Fbbv%RBMYPRINT[" dc.l "+ Fn MY$(ZH(A,1))+"*256,"+ Fn MY$(ZH(A,0))+"*256"]5lk@uzhtBa\>|>Tlk@uzhtBa\>|>.~pk@uwbtBa\b|T~pk@zztBa\b| R MYPRINT[" "] F ^fl>Tdro> jk& :n@fbtBa|> ^fl>  @zlitBa|>%(@zliptt@zlitBa|>|mp@t>|RMYPRINT["LF_"+ Fn MY$(A)+":"]  ' RFMYPRINT[" dc.w "+K$+"floor,"+ Fn MY$(ZH(A,0))+"*4,"+ Fn MY$(ZP(A)-1)] ; dk^flTdk@uzhtBa\>|>Tdk@zptBa|> RM$=" dc.w "+ Fn MY$(ZO(A,0)) <b>@zptBa|>RM$=M$+","+ Fn MY$(ZO(A,B))&dk@zotBa\b|tb>>| F dk@zotBa\>| R MYPRINT[M$] 5 pr8@uzfgtBa\>|Tprtpr>|>tpr>| R$MYPRINT[" dc.w -1,"+ Fn MY$(R)+",0"], dk@zfgtBa\>|TdkprTdk> R MYPRINT[" "] R &@zdtBa|>RMYPRINT["DR_"+ Fn MY$(A)+":"] $.@zdoptt&@zdtBa|>|mp@t>|  :h@rbtBa|> dro>   2@uzrgtBa\>|>&RDMYPRINT[" dc.w "+K$+"roof,"+ Fn MY$(ZH(A,1))+"*4,"+ Fn MY$(ZP(A)-1)];dkdroTdk@uzhtBa\>|>Tdk@zptBa|>RM$=" dc.w "+ Fn MY$(ZO(A,0))<b>@zptBa|>RM$=M$+","+ Fn MY$(ZO(A,B))&dk@zotBa\b|tb>>|Fdk@zotBa\>| R MYPRINT[M$] 5pr2@uzrgtBa\>|Tprtpr>|>tpr>|R$MYPRINT[" dc.w -1,"+ Fn MY$(R)+",0"],dk@zrgtBa\>|TdkprTdk> # r@uzhtBa\>|@uzhtBa\>|RMYPRINT[" dc.w object"] dk>&RDMYPRINT[" dc.l "+ Fn MY$(ZH(A,0)+4)+"*256,"+ Fn MY$(ZH(A,2))+"*256"]R(LK[(UZH(A,0)+4)*256] : LK[UZH(A,2)*256] dk>$R@MYPRINT[" dc.w water,"+ Fn MY$(ZH(A,2))+"*4,"+ Fn MY$(ZP(A)-1)] :dk>Tdk@uzhtBa\>|>Tdk@zptBa|>RM$=" dc.w "+ Fn MY$(ZO(A,0))<b>@zptBa|>RM$=M$+","+ Fn MY$(ZO(A,B))&dk@zotBa\b|tb>>|Fdk@zotBa\>| R MYPRINT[M$] 5pr2@uzrgtBa\>|Tprtpr>|>tpr>|R$MYPRINT[" dc.w 0,"+ Fn MY$(R)+",0"] !dk>TdkprTdk>RMYPRINT[" dc.w object"] dk>%RBMYPRINT[" dc.l "+ Fn MY$(ZH(A,2))+"*256,"+ Fn MY$(ZH(A,1))+"*256"]R$LK[UZH(A,2)*256] : LK[UZH(A,1)*256] dk> RMYPRINT[" dc.w object"] dk>&RDMYPRINT[" dc.l "+ Fn MY$(ZH(A,0)+4)+"*256,"+ Fn MY$(ZH(A,1))+"*256"]R(LK[(UZH(A,0)+4)*256] : LK[UZH(A,1)*256] dk>  R"MYPRINT[" dc.w setclip,-1,-1,-1"] R MYPRINT[" "] RMYPRINT[" dc.l -1"] lk> R MYPRINT[" "] FRMYPRINT["DoorData:"]!@t>|\mp@t>|<d>> vus><Ba>6nz> `&@zdtBa|d> vus>" R|>Tdk@zhtBa\>|>  <V|qwe>>dkl@opstd\|qwe| F tx>Ttz> <w>@zptBa|>Xtx\@pxt@zotBa\w||Xtz\@pyt@zotBa\w|| F+ txtx@zptBa|Ttztz@zptBa| dktxTdktz  R*MYPRINT[" dc.w "+ Fn MY$(ZH(A,0)*4)+",0"] $ dk@zhtBa\>|>Tdk> R MYPRINT[" dc.l DR_"+ Fn MY$(A)]  lk.@zdoptt&@zdtBa|>| R$MYPRINT[" dc.l ZoneRoof"+ Fn MY$(A)] dkBa RMYPRINT[" dc.w "+ Fn MY$(DC(D)6 dk,@dctd|T~pk4@drttd|T~pk:@dlttd| F<Ba>6nz> <b>@zptBa|> x @wdtBa\b|d>R$MYPRINT[" dc.w "+ Fn MY$(ZW(A,B,0))]dk@zwtBa\b\>|R.MYPRINT[" dc.l DW_"+ Fn MY$(A)+"_"+ Fn MY$(B)]lk"@dwpttBa\b|R.MYPRINT[" dc.l "+ Fn MY$(ZWG(A,B,0))+"*4096"] lk@zwgtBa\b\>|>  FF Nvus> RMYPRINT[" dc.w -1"] dk>FRMYPRINT[" dc.w 999"] dk>RMYPRINT["LiftData:"]!@t>|>\mp@t>|<zl>> vus><Ba>6nz @zlitBa|zl> vus>" R|>Tdk@zhtBa\>|> <V|qwe>>dkr@lopstzl\|qwe| F  tx>Ttz> <w>@zptBa|>Xtx\@pxt@zotBa\w||Xtz\@pyt@zotBa\w|| F+ txtx@zptBa|Ttztz@zptBa| dktxTdktz  R*MYPRINT[" dc.w "+ Fn MY$(ZH(A,0)*4)+",0"]  Z@lsptzl|>dk@zhtBa\>|> >dk@zhtBa\>|>  dk> R MYPRINT[" dc.l LF_"+ Fn MY$(A)]  lk(@zlipttzl| R&MYPRINT[" dc.l ZoneFloor"+ Fn MY$(A)] dkBa' RFMYPRINT[" dc.w "+ Fn MY$(LIFTC(L)/256)+","+ Fn MY$(LIFTC(L) and 255)] 8 dk@liftctzl|T~pk@@lrttzl|T~pkF@llttzl| F<Ba>6nz> <b>@zptBa|> z@wlitBa\b|zl>R$MYPRINT[" dc.w "+ Fn MY$(ZW(A,B,0))]dk@zwtBa\b\>|R.MYPRINT[" dc.l LW_"+ Fn MY$(A)+"_"+ Fn MY$(B)]lk"@dwpttBa\b|R.MYPRINT[" dc.l "+ Fn MY$(ZWG(A,B,0))+"*4096"] lk@zwgtBa\b\>|>  FF Nvus> RMYPRINT[" dc.w -1"] dk>FRMYPRINT[" dc.w 999"] dk><zs>>-lkL@wathts|>TlkR@wabhts|>!lkL@wathts|>Tdk><Ba>6nz> pX@zwatBa|s> dkBa lkd@wapttBa| F dk>FRMYPRINT["SwitchData:"]!@t>|>\mp@t>|<s>>R$MYPRINT[" dc.w "+ Fn MY$(SWWL(S,0))]dk@swwlts\>| ~pkp @switchtypets|T~pk>R$MYPRINT[" dc.w "+ Fn MY$(NP+S+S+1)] dk npss>@swwlts\>|f> R(MYPRINT[" dc.l SWITCHGRAPH"+ Fn MY$(S)]  lk@sgots|: RMYPRINT[" dc.l 0"] lk> RMYPRINT[" dc.l 0"] lk>F+&ab3:levels/level_f&/twolev.graph.bin\@t>|mpRtxp>\>>>\>P$xtxp\>Tv&Saving level as AB3:Includes/fR mp@t>| !mp\ncpt Xmp\>  ncpt><Ba>ncpt)!mp\J@cptxtBa|T!mp>\P@cptytBa|.Zmp>\V@cptztBa|TZmp> \@cptultBa| Xmp\> F<(Ba>>Zmp\,@dctBa|Zmp>\4@drttBa|Zmp>\:@dlttBa|<lq>>%Zmp>q>\l@opstBa\q|F Xmp\>F<ZBa>>Zmp\@liftctBa|Zmp>\@lsptBa|Zmp>\@@lrttBa|Zmp>\F@llttBa|<lq>>%Zmp>q>\r@lopstBa\q|F Xmp\>F<Ba>>Zmp\@swwltBa\>|Zmp>\@swwltBa\>| Xmp\>FZmp\ZnoTXmp\> Zno>I<Ba>Zno>T!mp\@obxtBa|T!mp>\@obztBa|TXmp\>TFZmp\ npTXmp\>  np><Ba> np!mp\@pxtBa|!mp>\@pytBa|R Loke MP+8,PBR(A)R Loke MP+12,UPBR(A) Xmp\>FZmp\6nzTXmp\>  6nz>< Ba>6nz!mp\@telzotBa|TXmp\>!mp\@telxtBa|TXmp\>!mp\@telztBa|TXmp\>Zmp\@zbtBa|TXmp\>Zmp\@uzbtBa|TXmp\>Zmp\\@zcpttBa|TXmp\>Zmp\b@uzcpttBa|TXmp\>Zmp\@zptBa|TXmp\><b>@zptBa| Zmp\@zotBa\b| Zmp>\@wttBa\b| Zmp>\@zctBa\b| Zmp>\@zwgtBa\b\>| Zmp>\@zwgtBa\b\>| Zmp> \@zwgtBa\b\>| Zmp> \@zwgtBa\b\>| Zmp>\>@uzwgtBa\b\>| Zmp>\>@uzwgtBa\b\>| Zmp>\>@uzwgtBa\b\>| Zmp>\>@uzwgtBa\b\>| Zmp>\ @wdtBa\b| Zmp>\@wlitBa\b| Zmp>\@wbtBa\b| Zmp>\@uwbtBa\b| Zmp>\@zpbrtBa\b\>| Zmp> \@zpbrtBa\b\>| Zmp>"\@zpbrtBa\b\>| Zmp>$\@zpbrtBa\b\>| Xmp\>&F !mp\@zhtBa\>|TXmp\> !mp\@zhtBa\>|TXmp\> !mp\@zhtBa\>|TXmp\> !mp\@zhtBa\>|TXmp\>!!mp\@uzhtBa\>|TXmp\>!!mp\@uzhtBa\>|TXmp\>!!mp\@uzhtBa\>|TXmp\>!!mp\@uzhtBa\>|TXmp\>;!mp\@zrgtBa\>|T!mp>\@zfgtBa\>|TXmp\>C!mp\@zrgtBa\>|> T!mp>\@zfgtBa\>|> TXmp\>;!mp\2@uzrgtBa\>|T!mp>\8@uzfgtBa\>|TXmp\>C!mp\2@uzrgtBa\>|> T!mp>\8@uzfgtBa\>|> TXmp\>Zmp\&@zdtBa|TXmp\>Zmp\@zlitBa|TXmp\>!mp\h@rbtBa|TXmp\>!mp\n@fbtBa|TXmp\>s@t>|tBa>@>|<b>>?; Zmp\!ts|TZmp>\!ts>|TZmp>\!ts>| Xmp\>TXs\>FF !mp\plx!mp>\plyZmp>\plz Xmp\> !mp\ plx2!mp>\&ply2Zmp>\,plz2 Xmp\> <Ba>> <lb>>%~pkttH BleveltexttBa|\b\>||FFdk~ezone<RBa>6nz>lk@bsfxtBa|F<RBa>6nz>lkT@echotBa|F(&ab3:levels/level_f& /twolev.dat\@t>|mp2&ab3:levels/level_f& /twolev.obj\@t> |@t> |>> 3&ab3:levels/level_f& /twolev.links\@t> |@t> |>d>dRtxp>\>>>\>P`R  bbarrelsavetp!ts> |DJtp>h@zht!ts>|\>|6h@uzht!ts>|\>|hh>>0hh>x>t>>> dkh~pk><T~pk>< lktdk!ts>|~pk> T~pk> 1~pk> T~pk>T~pk!ts>|T~pk><4Dqq>>Tdk>TF~pk>wattT~pktp`R  aliensaveR First put in the dummy effort: <6rt>> lk>TF!8st>\>Z8st> \> 8stmp dkBa dk><6rt>> lk>TFtp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>!8st>?\tp!8st>>\>watt!8st>\>!8st>6\!ts>|Z8st>2\!ts>|Z8st> \!ts>|Z8st>4\!ts>| !8st>\f@alhitptst!ts>||!8st>\>Z8st>\\@zcptt!ts>||!8st>\!ts> |Z8st>\!ts>|Z8st> \!ts>|`  thingsave<6rt>> lk>TFtp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>!8st>?\tp!8st>>\>watt!8st>\>!8st>6\!ts>|Z8st>2\!ts>|Z8st> \!ts>|Z8st>4\!ts>|Z8st>\!ts>|Z8st>"\!ts>|anq!ts> |anqtanq> |>hanqanqX>Z8st>\anq`  enemysave!ts>|>R calculate start height tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>R M$=M$+ Fn MY$(H) R MYPRINT[M$] dkhR MYPRINT[" dc.b 64,64"] ~pk>@T~pk>@R 8R MYPRINT[" dc.l 0"] lk>R 12 R( MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))] dk!ts>|R 14 R MYPRINT[" dc.b 32,32"] ~pk> T~pk> R 16 R0 MYPRINT[" dc.b 0,0,"+ Fn MY$(Deek(S+2))+",0"]1~pk>T~pk>T~pk!ts>|T~pk>R 20 R. MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"]5~pk>T~pk!ts>|X>Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR4 MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"] +dk>TdkpTdk>TdkpR MYPRINT[" ds.w 16"]<4Dqq>> Tdk>TF R MYPRINT[" "] ~pk>wattT~pktpr!ts>|>R calculate start height tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>R M$=M$+ Fn MY$(H) R MYPRINT[M$] dkhR MYPRINT[" dc.b 64,64"] ~pk>@T~pk>@R 8R MYPRINT[" dc.l 0"] lk>R 12 R( MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))] dk!ts>|R 14 R MYPRINT[" dc.b 32,32"] ~pk> T~pk> R 16 R0 MYPRINT[" dc.b 0,0,"+ Fn MY$(Deek(S+2))+",0"]1~pk>T~pk>T~pk!ts>|T~pk>R 20 R. MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"]'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR4 MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"] !dkpTdkpTdk>R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TF R MYPRINT[" "] ~pk>wattT~pktp!ts>|>tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|R calculate start height &ht@zht!ts>|\>|>|>R M$=M$+ Fn MY$(H) R MYPRINT[M$] dkhR MYPRINT[" dc.b 64,64"] ~pk>@T~pk>@R 8R MYPRINT[" dc.l 0"] lk>R 12 R( MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))] dk!ts>|R 14 R MYPRINT[" dc.b 32,32"] ~pk> T~pk> R 16 R0 MYPRINT[" dc.b 8,0,"+ Fn MY$(Deek(S+2))+",0"]1~pk>T~pk>T~pk!ts>|T~pk>R 20 R. MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"]'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR4 MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"] !dkpTdkpTdk>R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TF~pk>wattT~pktp R MYPRINT[" "] r!ts>|>R calculate start height tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>R M$=M$+ Fn MY$(H) R MYPRINT[M$] dkhR MYPRINT[" dc.b 64,64"] ~pk>@T~pk>@R 8R MYPRINT[" dc.l 0"] lk>R 12 R( MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))] dk!ts>|R 14 R MYPRINT[" dc.b 32,32"] ~pk> T~pk> R 16 R0 MYPRINT[" dc.b 0,0,"+ Fn MY$(Deek(S+2))+",0"]1~pk> T~pk>T~pk!ts>|T~pk>R 20 R. MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"]'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR4 MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"] !dkpTdkpTdk>R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TF R MYPRINT[" "] ~pk>wattT~pktpr!ts>|>R calculate start height tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>R M$=M$+ Fn MY$(H) R MYPRINT[M$] dkhR MYPRINT[" dc.b 64,64"] ~pk>@T~pk>@R 8R MYPRINT[" dc.l 0"] lk>R 12 R( MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))] dk!ts>|R 14 R MYPRINT[" dc.b 32,32"] ~pk> T~pk> R 16 R0 MYPRINT[" dc.b 0,0,"+ Fn MY$(Deek(S+2))+",0"]1~pk> T~pk>T~pk!ts>|T~pk>R 20 R. MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"]'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR4 MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"] !dkpTdkpTdk>R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TF R MYPRINT[" "] ~pk>wattT~pktpr!ts>|>R calculate start height tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>R M$=M$+ Fn MY$(H) R MYPRINT[M$] dkhR MYPRINT[" dc.b 64,64"] ~pk>@T~pk>@R 8R MYPRINT[" dc.l 0"] lk>R 12 R( MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))] dk!ts>|R 14 R MYPRINT[" dc.b 32,32"] ~pk> T~pk> R 16 R0 MYPRINT[" dc.b 0,0,"+ Fn MY$(Deek(S+2))+",0"]1~pk>T~pk>T~pk!ts>|T~pk>R 20 R. MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"]'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR4 MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"] !dkpTdkpTdk>R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TF R MYPRINT[" "] ~pk>wattT~pktpr!ts>|>R calculate start height tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>R M$=M$+ Fn MY$(H) R MYPRINT[M$] dkhR MYPRINT[" dc.b 64,64"] ~pk>@T~pk>@R 8R MYPRINT[" dc.l 0"] lk>R 12 R( MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))] dk!ts>|R 14 R MYPRINT[" dc.b 32,32"] ~pk> T~pk> R 16 R0 MYPRINT[" dc.b 0,0,"+ Fn MY$(Deek(S+2))+",0"]1~pk>T~pk>T~pk!ts>|T~pk>R 20 R. MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"]'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR4 MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"] !dkpTdkpTdk>R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TF R MYPRINT[" "] ~pk>wattT~pktpr!ts>|>R calculate start height tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth>|>R M$=M$+ Fn MY$(H) R MYPRINT[M$] dkhR MYPRINT[" dc.b 64,64"] ~pk>@T~pk>@R 8R MYPRINT[" dc.l 0"] lk>R 12 R( MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))] dk!ts>|R 14 R MYPRINT[" dc.b 32,32"] ~pk> T~pk> R 16 R0 MYPRINT[" dc.b 0,0,"+ Fn MY$(Deek(S+2))+",0"]1~pk>T~pk>T~pk!ts>|T~pk>R 20 R. MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"]'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR4 MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"] !dkpTdkpTdk>R MYPRINT[" ds.w 16"]<4Dqq>>Tdk>TF R MYPRINT[" "] ~pk>wattT~pktp`R  marinesaveR calculate start height &ht@zht!ts>|\>|>|> RM$=M$+ Fn MY$(H) R MYPRINT[M$] dkhRMYPRINT[" dc.b 64,64"]~pk>@T~pk>@R 8 RMYPRINT[" dc.l 0"] lk>R 12 R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))]dk!ts>|R 14 RMYPRINT[" dc.b 32,32"]~pk> T~pk> R 16 R.MYPRINT[" dc.b 5,0,"+ Fn MY$(Deek(S+2))+",0"] 1~pk>T~pk>T~pk!ts>|T~pk>R 20 R,MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"] 'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR0MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"]!dkpTdkpTdk>R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+8))]dk!ts>|RMYPRINT[" ds.w 15"] <4Dqq>>Tdk>TF R MYPRINT[" "]`R  glasssaveR calculate start height *ht@zht!ts>|\>|>|>>P RM$=M$+ Fn MY$(H) R MYPRINT[M$] dkhRMYPRINT[" dc.b 64,64"]~pk>@T~pk>@R 8RMYPRINT[" dc.l -1"] lk>R 12 R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))]dk!ts>|R 14 RMYPRINT[" dc.b 32,32"]~pk> T~pk> R 16 R0MYPRINT[" dc.b -1,-1,"+ Fn MY$(Deek(S+2))+",0"] 3~pk>T~pk>T~pk!ts>|T~pk>R 20 R,MYPRINT[" dc.w "+ Fn MY$(Deek(S+4))+",0,0"] 'dk!ts>|Tdk>Tdk>R 26 "findcont@obxtBa|\@obztBa|pR0MYPRINT[" dc.w "+ Fn MY$(P)+","+ Fn MY$(P)+",0"]!dkpTdkpTdk>R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+8))]dk!ts>|RMYPRINT[" ds.w 15"] <4Dqq>>Tdk>TF R MYPRINT[" "]`R  medisaveR med_graph>>Rtp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hh>> RM$=M$+ Fn MY$(H) R MYPRINT[M$] dkhRMYPRINT[" dc.b 32,32"]~pk> T~pk> RMYPRINT[" dc.l MediKit_Graph"]lk med_graphR$MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))]dk!ts>|RMYPRINT[" dc.b 16,16"]~pk>T~pk>R&MYPRINT[" dc.b 1,"+ Fn MY$(Peek(S+1))]~pk>T~pk!ts>|R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+2))]dk!ts>|RMYPRINT[" dc.w 0,0,0,0,0,0"]RMYPRINT[" ds.w 16"] <4Dqq>>Tdk>TF~pk>wattT~pktp`  ammosaveR ammo_graph>>>Rtp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hh>> RM$=M$+ Fn MY$(H) R MYPRINT[M$] dkhRMYPRINT[" dc.b 32,32"]~pk> T~pk> RMYPRINT[" dc.l MediKit_Graph"]lk ammo_graph!ts>|R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))]dk!ts>|RMYPRINT[" dc.b 16,16"]~pk>T~pk>R&MYPRINT[" dc.b 1,"+ Fn MY$(Peek(S+1))]~pk> T~pk!ts>|R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+2))]dk!ts>|RMYPRINT[" dc.w 0,0,0,0,0,0"]RMYPRINT[" ds.w 16"] <4Dqq>>Tdk>TF~pk>wattT~pktp`R  keysave @keygrapht>|>> @keygrapht>|>>> @keygrapht>|>>> @keygrapht>|>>>tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hth> |>>0 RM$=M$+ Fn MY$(H) R MYPRINT[M$] dkhRMYPRINT[" dc.b 32,32"]~pk> T~pk> co!ts>|R&MYPRINT[" dc.l KeyGraph"+ Fn MY$(CO)] lk @keygraphtco|R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))]dk!ts>|RMYPRINT[" dc.b 16,16"]~pk>T~pk>R"MYPRINT[" dc.b 4,"+ Fn MY$(2^CO)] ~pk>T~pk>coRMYPRINT[" dc.w 0,0,0,0,0,0,0"]RMYPRINT[" ds.w 16"] <4Dqq>>Tdk>TF~pk>wattT~pktp`R  ddecosavetp!ts> |dt!ts>|R LAMP dt> Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hh>hh>>t> > dkh~pk>T~pk>< lktdk!ts>|~pk>T~pk> R EXIT SIGN dt> Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hh> t6 dkh~pk>T~pk> lktdk!ts>|~pk>T~pk>  dt> Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hh>hht>> |> t> dkh~pk>T~pk>?dktTdk>dk!ts>|~pk>T~pk>2~pk>T~pk>T~pk!ts>|T~pk><4Dqq>>Tdk>TFdk!ts>|<6Dqq>> dk>TF~pk>wattT~pktp`R  flhasavetp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hh>mm myth| R MYPRINT[M$] dkhRMYPRINT[" dc.b -1,-1"]~pk>T~pk>k!ts>|R"MYPRINT[" dc.l "+VECT$(K)+"_des"] dkkTdk>R$MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))]dk!ts>|RMYPRINT[" dc.b 16,16"]~pk>T~pk>RMYPRINT[" dc.b 255,255"]R!ts>|>~pk>T~pk>R!ts>|> ~pk>T~pk>8~pk>T~pk>~pk>dT~pk>RMYPRINT[" dc.w 0,0,0,0,0"]RMYPRINT[" ds.w 16"] <4Dqq>>Tdk>TF)ang!ts>|Tangtang> |>hangangX> dkang<4Dqq>>Tdk>TF~pk>wattT~pktpZ8st>"\!ts> |`R  biggunsaveR biggun_graph>Rgt!ts>|tp!ts> | Ptp>h@zht!ts>|\>|Dh@uzht!ts>|\>|hh>>0"hh @biggundimtgt\>|>t @biggungraphtgt| RM$=M$+ Fn MY$(H) R MYPRINT[M$] dkhRMYPRINT[" dc.b 64,32"];~pk @biggundimtgt\>|>T~pk @biggundimtgt\>|>RMYPRINT[" dc.l BigGun_Graph"] lk biggun_graphtR$MYPRINT[" dc.w "+ Fn MY$(Deek(S+6))]dk!ts>|RMYPRINT[" dc.b 32,16"]3~pk @biggundimtgt\>|T~pk @biggundimtgt\>|RMYPRINT[" dc.b 3,0"]~pk>T~pkgtRMYPRINT[" dc.w 0,0,0,0,0,0,0"]RMYPRINT[" ds.w 16"] <4Dqq>>Tdk>TF~pk>wattT~pktp`R  levelload n>!D>Ttxp>\>>>\>PFxtxp\>Tv&Enter file name to load level:xtxp\>T& Filename: df f&`Ftxp>\>>>\>Pxtxp\>Tv&Loading level data...# &ab3:levels/level_f& /twolev.dat\@t>| mp@t>|ncpt!tmp| Xmp\> ncpt><Ba>ncpt-J@cptxtBa|!tmp|TP@cptytBa|!tmp>|2V@cptztBa|!tmp>|T@cptultBa|!tmp> | Xmp\> F<8Ba>>,@dctBa|!tmp|4@drttBa|!tmp>|:@dlttBa|!tmp>|<pq>>'l@opstBa\q|!tmp>q>|F Xmp\>F<vBa>>@liftctBa|!tmp|X@lsptBa|!tmp>|@@lrttBa|!tmp>|F@llttBa|!tmp>|<pq>>'r@lopstBa\q|!tmp>q>|F Xmp\>FR.**********************************************R* TAKE OUT FOR OTHER LEVEL R.**********************************************<TBa>>@swwltBa\>|!tmp|@swwltBa\>|!tmp>|,P@swwltBa\>|>@swwltBa\>|>,P@swwltBa\>|>@swwltBa\>|> Xmp\>FR****************************Zno!tmp|TXmp\> Zno><Ba>Zno>7@obxtBa|!tmp|T@obztBa|!tmp>|TXmp\>F np!tmp|TXmp\>  np><Ba> np@pxtBa|!tmp|@pytBa|!tmp>| RPBR(A)=Leek(MP+8) RUPBR(A)=Leek(MP+12) Xmp\>F6nz!tmp|TXmp\> (6nz><Ba>6nz @telzotBa|!tmp|TXmp\>@telxtBa|!tmp|TXmp\>@telztBa|!tmp|TXmp\>@zbtBa|!tmp|TXmp\>@uzbtBa|!tmp|TXmp\>\@zcpttBa|!tmp|TXmp\> b@uzcpttBa|!tmp|TXmp\>\@zbtBa|> @zbtBa|@zbtBa|>@zptBa|!tmp|TXmp\>H@zptBa|> @usedtBa|><b>@zptBa| @zotBa\b|!tmp| @wttBa\b|!tmp>| @zctBa\b|!tmp>|" @zwgtBa\b\>|!tmp>|" @zwgtBa\b\>|!tmp>|" @zwgtBa\b\>|!tmp> |" @zwgtBa\b\>|!tmp> | n@zwgtBa\b\>|> @zwgtBa\b\>|>@ " >@uzwgtBa\b\>|!tmp>|" >@uzwgtBa\b\>|!tmp>|" >@uzwgtBa\b\>|!tmp>|" >@uzwgtBa\b\>|!tmp>| n>@uzwgtBa\b\>|> >@uzwgtBa\b\>|>@   @wdtBa\b|!tmp>| @wlitBa\b|!tmp>| @wbtBa\b|!tmp>| z@wbtBa\b|>% @wbtBa\b|@wbtBa\b|>  @uwbtBa\b|!tmp>| @uwbtBa\b|>' @uwbtBa\b|@uwbtBa\b|>   <c>>- @zpbrtBa\b\c|!tmp>cc| @zpbrtBa\b\c|>1@zpbrtBa\b\c|@zpbrtBa\b\c|>  F Xmp\>&F"@zhtBa\>|!tmp|TXmp\>"@zhtBa\>|!tmp|TXmp\>"@zhtBa\>|!tmp|TXmp\>"@zhtBa\>|!tmp|TXmp\>#@uzhtBa\>|!tmp|TXmp\>#@uzhtBa\>|!tmp|TXmp\>#@uzhtBa\>|!tmp|TXmp\>#@uzhtBa\>|!tmp|TXmp\>?@zrgtBa\>|!tmp|T@zfgtBa\>|!tmp>|TXmp\>G@zrgtBa\>|!tmp|> T@zfgtBa\>|!tmp>|> TXmp\>?2@uzrgtBa\>|!tmp|T8@uzfgtBa\>|!tmp>|TXmp\>G2@uzrgtBa\>|!tmp|> T8@uzfgtBa\>|!tmp>|> TXmp\>&@zdtBa|!tmp|TXmp\>@zlitBa|!tmp|TXmp\>h@rbtBa|!tmp|TXmp\>n@fbtBa|!tmp|TXmp\>s@t>|tBa>@>|<b>>? Zs\!tmp| Zs>\!tmp>| Zs>\!tmp>| Xmp\>TXs\>FFplx!tmp|ply!tmp>|plz!tmp>| Xmp\>  plx2!tmp|&ply2!tmp>|,plz2!tmp>| Xmp\> <Ba>> H BleveltexttBa|&<b>>4H BleveltexttBa|H BleveltexttBa|Rt!tmp||TXmp\>FF~ezone!tmp|TXmp\><jBa>6nz>@bsfxtBa|!tmp|TXmp\>F<jBa>6nz>T@echotBa|!tmp|TXmp\>F# &ab3:levels/level_f& /twolev.obj\@t> |$ &ab3:levels/level_f& /twolev.links\@t> |<Ba>>c<fb>>cq!t@t> |Ba>db|w!t@t> |b>dBa|bq>Xw> !@t> |Ba>db\>bq>Xw> !@t> |b>dBa\>FFtxp>\>>>\>P Bredraw`Rv myprintmR redraw n>TN > np>`5<fqa> npTptshow@pxtqa|\@pytqa|\>TF6nz>`<lqa>6nz> 8@usedtqa|zoshoqa\>F 8@usedt<cz|zosho<cz\> outlinecp Zno><vqa>Zno>%Dobjput@obxtqa|\@obztqa|\>F ncpt><qa>ncpt6cptputJ@cptxtqa|\P@cptytqa|\>@cptultqa|>F ncpt><qa>ncpt><dqbqa>ncpt f connectedqa\qb\p1FFptshowplx\ply\>`R  pickbuttonmB.x>> menclickT`m>`R  n>TD>T> >\>>\>0&Nop> tidydefwall&Nop> tidydefzone3^Nop> LNop> LNop>LNop>btidydefheight*Nop> xtidyplaceplayer&Nop> tidydeforder"Nop>@tidyobj&Nop> tidydefdoor&Nop> tidydeflift 8Nop>XNop> tidydefgraphR If OP=21 Then Gosub TIDYPATHDEF R If OP=22 Then Gosub TIDYPATHDEF R&Nop>$ tidydefdoorR If OP=37 Then Gosub TIDYDEFDOOR #xx>Tyty>|> xxy>`y>/`pshineboxNop\>0Nopttebxx|>|yTpshineboxNop\>&Nop> initdefzone&Nop> initdeforder"Nop>Pinitobj&Nop>, initdefdoor&Nop> initdeflift 8Nop>XNop> initdefgraphPNop> LNop> LNop>LNop>pbr>Tpan>Tpdta>T< brightslideR If OP=21 Then Gosub INITPATHDEF 4`Nop>zfg>Tzfgs>T ozfg>Tzfgs>6dNop>zwg>Tlzwg>Tzwgc>Tlwchunk>4`Nop>$zrg>T*zrgs>T0ozrg>T*zrgs>4`Nop>$zrg>T*zrgs>T0ozrg>T*zrgs>6dNop>zwg>Tlzwg>Tzwgc>Tlwchunk>4`Nop>zfg>Tzfgs>T ozfg>Tzfgs> 8Nop>p1>T6p2>(Nop>$ initdefbacksfxRIf OP=37 Then Gosub ECHOSLIDE  >T> s |T n> >T>xtxp\>TvBbuttNop| ns`R  menclick&Nop> setobjparam&Nop>t defdoorcond&Nop>` defliftcond$Nop>$ sfxtoggleR If OP=21 Then Gosub PATHCOMPICK 3^Nop> LNop> LNop>LNop>bsetpointbrightRIf OP=37 Then Gosub SETECHOLEN`R  initdefbacksfxs | n> x>(\>> v&0123456789ABCDEF x>(\><nb>>0"4tb\<bsfx|v&*dv& dF x>(\>> v&0123456789ABCDEF x>(\><vb>>8"4tb>\<bsfx|v&*dv& dF ns`  defbacksfx">\ t>\x|\ t>\y|\>mBTm>`-xtx0mu|$xoTyty0mu|*yozosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> <cz>` @m>@bsfxt<cz|<bsfx Zm><bsfx@bsfxt<cz|  initdefbacksfx`  defecho">\ t>\x|\ t>\y|\>mBTm>`-xtx0mu|$xoTyty0mu|*yozosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> <cz>` Dm>T@echot<cz|Becholen Zm>BecholenT@echot<cz| * echoslide`  sfxtogglexx>#Hcxx>TNcyty>|> mf>Hcx>XHcx> 0Ncy> XHcx\> "&Hcx\<bsfx  initdefbacksfx`  setobjparamxx>dx>`m>` parset` parset#Hcxx>TNcyty>|> LNcy>`ot>`ot Pinitobj DNcy> m> F`ot> TaltotTalto>|>8 ZobtotZobto>|> F`ot> TaltotTalto>|>8 ZobtotZobto>|> Ncy>HcxHcx> HHcx>XHcx>"&Hcx\`dlockedDxtxp>\>T&Text: dtxt 4Ncy>HcxHcx> HHcx>XHcx>"&Hcx\fllocked R`ot> xtxp>\>T&Team: dNteamP# xtxp>\>T& Start Frame: dlstrtanim Ncy> BHcx>rpermcalc>rpermcalc0xuporlo>xuporlo  objparamshow`  objparamset`  objparamshowRIf OT=0 Then Gosub ALIENPARAM RIf OT=1 Then Gosub OBJPARAMPUTRRReturn  R ALIENPARAM:  n> >T>D>txp>\>>\>0xtxp\>Tv&Type: d J`ot>vZBalnametTalto|d& <v`BobnametZobto|d& xtxp\>Tv& DOORS HELD: d<|Ba>>,"4tBa\`dlocked|>>vRtBa>A|dF>xtxp\>Tv& LIFTS HELD: d<|Ba>>,"4tBa\fllocked|>>vRtBa>A|dFxtxp\>T>v&Permanent Calculation: d>&rpermcalc>v&No  v&Yesxtxp>\>T>v&Start in Up/Lo Rooms: d>&xuporlo>v&Lower v&Upperxtxp>\>T> P`ot> v&Team: d> vNteamd& dN v& Start Frame: d>vlstrtanimd& dxtxp>\>T> Z`ot>v&Init Targ Cpt: d> v~contptd&  v& dxtxp>\>T> v&Text:d> vtxtd`  objparamput`R  setpointbrightxx>x>`yy>yy>x>Q`y>>` 2>` `y>pbrtx>(|>P Xpbr\> Fy>pantx>|>P Fy>pdtatx>|>P < brightslide`R  setecholenxx>x>`yy>yy>x>Q`y>>` 2>` dy>Becholentx>2|>P Xpbr\> Jy>echovoltx>|>PRIf Y=5 R PDTA=(X*15)/80 REnd If * echoslide`R  brightslide n>$>@\>>\>\>(\pbr>\> >@\>>\>\>\pan\> >@\>(>\>/\>\pdta\>x><\>Tv&Bright dpbrd& x><\>Tv&Anim dpand& x><\>Tv&Dist dpdtad& `R  echoslide n>">@\>>\>\>2\Becholen\>">@\>>\>\>\echovol\>R"Hslider 320,40 To 480,47,15,PDTA,1!x><\>Tv& Echo Time dBecholend& !x><\>Tv& Echo Volume dechovold& R(Locate 60,5 : Print "Dist ";PDTA;" "`R  initswitchdefpsn`R vpsn n>x>(\>Tv&Switch Number:dswn x>(\>@ @switchtypetswn|>v&Switch@ @switchtypetswn|>v&ButtonR  pathcompickxx>xx> x>`yty>|>6da&zXpcom>Xpcom\>T pmcomshowT pfcomshow5ba&xXpcom>Xpcom\>T pmcomshowT pfcomshow ~mf> .y> setpmcom .y> setpfcom`R  setpmcom@pmcomtpcom\>|x  pmcomshow`R  setpfcom@pfcomtpcom\>|x  pfcomshow`R  pmcomshowspcom> x>@<Ba>>s>Ls> n>!D>Tx>\>x>\>!D>Tx>\>x>\>f>@@pmcomts\>|> 9 >\f>\>>?\f>\>>1>\x>\> Xx\> Xs\>F`R  pfcomshowspcom> x>@<Ba>>s>Ls> n>!D>Tx>\>!x>\>.!D>Tx>\>$x>\>,f>@@pfcomts\>|> 5 >\f>\>>\f>\>>\x>\>! Xx\> Xs\>F`R  initpathdef& >\>\>>@\>@\>>\>@\>D>&>@> >\>>@> >>\>/`R  tidypathdef n>D>>@\>>\>@`R  defdoorcondm>`xx>>x>`yy>yy>yy> RIf Y>=0 and Y<2 R X=X/8 R Bchg X,DC(NDO) R PDC[NDO] REnd If y>x>Xx>PX4@drttndo|\>,TvBdrt4@drttndo||&T4@drttndo|>TPpdcndoX:@dlttndo|\>,T|Bdlt:@dlttndo||&T:@dlttndo|>TPpdcndo ry>,x>(\>T&Stays open for (50=1sec):dl@opstndo\>|. y> x>H& x>\>T&Opening Speed:dl@opstndo\>| Ppdcndo  ~x>%x>*\>T& Opening SFX:dl@opstndo\>|Ppdcndo n$x><\>T& Open SFX:dl@opstndo\>|Ppdcndo   x>H& x>\>T&Closing Speed:dl@opstndo\>| Ppdcndo  ~x>%x>*\>T& Closing SFX:dl@opstndo\>|Ppdcndo p%x><\>T& Closed SFX:dl@opstndo\>|Ppdcndo  `R  defliftcondm>`xx>>x>`yy>yy>yy> RIf Y>=0 and Y<2 R X=X/8R Bchg X,LIFTC(NL) R PLC[NL]REnd If y> zx>H$x>\>T& Raise Speed:dr@lopstnl\>| Dplcnl xx># x>*\>T& Raise SFX:dr@lopstnl\>| Dplcnll$ x><\>T& At Top SFX:dr@lopstnl\>| Dplcnl y> zx>H$ x>\>T& Lower Speed:dr@lopstnl\>| Dplcnl xx># x>*\>T& Lower SFX:dr@lopstnl\>| Dplcnl l$ x><\>T& At Bot. SFX:dr@lopstnl\>| Dplcnl  vy>x>@Xx>X@@lrttnl|\>*PBlrt@@lrttnl||&T@@lrttnl|>T DplcnlXF@llttnl|\>*PBlltF@llttnl||&TF@llttnl|>T Dplcnl`R  initobj4typeobj`ot  objparamshow`R  tidyobj! n>Txtxp\>Tv& `R  initdefdoorzosho<cz\>  n>Txtxp\>Thpndnd xtxp\> Ppdcnd`R  initdefliftzosho<cz\>  n>Txtxp\>T\pnlnl xtxp\> Dplcnl`R  tidydefdoorzosho<cz\>" n>TD>Ttxp>\>>\>P`  tidydefliftzosho<cz\>" n>TD>Ttxp>\>>\>P`R  deforder`R  tidydeforder`R  initdefgraphzosho<cz\> `R  tidydefgraphzosho<cz\> > >`R  tidydefzonezosho<cz\>@zpt<cz|>`R  tidyplaceplayerzoshoHpz\> n>D> txp>\>>>\>>`R  tidydefheightzosho<cz\> n>D> txp>\>>>\>>`R  tidydefbrightzosho<cz\> n>D> txp>\>>>\>>`R  initconnectcontp1>T6p2>`R  tidydefwallzosho<cz\>`R  tidydefcornerzosho<cz\>`R  initdefzone 6 <cz><zBa>6nz>'F@usedtBa|><czBaTBa6nzF N<cz><cz6nzT@zpt<cz|>`R  mapedit Nop>ptadd Nop>ptmove"Nop>defzone"Nop>defwall"Nop>deforder(Nop>defroofheight$Nop> defheight,Nop> defupperroofheight.Nop> defupperfloorheightRIf OP=8 Then Gosub DEFBRIGHT&Nop> defroofgraph&Nop> defwallgraph(Nop>deffloorgraph,Nop>|defupperroofgraph,Nop>defupperwallgraph,Nop>defupperfloorgraph Nop>Dobjadd"Nop>tobjmove Nop>objdel&Nop> : placeplayer"Nop>4defdoor"Nop>$deflift&Nop>V defteleport,Nop> :defupperroofbright.Nop> defupperfloorbright,Nop>deflowerroofbright.Nop>deflowerfloorbright(Nop>defwaterheight&Nop>| defwateranim,Nop>!defupperwallbright,Nop>"deflowerwallbright&Nop> placecontpt&Nop> connectcont(Nop>cptneartozone,Nop> cptneartoupperzone"Nop>#cptmove$Nop>$ defbacksfxRIf OP=37 Then Gosub DEFECHO `R defupperwallbright">\ t>\x|\ t>\y|\> a&c!brequest&New wall brightness offsetTp@uwbt<cz\cpp|pmBm>`-xtx0mu|$xoTyty0mu|*yo m>zogetx\yTp p> zpf<cz zosho<cz\> <czp zosho<cz\>  Dm> findnearzone<cz\x\yp<Ba>@zpt<cz|>@zot<cz\Ba|p n>3 x>(\>Tv&Brightness Offsetd@uwbt<cz\Ba|TcppBaF`R deflowerwallbright">\ t>\x|\ t>\y|\> a&c!brequest&New wall brightness offsetTp@wbt<cz\cpp|pmBm>`-xtx0mu|$xoTyty0mu|*yo m>zogetx\yTp p> zpf<cz zosho<cz\> <czp zosho<cz\>  Bm> findnearzone<cz\x\yp<Ba>@zpt<cz|>@zot<cz\Ba|p n>2 x>(\>Tv&Brightness Offsetd@wbt<cz\Ba|TcppBaF`RvpnwanwaRvpwacnwaR  defwateranim@xa&,Xxnwa>xnwaxnwa>TpnwaxnwaTpwacxnwa@xa&.Xxnwa>xnwaxnwa>TpnwaxnwaTpwacxnwaa&hXX@zwat<cz|f> R Gosub TIDYDEFWAbrequest&"Height of water at top of motion: pTL@wathtxnwa|p R Gosub INITDEFWA Xa&t^@wasptxnwa|>Tpwacxnwa Xa&b^@wasptxnwa|>TDplcxnwaa&wX<cz>X@zwat<cz|>X@zwat<cz|xnwa>R@wabhtxnwa|@zht<cz\>|,X@zwat<cz|> Bredraw">\ t>\x|\ t>\y|\>mBm>`-xtx0mu|$xoTyty0mu|*yo m>zogetx\yTp p> zpf<cz zosho<cz\> <czp zosho<cz\> `R  defswitch(Ha&zXlswn>Xlswn\>Tpsn'Fa&xXlswn>Xlswn\>Tpsn6da&tp @switchtypetlswn|>p @switchtypetlswn|Tpsn8ha&d@swwltlswn\>|>T@swwltlswn\>|>mB-xtx0mu|$xoTyty0mu|*yo m>zosho<cz\>zogetx\y<czzosho<cz\> Zm>X<cz> findnearzone<cz\x\yp<Ba>@zpt<cz|@zot<cz\Ba|p6 @swwltlswn\>|<czT@swwltlswn\>|BaTBa>dF Bredraw`R  defteleportmB-xtx0mu|$xoTyty0mu|*yo m>zosho<cz\>zogetx\y<czzosho<cz\> m>X<cz>zogetx\yTp p>5@telzot<cz|pT@telxt<cz|xT@telzt<cz|y0@telzot<cz|>``R vNwallgetz\x\ y p> d> N9@zptz|><$a>9@zptz|>7 $fxK@pxt?@zotz\a||T*fyE@pyt?@zotz\a||? 0txK@pxt?@zotz\a>||T6tyE@pyt?@zotz\a>|| 0tx0tx$fxT6ty6ty*fy <pxx$fxTBpy y*fy Htdt6ty<pxBpy0tx| FHtdd dHtdTpa F pR  defpcon6da&zXpcom>Xpcom\>T pmcomshowT pfcomshow5ba&xXpcom>Xpcom\>T pmcomshowT pfcomshow"a&p&makepath7 highcoords@pmcomtpcom\>|\@pmcomtpcom\>|\>\>7 highcoords@pfcomtpcom\>|\@pfcomtpcom\>|\>\>">\ t>\x|\ t>\y|\>mB-xtx0mu|$xoTyty0mu|*yo zm>@pmcomtpcom\>|x@pmcomtpcom\>|y zm>@pfcomtpcom\>|x@pfcomtpcom\>|y`R  makepath mp@t>| pc>+Vlx@pmcomt>\>|Tlz@pmcomt>\>|h@pmcomtpc\>|f>npc@pmcomtpc>\>|v@pmcomtpc\>|>@dmxtpc|>@dmztpc|>@pmcomtpc\>|>#@dmxtpc|@pmcomtpc\>|Vlx#@dmztpc|@pmcomtpc\>|lz@pmcomtpc\>|>"npc>Lnpc>Lnpc> @dmxtpc|> @dmztpc|> npc>3 @dmxtpc|@pmcomtpc>\>|@pmcomtpc\>|3 @dmztpc|@pmcomtpc>\>|@pmcomtpc\>| npc>7 @dmxtpc|@pmcomtpc>\>|@pmcomtpc>\>|7 @dmztpc|@pmcomtpc>\>|@pmcomtpc>\>|@pmcomtpc\>|>!@dmxtpc|>T@dmztpc|>'@pmcomtpc\>|@pmcomtpc>\>|'@pmcomtpc\>|@pmcomtpc>\>|Vlx@pmcomtpc\>|lz@pmcomtpc\>| Xpc\>t pc>&xp>Tzp>Typ>Tang>h@pmcomtpc\>|f>(dx@pfcomtpc\>|@pmcomtpc\>|(dy@pfcomtpc\>|@pmcomtpc\>|lhtdx>dy>|tdx|tdy|nang,tdxl| <dy> nangFInangnang,tdyl| <dx> nangFInangnangnangFGnangtFMtnang>Z||FInangtnang|X>@pmcomtpc\>|> R Place player herexp@pmcomtpc\>|zp@pmcomtpc\>|-v@pfcomtpc\>|>L@pfcomtpc\>|> angnang-\@pfcomtpc\>|>L@pfcomtpc\>|> Zmp\xpZmp>\zpZmp>\nang Xmp\>@pmcomtpc\>|>dx@pmcomtpc\>|xpdz@pmcomtpc\>|zpdangnangang >dang> dangdang>@dang> dang>dang<"Ba>>? xxptdxBa|>@ zzptdzBa|>@ Zmp\x Zmp>\z" Zmp>\angtdangBa|>@ Xmp\>F angnangxp@pmcomtpc\>|zp@pmcomtpc\>|Z@pmcomtpc\>|>dangnangang >dang> dangdang>@dang> dangdang>+fx@dmxtpc>|Tfz@dmztpc>|,dx@pmcomtpc\>|@pmcomtpc>\>|,dz@pmcomtpc\>|@pmcomtpc>\>|zlhtdx>dz>|tx@dmxtpc|tz@dmztpc|dhttx>tz>| vdf> txttxzl|d tzttzzl|dstx@pmcomtpc>\>|stz@pmcomtpc>\>|enx@pmcomtpc\>|enz@pmcomtpc\>|<TBa>>? antBa>Z|>@  b>Zan x1stxtfx tb||FB  z1stztfz tb||FB x2enxttx tan||FB &z2enzttz tan||FB ,xmtx1x2|> 2zmt z1&z2|> ctan>-|> x2x2,xm &z2&z22zm xx1x2t>tc|| z z1&z2t>tc|| Zmp\x Zmp>\z1 Zmp>\angdangtFAtan>>Z||> Xmp\>F angnang@pmcomtpc\>|>dangnangang >dang> dangdang>@dang> dang>dang<Ba>>? antBa>|>@ Zmp\xp Zmp>\zp- Zmp>\angdangtFAtan>Z||> Xmp\>F angnang Xpc\>t&ab3:includes/testpath\@t>|mp`fxtxT8fy>ty dx@xtDn>|@xtDn| Jdy@ytDn>|@ytDn|zlhtdx>Jdy>| tx@xtDn>|@xtDn| >ty@ytDn>|@ytDn|dhttx>>ty>|txttxzl|d>tyt>tyzl|d<Ba>>Z b>ZBa(x1@xtDn|tfx t>ZBa||FB(Py1@ytDn|t8fy t>ZBa||FB(x2@xtDn>|ttx tBa||FB(y2@ytDn>|t>ty tBa||FB,xmtx1x2|>VymtPy1y2|>ctBa>-|>x2x2,xmy2y2Vymxx1x2t>tc||yPy1y2t>tc||Jx\y\> t>\x|$ t>\y|F`R  cptneartozonemB-xtx0mu|$xoTyty0mu|*yo  a&A Dn@t> |<@Ba>6nz><b>@zptBa|> @zztBa\b|> <c>6nz> <xd>@zptc|>K<@zotBa\b|@zotc\d>|X@zotBa\b>|@zotc\d|!R:MYPRINT[" dc.l ZoneDat"+ Fn MY$(C)+",ZoneDat"+ Fn MY$(A)] @zztBa\b|cd@zptc|Tc6nz F FFF n><J\az>6nz>tx>T>ty><b>@zpt\az|>! txtx@pxt@zot\az\b||! >ty>ty@pyt@zot\az\b||Ftxtx@zpt\az|>ty>ty@zpt\az|-bvxttx$xo|0muThvyt>ty*yo|0muN nbvx\hvy\>  nddd><Ba>ncpt  x1J@cptxtBa|Tx2tx y1P@cptytBa|Ty2>ty dxx2x1TJdyy2y1  nddx>Jdy> ndnddd  tz1V@cptztBa|Tzz2\az Xtz1fzz2P4Hdldxt@pyt@zottz1\>||y1|Jdyt@pxt@zottz1\>||x1|<Xc>@zpttz1|R find exit from this zone...Jdrdxt@pyt@zottz1\c||y1|Jdyt@pxt@zottz1\c||x1|Vdl>Xdr> tc c>d dldrFo8 joincoords@pxt@zottz1\t||\@pyt@zottz1\t||\@pxt@zottz1\t>||\@pyt@zottz1\t>||\>tz1@zzttz1\t>|\tz1zz2Ltz1>  Jtz1zz2 pqBa ndddnd   F\@zcptt\az|pqFm>` Jm>zogetx\yp xp>zosho<cz\> <czpzosho<cz\> &z\@zcptt<cz|>X\@zcptt<cz|zncpthighcont\@zcptt<cz| m>findcontx\yp lp>\@zcptt<cz|phighcont\@zcptt<cz|`R cptneartoupperzonemBm>`-xtx0mu|$xoTyty0mu|*yo Pm>zogetx\yp xp>zosho<cz\> <czpzosho<cz\> (b@uzcptt<cz|>Xb@uzcptt<cz|zncpthighcontb@uzcptt<cz| m>findcontx\yp pp>b@uzcptt<cz|phighcontb@uzcptt<cz|`R  placecontpt">\ t>\x|\ t>\y|\>mBm>`-xtx0mu|$xoTyty0mu|*yozogetx\yzz>` Xncpt\>J@cptxtncpt|xP@cptytncpt|yV@cptztncpt|z18m>@cptultncpt|>"@cptultncpt|>)cptputx\y\>@cptultncpt|>`R  cptmove">\ t>\x|\ t>\y|\>mB-xtx0mu|$xoTyty0mu|*yo Pa&gfindcontx\yTp1m>`zogetx\yzz>`J@cptxtp1|xP@cptytp1|yV@cptztp1|z/6m>@cptultp1|> @cptultp1|> Bredraw`R  connectcont">\ t>\x|\ t>\y|\>mB .a&V autolinkm>`-xtx0mu|$xoTyty0mu|*yofindcontx\yp1>> )p1<zb>ncpt>&Dbfp1f connectedp1\b\p1F` 23456p26p2>`p16p2` Dn@t> |q!tDnp1>d6p2|w!tDn6p2>dp1|RPoke N+P2*100+P1,A \qLwq>Xw>?8 joincoordsJ@cptxtp1|\P@cptytp1|\J@cptxt6p2|\P@cptyt6p2|\>q>Xw>?8 joincoordsJ@cptxtp1|\P@cptytp1|\J@cptxt6p2|\P@cptyt6p2|\>pq>Xw>?8 joincoordsJ@cptxtp1|\P@cptytp1|\J@cptxt6p2|\P@cptyt6p2|\>xdJ@cptxt6p2|J@cptxtp1|ydP@cptyt6p2|P@cptytp1|ldhtxd>yd>|xdtxd>|ldydtyd>|ldm8 joincoordsJ@cptxt6p2|xd\P@cptyt6p2|yd\J@cptxt6p2|xd>yd>\P@cptyt6p2|yd>xd>\>m8 joincoordsJ@cptxt6p2|xd\P@cptyt6p2|yd\J@cptxt6p2|xd>yd>\P@cptyt6p2|yd>xd>\>hq>Xw>xdJ@cptxt6p2|J@cptxtp1|ydP@cptyt6p2|P@cptytp1|ldhtxd>yd>|xdtxd>|ldydtyd>|ld?8 joincoordsJ@cptxtp1|\P@cptytp1|\J@cptxt6p2|\P@cptyt6p2|\>m8 joincoordsJ@cptxtp1|xd\P@cptytp1|yd\J@cptxtp1|xd>yd>\P@cptytp1|yd>xd>\>m8 joincoordsJ@cptxtp1|xd\P@cptytp1|yd\J@cptxtp1|xd>yd>\P@cptytp1|yd>xd>\> m>!tDnp1>d6p2|f>!Dnp1>d6p2\>n!tDn6p2>dp1|> !Dn6p2>dp1\>!Dnp1>d6p2\>l!tDn6p2>dp1|> !Dnp1>d6p2\>< !Dn6p2>dp1\>!tDnp1>d6p2|>!Dnp1>d6p2\>!Dn6p2>dp1\>n!Dnp1>d6p2\>!Dn6p2>dp1\>q!tDnp1>d6p2|w!tDn6p2>dp1|RPoke N+P2*100+P1,A \qLwq>Xw>?8 joincoordsJ@cptxtp1|\P@cptytp1|\J@cptxt6p2|\P@cptyt6p2|\> q>Xw>?8 joincoordsJ@cptxtp1|\P@cptytp1|\J@cptxt6p2|\P@cptyt6p2|\>pq>Xw>?8 joincoordsJ@cptxtp1|\P@cptytp1|\J@cptxt6p2|\P@cptyt6p2|\> xdJ@cptxt6p2|J@cptxtp1|ydP@cptyt6p2|P@cptytp1|ldhtxd>yd>|xdtxd>|ldydtyd>|ldm8 joincoordsJ@cptxt6p2|xd\P@cptyt6p2|yd\J@cptxt6p2|xd>yd>\P@cptyt6p2|yd>xd>\> m8 joincoordsJ@cptxt6p2|xd\P@cptyt6p2|yd\J@cptxt6p2|xd>yd>\P@cptyt6p2|yd>xd>\> hq>Xw>xdJ@cptxt6p2|J@cptxtp1|ydP@cptyt6p2|P@cptytp1|ldhtxd>yd>|xdtxd>|ldydtyd>|ld?8 joincoordsJ@cptxtp1|\P@cptytp1|\J@cptxt6p2|\P@cptyt6p2|\> m8 joincoordsJ@cptxtp1|xd\P@cptytp1|yd\J@cptxtp1|xd>yd>\P@cptytp1|yd>xd>\> m8 joincoordsJ@cptxtp1|xd\P@cptytp1|yd\J@cptxtp1|xd>yd>\P@cptytp1|yd>xd>\>  p1> 6p2>`R  autolinkR$ link up all control points visually Dn@t> | ncpt><@Ba>6nz><b>@zptBa|> @zztBa\b|> <c>6nz> <xd>@zptc|>K<@zotBa\b|@zotc\d>|X@zotBa\b>|@zotc\d|!R:MYPRINT[" dc.l ZoneDat"+ Fn MY$(C)+",ZoneDat"+ Fn MY$(A)] @zztBa\b|cd@zptc|Tc6nz F FFF<JBa>ncpt><bBa>ncpt 7 !tDnBa>db|f>X!tDnb>dBa|f> !DnBa>db\> !Dnb>dBa\> R check for link...  phys> # x1J@cptxtBa|Tx2J@cptxtb|# y1P@cptytBa|Ty2P@cptytb| dxx2x1TJdyy2y1# tz1V@cptztBa|Tzz2V@cptztb|  P4Hdldxt@pyt@zottz1\>||y1|Jdyt@pxt@zottz1\>||x1|<Xc>@zpttz1|R find exit from this zone...Jdrdxt@pyt@zottz1\c||y1|Jdyt@pxt@zottz1\c||x1|Vdlz>Xdr> tc c>d dldrFo8 joincoords@pxt@zottz1\t||\@pyt@zottz1\t||\@pxt@zottz1\t>||\@pyt@zottz1\t>||\>tz1@zzttz1\t>| \tz1zz2Ltz1> tz1zz23!DnBa>db\>T!tDnb>dBa|\>  FF Bredraw`Rvf$findcontx\y  p> ncpt>>V sd><a> ncpt4dt@cptxta|x|>t@cptyta|y|>!:dsd paTsddF 342  pR objdel">\ t>\x|\ t>\y|\>mBm>`-xtx0mu|$xoTyty0mu|*yofindobjx\yp 0p>pztZno>|s@t> |p> d@t> |Zno> > *<PBa>>T!sBa\!tdBa|TF%Dobjput@obxtp|\@obztp|\>9@obxtp|@obxtZno>|T@obztp|@obztZno>|ZnoZno><XBa>>!@t> |Zno> Ba\>F`R  objmove">\ t>\x|\ t>\y|\>mBm>`-xtx0mu|$xoTyty0mu|*yo Tm>findobjx\y cobj <m> cobj>zogetx\yTp%@obxtcobj|xT@obztcobj|ys@t> |cobj> Zs>\p Bredrawzoshop\> `vjpndnd n>!xtxp\>Tv& Door Num: dRtnd>A|Rvjpnlnl n>!xtxp\>Tv& Lift Num: dRtnl>A|RvDpdcnd n>R. Screen Copy 0,0,16*6,320,16*7+2 To 0,320,8 R Ink 0 : Bar 320,26 To 640,32 R For A=0 To 11 R X=320+A*16 R Ink 1 R If Btst(A,DC(ND)) R Bar X+1,27 To X+14,30 R Else R Box X+1,27 To X+14,30 R End If R Next x>(\>Tv&Raise Conditionsx><\>Tv&Lower Conditionsx>(\>TvBdrt@drttnd||x><\>TvBdlt@dlttnd||+x>(\>Tv&Stays open for (50=1sec):d@opstnd\>|%x>\>Tv&Opening Speed:d@opstnd\>|$x>*\>Tv& Opening SFX:d@opstnd\>|#x><\>Tv& Open SFX:d@opstnd\>|%x>\>Tv&Closing Speed:d@opstnd\>|$x>*\>Tv& Closing SFX:d@opstnd\>|$x><\>Tv& Closed SFX:d@opstnd\>|vxplcnl n>R. Screen Copy 0,0,16*6,320,16*7+2 To 0,320,8 R Ink 0 : Bar 320,26 To 640,32 R For A=0 To 11 R X=320+A*16 R Ink 1 R If Btst(A,LIFTC(NL))R Bar X+1,27 To X+14,30 R Else R Box X+1,27 To X+14,30 R End If R Next x>(\>Tv&Raise Conditionsx><\>Tv&Lower Conditionsx>(\>Tv}Blrt@lrttnl||x><\>TvwBllt@llttnl||$x>\>Tv& Raise Speed:d@lopstnl\>|#x>*\>Tv& Raise SFX:d@lopstnl\>|$x><\>Tv& At Top SFX:d@lopstnl\>|$x>\>Tv& Lower Speed:d@lopstnl\>|#x>*\>Tv& Lower SFX:d@lopstnl\>|$x><\>Tv& At Bot. SFX:d@lopstnl\>|x>A\>Tv& Start Pos x>A\>6k@lsptnl|>v&Bottomv&Top R  defdoor@xa&,Xndo>ndondo>ThpndndoTPpdcndo@xa&.Xndo>ndondo>ThpndndoTPpdcndo$a&<Xndo>ndondo>4@drttndo|4@drttndo>|:@dlttndo|:@dlttndo>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|hpndndoTPpdcndo(a&>Xndo>ndondo>4@drttndo|4@drttndo>|:@dlttndo|:@dlttndo>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|'l@opstndo\>|l@opstndo>\>|hpndndoTPpdcndoa&rX<cz>P&@zdt<cz|>&@zdt<cz|ndo>*&@zdt<cz|> Bredraw">\ t>\x|\ t>\y|\>mBm>`-xtx0mu|$xoTyty0mu|*yo m>zogetx\yTp p> zpf<cz zosho<cz\> <czp zosho<cz\>  m>" findnearzone<cz\x\yTp<Ba>@zpt<cz|>F@zot<cz\Ba|p @wtt<cz\Ba|> @wtt<cz\Ba|>  @wdt<cz\Ba|ndo> ^ @wtt<cz\Ba|>  @wdt<cz\Ba|>  zosho<cz\> F`  deflift;na&,Xnl>nlnl>T\pnlnlTDplcnl;na&.Xnl>nlnl>T\pnlnlTDplcnla&>Xnl>nlnl>@@lrttnl|@@lrttnl>|F@llttnl|F@llttnl>|6<naa>>Tr@lopstnl\aa|r@lopstnl>\aa|F@lsptnl|@lsptnl>|\pnlnlTDplcnla&<Xnl>nlnl>@@lrttnl|@@lrttnl>|F@llttnl|F@llttnl>|6<naa>>Tr@lopstnl\aa|r@lopstnl>\aa|F@lsptnl|@lsptnl>|\pnlnlTDplcnla&hX@zlit<cz|f>  tidydefliftbrequest&Height of lift at top: pT@zht<cz\>|p  initdeflift Ta&t@lsptnl|>TDplcnl Ta&b@lsptnl|>TDplcnla&fX<cz>R@zlit<cz|>@zlit<cz|nl>,@zlit<cz|> Bredraw">\ t>\x|\ t>\y|\>mBm>`-xtx0mu|$xoTyty0mu|*yo m>zogetx\yTp p> zpf<cz zosho<cz\> <czp zosho<cz\>  m>" findnearzone<cz\x\yTp<Ba>@zpt<cz|>H@zot<cz\Ba|p @wtt<cz\Ba|> @wtt<cz\Ba|> @wlit<cz\Ba|nl> ` @wtt<cz\Ba|> @wlit<cz\Ba|>  zosho<cz\> F`R  defwallgraph">\ t>\x|\ t>\y|\>m2 wgput-xtx0mu|$xoTyty0mu|*yo m>zogetx\yTp p> zpf<cz zosho<cz\> <czp zosho<cz\>  m>" findnearzone<cz\x\yTp<\Ba>@zpt<cz|> @zot<cz\Ba|p @zwgt<cz\Ba\>|wgw[ @zwgt<cz\Ba\>|zwgT@zwgt<cz\Ba\>|zwglT@zwgt<cz\Ba\>|zwgcTBa>F 2a&f<Ba>@zpt<cz|>@zwgt<cz\Ba\>|wgwR@zwgt<cz\Ba\>|zwgT@zwgt<cz\Ba\>|zwglT@zwgt<cz\Ba\>|zwgcF a&g" findnearzone<cz\x\yTp<^Ba>@zpt<cz|>"@zot<cz\Ba|p wgw@zwgt<cz\Ba\>|R zwg@zwgt<cz\Ba\>|Tzwgl@zwgt<cz\Ba\>|Tzwgc@zwgt<cz\Ba\>| Ba>F`R wgput&Da&qXwgw>wgwwgw>&Da&wXwgw>wgwwgw>"<a&,Xzwg>Xzwg\>&a&.Xzwg\>^a&<Xzwgc> Xzwgc\> zwg> Ha&> Xzwgc\> zwg> na&+ 0zwgl> zwgl> zwgl> na&- 0zwgl> zwgl> zwgl>.Xzwgl>T>\ t>\>|\ t>\>|\>T.Xzwgl>T>\ t>\>|\ t>\>|\>T <zwgl>T>\>\>\>Ttzwgcflwchunk>lwchunkzwgc> Bwchunktzwgc|\@t>| n>Tlg><Ba>>c!t@t>|Ba>|2c0@palrtc|>6@palgtc|><@palbtc|  Ba\cF1~zwgftlg>d|Ltlwgw>d|fwgwLta&v| .a&v stq> stq>lgzwg>d lszwglwgwwgw>dwgh@wcytzgwc| xllss |  n>T >$R@ Screen Copy 6,XL*16,YL*WGH,XL*16+WGW-1,YL*WGH+WGH-1 To 3,0,0 tw@t>|>@> zipxl>$<fBazipzipwgw>Vstq'ftwtBa>|@wcytzwgc|>Ba>>* <b>t>@\@wcytzwgc||>Vstq c!tfbb| N nBazip\b\cX> FBa>>* <b>t>@\@wcytzwgc||>Vstq c!tfbb|>  N nBazip\b\cX> FBa>>* <b>t>@\@wcytzwgc||>Vstq c!tfbb|> N nBazip\b\cX> FF ns > >\\>>(\\>@ >`R  deffloorgraph">\ t>\x|\ t>\y|\>m2-xtx0mu|$xoTyty0mu|*yo Rfgput ozfgzfgTfbofb Hm>zogetx\yTp p>zosho<cz\> <czpzosho<cz\> '@zfgt<cz\>|zfgTn@fbt<cz|fb@zfgt<cz\>|zfgs Hm>zogetx\yTp p>zosho<cz\> <czpzosho<cz\> 'zfg@zfgt<cz\>|Tfbn@fbt<cz|zfgs@zfgt<cz\>|`R  defroofgraph">\ t>\x|\ t>\y|\>m2-xtx0mu|$xoTyty0mu|*yo `rgput0ozrg$zrgTrborb Hm>zogetx\yTp p>zosho<cz\> <czpzosho<cz\> '@zrgt<cz\>|$zrgTh@rbt<cz|rb@zrgt<cz\>|*zrgs Hm>zogetx\yTp p>zosho<cz\> <czpzosho<cz\> '$zrg@zrgt<cz\>|Trbh@rbt<cz|*zrgs@zrgt<cz\>|`R defupperwallgraph">\ t>\x|\ t>\y|\>m2 uwgput&m>Xaf&g`-xtx0mu|$xoTyty0mu|*yo m>zogetx\yTp p> zpf<cz zosho<cz\> <czp zosho<cz\>  m>" findnearzone<cz\x\yTp<\Ba>@zpt<cz|> @zot<cz\Ba|p >@uzwgt<cz\Ba\>|wgw[ >@uzwgt<cz\Ba\>|zwgT>@uzwgt<cz\Ba\>|zwglT>@uzwgt<cz\Ba\>|zwgcTBa>F a&g" findnearzone<cz\x\yTp<\Ba>@zpt<cz|> @zot<cz\Ba|p wgw>@uzwgt<cz\Ba\>|[ zwg>@uzwgt<cz\Ba\>|Tzwgl>@uzwgt<cz\Ba\>|Tzwgc>@uzwgt<cz\Ba\>|TBa>F`R uwgput&Da&qXwgw>wgwwgw>&Da&wXwgw>wgwwgw>"<a&,Xzwg>Xzwg\>&a&.Xzwg\>^a&<Xzwgc> Xzwgc\> zwg> Ha&> Xzwgc\> zwg> na&+ 0zwgl> zwgl> zwgl> na&- 0zwgl> zwgl> zwgl>.Xzwgl>T>\ t>\>|\ t>\>|\>T.Xzwgl>T>\ t>\>|\ t>\>|\>T <zwgl>T>\>\>\>Ttzwgcflwchunk>lwchunkzwgc> Bwchunktzwgc|\@t>| n>Tlg><Ba>>c!t@t>|Ba>|2c0@palrtc|>6@palgtc|><@palbtc|  Ba\cF1zwgftlg>d|Ltlwgw>d|fwgwLta&v| .a&v stq> stq>lgzwg>d lszwglwgwwgw>dwgh@wcytzgwc| xllsylls>s |  n>T >$R@ Screen Copy 6,XL*16,YL*WGH,XL*16+WGW-1,YL*WGH+WGH-1 To 3,0,0 tw@t>|>@> zipxl>$<fBazipzipwgw>Vstq'ftwtBa>|@wcytzwgc|>Ba>>* <b>t>@\@wcytzwgc||>Vstq c!tfbb| N nBazip\b\cX> FBa>>* <b>t>@\@wcytzwgc||>Vstq c!tfbb|>  N nBazip\b\cX> FBa>>* <b>t>@\@wcytzwgc||>Vstq c!tfbb|> N nBazip\b\cX> FF ns > >\\>>(\\>@ >`RR defupperfloorgraph">\ t>\x|\ t>\y|\>m2-xtx0mu|$xoTyty0mu|*yo Rfgput ozfgzfgTfbofb Hm>zogetx\yTp p>zosho<cz\> <czpzosho<cz\> '8@uzfgt<cz\>|zfgTn@fbt<cz|fb8@uzfgt<cz\>|zfgs Hm>zogetx\yTp p>zosho<cz\> <czpzosho<cz\> 'zfg8@uzfgt<cz\>|Tfbn@fbt<cz|zfgs8@uzfgt<cz\>|`R defupperroofgraph">\ t>\x|\ t>\y|\>m2-xtx0mu|$xoTyty0mu|*yo `rgput0ozrg$zrgTrborb Hm>zogetx\yTp p>zosho<cz\> <czpzosho<cz\> '2@uzrgt<cz\>|$zrgTh@rbt<cz|rb2@uzrgt<cz\>|*zrgs Hm>zogetx\yTp p>zosho<cz\> <czpzosho<cz\> '$zrg2@uzrgt<cz\>|Trbh@rbt<cz|*zrgs2@uzrgt<cz\>|`R rgdat >  >T >`R rgput"<a&,$zrgt$zrg>|>"<a&.$zrgt$zrg>|>'Fa&qX*zrgs>*zrgs*zrgs>&Da&wX*zrgs>*zrgs*zrgs>,a&brb>rb-Jrb>\ t>\>|\ t>\>|\>>+t0ozrgf$zrg|LrbfrboLtozrgsf*zrgs|%0ozrg$zrgTrborbTozrgs*zrgs h$zrg> >\>@\>@\> \ x>\>Tv& NONE (SKY) rb> >\>@\>@\>@\ FT 4T > >\>\$zrg> mp@t> |>$zrg>@* <P bq>>T  bq\!tmp|TXmp\>TF >' f&ab3:graphics/floors/bump. myt$zrg>| f\> >\ t>\>|\ t>\>|\> n>Tx>\>Tv*zrgsd&  > >\\>>(\\>@ >`R fgput"<a&,zfgtzfg>|X>"<a&.zfgtzfg>|X>,a&bfb>fb'Fa&qXzfgs>zfgszfgs>&Da&wXzfgs>zfgszfgs>+tzfgf ozfg|LofbffbLtozfgsfzfgs|% ozfgzfgTofbfbTozfgszfgsn@fbt<cz|> >\>@\>@\>@\ FT 4T >>\>\zfg>mp@t> |>zfg>@*<P bq>>T  bq\!tmp|TXmp\>TF>'f&ab3:graphics/floors/bump. mytzfg>| f\> >\ t>\>|\ t>\>|\> n>Tx>\>Tvzfgsd&  > >\\>>(\\>@ >`R objadd">\ t>\x|\ t>\y|\><pa&,X`ot>`ot`ot>T4typeobj`otT objparamshow<pa&.X`ot>`ot`ot>T4typeobj`otT objparamshow ^a&g-xtx0mu|$xoTyty0mu|*yo di><Ba>Zno>dx@obxtBa|xJdy@obztBa|yddx>Jdy> Fddi didTtBaFs@t> |t> `ot!ts| `ot>Talto!ts>|`dlocked!ts>|fllocked!ts>|xuporlo!ts> |rpermcalc!ts> |Nteam!ts> | >Nteam> NteamNteam>txt!ts>| >txt> txttxt>~contpt!ts>|  objparamshowZobto!ts>|`dlocked!ts>|fllocked!ts>|xuporlo!ts> |rpermcalc!ts> |txt!ts>| >txt> txttxt>lstrtanim!ts>|  objparamshow Ta&p-xtx0mu|$xoTyty0mu|*yo di><Ba>Zno>dx@obxtBa|xJdy@obztBa|yddx>Jdy> Fddi didTtBaFs@t> |t> `ot!ts| N`ot> !s\>!s>\TaltoZs>\`dlockedZs>\fllocked!s> \xuporlo!s> \rpermcalc!s> \NteamZs>\txtZs>\~contpt !s\>!s>\ZobtoZs>\`dlockedZs>\fllocked!s> \xuporlo!s> \rpermcalcZs>\txtZs>\lstrtanimmBm>` m>-xtx0mu|$xoTyty0mu|*yozosho<cz\>zogetx\ypp>T`T <czpzosho<cz\> *`ot>T4alienputT*`ot>T$thingputTRIf OT=0 Then Gosub ENEMYPUT RIf OT=1 Then Gosub MEDIPUTRIf OT=3 Then Gosub BIGGUNPUTRIf OT=4 Then Gosub KEYPUT RIf OT=5 Then Gosub FLHAPUTRIf OT=6 Then Gosub MARINEPUTRIf OT=7 Then Gosub GLASSPUT RIf OT=2 Then Gosub AMMOPUTRIf OT=8 Then Gosub BBARRELPUT RIf OT=9 Then Gosub DDECOPUT R*REQUEST["Lower(=0) or Upper(=1) level: "] RP=Param R*REQUEST["Permanent Calculation (1=yes): "]RP2=ParamRS=Start(12)+(NO-1)*32 R*If P=0 Then Poke S+10,0 Else Poke S+10,-1 R*If P2=0 Then Poke S+11,0 Else Poke S+11,-1Dobjputx\y\>-xtx0mu|$xoTyty0mu|*yofindcontx\y ~contpt  objparamshow`R  alienputs@t> |Zno> !s\>!s>\TaltoZs>\`dlockedZs>\<czZs>\fllocked!s> \xuporlo!s> \rpermcalc!s> \NteamZs>\txtZs>\~contpt#@obxtZno|xT@obztZno|y XZno\>`  thingputs@t> |Zno> !s\>!s>\ZobtoZs>\`dlockedZs>\<czZs>\fllocked!s> \xuporlo!s> \rpermcalcZs>\txtZs>\lstrtanim4~ @locktowalltZobto|f>d>Tt><,Ba>@zpt<cz|>7fx@pxt@zot<cz\Ba||T8fy@pyt@zot<cz\Ba||?tx@pxt@zot<cz\Ba>||T>ty@pyt@zot<cz\Ba>||txtxfxT>ty>ty8fy"pxxfxT(pyy8fy.nddd"px>ty(pytx+Rt.nddd|td|Td.ndddTtBaTF7fx@pxt@zot<cz\t||T8fy@pyt@zot<cz\t||?tx@pxt@zot<cz\t>||T>ty@pyt@zot<cz\t>||txtxfxT>ty>ty8fylhttx>>ty>| zllddzlxxt>tyd|zlyyttxd|zl 4txtx :ty>tyHt4tx|l4txlt4tx|Ht:ty|l:tylt:ty|@anc,t4txl| ang@anc8>ty>Tang>hangTangtang>h|>h n>Tx>\>vangZs> \ang#@obxtZno|xT@obztZno|y XZno\>`R  ddecoputs@t> |Zno> !s\> brequest&Decoration Item :TpZs>\pZs>\<czbrequest&Facing Angle :Tpptp> |>hppX6Zs>\p#@obxtZno|xT@obztZno|y XZno\>`Rvshvctvct n><a>>x>(\>a bavct 4 bz> vBvectt b|. v& FR  flhaputs@t> |Zno> Fvct>shvctFvctPa   .Tt6L|XFvct>XFvct\>TshvctFvct-Rt6M|XFvct>XFvct\>TshvctFvct \a& pFvct!s>\p ang>(tp>Xpz> |d>Tt><,Ba>@zpt<cz|>7fx@pxt@zot<cz\Ba||T8fy@pyt@zot<cz\Ba||?tx@pxt@zot<cz\Ba>||T>ty@pyt@zot<cz\Ba>||txtxfxT>ty>ty8fy"pxxfxT(pyy8fy.nddd"px>ty(pytx+Rt.nddd|td|Td.ndddTtBaTF7fx@pxt@zot<cz\t||T8fy@pyt@zot<cz\t||?tx@pxt@zot<cz\t>||T>ty@pyt@zot<cz\t>||txtxfxT>ty>ty8fylhttx>>ty>| zllddzlxxt>tyd|zlyyttxd|zl 4txtx :ty>tyHt4tx|l4txlt4tx|Ht:ty|l:tylt:ty|@anc,t4txl| ang@anc8>ty>Tang>hangTangang>h n>Tx>\>vang !s\>Zs>\<czZs>\ang vp> brequest&Time between flamesTpZs> \p#@obxtZno|xT@obztZno|y XZno\>`R  enemyputs@t> |Zno> !s\>R4 For nasties need to store: which zone they're in, R2 how many lives they have, how fast they can move R and so on. brequest&Enter enemy type:pT!s>\pbrequest&Enter number of hits to kill:pTZs>\pbrequest&Team number (-1=solo):pTZs>\pZs>\<cz#@obxtZno|xT@obztZno|y XZno\>`R  marineputs@t> |Zno> !s\>R4 For nasties need to store: which zone they're in, R2 how many lives they have, how fast they can move R and so on. !s>\>brequest&Enter number of hits to kill:pTZs>\pbrequest&Enter MAX movement speed:pTZs>\pbrequest&Enter Leadership value:pTZs>\pZs>\<cz#@obxtZno|xT@obztZno|y XZno\>`R  biggunputbrequest& Which gun? ps@t> |Zno> !s\>!s>\pZs>\<cz#@obxtZno|xT@obztZno|y XZno\>`R  glassputs@t> |Zno> !s\>!s>\>Zs>\<cz#@obxtZno|xT@obztZno|y XZno\>`R  mediputs@t> |Zno> !s\>!s>\>brequest&Enter healing factor:pTZs>\pZs>\<cz#@obxtZno|xT@obztZno|y XZno\>`R  bbarrelputs@t> |Zno> !s\>!s>\>brequest&Enter Hits to Explode:pTZs>\pZs>\<cz#@obxtZno|xT@obztZno|y XZno\>`R  ammoputs@t> |Zno> !s\>!s>\>brequest&Enter gun type:pTZs>\pZs>\<cz#@obxtZno|xT@obztZno|y XZno\>`R keyputs@t> |Zno> !s\>$brequest&-Enter Colour (0=Green 1=Red 2=Yellow 3=Blue):pT!s>\pZs>\<cz#@obxtZno|xT@obztZno|y XZno\>`Rv requestr n>Txtxp\>Tvrxtxp\>TvFxtxp\>Tv^ttr||xtxp\>Tv^t>(| vRvPmessager n>Txtxp\>TvrdRvrobjputx\y\ c n>-xtxxo|muTytyyo|mu y>N \x\y\>\ cD c N x>\yx>\y N x\y>x\y>R vztypeobjo  n>T>"xtxp\>Tv& Object Type: dBobtot|R  defcorner">\ t>\x|\ t>\y|\>Ea&,X<cz>zosho<cz\>T<cz<cz>Tzosho<cz\> Ja&.X<cz6nz>zosho<cz\>T<cz<cz>Tzosho<cz\> mBTm>`-xtx0mu|$xoTyty0mu|*yo m>Tzosho<cz\>zogetx\yp 0p> <czpzosho<cz\> >(findnearx\yTp<Ba>@zpt<cz|>]@zot<cz\Ba|p@zct<cz\Ba|>@zct<cz\Ba|T cornerp\@zct<cz\Ba|>F 19`Rvcornerp\c! xK@pxtp|TyE@pytp|- xt xxo|muTytyyo|mu n>N \ x\y\>\cRR  initdeforderN : Lcounter>R4 Make a list of which zones are connected to which.  n>Tx>(\>Tv&Name for clip filex>(\>T&>:df!f&ab3:levels/level_f& /twolev.clipsRScreen Open 4,640,256,2,Hires RColour 1,$FFF L<Ba> npT@pwtBa|>T@pcwtBa\>|>T@pcwtBa\>|>TF<pBa>6nz>@@zptBa|><b>@zptBa|> @wttBa\b|>0 @pcwt@zotBa\b|\>|@zotBa\b>|0 @pcwt@zotBa\b>|\>|@zotBa\b|  @bwtt@wttBa\b||> <fc>6nz><6d>@zptc|>K@zotBa\b|@zotc\d>|X@zotBa\b>|@zotc\d|@zztBa\b|cd@zptc|Tc6nzF F @ @pwt@zotBa\b||> FF mp@t>|R6 Need to go through every zone to see what we can see!6nz>N ,T`6nz>RRnttf>d|t6nz||&  n>Tx>\>Tv&Done: dRnd&% R ZOFILL[F,2,3]R Clear visible list <Ba>6nz>@zutBa|> RFor B=0 To 30 R LP(A,B)=-1 : RP(A,B)=-1RNext !t@vcpltBa|>Tz@vcprtBa|>Ft@t>|f>@>@zutf|>"R< Flag to see if we have added any new zones this time round. Xnzu> p> ^nzil> h?DXnzu> Xnzu>dtmpnzil^nzil<>Ba>6nz> >@zutBa|p <>~c>@zptBa|>(jnwt@wttBa\tc>|@zptBa||=@wttBa\c|f>z@zztBa\c|=@zutz|>R, We are not going back on ourselves here so R$ maybe add this zone on end of list.R* Now check to see if this new zone we have R added is visible.>R$ Gosub REDRAW llrbordR" Wait Key -pflb^flTvtlb|tlTfrbfrTtrbtr^fl@zotf\^fl||tl@zotz\|tl|fr@zotf\fr|tr@zotz\tr|+@xt>|@pxt^fl|T@yt>|@pyt^fl|+@xt>|@pxt|tl|T@yt>|@pyt|tl|+@xt>|@pxttr|T@yt>|@pyttr|+@xt>|@pxtfr|T@yt>|@pytfr|+@xt>|@pxt^fl|T@yt>|@pyt^fl|"R< the above now hold the pts between which we have to check. R"Now see what zones are inbetween! zbetpts b> invis> nwalls>hbz npXinvis> cpbjcpf^flXcpffr6@putcp|> "RPU(CP)=NWALLS "ccp@pcwtcp\>|"ofl>Tofr> "cha>."X|tltrX@pwttr|f>T@put|tl|>T."X^flfrX@pwtfr|f>T@put^fl|>T "hcha> %cha>$%@putccp|>L@putccp|>(@putccp|nwallsTcha>%%B@putccp|> (ofl>%$%`@putccp|>X@putccp|> (ofl>%%ccp@pcwtccp\>|"t "RPrint OFL;OFR "ccpcp."X|tltrX@pwttr|f>T@put|tl|>T."X^flfrX@pwtfr|f>T@put^fl|>T "cha> "R Print "blah" "hcha> %R Print CCP %cha>$%@putccp|>L@putccp|>(@putccp|nwallsTcha>%%B@putccp|> (ofr>%$%`@putccp|>X@putccp|> (ofr>%%ccp@pcwtccp\>|"t"R CHA=1 "R While CHA=1 "R CHA=0"R$ For PP=0 To NZ-1 "R L=ZP(PP)-1"R* For Q=0 To ZP(PP)-1 "R8 If TL=TR : PU(TL)=-2 : End If "R8 If FL=FR : PU(FL)=-4 : End If "R0 If PU(ZO(PP,Q))=NWALLS "R* If WT(PP,L)=1 &"RD If PU(ZO(PP,L))=-3 or PU(ZO(PP,L))=0 "R6 PU(ZO(PP,L))=NWALLS "R( CHA=1 "R& End If "R2 If PU(ZO(PP,L))<-3 "R( OFL=-1"R& End If '"RF If(PU(ZO(PP,L))>-3 and PU(ZO(PP,L))<0) "R( OFL=1 "R& End If "R$ End If !"R: If TL=TR : PU(TL)=-4 : End If !"R: If FL=FR : PU(FL)=-2 : End If "R* If WT(PP,Q)=1 ("RH If PU(ZO(PP,Q+1))=-3 or PU(ZO(PP,Q+1))=0 "R8 PU(ZO(PP,Q+1))=NWALLS "R( CHA=1 "R& End If "R4 If PU(ZO(PP,Q+1))<-3 "R( OFR=-1"R& End If )"RJ If(PU(ZO(PP,Q+1))>-3 and PU(ZO(PP,Q+1))<0)"R( OFR=1 "R& End If "R$ End If "R End If "R, L=(L+1) mod ZP(PP) "R Next "R Next "R Wend 1"|tofl>Xofr>|Ltofl>Xofr>| %invis>""@sowtnwalls|>"\ofl>Xofr>%@sowtnwalls|>""Vofl>Xofr>%@sowtnwalls|>" "Xnwalls\>.X^flfrX@pwtfr|f>T@put^fl|>T.X|tltrX@pwttr|f>T@put|tl|>T @pwtb|>.@putb|>X@put@pcwtb\>||>"lfr^flLtr|tl%ol>Tdro>%fx@pxtb|%8fy@pytb|%tx@pxt@pcwtb\>||%>ty@pyt@pcwtb\>||%txtxfx%>ty>ty8fy%<Rzeb>@zptf|>"("px@pxt@zotf\zeb||fx"((py@pyt@zotf\zeb||fx(d"px>tytx(py(*d>Tol>T(*d>Tdro>T%F%dro>Lol>(<Rzeb>@zptf|>"+"px@pxt@zotf\zeb||fx"+(py@pyt@zotf\zeb||fx+d"px>tytx(py+*d>Tol>T+*d>Tdro>T(F%%Ddro>Xol> (invis>%"" %invis>".@putb|>X@put@pcwtb\>||>"l^flfrLtr|tl%ol>Tdro>%fx@pxtb|%8fy@pytb|%tx@pxt@pcwtb\>||%>ty@pyt@pcwtb\>||%txtxfx%>ty>ty8fy%<Rzeb>@zptf|>"("px@pxt@zotf\zeb||fx"((py@pyt@zotf\zeb||fx(d"px>tytx(py(*d>Tol>T(*d>Tdro>T%F%dro>Lol>(<Rzeb>@zptf|>"+"px@pxt@zotf\zeb||fx"+(py@pyt@zotf\zeb||fx+d"px>tytx(py+*d>Tol>T+*d>Tdro>T(F%%Ddro>Xol> (invis>%"" %invis>" Xb\>tinvis>!t@vcpltz|>Tz@vcprtz|>nwalls><h bq>nwalls>"@sowt bq|>%R all leftclip points%<w> np(@putw| bq+@putw|> .+@lptz\t@vcpltz||wTXt@vcpltz|\>(%F""@sowt bq|>%R all rightclip points %<w> np(@putw| bq+@putw|>.+@rptz\z@vcprtz||wTXz@vcprtz|\>(%F"FR* Now process left and right clip points toR exclude unnecessary ones. R. First eliminate all but most clockwise r clipR pt on target zone.  rightoneonly  leftoneonly#lcpotz>Xrcpotz>X|tlftr"R$ get rid of any clips farther away. %"fx@pxtlcpotz|T8fy@pytlcpotz|/"tx@pxtrcpotz|fxT>ty@pytrcpotz|8fy"t@vcpltz|>%< bq>t@vcpltz|>(ppp@lptz\ bq|(pppflcpotzXpppfrcpotz-+"px@pxtppp|8fyT(py@pytppp|8fy+d(pytx"px>ty +Fdz>.@lptz\ bq|>+(%F %tpt>%< bq>t@vcpltz|>(@lptz\ bq|f>"+@lptz\tpt|@lptz\ bq| +Xtpt\>(%F%t@vcpltz|tpt""z@vcprtz|>%< bq>z@vcprtz|>(ppp@rptz\ bq|(pppflcpotzXpppfrcpotz-+"px@pxtppp|8fyT(py@pytppp|8fy+d(pytx"px>ty +Fdz>.@rptz\ bq|>+(%F %tpt>%< bq>z@vcprtz|>(@rptz\ bq|f>"+@rptz\tpt|@rptz\ bq| +Xtpt\>(%F%z@vcprtz|tpt",t@vcpltz|> "blfl>!"fx@pxt^fl|T8fy@pyt^fl|+"tx@pxt|tl|fxT>ty@pyt|tl|8fy"<x bq>t@vcpltz|>A%"px@pxt@lptz\ bq||fxT(py@pyt@lptz\ bq||8fy%d(pytx"px>ty %d>Lttx>X>ty>| (blfl bq(tx"pxT>ty(py%"F "blfr>!"fx@pxtfr|T8fy@pytfr|+"tx@pxt^fl|fxT>ty@pyt^fl|8fy"<x bq>t@vcpltz|>A%"px@pxt@lptz\ bq||fxT(py@pyt@lptz\ bq||8fy%d(pytx"px>ty %d>Lttx>X>ty>| (blfr bq(tx"pxT>ty(py%"F"blflblfr%R only one clip point needed.!%@lptz\>|@lptz\blfl|%t@vcpltz|>" R Wait Key z@vcprtz|> "brfl>!"fx@pxt^fl|T8fy@pyt^fl|+"tx@pxtfr|fxT>ty@pytfr|8fy"<P bq>z@vcprtz|>A%"px@pxt@rptz\ bq||fxT(py@pyt@rptz\ bq||8fy%d(pytx"px>ty %\d> (brfl bq(tx"pxT>ty(py%"F "brfr>!"fx@pxtfr|T8fy@pytfr|+"tx@pxttr|fxT>ty@pyttr|8fy"<P bq>z@vcprtz|>A%"px@pxt@rptz\ bq||fxT(py@pyt@rptz\ bq||8fy%d(pytx"px>ty %\dz> (brfr bq(tx"pxT>ty(py%"F"brflbrfr%R only one clip point needed.!%@rptz\>|@rptz\brfl|%z@vcprtz|>"R6 *****************************************************R Another waste of time bug fix. R Picking pairs of leftclips, is R" the target zone completely on oneR side of the line joining them?  eliminleft  eliminright#2t@vcpltz|>Xz@vcprtz|>"Z@t> |>2\@zptf|>"Z@t> |>4\@zptz|>"!@t> |> \t@lptz\>||"!@t> |>\t@rptz\>||"Z@t> |>\t@vcpltz|>"Z@t> |>\z@vcprtz|>"!@t> |>*\t@zotf\>||"!@t> |>.\t@zotz\>||"Z@t> |>(\> "@t> |>6"invis!t@t> |>(|"RFor LPQ=0 To VCPL(Z)-1"R For RPQ=0 To VCPR(Z)-1 "R* FX=PX(LP(Z,LPQ)) : FY=PY(LP(Z,LPQ)) "R* TX=PX(RP(Z,RPQ)) : TY=PY(RP(Z,RPQ)) "R TX=TX-FX : TY=TY-FY "R* ' Is the source zone completely on "R$ ' the left side of the line? "R OL=1"R For BQ=0 To ZP(F)-1 "R* PX=PX(ZO(F,BQ)) : PY=PY(ZO(F,BQ))"R PX=PX-FX : PY=PY-FY"R D=PY*TX-PX*TY "R If D>0 "R OL=0 "R End If "R Next "R If OL=1 "R INVIS=1 "R End If "R* ' Is the target zone completely on "R& ' the right side of the line? "R RO=1"R For BQ=0 To ZP(Z)-1 "R* PX=PX(ZO(Z,BQ)) : PY=PY(ZO(Z,BQ))"R PX=PX-FX : PY=PY-FY"R D=PY*TX-PX*TY "R If D<0 "R RO=0 "R End If "R Next "R If RO=1 "R INVIS=1 "R End If "R Next "RNext "rinvis>%@zutz|p>TXnzu> % calcorder"^"@zutz|p>TXnzu> " calcorder&RD *******************************************************************^  calcorder@zutz|p>TXnzu>H@zutz|p>TXnzu> F F Xp\>tRLocate 0,1 : Print COUNTERR<zBa>>?!tBa>\6ZtBa>>\6F tmppR<Ba>6nz>@zutBa|> RZOFILL[A,4,5]  <pb>@zptBa|> @put@zotBa\b||>d FFRWait Key : Gosub REDRAW <nBa>6nz>>@zutBa|> t@vcpltBa|> <b>t@vcpltBa|>@lptBa\b|>j@put@lptBa\b||f>d@lptBa\b|> F  z@vcprtBa|> <b>z@vcprtBa|>@rptBa\b|>j@put@rptBa\b||f>d@rptBa\b|> F FR  cv> R Gosub REDRAW <p>tmp<Ba>6nz> P@zutBa|p RzOFILL[A,3,3] Zt\Ba !t>\@cordtBa| R0MYPRINT["ZoneClip"+ Fn MY$(F)+"to"+ Fn MY$(CV)] X cv\> d> hdt@vcpltBa|@lptBa\d|f>R6M$=M$+ Fn MY$(LP(A,D))+","+ Fn MY$(PCW(LP(A,D),1))+","dk@lptBa\d| R MYPRINT[M$] Xd\> t dk> d> hdz@vcprtBa|t@rptBa\d|f>|R2M$=M$+ Fn MY$(RP(A,D))+","+ Fn MY$(PCW(RP(A,D),0))dk@rptBa\d| R MYPRINT[M$] Xd\> t dk> RMYPRINT[" dc.l 0,0"] Xt\> FFPt@t>|Lt>| vfTNRF<~Ba> np-dk@pcwtBa\>|Tdk@pcwtBa\>|Ff\@t>|mpvmp@t>| RScreen Close 4N ,`R  eliminleft R Inc COUNTER jt@vcpltz|>!@t> |>.\t@zotz\>||Z@t> |>4\@zptz|>Z@t> |>\t@vcpltz|!@t> |> \t@lptz\>||Z@t> |>(\> @t> |>6RFor SS=0 To VCPL(Z)-1 RPrint LP(Z,SS) : Next RFor SLP=0 To VCPL(Z)-2 R FP=LP(Z,SLP) R If FP<>-1R For ELP=SLP+1 To VCPL(Z)-1R TP=LP(Z,ELP) R If TP<>-1!R: FX=PX(FP) : FY=PY(FP) : TX=PX(TP) : TY=PY(TP) R TX=TX-FX : TY=TY-FY R POL=0 : POR=0 R For TZC=0 To ZP(Z)-1R TZP=ZO(Z,TZC)R PX=PX(TZP)-FXR PY=PY(TZP)-FYR D=PY*TX-PX*TYR If D>0 R POR=1 R Else R If D<0R POL=1R End If R End If R Next R If POL=1 and POR=0R LP(Z,SLP)=-1 R End If R If POL=0 and POR=1R LP(Z,ELP)=-1 R End If R End If R Next R End If RNext RPIB=0 RFor TT=0 To VCPL(Z)-1 R If LP(Z,TT)<>-1R LP(Z,PIB)=LP(Z,TT) R Add PIB,1 R End If RNext R VCPL(Z)=PIB t@vcpltz|!t@t> |>(|`R  eliminright"z@vcprtz|>!@t> |>.\t@zotz\>||Z@t> |>4\@zptz|>Z@t> |>\z@vcprtz|>!@t> |> \t@rptz\>||Z@t> |>(\> @t> |>6RFor SRP=0 To VCPR(Z)-2 R FP=RP(Z,SRP) R If FP<>-1R For ERP=SRP+1 To VCPR(Z)-1R TP=RP(Z,ERP) R If TP<>-1!R: FX=PX(FP) : FY=PY(FP) : TX=PX(TP) : TY=PY(TP) R TX=TX-FX : TY=TY-FY R POL=0 : POR=0 R For TZC=0 To ZP(Z)-1R TZP=ZO(Z,TZC)R PX=PX(TZP)-FXR PY=PY(TZP)-FYR D=PY*TX-PX*TYR If D>0 R POR=1 R Else R If D<0R POL=1R End If R End If R Next R If POL=1 and POR=0R RP(Z,ERP)=-1 R End If R If POL=0 and POR=1R RP(Z,SRP)=-1 R End If R End If R Next R End If RNext RPIB=0 RFor TT=0 To VCPR(Z)-1 R If RP(Z,TT)<>-1R RP(Z,PIB)=RP(Z,TT) R Add PIB,1 R End If RNext z@vcprtz|!t@t> |>(|`R  calcorderZ@t> |>(\>!@t> |>*\t@zotf\>||!@t> |>.\t@zotz\>||!@t> |> \t@wttz\>||Z@t> |>2\@zptf|>Z@t> |>4\@zptz|> @t> |>6@cordtz|!t@t> |>2| R Print CORDRCORD=0RBTS=1 RFor QQ=0 To ZP(Z)-1 R If WT(Z,QQ)<>1 R FX=PX(ZO(Z,QQ)) R FY=PY(ZO(Z,QQ)) R TX=PX(ZO(Z,QQ+1))-FXR* TY=PY(ZO(Z,QQ+1))-FY : SOL=0 : SOR=0R For QQQ=0 To ZP(F)-1R2 PX=PX(ZO(F,QQQ))-FX : PY=PY(ZO(F,QQQ))-FYR D=PY*TX-PX*TY R If D<0 R SOL=1 R End If R If D>0 R SOR=1 R End If R Next R ' Wait Key R If SOL=1 and SOR=0R Bset BTS,CORDR, ' ZOFILL[ZZ(Z,QQ),11,12] R End If R If SOL=0 and SOR=1R Bset BTS,CORDR Bset BTS+1,CORDR. ' ZOFILL[ZZ(Z,QQ),3,4] R End If R End If R Add BTS,3 R CORD(Z)=CORD RNext RPrint CORD : End `R chkbet`R  rightoneonly rcpotz>z@vcprtz|>  bqvtlb@putfr|>2@put@zotz\ bq||f>' bqt bq@zptz|>|@zptz|)h@put@zotz\ bq||f>X bqftrb'  bqt bq@zptz|>|@zptz|t@put@zotz\ bq||>rcpotz@zotz\ bq| bqwt bq>|@zptz|h\ bqwf bq @put@zotz\ bqw||> < aaa>z@vcprtz|>%z@rptz\ aaa|@zotz\ bqw|@rptz\ aaa|> F   bqwt bqw>|@zptz|t tpt>< bq>z@vcprtz|> @rptz\ bq|f>" @rptz\tpt|@rptz\ bq| Xtpt\> Fz@vcprtz|tpt`R  leftoneonly lcpotz>t@vcpltz|>  bqtrb@put^fl|> @put@zotz\ bq||f>  bqt bq>|@zptz|-ht@put@zotz\ bq||f> |Xt bqfvtlb|  bqt bq>|@zptz|t@put@zotz\ bq||> lcpotz@zotz\ bq| bqwt bq>|@zptz|h\ bqwf bq @put@zotz\ bqw||>  < aaa>t@vcpltz|>%z@lptz\ aaa|@zotz\ bqw|@lptz\ aaa|> F   bqwt bqw>|@zptz|t tpt>< bq>t@vcpltz|> @lptz\ bq|f>" @lptz\tpt|@lptz\ bq| Xtpt\> Ft@vcpltz|tpt`R  betpts!@t> |\t@dt>\>||!@t> |>\t@pxt>||!@t> |>\t@pyt>||Z@t> |> \@xt>|Z@t> |>\@yt>|Z@t> |>\@xt>|Z@t> |>\@yt>|Z@t> |>\@xt>|Z@t> |>\@yt>|Z@t> |>\@xt>|Z@t> |>\@yt>|Z@t> |>\ np!@t> |>\t@pwt>||!@t> |>"\t@put>||R^flffrX|tlftrZ@t> |>&\>R^flfrX|tlftrZ@t> |>&\>R^flffrX|tltrZ@t> |>&\>Z@t> |>(\> @t> |>6 RFor B=0 To NP R If PW(B)=1 R 'For J=0 To 3 R* ' DX=X(J+1)-X(J) : DY=Y(J+1)-Y(J) R( ' PX=PX(B)-X(J) : PY=PY(B)-Y(J) R ' D(B,J)=DX*PY-DY*PX R 'Next R PU(B)=0 R If FL<>FR and TL<>TR"R< If D(B,0)>0 and D(B,1)>0 and D(B,2)>0 and D(B,3)>0 R PU(B)=-3 R End If R If D(B,0)<=0 R PU(B)=-4R& If D(B,1)<=0 or D(B,3)<=0 R PU(B)=-5 R End If R End If R If D(B,2)<=0 R PU(B)=-2R& If D(B,1)<=0 or D(B,3)<=0 R PU(B)=-1R End If R End If R End If R If FL=FR and TL<>TR R. If D(B,0)>0 and D(B,1)>0 and D(B,2)>0R PU(B)=-3 R End If R If D(B,0)<=0 R PU(B)=-4R& If D(B,1)<=0 or D(B,2)<=0 R PU(B)=0R End If R End If R If D(B,2)<=0 R PU(B)=-2R& If D(B,1)<=0 or D(B,0)<=0 R PU(B)=0R End If R End If R End If R If FL<>FR and TL=TR R. If D(B,0)>0 and D(B,3)>0 and D(B,2)>0R PU(B)=-3 R End If R If D(B,0)<=0 R PU(B)=-4 R& If D(B,3)<=0 or D(B,2)<=0 R PU(B)=0R End If R End If R If D(B,2)<=0 R PU(B)=-2R& If D(B,3)<=0 or D(B,0)<=0 R PU(B)=0R End If R End If R End If R End If R ' OUTLINE[B]RNext R$For B=0 To NP : Print PU(B) : Next REnd RBQ=(FLB+1) mod ZP(F) RWhile BQ<>FRB R If PW(ZO(F,BQ))=1R PU(ZO(F,BQ))=-3 R End If R BQ=(BQ+1) mod ZP(F)RWend RBQ=(TRB+1) mod ZP(Z) RWhile BQ<>TLB R If PW(ZO(Z,BQ))=1R PU(ZO(Z,BQ))=-3 R End If R BQ=(BQ+1) mod ZP(Z)RWend A@put^fl|>T@put|tl|>T@puttr|>T@putfr|>`R lrbordR4 Find the two bordering lines joining the two zones.%^fl>T|tl>Tfr>Ttr>1Z@zotf\^fl|@zotz\|tl|^fl^fl>1Z@zotf\fr|@zotz\tr|frfr>  changed>hv changed>  changed>'nlt|tl@zptz|>|@zptz| d>7x@pxt@zotf\^fl||Ty@pyt@zotf\^fl||7dx@pxt@zotz\|tl||TJdy@pyt@zotz\|tl||+dxdxxTJdyJdyyT tmptl|tlhnlf tmptlA"px@pxt@zotz\nl||xT(py@pyt@zotz\nl||yndJdy"pxdx(py pnd>+ dx"pxTJdy(pyT|tlnlT changed>'nltnl@zptz|>|@zptz|tRnlt^fl>|@zptf| d>7x@pxt@zotf\^fl||Ty@pyt@zotf\^fl||7dx@pxt@zotz\|tl||TJdy@pyt@zotz\|tl||+xxdxTyyJdyT tmpfl^flhnlf tmpflA"px@pxt@zotf\nl||dxT(py@pyt@zotf\nl||Jdyndx(pyy"px pnd>+ x"pxTy(pyT^flnlT changed>nltnl>|@zptf|tt%RBJOINCOORDS[PX(ZO(F,FL)),PY(ZO(F,FL)),PX(ZO(Z,TL)),PY(ZO(Z,TL)),7] R  changed>hv changed>  changed> $nrttr>|@zptz| d>7x@pxt@zotf\fr||Ty@pyt@zotf\fr||7dx@pxt@zotz\tr||TJdy@pyt@zotz\tr||+dxdxxTJdyJdyyT *tmptrtrh $nrf *tmptrA"px@pxt@zotz\ $nr||xT(py@pyt@zotz\ $nr||yndJdy"pxdx(py pnd>+ dx"pxTJdy(pyTtr $nrT changed> $nrt $nr>|@zptz|tR' $nrtfr@zptf|>|@zptf| d>7x@pxt@zotf\fr||Ty@pyt@zotf\fr||7dx@pxt@zotz\tr||TJdy@pyt@zotz\tr||+xxdxTyyJdyT 0tmpfrfrh $nrf 0tmpfrA"px@pxt@zotf\ $nr||dxT(py@pyt@zotf\ $nr||Jdyndx(pyy"px pnd>+ x"pxTy(pyTfr $nrT changed>' $nrt $nr@zptf|>|@zptf|tt%RBJOINCOORDS[PX(ZO(F,FR)),PY(ZO(F,FR)),PX(ZO(Z,TR)),PY(ZO(Z,TR)),7] `R  listorder n>D>txp>\>>\>@<8Ba>>TNzoprBaTFdzout 6zop\>`Rvvzopraxa> T ya> #xx>txpT y y> n> xx\ y!p@t>|tcz> a|>",!tp|f>m&Zm& 0>!tp>|f>mm&Lmm& 0>!tp>|f>mm&Rmm& 0>!tp>|f>mm&Vmm& vmdR  placeplayer">\ t>\x|\ t>\y|\>mB-xtx0mu|$xoTyty0mu|*yo a&ezoshoplz\>3zogetx\yTpT0p>T~ezonepT Bredrawzoshoplz\> m>` m>zoshoplz\>2zogetx\yTpT.p>TplzpTplxxTplyyTBredrawzoshoplz\>  m>zosho,plz2\>2zogetx\yTpT.p>T,plz2pT plx2xT&ply2yTBredrawzosho,plz2\> `R  defgraph`R  defheight">\ t>\x|\ t>\y|\>mB-xtx0mu|$xoTyty0mu|*yo<cz>`#d>T,t6`|Lt6a|d> a&-XJflh\d) n>Txtxp\>Tv&Floor Height: dJflhd&  a&+ XJflh\d) n>Txtxp\>Tv&Floor Height: dJflhd&  a&wF n>Txtxp\>Tv&Enter water height:xtxp\>T&:> d <wh*@zht<cz\>| <whTxzofill<cz\>\>  6nz><.Ba>6nz> <b>@zptBa|> @wttBa\b|f>/ Bo@zotBa\b|Tp@zotBa\b>|<0cBa>6nz><d>@zptc|>1 Bo@zotc\d>|Xp@zotc\d|+@zztBa\b|cT@zztc\d|BaFF  FF cha> hcha> cha> <Ba>6nz \@zhtBa\>| <wh<(b>@zptBa|>z@zztBa\b|+@zhtz\>|f <whX@zhtz\>| <wh4@zhtz\>| <whTcha>Txzofillz\>\>F  Ftm>`zosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> m> n>TF@zht<cz\>|Jflh-xtxp\>Tv&Water Height: d@zht<cz\>|d&  m> n>TFTJflh@zht<cz\>|3xtxp\>Tv&Floor Height: d@zht<cz\>|d& -xtxp\>Tv&Water Height: d@zht<cz\>|d& `  defwaterheight">\ t>\x|\ t>\y|\>mB-xtx0mu|$xoTyty0mu|*yo<cz>`#d>T,t6`|Lt6a|d> a&-X Hwah\d n>3xtxp\>Tv&Floor Height: d@zht<cz\>|d& $xtxp\>Tv&Water Height: d Hwahd&  a&+ X Hwah\d n>3xtxp\>Tv&Floor Height: d@zht<cz\>|d& $xtxp\>Tv&Water Height: d Hwahd&  :a&wF n>Txtxp\>Tv&Enter water height:xtxp\>T&: d Hwah3xtxp\>Tv&Floor Height: d@zht<cz\>|d& $xtxp\>Tv&Water Height: d Hwahd& m>`zosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> m> n>TF@zht<cz\>| Hwah3xtxp\>Tv&Floor Height: d@zht<cz\>|d& -xtxp\>Tv&Water Height: d@zht<cz\>|d&  m> n>TFT Hwah@zht<cz\>|3xtxp\>Tv&Floor Height: d@zht<cz\>|d& -xtxp\>Tv&Water Height: d@zht<cz\>|d& `R  defroofheight">\ t>\x|\ t>\y|\>#d>T,t6`|Lt6a|d> a&-XPrfh\d) n>Txtxp\>Tv& Roof Height: dPrfhd&  a&+ XPrfh\d) n>Txtxp\>Tv& Roof Height: dPrfhd& mBTm>`-xtx0mu|$xoTyty0mu|*yozosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> <cz>` Fm>@zht<cz\>|Prfh m>Prfh@zht<cz\>| n>TF3xtxp\>Tv& Roof Height: d@zht<cz\>|d& ` defupperroofheight">\ t>\x|\ t>\y|\>#d>T,t6`|Lt6a|d> a&-XPrfh\d) n>Txtxp\>Tv& Roof Height: dPrfhd&  a&+ XPrfh\d) n>Txtxp\>Tv& Roof Height: dPrfhd& mBTm>`-xtx0mu|$xoTyty0mu|*yozosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> <cz>` Hm>@uzht<cz\>|Prfh m>Prfh@uzht<cz\>| n>TF4xtxp\>Tv& Roof Height: d@uzht<cz\>|d& ` defupperfloorheight">\ t>\x|\ t>\y|\>#d>T,t6`|Lt6a|d> a&-XJflh\d) n>Txtxp\>Tv&Floor Height: dJflhd&  a&+ XJflh\d) n>Txtxp\>Tv&Floor Height: dJflhd& mBTm>`-xtx0mu|$xoTyty0mu|*yozosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> <cz>` Hm>@uzht<cz\>|Jflh m>Jflh@uzht<cz\>| n>TF4xtxp\>Tv&Floor Height: d@uzht<cz\>|d& `R  defbright">\ t>\x|\ t>\y|\>mBTm>`-xtx0mu|$xoTyty0mu|*yozosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> <cz>` zm>0 n>Txtxp\>Tv&Zone Brightness: d@zbt<cz|d&  m>F% n>Txtxp\>Tv&Enter brightness for this zone:%xtxp\>Tv&Current brightness: d@zbt<cz|#xtxp\>T&New brightness: d@zbt<cz|F!D>Ttxp>\>>>\>P1xtxp\>Tv&Zone Brightness: d@zbt<cz|d& `  defupperbright">\ t>\x|\ t>\y|\>mBTm>`-xtx0mu|$xoTyty0mu|*yozosho<cz\>/zogetx\yTpT$p><czpzosho<cz\> <cz>` m>4 n>Txtxp\>Tv&UPPER Zone Brightness: d@uzbt<cz|d&  m>F# n>Txtxp\>Tv&Enter upper zone brightness:&xtxp\>Tv&Current brightness: d@uzbt<cz|$xtxp\>T&New brightness: d@uzbt<cz|F!D>Ttxp>\>>>\>P5xtxp\>Tv&UPPER Zone Brightness: d@uzbt<cz|d& `  defpointbrightR"Sprite 1,X Hard(2,X),Y Hard(2,Y),3R$M=Mouse Click : If M=0 Then Return RX=(X*MU)+XO : Y=(Y*MU)+YO RFINDNEAR[X,Y] R"CP=Param : OUTLINE[CP] : PTNUM[CP]RIf M=1R0 PBR(CP)=(PDTA*$1000)+(PAN*$100)+(PBR and $FF)REnd If RRIf M=2)RJ C=PBR(CP) : PDTA=(C/$1000) and $F : PAN=(C/$100) and $F : PBR=C and $FF R PBR=PBR+20 R PBR=PBR and $FF R PBR=PBR-20 R Gosub BRIGHTSLIDEREnd If `  upperpresets a&1<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>@zpbrt<cz\Ba\>|>X6FRmessage&"Upper Zone bright; lit from above %a&2<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>X6@zpbrt<cz\Ba\>|>FRmessage&"Upper Zone bright; lit from below %a&3<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>X6@zpbrt<cz\Ba\>|>FRmessage&"Upper Zone bright bottom, dark top %a&4<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>@zpbrt<cz\Ba\>|>X6FRmessage&"Upper Zone bright top, dark bottom %a&5<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>@zpbrt<cz\Ba\>|>X6FRmessage&"Upper Zone dark, lit from above %a&6<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>X6@zpbrt<cz\Ba\>|>FRmessage&"Upper Zone dark, lit from below %Ya&7<Ba>@zpt<cz|>c@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66@zpbrt<cz\Ba\>|>X6FRmessage&"Upper Zone Roof Glowing %Ya&8<Ba>@zpt<cz|>c@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66@zpbrt<cz\Ba\>|>X6FRmessage&"Upper Zone Floor Glowing %ya&9< Ba>@zpt<cz|>c@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66/@zpbrt<cz\Ba\>|ttc>|>|66FRmessage&"Upper Zone Glowing in sync %a&0<TBa>@zpt<cz|>c@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66c>@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66FRmessage&"Upper Zone Glowing out of sync `  presets a&1<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>@zpbrt<cz\Ba\>|>X6FRmessage&Zone bright; lit from above %a&2<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>X6@zpbrt<cz\Ba\>|>FRmessage&Zone bright; lit from below %a&3<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>X6@zpbrt<cz\Ba\>|>FRmessage&Zone bright bottom, dark top %a&4<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>@zpbrt<cz\Ba\>|>X6FRmessage&Zone bright top, dark bottom %a&5<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>@zpbrt<cz\Ba\>|>X6FRmessage&Zone dark, lit from above %a&6<Ba>@zpt<cz|>@zpbrt<cz\Ba\>|>X6@zpbrt<cz\Ba\>|>FRmessage&Zone dark, lit from below %Sa&7<Ba>@zpt<cz|>c@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66@zpbrt<cz\Ba\>|>X6FRmessage&Zone Roof Glowing %Sa&8<Ba>@zpt<cz|>c@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66@zpbrt<cz\Ba\>|>X6FRmessage&Zone Floor Glowing %sa&9< Ba>@zpt<cz|>c@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66/@zpbrt<cz\Ba\>|ttc>|>|66FRmessage&Zone Glowing in sync %a&0<TBa>@zpt<cz|>c@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66c>@zot<cz\Ba|/@zpbrt<cz\Ba\>|ttc>|>|66FRmessage&Zone Glowing out of sync ` defupperroofbright">\ t>\x|\ t>\y|\>-xtx0mu|$xoTyty0mu|*yo d upperpresets 0a&g findnearzone<cz\x\ycpoutlinecpTptnumcp<Ba>@zpt<cz|>@zot<cz\Ba|cpT c@zpbrt<cz\Ba\>|Tpdtatc6|X6Tpantc6|X6TpbrcX6Fpbrpbr>pbrpbrX6pbrpbr> < brightslidemBTm>` m>zosho<cz\>zogetx\yp 0p> <czpzosho<cz\>  ~m> findnearzone<cz\x\ycpoutlinecpTptnumcp<Ba>@zpt<cz|>@zot<cz\Ba|cp: @zpbrt<cz\Ba\>|tpdta6|tpan6|tpbrX6|F` defupperfloorbright">\ t>\x|\ t>\y|\>-xtx0mu|$xoTyty0mu|*yo d upperpresets 0a&g findnearzone<cz\x\ycpoutlinecpTptnumcp<Ba>@zpt<cz|>@zot<cz\Ba|cpT c@zpbrt<cz\Ba\>|Tpdtatc6|X6Tpantc6|X6TpbrcX6Fpbrpbr>pbrpbrX6pbrpbr> < brightslidemBTm>` m>zosho<cz\>zogetx\yp 0p> <czpzosho<cz\>  ~m> findnearzone<cz\x\ycpoutlinecpTptnumcp<Ba>@zpt<cz|>@zot<cz\Ba|cp: @zpbrt<cz\Ba\>|tpdta6|tpan6|tpbrX6|F` deflowerroofbright">\ t>\x|\ t>\y|\>-xtx0mu|$xoTyty0mu|*yo Tpresets 0a&g findnearzone<cz\x\ycpoutlinecpTptnumcp<Ba>@zpt<cz|>@zot<cz\Ba|cpT c@zpbrt<cz\Ba\>|Tpdtatc6|X6Tpantc6|X6TpbrcX6Fpbrpbr>pbrpbrX6pbrpbr> < brightslidemBTm>` m>zosho<cz\>zogetx\yp 0p> <czpzosho<cz\>  ~m> findnearzone<cz\x\ycpoutlinecpTptnumcp<Ba>@zpt<cz|>@zot<cz\Ba|cp: @zpbrt<cz\Ba\>|tpdta6|tpan6|tpbrX6|F` deflowerfloorbright">\ t>\x|\ t>\y|\>-xtx0mu|$xoTyty0mu|*yo Tpresets 0a&g findnearzone<cz\x\ycpoutlinecpTptnumcp<Ba>@zpt<cz|>@zot<cz\Ba|cpT c@zpbrt<cz\Ba\>|Tpdtatc6|X6Tpantc6|X6TpbrcX6Fpbrpbr>pbrpbrX6pbrpbr> < brightslidemBTm>` m>zosho<cz\>zogetx\yp 0p> <czpzosho<cz\>  ~m> findnearzone<cz\x\ycpoutlinecpTptnumcp<Ba>@zpt<cz|>@zot<cz\Ba|cp: @zpbrt<cz\Ba\>|tpdta6|tpan6|tpbrX6|F`Rv6<zogetx\y  p>nz>><a>nz&9@zpta|>> b>P x1K@pxt?@zota\b|| $x2K@pxt?@zota\b>|| *y1E@pyt?@zota\b|| 0y2E@pyt?@zota\b>|| 0y20y2*y1T$x2$x2x1 x1xx1T*y1y*y1 6dtx10y2|t*y1$x2| 6d>> Xb\>\b9@zpta| paTanz> 3Fa 7  pR ptmovexxXscTyyXsc">\ t>\x|\ t>\y|\>mBTm>`-xtx0mu|$xoTyty0mu|*yoAzm>(findnearx\yTcpToutlinecpTptnumcpcp>`4`m>@pxtcp|xT@pytcp|yTBredraw`Rv ptnumps | n>#xtxp>\>Tv&Point: dpd& d nsR  defwall">\ t>\x|\ t>\y|\>Ea&,X<cz>zosho<cz\>T<cz<cz>Tzosho<cz\> Ja&.X<cz6nz>zosho<cz\>T<cz<cz>Tzosho<cz\> -xtx0mu|$xoTyty0mu|*yo4a&dX<cz>X&@zdt<cz|>X@zlit<cz|> t><Ba>@zpt<cz|>, @wdt<cz\Ba|>L@wlit<cz\Ba|> t>TBa>dF jtf>(@usedt<cz|>T@zpt<cz|>TBredraw a&b" findnearzone<cz\x\yTp<Ba>@zpt<cz|>BN@zot<cz\Ba|pXt@wtt<cz\Ba|>L@wtt<cz\Ba|>|d @wtt<cz\Ba|>@wtt<cz\Ba|TJjoin@zot<cz\Ba|\@zot<cz\Ba>|\> @wtt<cz\Ba|F a&v" findnearzone<cz\x\yTp<Ba>@zpt<cz|>BN@zot<cz\Ba|pXt@wtt<cz\Ba|>L@wtt<cz\Ba|>|d @wtt<cz\Ba|>@wtt<cz\Ba|TJjoin@zot<cz\Ba|\@zot<cz\Ba>|\> @wtt<cz\Ba|FmBTm>` m>Tzosho<cz\>zogetx\yp 0p> <czpzosho<cz\> > " findnearzone<cz\x\yTp<jBa>@zpt<cz|>.@wtt<cz\Ba|>@zot<cz\Ba|pd @wtt<cz\Ba|>@wtt<cz\Ba|TJjoin@zot<cz\Ba|\@zot<cz\Ba>|\> @wtt<cz\Ba|F 9`R  defzone">\ t>\x|\ t>\y|\>mBTm>`2@zpt<cz|>VnewzoneT`)xx0mu$xoTyy0mu*yo np>`(findnearx\yTcp(H@zpt<cz|>Xcp@zot<cz\>|`@zpt<cz|> t><Ba>@zpt<cz|>Fcp@zot<cz\Ba| t>F  t>`outlinecp@zot<cz\@zpt<cz||cp;f@zot<cz\@zpt<cz|>|Tt@zot<cz\@zpt<cz||@wtt<cz\@zpt<cz|>|><q>6nz>\@usedtq|<8b>@zptq|>1 @zotq\b|tX@zotq\b>|f @wtt<cz\@zpt<cz|>|> @wttq\b|> q6nz>Tb>d FFM@zpt<cz|>Jjoin@zot<cz\@zpt<cz|>|\@zot<cz\@zpt<cz||\>(@zot<cz\>|@zot<cz\@zpt<cz||*BredrawTzosho<cz\>T@usedt<cz|> 2<cz6nz X6nz\>  initdefzone,X@zpt<cz|\>`Rv `zoshoz\cz>< 9@zptz|>< x>Ty>3hi1 @hilitethilite\>|Thi2 @hilitethilite\>|<v$a>9@zptz|>A x xK@pxt?@zotz\$a||TyyE@pyt?@zotz\$a|| *cc>*cc3@wttz\$a|c%B3@wttz\$a|>*ccc>'F3@wttz\$a|hi1*ccc>'F3@wttz\$a|hi2*ccc>"c>*cc>1Jjoin?@zotz\$a|\?@zotz\$a>|\*ccFM@zdtz|> P>\> x x9@zptz|Tyy9@zptz|T xt xxo|muTytyyo|muT0m&DRt@zdtz|>@|TJ x>\y>\0m%R%@zlitz|> P>\> x x9@zptz|Tyy9@zptz|T xt xxo|muTytyyo|muT0m&LRt%@zlitz|>@|TJ x>\y>\0m&zezone P>\>y x x9@zptz|Tyy9@zptz|T xt xxo|muTytyyo|muT0m&ENDTJ x> \y>\0m<$a>>@swwlt$a\>|z 6b@swwlt$a\>|7 <lxK@pxt?@zotz\6b||TBlyE@pyt?@zotz\6b||? HrxK@pxt?@zotz\6b>||TNryE@pyt?@zotz\6b>|| Tmxt<lxHrx|> ZmytBlyNry|> TmxtTmxxo|mu ZmytZmyyo|mu P>\>, 0m&Stt$a|& |TJTmx>\Zmy\0m hilite>5 Jjoin?@zotz\6b|\?@zotz\6b>|\c> FRJOIN[ZO(Z,ZP(Z)),ZO(Z,0),C] Rv<zofillz\c\ f n>z>< 9@zptz|><D f5x1K@pxt?@zotz\>||Ty1E@pyt?@zotz\>||5x2K@pxt?@zotz\>||T$y2E@pyt?@zotz\>||-x1tx1xo|muTy1ty1yo|mu-x2tx2xo|muT$y2t$y2yo|mu<z*a>9@zptz|>?0x3K@pxt?@zotz\*a>||T6y3E@pyt?@zotz\*a>||-0x3t0x3xo|muT6y3t6y3yo|mu x1\y1x2\$y20x3\6y3x20x3T$y26y3Fzoshoz\cRv HH connecteda\b\ pN`a pLb pc1> Tc2>Tc3> 4c1>Tc2>Tc3>redcpt>>@ $n@t> |7*q!t$na>db|T0w!t$nb>da| *qL0w *q>X0w>Xredcptf>@ 8 joincoords@cptxta|\@cptyta|\@cptxtb|\@cptytb|\c1 *q>X0w>Xredcptf>@ 8 joincoords@cptxta|\@cptyta|\@cptxtb|\@cptytb|\c2 *q>X0w>Xredcptf> @ 8 joincoords@cptxta|\@cptyta|\@cptxtb|\@cptytb|\c3 6xd@cptxtb|@cptxta| <yd@cptytb|@cptyta| Bldht6xd><yd>| 6xdt6xd>|Bld <ydt<yd>|Bld  n 8 joincoords@cptxtb|6xd\@cptytb|<yd\@cptxtb|6xd><yd>\@cptytb|<yd>6xd>\c3n 8 joincoords@cptxtb|6xd\@cptytb|<yd\@cptxtb|6xd><yd>\@cptytb|<yd>6xd>\c3n*q>X0w> 6xd@cptxtb|@cptxta| <yd@cptytb|@cptyta| Bldht6xd><yd>| 6xdt6xd>|Bld <ydt<yd>|Bld@ 8 joincoords@cptxta|\@cptyta|\@cptxtb|\@cptytb|\c3 n 8 joincoords@cptxta|6xd\@cptyta|<yd\@cptxta|6xd><yd>\@cptyta|<yd>6xd>\c3n 8 joincoords@cptxta|6xd\@cptyta|<yd\@cptxta|6xd><yd>\@cptyta|<yd>6xd>\c3 320R  newzone)xx0mu$xoTyy0mu*yo np>`(findnearx\yTcpoutlinecp@zot<cz\>|cp@zpt<cz|>`Rv@*joinsp\ep\ c n>D c9x1tK@pxtsp|xo|muTy1tE@pytsp|yo|mu9x2tK@pxtep|xo|muT$y2tE@pytep|yo|mu y1$y2x1x1>Tx2x2>x1\x2Ty1\$y2 Vx2x1y1y1>T$y2$y2>N x1\y1x2\$y2R)v joincoordsx1\y1\ x2\y2\c n>Dcx1tx1xo|mu x2t x2xo|muy1ty1yo|muy2ty2yo|mu Jy1y2x1\ x2Ty1\y2N x1\y1 x2\y2Rv^$findnearx\y  md> p>np>><a>np2dtxK@pxta||>tyE@pyta||>!:d md mddTpaF 22 p v0 findnearzonez\x\ y md> p>np>>< b>9@zptz|>$a?@zotz\b|2*dtxK@pxt$a||>t yE@pyt$a||>!:*dmdmd*dTp$aF 22 pRvh$findobjx\y  md> p>noz>><a>no>4dtx@obxta||>ty @obzta||>!:d md mddTpaF 22 pR ptaddxxXscTyyXsc">\ t>\x|\ t>\y|\>mBm>` X np\> cp np=xx0muTyy0muTxx$xoTyy*yo!@pxt np|xT@pyt np|yptshowx\y\>ptnumcpoutlinecp`Rv,outlineptpt><!xK@pxtpt|T yE@pytpt|-xtxxo|muT yt yyo|mu*>\ t>\x>|\ t>\ y>|\>Rv0highcontptpt><#x@cptxtpt|T y@cptytpt|-xtxxo|muT yt yyo|mu*>\ t>\x>|\ t>\ y>|\>R$v highcoordsx\y\ n\c-xtxxo|muTytyyo|mu, n\ t>\x>|\ t>\y>|\cRvZptshowx\y\ c  cf> n>0txxo|mu>\tyyo|mu>\>-xtxxo|muTytyyo|muD>TJx>\y>\&P1Rvlcptputx\y\ c n>xtxxo|muytyyo|muD c&x>\y>x>\y>tx\y>x\y>tx>\yx>\yRv ptclrx\y n>xtxxo|mu>ytyyo|mu>#D>Tx\yx>\y>R movept np>`=x0mu0muTy0mu0muTxx$xoTyy*yoptclr@pxt np|\@pyt np|!@pxt np|xT@pyt np|yptshowx\y\>`R v grids | n> >D><a>>0V>muN >\a>@\aN a\>a\>F nsRv"shineboxop\c% xtop>|ebxTyop>  x>s |9 n>TDcT x> \y> x> >\y>> nsRvzoutp\c# xtp> |>(txp>>ytp> |>>s |) n>TDcT x\y x>'\y> nsAmBsAmBk hAsm H0:|mg^|mgK z$z&z>:SG<:SFG? mt"3 2"H:$m\&3$$2$A@>:(z(*3D(2D@AÚg nP`PQ-JgJf#|` Jg!|Q>Qz z0:"H2<$m"RAQA0LNuK( z$z&z><<RF? m"3 2"H:$m\&3$$2$A@>:(z(*3D(2D@AÚg nP`PQ-JgJf!|` Jg#|F::fSEEo>RG::VEEof z@0:D@"H2<$m"RAQA>0LNu z$z &z >:? "3*r"z>:$&3$$2$MA(z<:(*3D(2DMAÚ^^JfA0>`H(z<:(*3D(2DMAÚ]]JfA0>`Q>QnA0LNu(zd"z$zT&zT>:|Kpr?& gb<:` zT$.24,s4&3$$2$GNBU(*3D(2DGNÚg nP`PQJg J-f`J-gRASAVA>QA LNu<< z"z$z(zG>:4+0@6+2+A(*Jg @AÚ Q zpX"zn$zn(z>:z4+0+@6+ 2+A(*Jg @AÚ Q z,PH"z*$z*(z<>:64+ 0+@6+2+ A(*Jg @AÚ Q z "z$z(z>:40+ @6+2+A(*Jg @AÚ Q>: z"z$z0:|gXnzJg> _"(_$(_&( _zgzJg zgz` Jgzgz$QLNuzJg6 _"(_$(_zgzJg zgz` Jgzgz$QLNuzJg6 _"( _$(_zgzJg zgz` Jgzgz$QLNuAmSpp  8`JU F0FLQ@eDDB$>)|ff|ff|D((D矁````~``~````~``~ @fU33ss77w `  AmIc @?HHxIH{X wP \   " m Iq}zf{YRB)s΀?=x0<$<@d|{dL$wd  }{攀G-s9-xaBDC_{C_wPYXyy{uGtOqUπU};{(&&ms΀)?thxd(TNTz{T wR TNVL}VLF{WD6F1s>F@ЀqQOz_Ox_OhYOh_k_+ zqCPߠ@  <^  q  oOqO}NMOC€`@@ qQ__|Y_ _//zq   }~C @   x q  qC€? oo o  |> ?<8à  0 |>>|  A@@ |>?'  |> @  ```````` .@<@@C`` ;# 0P`@`@``````` @@ `` @ .<C ;# 00@  @@:H@Z@@@@@@@@$@@$aalaOadcc  @?@; @@<x^>g=\? ?aJ4 @ 5@ '/04MO<+?*۰쀉+!G z Ps@ 0@ B@:^ @ @ O@$@ $$@ $$?al/I_YOP?O''ØoᜆgU^W>x2Fݱf0&=Ǹ7P7倌O5@Oo@ OFjnA f7CnDP?}PPvR P@Yd@@PepsS.n@ f@D@{vnc f`@ҏ߿>6?͔^LL× %'$'%o;;~  ++jFCN9C e\ ` ` ``o1H1@lP@@P??c}A;ݱ0'%8M@P%@xɤn _k_c2G@U@>@6x~7  @<@@0Uq@Xk c G `{vnc f`8 (@p4d!?Ggn#o9;A- ho@+\@g@ge```@ov`@@ `@@ cccckko9!"NIggng\"@!f76R@?P q.<{{o_%@_$?_Iybm˿ ?5@__ߐ _{?{z P `????omrvk\ P. @ @ p%cecB@mBJG&^bIuMg)({<)o#ni{ձLR`@%PbP+07v}0}T.&ot%IkȔu)u]+EJp<~ZltAF 2<>b0Qh^*=%5AN] a??r& GD[fou](ԞH1ty0YC?_?._Y['}Aj0M>OCPñFthU_k7 d'p_S6i"c4ehK9Iφgw?˅ϓBQپ4>EԶFۇQE<؃AڞCqo̸9Ӷ}n~Ҩ>{,vٳV{M?¡~/1Is{gcwGX?xiUyp{BZ 3-JPhc'& 7߸la{g🵃W̾Z8t<Lb /Ă?yHEC ñ/OQG$E6tD2A&l[;uVnbǸ+PϗV v񆪙 $/ E_8 ~uyH2Qmޜ|`UQ(6.rZn2GswLGIŝ6a3AG9#yK5Jڏ;# b8or7ub@#9}gOn [2}>G 1@؀ d90?pn3>;>p>~~p(}@ f} Fx`|0@}0 xe'`>=0?&83H '`D`q O@~yL3X<p"s3 & @ ;xı@4C8S6"oǾx1?FslJdC_ kXG}7L96p_=AO@A A l2@IF>{@ϟ : |Jo<@78q@@0pZ Drd>X`#0p$pG0b0Lf`bfh0WF9/2@ ÌX ZMlBh`@@D@?d͂2xg#6xX'`e|'_'{co9{ׂo>ߙO?oo~XO<lX?m7 >.|>t}sHww{s?xGN|>=??|??tc<3=} |v;cs/?D0`d>zu:>v~?>v~O_}O?BG?gsf'or 8OXy󙟟s?=\???H@(8@`Jx8:@@E7h&@)'O`G{lcgvWsf}$*dS7Iv[{ '|nN,~bbFv0~=Xhp}sY]B`G@G}`z3pogPq -pq>ۗ{m`g0|}'2 _{`nCو9]EB%'Dnceԙ3ksylJb^o~lbv%勶bwu?d|O@ f ?v8{qVpQ{- n``fb`1~=eC}sذ]HKG}1`po'}q Ihqmu3lZ}'nH ]]<`!J]}rH`leW{aI*EP=1~7n@v`2AwuT2|l܌ fG{,&G"[CJO1@n8b`~=3=c0}s(]:](GE;5 D~Gg! W{{n̬%})'_`s!#t@ ǭwl ƥa)es:WaPx!&At$w;FoH2ZuJ]OzTFfn ^a}`[c+ğӅ3HP23/Oֲ3JA`h SgISc#VC.@` 9h' ZTVE֎'dAsgQE NaZPkdMI)JE"f%2CX>N1D ̘H6yDvo"rZuF ]O{Fݡ^a~s%;+*l?Ӆ hP: L-ArS@y3-@!Lvã&j7To\  P9v3$ޓ`|ԓ.:.P?B(jfBYF#&򂫂eGB Ӯh6$͙b|a 6gO𗡂ߝON D d1YvJ*2]]ľ%A# + 9ۂˑ'mϋs !\A`1:sh{(jv"灯B幛oF)ZF !G8nPrˀ6-!OHމ~&+/]r53*;\ /ᵶTW?;FA썝@K[+rgȯOy;ɐY\3wcP !`͔: h(j7GwByFBP|܁Q>yprV_>&㣟w|_X%Ԁl+ZPu7{Cr)ia^L|oQ@=?֘lT|/ }dF0=+z 1?I~/`@Pa@t aSi DxJ\ue03% "mNt@z!p _Т>~X{ ?&>D`h(@GVrHGc_)D zBP(@~ }jN@D:8$\B?.I7@6G%u r]zLi/ <|y;NRKJ?(>R =lQ% &wЀOy w\\ =?????x??????x??`????~@`0@@E(@Q@9)0W9  p. bB(9@ ) 9N@@p!@0@  1e@В@9 N)ABJ9pN@@@ @ h09) 9", @ 9)90  @@@ A @@@0@9!CN)H J9 XNH@t@02(@=@@ @b9Ƞ )@90 pP!` 90R) ,9D  QNp @@@b ({QEF41Y%XZ@%H'1ŪQUYj欣Q(RxieXī{x౩TKOE<&CAuPVjBƚ>͙m)44Yh"Jޅ~oZb,J*;Kҥ3$Tgf=b)ziE/5a9#0T4%Е:֢gSMFdeH ]-9Nr*}6a{+rz;J%aV#>eIԅVm ?B``3% %SCJYɤ!BSq;]ŽIyQ+zΙFUk4  34}M&9woA)?5=Ia "ҙLmw҄:332(HhIE賳 IؙZΙ1٩/H-Su"=X\320҈"VgpԊ%0aZ/c)FPAU1qӣe .i _z #MR肘wx1֒lCXB-2D,֦Iˍt$丌)RsI(͞F5sy trJrl`Yו*6+>O'=F:Oakp#PǣhB$Jb )Tg*7*6^nMtUaɃ8LȋԀҐ6\(;a hh7Ÿ*!P2&c GO2/ ڍ^vS?h ȵG 1 Z+]n8sf0 d7ZL3ЂȊIOHKas6%d"4O9ffbvo X!3bh $Ĉ1neZkf dfeHD`pO8c # '#..] n< _J`pFA`9g#;f sGn@N_~7@ F  Q> )t=?c?=c;ArfKaw3a70|GH0!rgx "o,?`7938qq1 O @9͐`.~o}A<` F1v<c/z=>lpO6ρ p} @ U w醀#0!qa1m99Ǜq \   =@9@ 0   @@`@@~= 9$0 0`00"9_O׻}ߙ?鞏ٟٿ=~@%|7Y,!qÎy.=~'.5W?v̴2Aa0@q2Hpǁ12sb%0@555" ׄ;%0ȼ׆}n}\Bî@/|?|^}[r}[n=?_govI7piR4O_{_"G}2G~_2G||[2Fs2G{32Fz2{N&qS~_=_}>|_}[s}[nz{n.}>] 0T  " (8h4 ( DŽ5"9N0p8> (JʈT* 6SنC6Ȗ # 㾝ǎvO @ " (8h4 ( DŽ5"9N0p8> (JʈT* 6SنC6Ȗ # 㾝ǎvO @ ( `K&*5Ǭ=`0*pʠ*qbWǎ#W  ~!&u890 4>` 5 81 8>  JU0F* 6_ه"C6ȗ #5㾝O ! ( dKՀ *5Ǭ='0*cʠ&*ч7؆b3C.1㟿O:t)Ol7Y,qW~p=9q,@3W<@ǂ?ǀ>5p9M|79)Ol7Y,qW~p=9q,@3W<@ǂ?ǀ>5p9M|79<)@qD|1c q<)@@,e@2eHe B aŊfc8c4H~WpBM@ |7<) qD|1b  q<)@@,d2,dHłeH<1c<``03@ 8@Pk( z P$( @AP%(F a10Iq! 8IHq!$8 1Ì`0`@ 8@Pk( z P$( @AP%(F a10Iq! 8IHq!$8 1Ì`0`@ ;NT/*b <O p98`L01! q!8A p8#Va0L`0 P ~ﻂ( ( B d(%F 0I 8II$8 '1Ì042Opf rkNr*bzzO z8 zL0H~ HF~81Î~OÌ~#:z1_?]?!}z>sy yDz9ϴlycŶsy yDz9ϴlycŶy zyDz9~ϴ|yb~Ŷme4:i4ni:ju56[l6W |[fkzM5>tM7}NRmM>͕ξ͟ĉ>j?~~A9hQ)C)?)p)/ //졟Ď_#¯_ ??b l d.Ec7 "뢟???@1g@fQg # OǴ(Ű*E P M1 !49l 0YL 0L4\<!0 0M?0 1 0( Q0*pXO[һo??@?M_]//_? 10  @??; @6??? ? ?߀?P?# :Gac??̲?? %!##'????@3y|[fzC ֘ $ W" 2 H8J X H XM( =͈Xo@0p !DOnL9˦}쯤hґ%)I1B )HDC)X3)0 " ġ Hp#xp@  ce o. !@, `xh@Gl7X`+j!p05n M%€  /V+2 ҋ JI# oH gEC`Qf@ # ( Q43y|[fzC ֘ $ W" 2 H8J X H H 2 X*T(ԩ$Dp~ަp0N0Ā  000@@0 0΄J0=67h߮ $P$Q( AJQHAS P@QAQ@0D9A6R PD9B PQ!Ú *ADB "jBT P   |[fk5zYM5>M7NBM:֣͕κƵ ͣ?_:n)r zz2ƩqA=0hБQ)A0B )@,?C)P p)00 " ̡p#p@  b#h !.& !҉$;ph# @G+c@`+A)p .M(%€) ' /'"++/ Ћ JA#1g@ f4EC`Qg #  Q4 |[fk5zYM5>M7NBM:֣͕κƵ ͣƿN>me4:i4ni:ju56[l6W!0 0M? 0 1 0(  0* p M X m  n l qO!nZҼ` @SM_]߆0A<߁$,=|r \ J@@d!tt J@ D   k!0 0M? 0 1 0(  0* p M1 !49l 0YL 0L4\<@ ( @=(AP?  :@ac  $ @ ! @ @ @[a[B 0" z"y [ cS6$ 6ʹC%˒8 I|PL?|?p,9ސR6< ._0bv$3b*34pE<0pm|~LY,^WLe_-eӬC) 0+j>P>T)g4 s0w4<&6~F6XL08nP>R!~;R%~"y^"%,/w<  (|<4C#6f?ˣG/‹/fT/AwY-L>]%|&^|_wE?Xe+& >i=8=$xJzTB`p8\4=l,|纛MpAau= 8ٕwrU/ ׻+SAAa[B {߮n[drk_[trY_{}yk}i_ktm_{Em{)sɾ`WnW Wn^QU~W#aZco{~Kg{k5>jz:zwv;sX*v;ch;{nu[c0[O;y"GS>{bS6;"Sc0"z!m2:zPm3*z` mq*p$wqPbsp_spZP@s_w#ZPc2ZP:ZO?+: @@OPzPjr>+܏tLG4r2WG'߀g8DNm0vXV"o菾pB{1^O{|ſO[eN_ƚbIc]Ϧdjo=HMc{?@G@a[B {߮n{o{}{}kk{{sww8?wpw >>+??o?_g_o}gpw?w}?}};}ƾwww̷pZ???s?pA8++k?+ԏ%t5@$ e0Nm0 6X}~~~?}w~R7{?`@4C[T QA@  #@@A@155!!1   4 <00Hp@AA`EAAGA GPAF2A9A@hAHA H(*`@ DD!.D T@@+p{ڋ?;dɧMp@O !a!a@!@! !@ A@@ H@!t? @@@    $?X$ P@ @@ @ @  5@$ @@oC5V~D[}=| H=*^}nf_|8?8W8xx(8,8?g~w}{?&??ß(oP0/!o? ???o?GÍ97_ d@pvxC?>|\L<D?&D?bD?bDD|DDMDxDDl,?%f?__"""""""aO`@ G@ @?P? #? "???!aa|Ax<DF?CCAAAAAAAAA~A?a?c??~>? >~?>???????@ p?P@|0D 0l`$0UIȐ>$D  p@ 4 HH  FX(B# @&0$)tP @@DC ?$pu+r+88 @I ÄRH 8? |M HHτgIۙC狐%A A$$ $4$ $Ϩ wdh 08 ??aaa0CHCwp6 !B uB[EOA_썎X?EY?[O?Yo 1 E0L0i_79ǹacp80g E @-:-x~zh-x@zp-8@zr-C9-C\n}07=@[շm6} ^? !` #h# )t!F+XdDi+ZdDf+Zel@+hc|@kIxnpd I 0``a00!|D%Dw_پOoFB/DD~̀F>EF|?F\?B\:AOiC A{@1_pwx(C7 p1A }t rx~ I>ǿLL NrNy2OxO8O_^ ?ͯ糀'糏 糟 o糙 CCC&$$<f``888DD"?2?     ?  ǘH > ` G a_______ooo!@|>|>{{ɀ?1?1|>|>|>|>{{{{ɓɓɓ1111|>|>|>|>{{{{ɓɓɓ1111|>|>{{ɀɀ1?1?|>|>{{ɀɀ1?1?|>|>|>|>{{{{ɓɓɓ1111|>|>|>|>{{{{ɓɓɓ1111|>|>{{ɀ?1?1|>|>{{ɀ?1?1|>|>|>|>{{{{ɓɓɓ1111|>|>|>|>{{{{ɓɓɓ1111|>|>{{ɀɀ1?1?|>|>{{ɀɀ1?1?|>|>|>|>{{{{ɓɓɓ1111|>|>|>|>{{{{ɓɓɓ1111|>|>{{ɀ?1?1ыы 0 0 0 0 pppp????{{{{88>|?>|?ыы 0 0 0 0 pppp????{{{{88?>|?>|ыы 0 0 0 0 pppp????{{{{88>|?>|?ыы 0 0 0 0 pppp????{{{{88?>|?>|8888>|>|>|>|8888>|>|>|>|8888>|>|>|>|8888>|>|>|>| 0 0pp 0 0pp 0 0pp 0 0pp@75,ϰ?4]N?_H|O NM$C G 4`4 <) ~U~c ~g!g+xFey'ANe߃*GŠ7gcGٰG7`g=j "0 dO2O0O~@0g`'eϔ/[5?ka՜k(ay4;{a&+{}y#p 1<.y7}Y#cNP@%۱Xo:%8e2/ /wP1 esgܻ?oր <cq C9H|~qkw{aa wTD10zϝ̱|?B|R.[y8sz}2\A ^|t h L@PoJ O+03̿&,=`??8|?=8? 8?8?88y/>y?Gԟ???4??㏽p d$@f 2_>L"~@.? ')3!s~:xG#O$ >G9=>  QOxDO|$_;_W )!G:_>>>?>>~~?8?s?0???>????AC?`0~???0>0x???B.h ?(?{`VS cE'/]gOmsɈ2s B(X$&M,*UzI&prI "(` 5C/0`׀Jm蒣o0a r`gF@`QO0'Z! L\sJ%qjHL IN] ]Fx -*{-M52NPy GG9X0AB2 = /d$ O2q#px U47U`5^HA\a=wr)p4\T 1ms6>n+!? `6 uPqAQ,RnYBMԆAFM v j>$P@9 j?@` 0 @ @80@@9@Ag @ `0=  2@     - @RR x@. / @ 2` 2  @`0c1@P`|@ 0` @!`$`! !0"0<0| ``L@8 @N!ćb!xK6!-I3L}ݪL[cWj-M>XGWgeA{oÇ yr. _v(^o7=WO&.y+1RC͟T*2a@u;dv&༲^XuMʵ.~΢:r^mhs4T%qh;fNMB5ƿXm%o'4$xZ*:Ǯg\vdWj`6:S1%lp_L!w>-|xW0Gh[K@ܞgA?5ϭlLrޟDӕ/y%o4Xu?ZUjp-EDw1)1'bCT}N{.p2QRqgqc@6.O"\'|B]X"cU)wT*"3ij=4;KA#RԮ`1( ~(02IaA g~6=08 |6)466lSW'0  `L|o&_B<}vTN?~>yv'ݼ} ``t@8 #Jn08xHca! A`0@d0[0`@0`yo#_} D`a D  dACH010D<0MgX9 x 8`L00n8rp?c0<90?r|? <8ヿG%{9?z?sg0>?~>v'ݼ ``t@8 w8GQ~~>>??#w=?OPxO>z|o<>(ϻ@Lg=g9? x7?xG.`N<par0' 0w lx`D>o!`o>>3q`#||80|@8`@ aa 1 1 #b"CAL1x aǀ@```` ̿33ᙘ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀ3/ǀᙘ3̿3 ````ooop?  nxvl<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6l<0 <6nxv  p?ooo`p????????????????????????????????????????p`??@O?<}s0?G ~ g`0~Cp9~C3|3xCp?|`| |||?xp0z';? 9o Ďpo'1'3 3991<a<~9 ||`< xy181? #>π|eaρ ,,?$ߏ|<4?4~{6;>1 x~"I  ? ?O?{<~{?  ?|>; ~x?3`~~Hv?<g??x??߁#p?}???/?~8;??? 8?>?x><?`0`XP?2@??=?#?8?pp`B?>{ v||8 p !vc@XH( PKE~5 .`;֧F6q/QLuDe0ay >uVf瓿1bh*c)J+ʺ99M()@-Bd8"FH?7Ŵ`o5A2V!9+嬨k.vMLRqG*jM.gj;ߠ2Nꃏ_E,bz%x:]lrpɍq-.mCSk@e49|цsnPq*/| |e&sz/"]d$]I %tbm"IÖ 38:XH8KmΒ8G;$ J~䧴MeBkX(-S dmQ[DQM]J} m{YC7Y,{  >ptp=z toHh\?|oߟ{߯K{o}{rqlW_{7Ss{޹_o޽Qﶗ?}~Iw?߬{Z}kuO3||߿niy&~{{~?v;ޯx}i}߾w>~ޛw׽>￷_}?~ǽ}~o}߿;?}{zصw}lokmk Б659GYMn|RMEttPJ>N,߷'wW{ikN z.[+Ge2w!r X3s jF1ȟ8c}XS7ܮw#h| jՅzGo+7my)~s{"/[t{{`fyQ?:U=g՝i^wyZinVoͼ!`vmn۝IU{DɻΠn)$Ñ+܇(r1.:"&Ч'Z7='ze{]ݨCu_wK]L]Oֿ'8zC~:x>nl^ּΪӐVavzݞoMSGjt]Es|:tq2#3[Y]h_aw܅L}( Keݨk5XȖ,肙 ,9L 87/LuD&1q3Y>uRd0bYg ("rcJ H/-`Zɽ8Im()P6 [$9˂TRL7=/!FѣV!8'ﮡx:VT3Gpg g `47NݛE bEl\x?]lpPPcm@C[k$=|,fP/W &k{%/&D>_e\OIJbm*IÖü8B$>XHU4 8KmqָstJn{`MD>%Fiؘ-Cg-mA[DQwe_} mD{Mw "z AC?<P}ql vo-`h\ 6(ـ?p@`P  4`4PBD8( y `#Ac$1f1 D`h<9 j@ @$0 P @@ (j`c@@@H G@>!8$a,< XAC2@0Pp@G<# 0@v@8< 8>?~{Ao?矃UAϢ?c~|>>>>???G @}86*>*6< @}???>~>?c~|ϢUA矇~{Ao?>8>?<|_G~U_9/΀Ay ???????????? ?/AxA|UA<?A~?A~|??|>>>6"6>>>|?cq?|?A>?A~A|A|U_/Ax/_o_/_o_/_/ U@??>?>?C ?/>>/ ?C?>>???U@"""""""""""""""""""?AA`0  00 0`AA"?""""""""""??@G L}׿qGo&i"?X܏տ;=g7t;1b !@׸ԠuC~|uJYV0:R@W݌>q "COo [QT_ۿ9Ldw~9;SVR±DǕn&^haU>[1%}ݣL?8_ϼz;ف@Pw?Y:8|W3!`F%XGG!Coɽ0A¾;2c/Tn,tMݝۇKoA<ߏKh¢k/~ߎw0M>4opV| ! סz!ǍXd>w]<Ͽpv4g0N(8g핮(Vrߌ^+GO7'Jv$9"N~מWyO~ ҃P\hA|_g 蠁AI -y| j?@Ԑ(VSk*%Au7&>TV3ph%v1+9yXliL߇pxml@I5)H‘K:^--w8}hNq}yy3`>bx>Ca5ο?)@/1xW-h /5;DݹA6Ĥ$"B?%Q~?Ly>0C^|2@TAn?0nG?p3?ڰڠUZg877^'<)qygDGO|e(&o=V/р=;4`:p8C xd'n8&5pk @(`<?X9x 73X,;?(=L?,~vxxj߼ܱ<@B]_j7߻{ߏyo(1w_?79ϵ'xa%+?PLguOy y#?[g8#3]<]0@y^0WQ23.?/?_?>F;?9?#C ?|?w`?Ù~ |܀?g8(0p<xR8 ?I ?߀ Á?9@ǀp##O'?=;G>g<783pxd߃< ü@`'p x?ÿ|????g0߀???π̀~8`88?p?<~8'?~w><@ ';_BfIɀ5W2S@_![3(‚\2/x#vW I9 ZDi0# z,A{X$Ok7AYn+D쟉pz>|0@,I@%S q(0˰ Zo6P$?Rs(br0M` @^HQta: ٟ|:8=wJPaю@7"0\n>@`aQ S@18 FA?$,96@MO#Mt ?~PvaoY==o+>"hd0~3r 7S??4D.0x|y ,uw7rmKH;&B3g@~x{vǚY }!y9~Y;qI;D3oWܛsPe o^܉qOa!H6(0k5<Ha>łi}ntx}>0/ [Qv@,#0:+[qym]? /+# WVCh[Ir-ɃŌ?+}^c.sղ߽.p>O~?4=O(,%7qO?`3~jvys?7.i?3m) ;ጯ;??=%X{@_,u ?9??p?s??σ?0?y<q|>??{?3?Ïq^z>d|1p?C>?1?>_{<^?O?p???p?=0? <<?<@|???? / 000 ?`=00<? p8_A0??@%>GO1l~ 1"<0v8ϗN9??qow9?dsqÔ&a.}<o|N\y~z^Hyη?% Û|''`(;k籹#"1jl10u,r{ a{ty53eC\1.1/i!$5Xx$s~Wzs 3 Ӆ6:Ij _PUwZIr%mO15\hA'$?|}nIgm(=(F8?σ818w?Hɨ~_O%`?ޝ7 l=c?i/?{3;maE->smzyYřm&8+?o?O?O?1!GOp?{9}.t݀Þp֗@M 3'B g& ~3@p :Sfus7=}t{0I~߁õ8h~xX7|7x?㰨 Na`Ehrx?;'=>Fg?gǙMs8*7g  }1}?_OO7_{ t0;~߆3<K7q?{7?F~Ç???gg?g'~`ht?r=?;=`aǙ88?? 03?47`{0?@~Ç??????__?_?` hr?;=?`Ǚ8<8x'08???|?{~ouE4IϭAGƗji'p܏ǑsQŭ2ӏdT'o~ ,`^S>*[lvC ,Fp27@T"Ri<-~Oz`|ef;W~N]](͈,#,dM5/Wo;zLGB0@8 [԰)\dv/bHREUpp=0$.ZL4~E&uA7Fp׀v׽:X%lL܄` Sn&%.+T3,VE$-*MGar<;= 7뱈g`(dUKg'ۭ 9:ػ1,ݮ ""8L`>z4~hϫH- m_kFUzL`vDf{Oy='t>;\&꼑'09,oo41i|r: #~GwۓeiNШeO 1#,G+o& cozƸ8 8xO;A~T飹 o, y~5noOGw{M?͝O=x/h9K nΩbxS;hN^_x6x`<|O 58341t 8svjh?;rf3KCLǷ@?~ 4g?y> Ϛ>4ߞ ?j 󿼅ob|W}qa3~;:7G2HyiF2!PH>~B L1}N`w?/# A!Ę}&{x?e1W!0x~`xE$N7 @ǠH~[@pN40 ?=6}̑h%' gN9c` } _6}ٌ4{;@48Aq! > o8dB6>a@<pf=:/7O4G ?yp ǿ?A?~?ߜg?<}`||` ~>y8y>x>s|Q???<<sw?$$u7?OG͟|sG>ccyG8F< gF0 0888 0< >@ OM767r=ώsfϾGs>.nQ O|i9J\B0HOMF Az@&of}ML0LOhK%|69J˘pX/ɒ+t0>OXa<XXE1ϒ?{!X.?MW~8S ͉  ,l!|7aq^?qO~~0/D>Shg1mw1{ˏ4gg6?]A!?o"9x1`?|@92dL pp x `p 00w070p0 px8 \No87x7XaN???????@<?????????@y9|<]@` y u D :sDž "z  9S)0~ "4B|.|`z 82@`C1.DCp  CJ >OGBG1$:`#:J0.yT@ڌp(? Qpl ms !J `$ GD# +8 s408[8QH?8O,Xs?&(8?j$BBkO%e< '>pK@L! EVࠐ._ x*Ï^c䞾'8ۻ3 zxgAxG|Žg7~m 7{glimƜ7m?ㇼ?\4?{ۃ3qE~~YG~)G{}?zc1ܜ~.9t_=t_>){{pz|ze(_)Ɠ|Y[;4/q'i߿h5h g-?u>,vπ8?{?;Yn?o?G6G ) _)@X9@۷mpn?? ?63(-c|yS`ks1PKpOcAx`As1x13̀ppp```@0x8<8<88x|p@x0   ` 00>>> @0@R _x"5BL|S~E'/L !+ N' Н7:S;+-хJGa&#C?DBF2Ԭ rCT9ӣLI(c$:(< 2C- U<6  :x ef t>J=*nAd"f3 <8(sd$/C03ǜ6AL A]cH 0@/p)x=H5/16}n-P,Hc(ND=痫\]̰ @8 s贻+ M'!#+Hq8)5p7} :D  @P 0%眕[=e5*c6d,31 !o"2$;8 4 4J-C`@V~ɀ7p`51gp?<=@ @|ij63]"7(8ĺ<74'ώ ?6 ' B?M@4?A |s4M|8vs0G8/?07*,.41 + ) w<$<% 3y8?8&':$. 8$${8d0,B# 33  σ3L찹` 0H,2 |%TX:G<, |$i 4\+$8G2c/+Ȱb? Ox0m ;:$q/%1/ `g"e?>NI);| $" $~5$ ; 1?E3G?330Ӄ#p;}D?D3?6όs$ό?Oǃ1P 0N86x?? ;;? 0/< 0 0}( 4h 64(0= .,0=1O?0 >00B?0 <<0~p,|/=46 x4{?$ (0++/(0:'?P<<<88 0 `0x 8|>?000:71 70 22<<<0  4  4 4. 4 @~0  r7?'/00>?>|0 @<@@``@ |>| 008||80888 @~]Y>^sBQSn'w![ķ@eCCRT*`,v%n/U%DNWi䈞9;R ^7Jh?Kۣ{Kr^1OO7AM:͖mc,[7Mn]Kx:)`.=4j(ME,-tMh?u+fTLV|1TH%㙬Vmqij&cdȇYl[`gTq`Ou6Y)">B|;Нt&ؒDA]ӑ;Hb<ױG\R5&Ո.̮d:<.|GZ̤ "{x}sgZϏwTM&oqͥ'˹u( 2`$ik`:~4i8Tg>XLR@εOK!w#Ҿ2vݥƊ5\KҞv; qʾxV$E&2R8KG ݜ"M$h/@r4g k:=3'NOΑCn5 ձ"ox: &۵4%T[ɌYA<2ݘ:3:z'zŴT$H?`aF@ h~'mJ;&oc;c~1б* 嬚L"6ݍA'&yf, Lp^&c/XAIN>G}]oW Ye؆ρj[^óQ,37[ >}wt@:gsiN|1 .J}0zx?ߝ> ??[ËwXws8c}3x~<9O&3@8OG{>fPǙ?w{s?/Ǐ)9qͩ?ߎIvXk.1xg/? {?3?~aLa5"?&ۄy<p@<3u;?$7?ӈ=?a.= ?< 3}9g~ӿ#իO#A` $ a0&X#'a߀>(vNwlW9>|; hniQ 4_1200 0H@4p|`0,  l`$dg@p bF @BACc7,w~C4p6[`{@3y>

8?{$(?csT92L}}$?8?&*>v;ϟ?ssʒ`1f`53eә\Lfׅ33MrfIYY əmoS9u1fqI uIsUsxu<a_uV4}y~m^mg]̘mg[M}gG3afaRAUnjɵYg$IW3,gmfY1䘱L}1&d ̀(sHMr?Ϗ?gHwkG#{{s cӗ_^kի~;pF1?cp_tL U,<@WO>?_?p`p0xx <x~s8?<q<?3xp;D{ D  >`xε/|/N???y?8?^~6_x<GO+K ,p sۀp$p? ???????~?? ~00@8888?<<$!$!@$@$0$$?$~>$@v$$<<88?~ ?0@????#??????`A`p`88@@`0????@ŎC F@LH@> 8 @&@a# 1Əyh+h  NP 0l4<9p4L?8 ^@8 D4V~<#? Dx {@ p$ƀAŸ~~} a"tp 08$$  ( 8 a@ pN`P sP@m``0z}@ .P`n@yhi  '@70B@ D* `c / _?SQ`oh.!pnp?yp{'|P|p pVmr3y ?8A?d;@yXhE}???=?! =@9.'CIACatrn/x O~~D~}}}!~=xto u?aI ?S+ /|; p_nw%?>?x_ ~Cq?\&?~?????o?ow|=??;??q{sg~xˇ߃hÏ>Ͽ~?O>oï??} _8?.??|?~64F?P ?|>?[/} \?>?x_ ~Cq??8?.??L>?~??_??>o~?~~6g|}=3?;74F1qP 3g|>2~xˆohÉ>Ͽ~?O>oïr[f?vueddUTSCSDCB32BB   AmBkLhAsm H0:|mg^|mgK z$z&z>:SG<:SFG? mt"3 2"H:$m\&3$$2$A@>:(z(*3D(2D@AÚg nP`PQ-JgJf#|` Jg!|Q>Qz z0:"H2<$m"RAQA0LNuK( z$z&z><<RF? m"3 2"H:$m\&3$$2$A@>:(z(*3D(2D@AÚg nP`PQ-JgJf!|` Jg#|F::fSEEo>RG::VEEof z@0:D@"H2<$m"RAQA>0LNu z$z &z >:? "3*r"z>:$&3$$2$MA(z<:(*3D(2DMAÚ^^JfA0>`H(z<:(*3D(2DMAÚ]]JfA0>`Q>QnA0LNu(zd"z$zT&zT>:|Kpr?& gb<:` zT$.24,s4&3$$2$GNBU(*3D(2DGNÚg nP`PQJg J-f`J-gRASAVA>QA LNu<< z"z$z(zG>:4+0@6+2+A(*Jg @AÚ Q zpX"zn$zn(z>:z4+0+@6+ 2+A(*Jg @AÚ Q z,PH"z*$z*(z<>:64+ 0+@6+2+ A(*Jg @AÚ Q z "z$z(z>:40+ @6+2+A(*Jg @AÚ Q>: z"z$z0:|gXnzJg> _"(_$(_&( _zgzJg zgz` Jgzgz$QLNuzJg6 _"(_$(_zgzJg zgz` Jgzgz$QLNuzJg6 _"( _$(_zgzJg zgz` Jgzgz$QLNu