eqh+̈ϝTnM$DU8H<^ rMܛ ۃM&`k;jH 4@\EbRC6Hܽم!7GMe@+ô}~R m-It5ӫ=1[)ĥT gPV6j__eLc 7♦כO՛4R[.aʹy[ yT}yqP-II.nπ'8]a\ TX = Iwj)r^W3la+bk.t`$|f8YQN`c?䗿|A sOQꯕHR4{^#^h'.gKˉ;YLb#sVQ'&'EOpn,K7G0"#md3jQ͗7EG:*caf!H|H? noD~y'Q"W!*v ȱN#\yT9<ѬAضrbA}s$fA $I@~AYދ ."t@;mm^bGkm*2;uGX˺Wu9% T|lַMՕqUŀ7('U zR]&a\ #T Hkf$jxtIj1XKtРԛ;R^ʛ8:@FI!I`h,Q2iPpJoh^G:|` d_d+p%uYUr~#+v,t J#<jw~epVH#P.7v(0ˈBf(Id+2  "Zs0pӮ[fۧmK=b`ڥ#yx[XYiª Bx𸌹w)laa}G^S~%Q [9k=\ઋ qOPYI@D/PE=ܽ}jmu|XHXO2ŚRSCK?}d Y_WC&"AamPq4{ (6Jަu`>9X!/t/$O-3=MuG8YNG,S$Ru Ad)^e'Lkw]N;;^ rmbZ^P z= ˦ `d6Ggע4KWOt~Ã){L.-(JPt14LasgcE;FXM217_6-1^0s?uG6H,/J%YQu 'TozP` o \ P >Ijp°&, 4Ȑ~cl|:V 'z˧P1E=lWnfcbjNxʋ+@blhNŲd1#뵳ba 1]!G=j ?ZzX{@w&WнGzA'-Ǹ;=I;4 FczZ05c9ԉ$R𒜿S?SJn] )4b|gДD٩19PF$CO{H޵3>ã4vQd1{iW/4$xG)3'iIM ᥄}4vGahLo(2O)q)rRT;ND̀'ToPZ#mJ %Z 4kɕ/A;Nc7fxr%] k?_yF2-ڣuKԑ_SyB3V,@QB4StQc k!dxD "WGp:|22ǼB-F.=(#ϯܒOxɧ׭.y{ާW}7%Z3"4JvF5;ى: ;~)J r$l.g˳QFMĔTXiY! t̴:5l!ԶR:Be;!H Usg0Bǥ0{) j7ލz>OΣu:tC2I1h`Dw5GLc1E)̂&M YסQEd?uZ3XaV:N^jTB깄tB#YըcJT0ETHM \$5̾q7`L |q55 ]ڂ'3p]+`53Udc X*8a& 4KO;v/]4-!\ܭu:M-raG/IJ .",0pf-o{E S:cJ+ Ȥ-QXE~M3ivGR@Dޅ/楈t-͑u. ep׭4o/q/NHljZkq qzޏR\c4նњ²TխC|gY=gb-;՚PXbKWu6T4o-6#@n`E?Q~_ٯn ʏ6UD0c"+K3] kcsb;1TPhIJ䥵m?>F }j3XE?/PW-^ eLJk\ (MkAΈ"?HP֣w\YSȘjx] 'Ce9ŰF>i!qXߕ31@W'::k/GDJzCC3GJ-S9v5SLT*,]P#e XUJ$;J]3t9t8;h+# &== ]T>c Y)-^v0Eܨu!yv2hRWz&oZjQOitH wk0c闼lBa$8TqfW^"|LHڻ-u:sYv_XzOާ3GJ')fӖ`{k՜΀;V-:dZe\ V =I#Aq $RЊR Ez+}W(S?UlqӮR 1~\5$i C':f`R 72yvzXg@'uóe׮+YYEg__mZF?~RNS漁{351jȻDÂ@bڵ1A)ŚH$KuCqIu(2d֤.Me+ILIjpl󯯮F=_m8!5vAP$` kiNO4[V_)q0t yG\D-FNURLHVk&IW2m9Rm1m%o1D4r"rPjb{1`.Th>b ̀9ԃo:feo LJP =i0x/ZVU?/~!,mNLM`e&υ'/oNisC'TDVqY/ *7@UgdRı99wH seՁA3<6TR_OH4. #.8 π$ӃozR[cmJ yZ mn/kA\Ϲ-⹗www!'羝︎~og{ !hA.(r\nZkmGX?¿ww1LͿsw|iGS悔/|Բ#x=/ ίLOXj<pHLg: ȕ)3YDVXԋYka"f*(D5e"'ԖvY(M(ih M[M޴BT&ZxBWB)*RY<Z!RiA|*H Yg[H}=+f>\v8h8y'>Rx& z:ỄFliGX'BeK*`n b )A-+ &I2aLϜ+˻v2hJ_X?xu>2T^(||'—?+j Z!xsl|;\JNkbpRgG/D}݋+G1ReZ-ϝ̂b0L|:([Jq*Ð\~`;hۅbQlBSA"&$ɒx? TI$S khK"H|K*$1xV0͆z88{ }ؾm( rɏpv|ձ{[]:PvQHbY3|GL+NT1aAB-Ty<`j`Tt\m7=qesu.π&V2RgJabn xX AnA(N.;rj)e):q{D`v*Ί<5BDe&TFD/Yb>Ďx=65{ 5rqQf5TIT_1.Ŏ4DyJ^'Ed PʅA@\$ ӄOm=, UMR6sy ?NEv4z 7EZ0u*ִu [}#"% =mƒ@ r.`ǥ~"!vYwRdb5o|پ:[P-~Y>ʼnHtR2>z]>_ubi%/?~2rem LEVELMOV.cdl *****Alan Mosher Dec. 1999***** rem Moves levels and their descriptors (Single and Range) rem Thanks to Thomas Groff for rlevel2.cdl, one of my study guides rem Thanks to Hans Winkler & Brian Ott for attribch.cdp, my other study guide rem And a huge thanks to Hans Winkler for your help & suggestions in my endeavor. rem There is currently no "undo" functionality, (my next enhancement) so be sure rem to save BEFORE you run this cdl. :START clear clearsel 1 SET detaildisp, 1 ck_regen -1 getmenu "Level Move R1.01--- Alan Mosher Dec. 1999",\ "Single","Range",,,,,,,,,1 on (@key+3) goto EXIT,EXIT,START,EXIT,OLD_LEV,FIRST :OLD_LEV option = 1 getint "Enter level to move",0,old on (@key+3) goto EXIT,START,OLD_LEV,,,,,,,,,,,,,,,, if ((old < 1)||(old > 255)) goto OLD_LEV :NEW_LEV getint "Enter NEW level number",0,new on (@key+3) goto EXIT,OLD_LEV,NEW_LEV,,,,,,,,,,,,,,, if ((new < 1)||(new > 255)) goto NEW_LEV goto MOVE :FIRST getint "Enter FIRST level to move",0,first on (@key+3) goto EXIT,START,FIRST,,,,,,,,,,,,,,,, if ((first < 1)||(first > 255)) goto FIRST :LAST getint "Enter LAST level to move",0,last on (@key+3) goto EXIT,FIRST,LAST,,,,,,,,,,,,,,,, if ((last < 1)||(last > 255)) goto LAST if (last < first) goto LAST :DIRECTION GETMENU "Move Levels UP or DOWN",\ "Move Up", "Move Dn",,,,,,,,,1 on (@key+3) goto EXIT,LAST,DIRECTION,EXIT,UP,DOWN :DOWN GETMENU "Move to Level or by Offset",\ "New Level", "Offset",,,,,,,,,1 on (@key+3) goto EXIT,DIRECTION,DOWN,EXIT,NEW_FIRST,NEG_OFFSET :NEG_OFFSET option = 2 getint "Enter OFFSET",0,offset on (@key+3) goto EXIT,DOWN,NEG_OFFSET,,,,,,,,,,,,,,,, goto NEG_MOVE :NEW_FIRST option = 3 getint "Enter NEW FIRST level number",0,newlevel on (@key+3) goto EXIT,DOWN,NEW_FIRST,,,,,,,,,,,,,,,, if ((newlevel < 1)||(newlevel > 255)) goto NEW_FIRST offset = first - newlevel :NEG_MOVE old = first new = old - offset if (((new < 1)||(new > 255) && (option == 2))) goto NEG_OFFSET if (((new < 1)||(new > 255) && (option == 3))) goto NEW_FIRST if (first > last) goto FIRST goto MOVE :UP GETMENU "Move to Level or by Offset",\ "New Level", "Offset",,,,,,,,,1 on (@key+3) goto EXIT,DIRECTION,UP,EXIT,NEW_LAST,POS_OFFSET :POS_OFFSET option = 4 getint "Enter OFFSET",0,offset on (@key+3) goto EXIT,UP,POS_OFFSET,,,,,,,,,,,,,,,, goto POS_MOVE :NEW_LAST option = 5 getint "Enter NEW LAST level number",0,newlevel on (@key+3) goto EXIT,UP,NEW_LAST,,,,,,,,,,,,,,,, if ((newlevel < 1)||(newlevel > 255)) goto NEW_LAST offset = newlevel - last :POS_MOVE old = last new = old + offset if (((new < 1)||(new > 255) && (option == 4))) goto POS_OFFSET if (((new < 1)||(new > 255) && (option == 5))) goto NEW_LAST if (last < first) goto FIRST goto MOVE :MOVE levels 0,1,255 levels 1,new auto ck_regen -1 getall check if (check > 0) goto INQUIRE :CONTINUE clear check sys_get_name 1, old,$levname levels 0,1,255 levels 1,old auto ck_regen -1 getall total DEFATTR level, SETATTR -1, new sys_put_name 1, new,$levname sys_put_name 1, old,"" if (total < 1) goto LOOP levels 0,old levels 1,new SET level, new :LOOP clearsel 1 clear total, new auto ck_regen -1 on option goto START,OLD_LEV,NEG_LOOP,NEG_LOOP,POS_LOOP,POS_LOOP :NEG_LOOP first = first + 1 goto NEG_MOVE :POS_LOOP last = last - 1 goto POS_MOVE :INQUIRE PAUSE "Entities already exist on level %d", new getmenu "Would you like to Abort, Skip Level, or continue?",\ "Abort","Skip","Continue",,,,,,,,2 on (@key+3) goto START,START,SKIP,SKIP,START,SKIP,CONTINUE :SKIP if (new > old) goto SKIP_UP if (old > new) goto SKIP_DN :SKIP_UP new = new - 1 goto MOVE :SKIP_DN new = new + 1 goto MOVE :EXIT auto ck_regen -1 clear clear exit