X-Git-Url: http://git.shiar.nl/wormy.git/blobdiff_plain/aa70ecd2b18a154a2ae74154c1e32cc0f01273a7..6d64bb2aa29809c9c24fb5ee036766440b62bf4a:/wormedit.pas diff --git a/wormedit.pas b/wormedit.pas index b8f5cfb..d310458 100644 --- a/wormedit.pas +++ b/wormedit.pas @@ -372,7 +372,8 @@ BEGIN IF M2 THEN PPLINE(MXX,MYY,MX,MY,1); MXX:=MX; MYY:=MY; END; {MOUSE} - IF KEYPRESSED THEN BEGIN C:=#0; + C:=#0; + IF KEYPRESSED THEN BEGIN WHILE KEYPRESSED DO C:=READKEY; IF C='1'THEN BEGIN I4:=L[II].SPRSIZE; IF I4=0THEN I4:=B.SPRSIZE; DEC(I4); @@ -617,12 +618,6 @@ FUNCTION COMPSIZE:WORD; BEGIN I:=B.SPRSIZE+1; IF B.LFROM[1]>0THEN FOR II:=B.LFROM[1]TO B.LSINGLE DO INC(I,L[II].SIZE); {SP} - IF B.LMULTI>0THEN FOR II:=B.LSINGLE+1TO B.LSINGLE+B.LMULTI DO INC(I,L[II].SIZE); {MP} - IF B.LFROM[8]>0THEN - FOR II:=B.LSINGLE+B.LMULTI+B.LFROM[8]TO B.LSINGLE+B.LMULTI+B.LTO[8]DO INC(I,L[II].SIZE); {RACE} - IF B.LFROM[9]>0THEN - FOR II:=B.LSINGLE+B.LMULTI+B.LRACE+B.LFROM[9]TO B.LSINGLE+B.LMULTI+B.LRACE+B.LTO[9]DO INC(I,L[II].SIZE); {CTF} - {MAKE SP_END CODE} CASE B.ENDTYPE OF 1:B.ENDDATA:=#$21+CHR(LO(PC+10+I))+CHR(HI(PC+10+I))+#$CD+#$37+#$4A+#$C3+#$AA+#$55+B.ENDSTR+#0; @@ -634,6 +629,12 @@ BEGIN END; {ENDTYPE} INC(I,ORD(B.ENDDATA[0])); + IF B.LMULTI>0THEN FOR II:=B.LSINGLE+1TO B.LSINGLE+B.LMULTI DO INC(I,L[II].SIZE); {MP} + IF B.LFROM[8]>0THEN + FOR II:=B.LSINGLE+B.LMULTI+B.LFROM[8]TO B.LSINGLE+B.LMULTI+B.LTO[8]DO INC(I,L[II].SIZE); {RACE} + IF B.LFROM[9]>0THEN + FOR II:=B.LSINGLE+B.LMULTI+B.LRACE+B.LFROM[9]TO B.LSINGLE+B.LMULTI+B.LRACE+B.LTO[9]DO INC(I,L[II].SIZE); {CTF} + INC(I,$35+ORD(B.NAME[0])+ORD(B.DESC[0])); IF B.LFROM[1]>0THEN INC(I,5); {HI_SP} IF B.LFROM[2]>0THEN I:=I+((1+B.LTO[2]-B.LFROM[2])*5); {HI_PW} @@ -763,7 +764,7 @@ BEGIN B.LFROM[8]:=INPUTINT('ENTER STARTING LEVEL','USUALLY 1 UNLESS YOU WANT TO SKIP LEVELS0=NO LEVELS',0,1,B.LRACE); IF B.LFROM[8]>0THEN B.LTO[8]:=INPUTINT('ENTER LAST LEVEL','',B.LFROM[8],B.LRACE,B.LRACE); - END {RACE} ELSE IF III=8THEN BEGIN + END {RACE} ELSE IF III=9THEN BEGIN B.LFROM[9]:=INPUTINT('ENTER STARTING LEVEL','USUALLY 1 UNLESS YOU WANT TO SKIP LEVELS0=NO LEVELS',0,1,B.LCTF); IF B.LFROM[9]>0THEN B.LTO[9]:=INPUTINT('ENTER LAST LEVEL','',B.LFROM[9],B.LCTF,B.LCTF); @@ -1205,7 +1206,8 @@ BEGIN FOR I:=B.LTOTAL DOWNTO B.LSINGLE+B.LMULTI+1DO L[I]:=L[I-1]; L[B.LSINGLE+B.LMULTI]:=L[II]; II:=B.LSINGLE+B.LMULTI; END {MP} ELSE IF II<=B.LSINGLE+B.LMULTI+B.LRACE THEN BEGIN - INC(B.LRACE); L[B.LTOTAL]:=L[II]; II:=B.LTOTAL; + INC(B.LRACE); FOR I:=B.LTOTAL DOWNTO B.LSINGLE+B.LMULTI+B.LRACE+1DO L[I]:=L[I-1]; + L[B.LSINGLE+B.LMULTI+B.LRACE]:=L[II]; II:=B.LSINGLE+B.LMULTI+B.LRACE; END {RACE} ELSE BEGIN INC(B.LCTF); L[B.LTOTAL]:=L[II]; II:=B.LTOTAL; END; {CTF} @@ -1614,4 +1616,4 @@ BEGIN WINDOW(1,1,80,25); TEXTCOLOR(7); TEXTBACKGROUND(0); CLRSCR; WRITE('EXITING '); TEXTCOLOR(15); WRITE('WORMEDIT 0.53 BY SHIAR'); TEXTCOLOR(7); WRITELN('.'); WRITELN('BYEBYE..'); WRITELN; -END. \ No newline at end of file +END.