program infusion;
{$I DIRECT.INC}
{$M 65520,1024,30000}
{

      м       н    он     о     н
     лл     ол     л     о    ол       о                  ммммммммм
     оол    ллн  ооВн   олн   олн     он          ммммпппп         ппппммм
      ллл  ооВл м ллл   ллл   ллн     л      ммппп ммммм                  пплм
      ооВн ллп мммм ппм ллВ   лВл    Вн    мп   лллллллллм                   он
       ллл л млллллВм лооллн  ллл  ллл    он   олл мммм плн                   л
       оолоноллллллллнонлВлл ооВл лолн    л     плм лллл п                    он
        лВл лолп  пллл нллпп ппплн лВ    он         оллВн n f u s i o n . . .  л
        ооноллн    оВлно ммлллмм оолн     л         лВллл                      л
         лно лн    оллн лллпплллл лл      он      млллллллм                    л
         оо лолм  мллл о он  олВлнон       л                                  он
          п оллллллВлн  лллммлВлл п       лп " s i m p l y   t h e  b e s t " л
          мл плпллллп лм ппппппп м       лп                                  он
         ллллмммм мммллпллл ллллллл    мп     мм                             л
        олллл  ллмммммммВмммллВллллн ппппппппп  пппмммм                  мммп
         ллл  олллллВллллллллВллллл                    пппппмммммммммпппп
          пплллплллллллммлллллллпп
                   мммммммм
  млллллллллллллллммммммммммлллллллллллллллм
 оллллллллллллмлллллм  ллллл   лллллллллллллн
 лллллллллллллплллллп  ллллл лллллллллллллллл
 ллллллллллл лмммммммл лллллллллллллллллллллл
 ллллллллллллолллллллн лллллл  л л лллллллллл
 лллллллллнол ллллллл n f u s i o nнолллллллл
 лллллллллл    ппппп   ллллл ллллл  ллллллллл


                       %%% infusion bbs software %%%
                coded by skaboy101 (grant passmore) 1996-2003
                       based on pipeline and vision/2

  ** Released under the GNU Public License (see www.gnu.org for details) on
     August 27th, 2006.

     It has been 7 or 8 years since I have looked at this code (just a
     warning, it is extremely messy!), but I'll be happy to help in any
     way I can.

     E-mail me at: grant@math.utexas.edu.

     Good luck!
     Grant

}

uses crt, dos, printer, overlay, ovrCall, dosMem, fileLock, genTypes, configRt,    
     modem, statRet, genSubs, subs1, windows, subsOvr, chatStuf, subs2, textRet,     
     mailRet, userRet, flags, ansiEdit, protocol, mainR2, overRet1, topUser,     
     rumors, mess0, mess1, mess2, mess3, mess4, bulletin, messSys0, configur,    
     doors, email0, group, group1, email, viewer, archive, ACS, file0, file1,       
     file2, file3, file4, fileXfer, voting, myComman, NUV, fileSort, fileSys0,    
     fileSys1, fileSys2, new_FS, userList, infuIRC, feedBack, mainMenu, menuSys2,    
     waitCall, login2, getLogin, init, skashit, dataProc;

{$O INIT}
{$O PROTOCOL}
{$O OVERRET1}
{$O WAITCALL}
{$O GETLOGIN}
{$O LOGIN2}
{$O CONFIGUR}
{$O DOORS}
{$O VOTING}
{$O MYCOMMAN}
{$O NUV}
{$O EMAIL0} {$O GROUP} {$O GROUP1}
{$O EMAIL}
{$O VIEWER}
{$O ARCHIVE}
{$O FILE0}
{$O FILE1} {$O FILE2} {$O FILE3} {$O FILE4}
{$O FILEXFER}
{$O FILESORT} {$O FILESYS0} {$O FILESYS1} {$O FILESYS2}
{$O NEW_FS}
{$O TOPUSER}
{$O MESS0} {$O MESS1} {$O MESS2} {$O MESS3} {$O MESS4}
{$O BULLETIN}
{$O MESSSYS0}
{$O ANSIEDIT}
{$O FEEDBACK}
{$O RUMORS}
{$O USERLIST}
{$O INFUIRC}
{$O SUBSOVR}
{$O CHATSTUF}
{$O MAINMENU}
{$O NEWS}
{$O MENUSYS2}
{$O DATAPROC}

var gotoInfusion : boolean;
    temp   : byte;
    killer : integer;

begin
  fileMode := 66;
  for temp := 1 to paramCount do
   begin
    if upString(paramStr(temp)) = 'LOCAL' then
     begin
      null_Modem;
      no_Modem := true;
     end;
    end;

  If (cfg.useCom = 0) AND (no_Modem = false) then
    begin
      null_Modem;
      no_Modem := true;
    end;
  Dos_GetMem(strng,sizeOf(strng^) + 2);
  readStrings;
  validConfiguration;
  initInfusion(true);
  skaWrite('|08:|07:|15: |07Checking for FOSSIL r5 communications driver for |15COM:'+strr(cfg.useCom)+'|07..|CR');
  if not no_Modem {and cfg.useFossil} then
    if not installFossil then
    begin
      skaWrite('|08:|07:|15: |07Error, driver not found. Halting..|CR');
      showLine;
      skaWrite('|07  Infusion requires a FOSSIL revision 5 or compatable driver for modem control|CR');
      skaWrite('|07  Please load a FOSSIL driver or use the |15LOCAL|07 parameter.  Thank you.|CR');
      showLine;
      halt (5);
    end;
    textColor(7);
    skaWrite('|08:|07:|15:|07 Communications driver succesfully located..|CR');
  setParam;
  checkBreak := False;
  ansiEditInUse:=False;
  repeat
    gotoInfusion := waitForACall;
    if not gotoInfusion then
    begin
      mDoMenuSystem;
      hangup;
      shutDownSystem;
      clrscr;
      If sysNext then
      begin
        dontAnswer;
        halt(4)
      end;
      initinfusion(false)
    end;
  until not gotoInfusion;
  dontAnswer;
  closePort;
  halt(0)
end.
