Some fixes and succesful playthrough.
authorJason Self <j@jxself.org>
Thu, 5 Jun 2014 22:48:54 +0000 (15:48 -0700)
committerJason Self <j@jxself.org>
Thu, 5 Jun 2014 22:48:54 +0000 (15:48 -0700)
src/BEYOND.PAS
src/COMMANDS.PAS

index 6908e195f4d9ccb0d878e49e7815419537c30751..e129840e95c06b00850abb9fd76f6b96af1fc02e 100644 (file)
@@ -426,8 +426,8 @@ CASE VERB OF
              flag:=ReadKey;if(upcase(flag)<>'N')then SAVE else writeln('No.');
              write('Are you still sure you want to quit? ');
              flag:=ReadKey;if(upcase(flag)='Y')then
-              begin RL(367);delay(999);window(1,1,80,25);clrscr;close(rooms1);
-               close(rooms2);close(special1);close(special2);close(line1);
+              begin RL(367);delay(999);window(1,1,80,25);clrscr;
+               // close(rooms1); close(rooms2);close(special1);close(special2);close(line1);
               HALT end else RL(264)end;
 53         :if(Prm in[27,30])then RL(123) else RL(145);
 59         :If(noun=23)then RL(368)else Diagnose;
@@ -786,10 +786,13 @@ CASE VERB OF
 
 61         :begin RL(245);flag:=ReadKey;
              if(upcase(flag)<>'N')then
-              begin RL(380);delay(999);window(1,1,80,25);clrscr;close(rooms1);
-               close(rooms2);close(special1);close(special2);close(line1);
-               assign(rooms1,'BEYOND.com');
-               {execute(rooms1)}
+              begin RL(380);delay(999);window(1,1,80,25);clrscr;
+               close(rooms1);
+               close(rooms2);
+               close(special1);
+               close(special2);
+               close(line1);
+               SysUtils.ExecuteProcess('beyond', '', []);
                end
              else RL(264)
             end;
@@ -1843,7 +1846,7 @@ end; {of SP14}
 procedure ScreenDraw_PlayerInput;
   begin
    gotoxy(1,23);
-   writeln;
+   writeln();
    TextColor(m5);
    write(chr(175),' ');
 
index c201684c898f8ed5857a19e396d4c24751ff8d9d..de71549c8f724c891f2e2b6e3a98c77af77bdbed 100644 (file)
@@ -65,8 +65,12 @@ function En(c : char) : boolean;
 
 function Here(noun : integer): Boolean;
    begin
-     if(noun in Inven)or(r[noun]=Prm)or(noun in p[Prm])then Here:=True
-     else Here:=False
+     if(noun=-1) then Here:=False
+     else
+       begin
+         if(noun in Inven)or(r[noun]=Prm)or(noun in p[Prm])then Here:=True
+         else Here:=False;
+       end;
    end;
 
 procedure Crazy;
@@ -99,8 +103,7 @@ procedure DEAD;
      if(upcase(flag)<>'N')then
       begin
        writeln('Restarting...');window(1,1,80,25);
-       assign(rooms1,'BEYOND.com');
-       { execute(rooms1); }
+       SysUtils.ExecuteProcess('beyond', '', []);
        end
      else
       begin
@@ -569,7 +572,7 @@ procedure Initialize;
    writeln('But first, two simple questions:');
    gotoxy(1,4);write('Are you using a COLOR screen (Y/N)? ');
    nosound; play(72,80,45);
-   flag:='Y'; play(2500,2490,6);
+   flag:='N'; play(2500,2490,6);
    m0:=20;m1:=14;m2:=11;m3:=4;m4:=15;m5:=28;m6:=1;m7:=4;m8:=10;m9:=10;
    if upcase(flag)='N' then
     begin