INFUSION.PAS

4.9 KB ce7d2bcf6a9a22a4…
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.