home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / PCBVP32.ZIP / PCBVP.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-03-13  |  31KB  |  1,539 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  TBOOLEAN002(100)
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Boolean  BOOLEAN012
  31.     Boolean  BOOLEAN013
  32.     Boolean  BOOLEAN014
  33.     Boolean  TBOOLEAN015(15)
  34.     Boolean  BOOLEAN016
  35.     Boolean  BOOLEAN017
  36.     Boolean  BOOLEAN018
  37.     Boolean  BOOLEAN019
  38.     Boolean  BOOLEAN020
  39.     Boolean  BOOLEAN021
  40.     Boolean  BOOLEAN022
  41.     Boolean  BOOLEAN023
  42.     Boolean  BOOLEAN024
  43.     Integer  INTEGER001
  44.     Integer  INTEGER002
  45.     Integer  INTEGER003
  46.     Integer  INTEGER004
  47.     Integer  INTEGER005
  48.     Integer  INTEGER006
  49.     Integer  INTEGER007
  50.     Integer  INTEGER008
  51.     Integer  INTEGER009
  52.     Integer  INTEGER010
  53.     Integer  INTEGER011
  54.     Integer  TINTEGER012(100)
  55.     Integer  INTEGER013
  56.     Integer  TINTEGER014(100)
  57.     Integer  TINTEGER015(100)
  58.     Integer  INTEGER016
  59.     Integer  INTEGER017
  60.     Integer  INTEGER018
  61.     Integer  INTEGER019
  62.     Integer  INTEGER020
  63.     Integer  INTEGER021
  64.     Integer  INTEGER022
  65.     Integer  INTEGER023
  66.     String   TSTRING001(11,100)
  67.     String   STRING002
  68.     String   TSTRING003(11,100)
  69.     String   STRING004
  70.     String   STRING005
  71.     String   STRING006
  72.     String   STRING007
  73.     String   STRING008
  74.     String   TSTRING009(100)
  75.     String   STRING010
  76.     String   TSTRING011(100)
  77.     String   TSTRING012(100)
  78.     String   TSTRING013(100)
  79.     String   TSTRING014(100)
  80.     String   TSTRING015(100)
  81.     String   STRING016
  82.     String   STRING017
  83.     String   STRING018
  84.     String   STRING019
  85.     String   STRING020
  86.     String   STRING021
  87.     String   STRING022
  88.     String   STRING023
  89.     String   STRING024
  90.     String   STRING025
  91.     String   STRING026
  92.     String   STRING027
  93.     String   STRING028
  94.     String   STRING029
  95.     String   STRING030
  96.     String   STRING031
  97.     String   STRING032
  98.     String   STRING033
  99.     String   STRING034
  100.     String   STRING035
  101.     String   STRING036
  102.     String   TSTRING037(2)
  103.     String   TSTRING038(2)
  104.     String   STRING039
  105.     String   STRING040
  106.     String   STRING041
  107.     String   STRING042
  108.     String   STRING043
  109.     String   TSTRING044(3)
  110.     String   STRING045
  111.     Word     WORD001
  112.     Word     WORD002
  113.     Word     WORD003
  114.     Word     WORD004
  115.     Word     WORD005
  116.     Word     WORD006
  117.     Word     WORD007
  118.     Word     WORD008
  119.     Word     WORD009
  120.     Word     WORD010
  121.     Word     WORD011
  122.     Word     WORD012
  123.     Double   DOUBLE001
  124.     Double   DOUBLE002
  125.  
  126. ;------------------------------------------------------------------------------
  127.  
  128.     Cls
  129.     BOOLEAN006 = 1
  130.     BOOLEAN007 = 1
  131.     BOOLEAN005 = 0
  132.     INTEGER016 = 0
  133.     INTEGER011 = 0
  134.     STRING006 = "BPSVP"
  135.     BOOLEAN001 = 0
  136.     BOOLEAN008 = 0
  137.     BOOLEAN009 = 0
  138.     TSTRING037(0) = " No"
  139.     TSTRING037(1) = "Yes"
  140.     TSTRING038(0) = "FALSE"
  141.     TSTRING038(1) = "TRUE"
  142.     BOOLEAN003 = 1
  143.     TBOOLEAN015(0) = 1
  144.     TBOOLEAN015(1) = 1
  145.     TBOOLEAN015(2) = 1
  146.     TBOOLEAN015(3) = 1
  147.     TBOOLEAN015(4) = 1
  148.     TBOOLEAN015(5) = 1
  149.     Gosub LABEL049
  150.     If (BOOLEAN008) Goto LABEL001
  151.     Gosub LABEL048
  152.     :LABEL001
  153.     If (BOOLEAN009) Goto LABEL002
  154.     Gosub LABEL045
  155.     :LABEL002
  156.     Gosub LABEL030
  157.     PrintLn "Reading Games...This could take a few seconds..."
  158.     Gosub LABEL031
  159.     STRING045 = STRING028 + "N" + STRING027 + "ext page" + STRING023 + "..." + STRING028 + "P" + STRING027 + "revious page"
  160.     TSTRING044(0) = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "I" + STRING027 + "nformation on a game" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  161.     TSTRING044(1) = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  162.     TSTRING044(2) = STRING028 + "Q" + STRING027 + "uit"
  163.     If (INTEGER013) Then
  164.         PrintLn "Reading Users...This could take a few seconds..."
  165.         FOpen 1, PPEPath() + "vp_users.dat", 0, 3
  166.         If (Ferr(1)) Then
  167.             INTEGER010 = 5
  168.             STRING002 = "Creating VP_USERS.DAT"
  169.             Gosub LABEL051
  170.             FOpen 1, PPEPath() + "vp_users.dat", 1, 3
  171.         Else
  172.             Frewind 1
  173.             :LABEL003
  174.             If (Ferr(1)) Goto LABEL004
  175.             Gosub LABEL022
  176.             If (TSTRING001(INTEGER003, INTEGER005) <> "") Then
  177.                 If (TSTRING001(INTEGER003, INTEGER005) == U_Name()) Then
  178.                     TBOOLEAN002(INTEGER005) = 1
  179.                     TINTEGER015(INTEGER005) = INTEGER003
  180.                     Inc INTEGER006
  181.                 Endif
  182.                 Inc TINTEGER014(INTEGER005)
  183.             Endif
  184.             Goto LABEL003
  185.         Endif
  186.         :LABEL004
  187.         FClose 1
  188.     Else
  189.         Gosub LABEL015
  190.         BOOLEAN005 = !INTEGER013
  191.     Endif
  192.     :LABEL005
  193.     If (BOOLEAN005) Goto LABEL008
  194.     Gosub LABEL043
  195.     If (BOOLEAN001) Goto LABEL006
  196.     Gosub LABEL017
  197.     BOOLEAN005 = 1
  198.     Goto LABEL007
  199.     :LABEL006
  200.     Gosub LABEL009
  201.     PrintLn 
  202.     STRING010 = "What is your selection"
  203.     Gosub LABEL018
  204.     Gosub LABEL086
  205.     BOOLEAN005 = BOOLEAN023
  206.     If (STRING004 == "") Then
  207.         Goto LABEL007
  208.     Endif
  209.     Select Case (STRING004)
  210.         Case "C", "c"
  211.             If ((CurSec() >= WORD005) && BOOLEAN008) Then
  212.                 INTEGER017 = 1
  213.                 BOOLEAN011 = 0
  214.                 Gosub LABEL064
  215.                 INTEGER017 = 0
  216.             Endif
  217.         Case "T", "t"
  218.             If ((CurSec() >= WORD005) && BOOLEAN008) Then
  219.                 Gosub LABEL058
  220.             Endif
  221.         Case "N", "n"
  222.             INTEGER011 = INTEGER011 + 1
  223.             If (INTEGER011 > INTEGER016) INTEGER011 = 0
  224.         Case "P", "p"
  225.             INTEGER011 = INTEGER011 - 1
  226.             If (INTEGER011 < 0) INTEGER011 = INTEGER016
  227.         Case "I", "i"
  228.             INTEGER017 = 2
  229.             Gosub LABEL036
  230.             INTEGER017 = 0
  231.             INTEGER005 = S2I(STRING004, 16)
  232.             BOOLEAN016 = 1
  233.             Dec INTEGER005
  234.             STRING005 = ""
  235.         Case 
  236.             BOOLEAN006 = 0
  237.             Gosub LABEL011
  238.         Case Else
  239.             BOOLEAN007 = 0
  240.             Gosub LABEL010
  241.     End Select
  242.     :LABEL007
  243.     Goto LABEL005
  244.     :LABEL008
  245.     End
  246.     :LABEL009
  247.     If ((CurSec() >= WORD005) && BOOLEAN008) Then
  248.         STRING019 = STRING028 + "C" + STRING027 + "onfigure PCBVP" + STRING023 + "..." + STRING027 + "ini" + STRING028 + "T" + STRING027 + "ialize a game"
  249.         Gosub LABEL042
  250.         STRING005 = STRING005 + "CcTt"
  251.     Endif
  252.     Return
  253.     :LABEL010
  254.     While (!BOOLEAN005 && !BOOLEAN007) Do
  255.         BOOLEAN016 = 1
  256.         STRING019 = STRING023 + "Available Races in " + TSTRING015(INTEGER005)
  257.         Cls
  258.         Gosub LABEL042
  259.         PrintLn 
  260.         For INTEGER002 = 0 To 10
  261.             If (Strip(TSTRING001(INTEGER002, INTEGER005), " ") == "") Then
  262.                 STRING004 = I2S(INTEGER002 + 1, 16)
  263.                 STRING005 = STRING005 + STRING004
  264.                 STRING019 = STRING004 + " : " + TSTRING003(INTEGER002, INTEGER005)
  265.                 Gosub LABEL042
  266.             Endif
  267.         Next
  268.         PrintLn 
  269.         STRING019 = STRING028 + "I" + STRING027 + "nformation on this game     " + STRING028 + "H" + STRING027 + "elp     " + STRING028 + "Q" + STRING027 + "uit"
  270.         Gosub LABEL042
  271.         PrintLn 
  272.         STRING010 = "Which RACE would you like to play"
  273.         Gosub LABEL018
  274.         Gosub LABEL086
  275.         BOOLEAN007 = BOOLEAN023
  276.         If (STRING004 == "") Then
  277.             Continue
  278.         Endif
  279.         INTEGER003 = S2I(STRING004, 16)
  280.         Dec INTEGER003
  281.         TBOOLEAN002(INTEGER005) = 1
  282.         TINTEGER015(INTEGER005) = INTEGER003
  283.         TSTRING001(INTEGER003, INTEGER005) = U_Name()
  284.         FAppend 1, PPEPath() + "vp_users.dat", 2, 0
  285.         FPutLn 1, U_Name()
  286.         FPutLn 1, INTEGER005
  287.         FPutLn 1, INTEGER003
  288.         FClose 1
  289.         Gosub LABEL020
  290.         INTEGER002 = 0
  291.         While (((1 < 0) && (INTEGER002 >= TINTEGER012(INTEGER005) - 1)) || ((1 >= 0) && (INTEGER002 <= TINTEGER012(INTEGER005) - 1))) Do
  292.             If (TSTRING001(INTEGER002, INTEGER005) <> "") Gosub LABEL021
  293.             INTEGER002 = INTEGER002 + 1
  294.         EndWhile
  295.         INTEGER010 = 1
  296.         STRING002 = "  Race " + TSTRING003(INTEGER003, INTEGER005)
  297.         Gosub LABEL051
  298.         STRING002 = "  VP Game " + TSTRING015(INTEGER005)
  299.         Gosub LABEL051
  300.         STRING002 = "joined VGA planets"
  301.         Gosub LABEL051
  302.         BOOLEAN007 = 1
  303.     EndWhile
  304.     Return
  305.     :LABEL011
  306.     STRING007 = TSTRING011(INTEGER005) + "\player" + String(TINTEGER015(INTEGER005) + 1) + ".rst"
  307.     STRING008 = TSTRING011(INTEGER005) + "\player" + String(TINTEGER015(INTEGER005) + 1) + ".trn"
  308.     While (!BOOLEAN005 && !BOOLEAN006) Do
  309.         STRING004 = STRING023 + "Main"
  310.         Gosub LABEL088
  311.         STRING019 = STRING028 + "D" + STRING027 + "ownload a result (.RST) file"
  312.         Gosub LABEL042
  313.         STRING019 = STRING028 + "U" + STRING027 + "pload a turn (.TRN) file"
  314.         Gosub LABEL042
  315.         PrintLn 
  316.         STRING019 = STRING028 + "I" + STRING027 + "nformation on this game     " + STRING028 + "H" + STRING027 + "elp     " + STRING028 + "Q" + STRING027 + "uit"
  317.         Gosub LABEL042
  318.         PrintLn 
  319.         STRING010 = "Your Choice"
  320.         STRING005 = "DdUuQqHh?Ii"
  321.         Gosub LABEL018
  322.         Gosub LABEL086
  323.         BOOLEAN006 = BOOLEAN023
  324.         If ((STRING004 == "D") || (STRING004 == "d")) Then
  325.             PrintLn 
  326.             If (Exist(STRING007)) Goto LABEL012
  327.             STRING019 = "This game has not yet started or an error occurred the"
  328.             Gosub LABEL042
  329.             STRING019 = "last time the host was run.  Please alert the SysOp!"
  330.             Gosub LABEL042
  331.             Wait
  332.             BOOLEAN006 = 1
  333.             Goto LABEL013
  334.             :LABEL012
  335.             STRING043 = Left(STRING042, InStr(Lower(STRING042), "!file") - 1) + " " + STRING007 + " " + Right(STRING042, Len(STRING042) - InStr(Lower(STRING042), "!file") - 5)
  336.             Shell 1, INTEGER004, STRING041, STRING043
  337.             STRING016 = ".RST file"
  338.             STRING017 = "download"
  339.             Gosub LABEL023
  340.             BOOLEAN006 = 1
  341.             :LABEL013
  342.             Continue
  343.         Endif
  344.         If ((STRING004 == "U") || (STRING004 == "u")) Then
  345.             BOOLEAN023 = 1
  346.             If (Exist(STRING008)) Then
  347.                 PrintLn "PLAYER" + I2S(TINTEGER015(INTEGER005) + 1, 10) + ".TRN already exists in the" + " game directory."
  348.                 STRING010 = "Do you wish to overwrite it?"
  349.                 STRING005 = "YyNn"
  350.                 STRING004 = ""
  351.                 InputStr STRING010, STRING004, S2I(Right(STRING026, 2), 16), 1, STRING005, 4 + 8 + 256
  352.                 If ((STRING004 == "N") || (STRING004 == "n")) Then
  353.                     BOOLEAN023 = 0
  354.                     Goto LABEL014
  355.                 Endif
  356.                 Delete STRING008
  357.                 BOOLEAN023 = 1
  358.             Endif
  359.             :LABEL014
  360.             If (BOOLEAN023) Then
  361.                 STRING043 = Left(STRING040, InStr(Lower(STRING040), "!file") - 1) + " " + STRING008 + " " + Right(STRING040, Len(STRING040) - InStr(Lower(STRING040), "!file") - 5)
  362.                 Shell 1, INTEGER004, STRING039, STRING043
  363.                 STRING016 = ".TRN file"
  364.                 STRING017 = "upload"
  365.                 Gosub LABEL023
  366.                 BOOLEAN006 = 1
  367.             Endif
  368.         Endif
  369.     EndWhile
  370.     Return
  371.     :LABEL015
  372.     If (CurSec() >= SysopSec()) Then
  373.         Gosub LABEL058
  374.     Else
  375.         PrintLn 
  376.         STRING019 = "No VGA Planets games are set up.  Please"
  377.         Gosub LABEL042
  378.         STRING019 = "ask your SysOp to start a new game!"
  379.         Gosub LABEL042
  380.         PrintLn 
  381.         INTEGER010 = 5
  382.         STRING002 = "No VGA Planets games are available"
  383.         Gosub LABEL051
  384.         Wait
  385.     Endif
  386.     Return
  387.     :LABEL016
  388.     PrintLn 
  389.     STRING019 = "Game: " + TSTRING015(INTEGER002 - 1) + " is not yet initialized..."
  390.     Gosub LABEL042
  391.     STRING019 = "Please notify the SysOp of this error message!"
  392.     Gosub LABEL042
  393.     Wait
  394.     Return
  395.     :LABEL017
  396.     PrintLn 
  397.     STRING019 = "All games are full!"
  398.     Gosub LABEL042
  399.     STRING019 = "Please ask the SysOp to open new games!"
  400.     Gosub LABEL042
  401.     PrintLn 
  402.     INTEGER010 = 5
  403.     STRING002 = "ALL VGA planets games are full!"
  404.     Gosub LABEL051
  405.     Wait
  406.     Return
  407.     :LABEL018
  408.     STRING004 = ""
  409.     InputStr STRING010, STRING004, S2I(Right(STRING026, 2), 16), 1, STRING005 + "QqHhIi?", 4 + 8 + 256 + 16
  410.     Return
  411.     :LABEL019
  412.     Cls
  413.     PrintLn 
  414.     DispFile PPEPath() + "VPI", 2 + 1 + 4
  415.     PrintLn 
  416.     Wait
  417.     Return
  418.     :LABEL020
  419.     If (Exist(TSTRING012(INTEGER005))) Delete TSTRING012(INTEGER005)
  420.     FCreate 7, TSTRING012(INTEGER005), 1, 0
  421.     FPutLn 7, "@CLS@"
  422.     FPutLn 7, "@X1B    This bulletin was generated by PCBVP v3.2  @X07"
  423.     FPutLn 7, "@X1B    For the latest update,                     @X07"
  424.     FPutLn 7, "@X1B    Call -The-Edge-BBS- (703) 491-0083         @X07"
  425.     FPutLn 7, "@X1B                                               @X07"
  426.     FPutLn 7, "@X0F  VGA Planets - Players List - Game # ", S2I(INTEGER005, 16), " - ", "@X07"
  427.     FPutLn 7
  428.     FPutLn 7, "@X09    Player                         @X0CRace@X07"
  429.     FPutLn 7
  430.     FClose 7
  431.     Return
  432.     :LABEL021
  433.     FAppend 7, TSTRING012(INTEGER005), 2, 0
  434.     FPutLn 7, "@X09" + Left(TSTRING001(INTEGER002, INTEGER005), 35) + "@X0C" + TSTRING003(INTEGER002, INTEGER005)
  435.     FClose 7
  436.     Return
  437.     :LABEL022
  438.     FDGet STRING004
  439.     FDGet INTEGER005
  440.     FDGet INTEGER003
  441.     TSTRING001(INTEGER003, INTEGER005) = STRING004
  442.     Return
  443.     :LABEL023
  444.     If (INTEGER004) Goto LABEL024
  445.     INTEGER010 = 2
  446.     STRING002 = STRING016 + " " + STRING017 + " " + "for player " + I2S(TINTEGER015(INTEGER005) + 1, 10) + ", game " + I2S(INTEGER005 + 1, 10)
  447.     Gosub LABEL051
  448.     If (BOOLEAN008 && (STRING017 == "upload")) Then
  449.         Gosub LABEL026
  450.     ElseIf (STRING017 == "upload") Then
  451.         PrintLn 
  452.         PrintLn "Your .TRN file was uploaded successfully.  Please encourage your SysOp"
  453.         PrintLn "to register PCBVP.  The registered version will check your .TRN files"
  454.         PrintLn "for staleness."
  455.         Wait
  456.     Endif
  457.     Goto LABEL025
  458.     :LABEL024
  459.     INTEGER010 = 3
  460.     STRING002 = STRING016 + " " + STRING017 + " " + "aborted..."
  461.     Gosub LABEL051
  462.     PrintLn 
  463.     STRING019 = "Your " + STRING016 + "transfer was unsuccessful.  Please try again"
  464.     Gosub LABEL042
  465.     PrintLn 
  466.     PrintLn "Return code was: " + I2S(INTEGER004, 10)
  467.     Wait
  468.     :LABEL025
  469.     Return
  470.     :LABEL026
  471.     If (Exist(STRING031)) Delete STRING031
  472.     Shell 1, BOOLEAN004, STRING030, TSTRING011(INTEGER005) + " " + I2S(TINTEGER015(INTEGER005), 16) + " " + STRING031
  473.     If (Exist(STRING031)) Then
  474.         Cls
  475.         PrintLn 
  476.         PrintLn "Your transfer was successful, and a .TRN file checker was run to verify it."
  477.         PrintLn "The following output was produced when your .TRN was checked:"
  478.         PrintLn 
  479.         DispFile STRING031, 0
  480.         Delete STRING031
  481.         Wait
  482.     Endif
  483.     Return
  484.     :LABEL027
  485.     FOpen 2, TSTRING014(INTEGER002 - 1), 0, 3
  486.     If (Ferr(2)) Goto LABEL028
  487.     For INTEGER001 = 0 To 10
  488.         FGet 2, TSTRING003(INTEGER001, INTEGER002 - 1)
  489.     Next
  490.     FClose 2
  491.     Goto LABEL029
  492.     :LABEL028
  493.     Gosub LABEL016
  494.     Dec INTEGER002
  495.     :LABEL029
  496.     Return
  497.     :LABEL030
  498.     If (Exist(PPEPath() + "VPX.CFG")) Then
  499.         FOpen 1, PPEPath() + "VPX.CFG", 0, 0
  500.         FGet 1, STRING039
  501.         FGet 1, STRING040
  502.         FGet 1, STRING041
  503.         FGet 1, STRING042
  504.         FClose 1
  505.     Else
  506.         Cls
  507.         PrintLn 
  508.         PrintLn 
  509.         PrintLn STRING023 + "PCBVP is not properly configured.  Please Notify your SysOp!"
  510.         Wait
  511.         BOOLEAN005 = 1
  512.     Endif
  513.     Return
  514.     :LABEL031
  515.     INTEGER013 = 0
  516.     FOpen 1, PPEPath() + "vp_games.dat", 0, 3
  517.     FDefIn 1
  518.     INTEGER002 = 0
  519.     :LABEL032
  520.     If (Ferr(1)) Goto LABEL034
  521.     Inc INTEGER002
  522.     TINTEGER014(INTEGER002 - 1) = 0
  523.     INTEGER005 = INTEGER002
  524.     FDGet TSTRING015(INTEGER002 - 1)
  525.     If (Strip(TSTRING015(INTEGER002 - 1), " ") <> "") Then
  526.         FDGet TINTEGER012(INTEGER002 - 1)
  527.         FDGet TSTRING013(INTEGER002 - 1)
  528.         FDGet TSTRING014(INTEGER002 - 1)
  529.         FDGet TSTRING012(INTEGER002 - 1)
  530.         FDGet TSTRING009(INTEGER002 - 1)
  531.         If (Exist(TSTRING014(INTEGER002 - 1))) Goto LABEL033
  532.         PrintLn "Creating Race File in PPL Readable Format..."
  533.         Shell 0, INTEGER004, "breakrec.exe", TSTRING013(INTEGER002 - 1) + " " + TSTRING014(INTEGER002 - 1) + " 31"
  534.         :LABEL033
  535.         Gosub LABEL027
  536.         FDGet TSTRING011(INTEGER002 - 1)
  537.     Else
  538.         Dec INTEGER002
  539.     Endif
  540.     Goto LABEL032
  541.     :LABEL034
  542.     FClose 1
  543.     INTEGER013 = INTEGER002
  544.     INTEGER016 = INTEGER013 / 12
  545.     Return
  546.     :LABEL035
  547.     FCreate 1, PPEPath() + "vp_games.dat", 1, 3
  548.     FDefOut 1
  549.     For INTEGER002 = 1 To INTEGER013
  550.         FDPutLn TSTRING015(INTEGER002 - 1)
  551.         FDPutLn TINTEGER012(INTEGER002 - 1)
  552.         FDPutLn TSTRING013(INTEGER002 - 1)
  553.         FDPutLn TSTRING014(INTEGER002 - 1)
  554.         FDPutLn TSTRING012(INTEGER002 - 1)
  555.         FDPutLn TSTRING009(INTEGER002 - 1)
  556.         FDPut TSTRING011(INTEGER002 - 1)
  557.         If (INTEGER002 < INTEGER013) FDPutLn 
  558.     Next
  559.     FClose 1
  560.     INTEGER016 = INTEGER013 / 12
  561.     Return
  562.     :LABEL036
  563.     If (BOOLEAN016) Goto LABEL039
  564.     :LABEL037
  565.     If (BOOLEAN017) Goto LABEL038
  566.     Gosub LABEL043
  567.     STRING010 = "Which game would you like to see information on"
  568.     InputStr STRING010, STRING004, S2I(Right(STRING026, 2), 10), 1, STRING005 + "Qq", 4 + 8 + 16 + 256
  569.     If ((STRING004 == "Q") || (STRING004 == "q")) Then
  570.         BOOLEAN017 = 1
  571.     Else
  572.         INTEGER005 = S2I(STRING004, 16) - 1
  573.         Gosub LABEL041
  574.     Endif
  575.     Goto LABEL037
  576.     :LABEL038
  577.     Goto LABEL040
  578.     :LABEL039
  579.     Gosub LABEL041
  580.     :LABEL040
  581.     Return
  582.     :LABEL041
  583.     Cls
  584.     PrintLn 
  585.     DispFile TSTRING012(INTEGER005), 2 + 1 + 4
  586.     PrintLn 
  587.     Wait
  588.     Return
  589.     :LABEL042
  590.     STRING020 = StripAtx(STRING019)
  591.     If (Len(STRING020) > 79) Then
  592.         PrintLn STRING019 + "@X07"
  593.     Else
  594.         PrintLn Space((80 - Len(STRING020)) / 2) + STRING019 + "@X07"
  595.     Endif
  596.     Return
  597.     :LABEL043
  598.     Cls
  599.     STRING005 = ""
  600.     PrintLn 
  601.     STRING019 = STRING023 + "You may select one of the following games:"
  602.     Gosub LABEL042
  603.     PrintLn 
  604.     For INTEGER002 = 1 To 12
  605.         If (TBOOLEAN002(INTEGER011 * 12 + INTEGER002 - 1) || (TINTEGER014(INTEGER011 * 12 + INTEGER002 - 1) < TINTEGER012(INTEGER011 * 12 + INTEGER002 - 1))) Then
  606.             If (TBOOLEAN002(INTEGER011 * 12 + INTEGER002 - 1)) Then
  607.                 STRING018 = STRING024
  608.                 STRING004 = Left(TSTRING003(TINTEGER015(INTEGER011 * 12 + INTEGER002 - 1), INTEGER011 * 12 + INTEGER002 - 1), 25)
  609.                 Goto LABEL044
  610.             Endif
  611.             STRING018 = STRING025
  612.             STRING004 = Left(I2S(TINTEGER012(INTEGER011 * 12 + INTEGER002 - 1) - TINTEGER014(INTEGER011 * 12 + INTEGER002 - 1), 10) + " available races", 25)
  613.             :LABEL044
  614.             BOOLEAN001 = 1
  615.             STRING019 = STRING028 + I2S(INTEGER002, 16) + " " + STRING023 + "- " + STRING018 + Left(TSTRING015(INTEGER011 * 12 + INTEGER002 - 1), 25) + Space(6) + STRING004
  616.             Gosub LABEL042
  617.             STRING005 = STRING005 + I2S(INTEGER002, 16)
  618.         Endif
  619.     Next
  620.     PrintLn 
  621.     STRING019 = STRING024 + "■ Games you are in     " + STRING025 + "■ Available Games"
  622.     Gosub LABEL042
  623.     PrintLn 
  624.     If (INTEGER016 >= 1) Then
  625.         STRING019 = STRING045
  626.         Gosub LABEL042
  627.     Endif
  628.     STRING019 = TSTRING044(INTEGER017)
  629.     Gosub LABEL042
  630.     Return
  631.     :LABEL045
  632.     BOOLEAN012 = 0
  633.     STRING029 = ""
  634.     BOOLEAN013 = 1
  635.     STRING030 = "CHKTRN"
  636.     STRING031 = "RESULT.TST"
  637.     BOOLEAN010 = 1
  638.     BOOLEAN014 = 1
  639.     WORD002 = 0
  640.     WORD003 = 0
  641.     WORD004 = SysopSec()
  642.     WORD005 = SysopSec()
  643.     STRING023 = "@X0F"
  644.     STRING024 = "@X0D"
  645.     STRING025 = "@X09"
  646.     STRING026 = "@X1B"
  647.     STRING027 = "@X0B"
  648.     STRING028 = "@X0C"
  649.     STRING032 = "C:\VP"
  650.     STRING033 = ""
  651.     STRING034 = ""
  652.     Return
  653.     :LABEL046
  654.     If (Exist(PPEPath() + STRING006 + ".CFG")) Then
  655.         FOpen 4, PPEPath() + STRING006 + ".CFG", 0, 0
  656.         FDefIn 4
  657.         FDRead WORD001, 2
  658.         Gosub LABEL055
  659.         FDRead WORD002, 2
  660.         FDRead WORD003, 2
  661.         FDRead WORD004, 2
  662.         FDRead WORD005, 2
  663.         FDRead INTEGER022, 4
  664.         FDRead INTEGER018, 4
  665.         FDRead INTEGER019, 4
  666.         FDRead INTEGER020, 4
  667.         FDRead INTEGER021, 4
  668.         FDRead INTEGER023, 4
  669.         Gosub LABEL056
  670.         FDRead WORD006, 2
  671.         FDRead STRING029, WORD006
  672.         FDRead WORD007, 2
  673.         FDRead STRING032, WORD007
  674.         FDRead WORD008, 2
  675.         FDRead STRING033, WORD008
  676.         FDRead WORD009, 2
  677.         FDRead STRING034, WORD009
  678.         FDRead WORD010, 2
  679.         FDRead STRING030, WORD010
  680.         FDRead WORD011, 2
  681.         FDRead STRING031, WORD011
  682.         If (Ferr(4)) Goto LABEL047
  683.         BOOLEAN009 = 1
  684.         :LABEL047
  685.         FClose 4
  686.     Endif
  687.     Return
  688.     :LABEL048
  689.     Log "  -The-Edge-BBS-  (703) 491-0083  Home of PCBVP", 0
  690.     Log "Opened PCBVP v3.2 - Please Register", 0
  691.     Cls
  692.     STRING019 = "@X9BPlease encourage your SysOp to register PCBVP v3.2!@X07"
  693.     Gosub LABEL042
  694.     STRING019 = "@X0CPCBVP v3.2 - by Dan Fitzpatrick@X07"
  695.     Gosub LABEL042
  696.     STRING019 = "@X09                ─The─Edge─BBS─@X07"
  697.     Gosub LABEL042
  698.     STRING019 = "@X09                (703) 491-0083@X07"
  699.     Gosub LABEL042
  700.     Delay 36
  701.     Wait
  702.     Return
  703.     :LABEL049
  704.     If (Exist(PPEPath() + STRING006 + ".KEY")) Then
  705.         FOpen 2, PPEPath() + STRING006 + ".KEY", 0, 0
  706.         FRead 2, INTEGER009, 1
  707.         FRead 2, STRING022, INTEGER009
  708.         FRead 2, DOUBLE001, 8
  709.         FRead 2, INTEGER007, 4
  710.         FRead 2, STRING021, FileInf(PPEPath() + "BPSVP.KEY", 4) - 13 + INTEGER009
  711.         FClose 2
  712.         STRING004 = STRING021 + STRING022
  713.         INTEGER008 = 0
  714.         DOUBLE002 = 0
  715.         For INTEGER002 = 1 To Len(STRING004)
  716.             INTEGER008 = INTEGER008 + S2I(Mid(STRING004, INTEGER002, 1), 36)
  717.             DOUBLE002 = DOUBLE002 + S2I(Mid(STRING004, INTEGER002, 1), 36) ^ INTEGER002
  718.         Next
  719.         If (((INTEGER007 == INTEGER008) && (DOUBLE001 == DOUBLE002)) && (STRING022 == STRING006)) Then
  720.             Gosub LABEL046
  721.             INTEGER010 = 0
  722.             STRING002 = "Registered version of PCBVP v3.2"
  723.             Gosub LABEL051
  724.             BOOLEAN008 = 1
  725.             Goto LABEL050
  726.         Endif
  727.         INTEGER010 = 5
  728.         STRING002 = "Key file error!"
  729.         Gosub LABEL051
  730.     Endif
  731.     :LABEL050
  732.     Return
  733.     :LABEL051
  734.     If (TBOOLEAN015(INTEGER010) || (INTEGER010 > 4)) Then
  735.         If (BOOLEAN003 || (INTEGER010 > 4)) Then
  736.             Log STRING002, 0
  737.         Endif
  738.         If (BOOLEAN012) Then
  739.             If (Exist(STRING029)) Then
  740.                 FAppend 6, STRING029, 1, 3
  741.                 Goto LABEL052
  742.             Endif
  743.             FCreate 6, STRING029, 1, 3
  744.             :LABEL052
  745.             If (Ferr(6)) Goto LABEL053
  746.             FPutLn 6, STRING002
  747.             FClose 6
  748.             Goto LABEL054
  749.             :LABEL053
  750.             Log STRING002, 0
  751.             Log "PCBVP v3.2 was unable to write the EXTERNAL LOG FILE", 0
  752.         Endif
  753.     Endif
  754.     :LABEL054
  755.     Return
  756.     :LABEL055
  757.     BOOLEAN003 = IsBitSet(WORD001, 0)
  758.     BOOLEAN012 = IsBitSet(WORD001, 1)
  759.     TBOOLEAN015(0) = IsBitSet(WORD001, 2)
  760.     TBOOLEAN015(1) = IsBitSet(WORD001, 3)
  761.     TBOOLEAN015(2) = IsBitSet(WORD001, 4)
  762.     TBOOLEAN015(3) = IsBitSet(WORD001, 5)
  763.     TBOOLEAN015(4) = IsBitSet(WORD001, 6)
  764.     BOOLEAN013 = IsBitSet(WORD001, 7)
  765.     BOOLEAN010 = IsBitSet(WORD001, 8)
  766.     BOOLEAN014 = IsBitSet(WORD001, 9)
  767.     Return
  768.     :LABEL056
  769.     WORD012 = INTEGER022
  770.     Gosub LABEL057
  771.     STRING023 = "@X" + STRING004
  772.     WORD012 = INTEGER018
  773.     Gosub LABEL057
  774.     STRING024 = "@X" + STRING004
  775.     WORD012 = INTEGER019
  776.     Gosub LABEL057
  777.     STRING025 = "@X" + STRING004
  778.     WORD012 = INTEGER023
  779.     Gosub LABEL057
  780.     STRING026 = "@X" + STRING004
  781.     WORD012 = INTEGER020
  782.     Gosub LABEL057
  783.     STRING027 = "@X" + STRING004
  784.     WORD012 = INTEGER021
  785.     Gosub LABEL057
  786.     STRING028 = "@X" + STRING004
  787.     Return
  788.     :LABEL057
  789.     If (WORD012 < 16) Then
  790.         STRING004 = "0" + Right(I2S(WORD012, 16), 1)
  791.     Else
  792.         STRING004 = Right(I2S(WORD012, 16), 2)
  793.     Endif
  794.     Return
  795.     :LABEL058
  796.     If (INTEGER013 < 100) Then
  797.         BOOLEAN024 = 0
  798.         INTEGER005 = INTEGER013
  799.         Inc INTEGER013
  800.         INTEGER016 = INTEGER013 / 12
  801.         TSTRING015(INTEGER005) = "VGA Planets Game #" + I2S(INTEGER005 + 1, 10)
  802.         TINTEGER012(INTEGER005) = 11
  803.         TSTRING011(INTEGER005) = STRING032 + "\" + I2S(INTEGER005 + 1, 10)
  804.         TSTRING013(INTEGER005) = TSTRING011(INTEGER005) + "\race.nm"
  805.         TSTRING014(INTEGER005) = TSTRING011(INTEGER005) + "\race.ppl"
  806.         TSTRING012(INTEGER005) = TSTRING011(INTEGER005) + "\pl_blt"
  807.         TSTRING009(INTEGER005) = TSTRING011(INTEGER005) + "\sc_blt"
  808.         :LABEL059
  809.         If (BOOLEAN024) Goto LABEL063
  810.         Cls
  811.         STRING004 = "Game Initialization"
  812.         Gosub LABEL088
  813.         PrintLn 
  814.         STRING019 = TSTRING015(INTEGER005)
  815.         WORD012 = 47
  816.         Gosub LABEL084
  817.         PrintLn "   " + STRING028 + "G" + STRING027 + "ame Name             :" + STRING023 + RTrim(Left(TSTRING015(INTEGER005), 47), " ") + STRING004
  818.         PrintLn "   " + STRING028 + "M" + STRING027 + "ax Players           :" + STRING023 + I2S(TINTEGER012(INTEGER005), 10)
  819.         STRING019 = TSTRING011(INTEGER005)
  820.         Gosub LABEL084
  821.         PrintLn "   " + STRING028 + "P" + STRING027 + "ath to Game Files    :" + STRING023 + RTrim(Left(TSTRING011(INTEGER005), 47), " ") + STRING004
  822.         STRING019 = TSTRING013(INTEGER005)
  823.         Gosub LABEL084
  824.         PrintLn "   " + STRING028 + "R" + STRING027 + "ace Names File       :" + STRING023 + RTrim(Left(TSTRING013(INTEGER005), 47), " ") + STRING004
  825.         STRING019 = TSTRING014(INTEGER005)
  826.         Gosub LABEL084
  827.         PrintLn "   " + STRING028 + "T" + STRING027 + "emp Race Name File   :" + STRING023 + RTrim(Left(TSTRING014(INTEGER005), 47), " ") + STRING004
  828.         STRING019 = TSTRING012(INTEGER005)
  829.         Gosub LABEL084
  830.         PrintLn "   " + STRING028 + "N" + STRING027 + "ames Bulletin        :" + STRING023 + RTrim(Left(TSTRING012(INTEGER005), 47), " ") + STRING004
  831.         STRING019 = TSTRING009(INTEGER005)
  832.         Gosub LABEL084
  833.         PrintLn "   " + STRING028 + "S" + STRING027 + "cores Bulletin       :" + STRING023 + RTrim(Left(TSTRING009(INTEGER005), 47), " ") + STRING004
  834.         PrintLn 
  835.         STRING019 = STRING028 + "A" + STRING027 + "ccept"
  836.         Gosub LABEL042
  837.         STRING019 = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  838.         Gosub LABEL042
  839.         STRING005 = "GMPRTNSgmprtnsAaQqHh?"
  840.         PrintLn 
  841.         STRING010 = "What is your selection"
  842.         Gosub LABEL018
  843.         Gosub LABEL086
  844.         STRING010 = ""
  845.         BOOLEAN024 = BOOLEAN023
  846.         If (BOOLEAN024) STRING004 = "Q"
  847.         Select Case (STRING004)
  848.             Case "G", "g"
  849.                 STRING010 = " "
  850.                 STRING004 = "Game Name"
  851.                 STRING035 = TSTRING015(INTEGER005)
  852.                 Gosub LABEL083
  853.                 TSTRING015(INTEGER005) = STRING035
  854.             Case "M", "m"
  855.                 Cls
  856.                 TINTEGER012(INTEGER005) = 12
  857.                 While ((TINTEGER012(INTEGER005) > 11) || (TINTEGER012(INTEGER005) < 1)) Do
  858.                     STRING010 = "How many players should be allowed"
  859.                     InputStr STRING010, STRING004, S2I(Right(STRING026, 2), 10), 2, Mask_Num(), 256 + 16
  860.                     TINTEGER012(INTEGER005) = S2I(STRING004, 10)
  861.                 EndWhile
  862.             Case "P", "p"
  863.                 STRING004 = "Game Directory"
  864.                 STRING035 = TSTRING011(INTEGER005)
  865.                 Gosub LABEL083
  866.                 TSTRING011(INTEGER005) = STRING035
  867.                 TSTRING013(INTEGER005) = TSTRING011(INTEGER005) + "\race.nm"
  868.                 TSTRING014(INTEGER005) = TSTRING011(INTEGER005) + "\race.ppl"
  869.                 TSTRING012(INTEGER005) = TSTRING011(INTEGER005) + "\pl_blt"
  870.                 TSTRING009(INTEGER005) = TSTRING011(INTEGER005) + "\sc_blt"
  871.             Case "R", "r"
  872.                 STRING004 = "Race Names File"
  873.                 STRING035 = TSTRING013(INTEGER005)
  874.                 Gosub LABEL083
  875.                 TSTRING013(INTEGER005) = STRING035
  876.             Case "T", "t"
  877.                 STRING004 = "Temp Race File"
  878.                 STRING035 = TSTRING014(INTEGER005)
  879.                 Gosub LABEL083
  880.                 TSTRING014(INTEGER005) = STRING035
  881.             Case "N", "n"
  882.                 STRING004 = "Game Directory"
  883.                 STRING035 = TSTRING012(INTEGER005)
  884.                 Gosub LABEL083
  885.                 TSTRING012(INTEGER005) = STRING035
  886.             Case "S", "s"
  887.                 STRING004 = "Game Directory"
  888.                 STRING035 = TSTRING009(INTEGER005)
  889.                 Gosub LABEL083
  890.                 TSTRING009(INTEGER005) = STRING035
  891.             Case "Q", "q"
  892.                 TSTRING015(INTEGER005) = ""
  893.                 TINTEGER012(INTEGER005) = 0
  894.                 TSTRING011(INTEGER005) = ""
  895.                 TSTRING013(INTEGER005) = ""
  896.                 TSTRING014(INTEGER005) = ""
  897.                 TSTRING012(INTEGER005) = ""
  898.                 TSTRING009(INTEGER005) = ""
  899.                 Dec INTEGER013
  900.                 BOOLEAN024 = 1
  901.             Case "A", "a"
  902.                 Cls
  903.                 If (Exist(TSTRING013(INTEGER005))) Goto LABEL060
  904.                 PrintLn "The game must be created before it can be added to PCBVP..."
  905.                 TSTRING015(INTEGER005) = ""
  906.                 TINTEGER012(INTEGER005) = 0
  907.                 TSTRING011(INTEGER005) = ""
  908.                 TSTRING013(INTEGER005) = ""
  909.                 TSTRING014(INTEGER005) = ""
  910.                 TSTRING012(INTEGER005) = ""
  911.                 TSTRING009(INTEGER005) = ""
  912.                 Dec INTEGER013
  913.                 Goto LABEL062
  914.                 :LABEL060
  915.                 If (Exist(TSTRING014(INTEGER005))) Goto LABEL061
  916.                 Shell 0, INTEGER004, "breakrec.exe", TSTRING013(INTEGER005) + " " + TSTRING014(INTEGER005) + " 31"
  917.                 :LABEL061
  918.                 INTEGER002 = INTEGER005 + 1
  919.                 Gosub LABEL027
  920.                 Cls
  921.                 PrintLn 
  922.                 PrintLn 
  923.                 PrintLn 
  924.                 STRING019 = STRING023 + "Writing games file now..."
  925.                 Gosub LABEL042
  926.                 Gosub LABEL035
  927.                 STRING019 = STRING023 + "Finished writing games..."
  928.                 Gosub LABEL042
  929.                 :LABEL062
  930.                 BOOLEAN024 = 1
  931.                 Wait
  932.         End Select
  933.         Goto LABEL059
  934.         :LABEL063
  935.     Else
  936.         Cls
  937.         PrintLn 
  938.         PrintLn 
  939.         PrintLn 
  940.         STRING019 = STRING023 + "I'm sorry, but PCBVP can only handle up to 100 games..."
  941.         Gosub LABEL042
  942.         Wait
  943.     Endif
  944.     Return
  945.     Cls
  946.     PrintLn 
  947.     PrintLn 
  948.     PrintLn 
  949.     STRING019 = STRING023 + "This option will not be functional until command"
  950.     Gosub LABEL042
  951.     STRING019 = STRING023 + "line versions of MASTER and HCONFIG are available."
  952.     Gosub LABEL042
  953.     Wait
  954.     Return
  955.     :LABEL064
  956.     If (BOOLEAN011) Goto LABEL065
  957.     STRING004 = "Configuration"
  958.     Gosub LABEL088
  959.     STRING019 = STRING028 + "F" + STRING027 + "ile  Locations..."
  960.     Gosub LABEL042
  961.     STRING019 = STRING028 + "D" + STRING027 + "isplay Options..."
  962.     Gosub LABEL042
  963.     STRING019 = STRING028 + "S" + STRING027 + "ecurity Levels..."
  964.     Gosub LABEL042
  965.     STRING019 = STRING028 + "L" + STRING027 + "ogging Options..."
  966.     Gosub LABEL042
  967.     STRING019 = STRING028 + "T" + STRING027 + "esting Options..."
  968.     Gosub LABEL042
  969.     PrintLn 
  970.     STRING019 = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  971.     Gosub LABEL042
  972.     PrintLn 
  973.     STRING005 = "Hh?QqFfDdSsLlTt"
  974.     STRING010 = "What is your choice?"
  975.     Gosub LABEL018
  976.     Gosub LABEL086
  977.     BOOLEAN011 = BOOLEAN023
  978.     Select Case (STRING004)
  979.         Case "F", "f"
  980.             Gosub LABEL067
  981.         Case "D", "d"
  982.             Gosub LABEL070
  983.         Case "S", "s"
  984.             Gosub LABEL073
  985.         Case "L", "l"
  986.             Gosub LABEL076
  987.         Case "T", "t"
  988.             Gosub LABEL079
  989.     End Select
  990.     Goto LABEL064
  991.     :LABEL065
  992.     Gosub LABEL089
  993.     Return
  994.     :LABEL066
  995.     Cls
  996.     PrintLn 
  997.     PrintLn STRING023 + "Sorry, there's no helping SysOps! <g>"
  998.     PrintLn "-- The next release will have help here."
  999.     PrintLn 
  1000.     Wait
  1001.     Return
  1002.     :LABEL067
  1003.     BOOLEAN018 = 0
  1004.     :LABEL068
  1005.     If (BOOLEAN018) Goto LABEL069
  1006.     STRING004 = "File Options"
  1007.     Gosub LABEL088
  1008.     STRING019 = STRING032
  1009.     WORD012 = 50
  1010.     Gosub LABEL084
  1011.     PrintLn "   " + STRING027 + "e" + STRING028 + "X" + STRING027 + "ecutables Directory: " + STRING023 + RTrim(Left(STRING032, 50), " ") + STRING004
  1012.     STRING019 = STRING033
  1013.     Gosub LABEL084
  1014.     PrintLn "   " + STRING028 + "T" + STRING027 + "emplate Directory   : " + STRING023 + RTrim(Left(STRING033, 50), " ") + STRING004
  1015.     STRING019 = STRING034
  1016.     Gosub LABEL084
  1017.     PrintLn "   " + STRING027 + "e" + STRING028 + "V" + STRING027 + "ent Batch File     : " + STRING023 + RTrim(Left(STRING034, 50), " ") + STRING004
  1018.     PrintLn 
  1019.     STRING019 = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  1020.     Gosub LABEL042
  1021.     STRING005 = "xXtTvVhHqQ?"
  1022.     PrintLn 
  1023.     STRING010 = "What is your selection"
  1024.     Gosub LABEL018
  1025.     Gosub LABEL086
  1026.     BOOLEAN018 = BOOLEAN023
  1027.     Select Case (STRING004)
  1028.         Case "X", "x"
  1029.             STRING004 = "Executable Files Directory"
  1030.             STRING035 = STRING032
  1031.             Gosub LABEL083
  1032.             STRING032 = STRING035
  1033.         Case "T", "t"
  1034.             STRING004 = "Game Template Directory"
  1035.             STRING035 = STRING033
  1036.             Gosub LABEL083
  1037.             STRING033 = STRING035
  1038.         Case "V", "v"
  1039.             STRING004 = "Host Event Batch File Name"
  1040.             STRING035 = STRING034
  1041.             Gosub LABEL083
  1042.             STRING034 = STRING035
  1043.     End Select
  1044.     Goto LABEL068
  1045.     :LABEL069
  1046.     BOOLEAN018 = 0
  1047.     Return
  1048.     :LABEL070
  1049.     BOOLEAN019 = 0
  1050.     If (AnsiOn()) Goto LABEL071
  1051.     Cls
  1052.     PrintLn 
  1053.     PrintLn 
  1054.     STRING019 = STRING023 + "This option requires ANSI graphics!" + "  Please Turn on ANSI and try again."
  1055.     Gosub LABEL042
  1056.     PrintLn 
  1057.     PrintLn 
  1058.     Wait
  1059.     BOOLEAN019 = 1
  1060.     :LABEL071
  1061.     If (BOOLEAN019) Goto LABEL072
  1062.     STRING004 = "Display Options"
  1063.     Gosub LABEL088
  1064.     STRING019 = PPEPath() + "COLOR"
  1065.     If (Exist(PPEPath() + "COLOR")) Then
  1066.         DispFile PPEPath() + "COLOR", 2 + 1 + 4
  1067.     Endif
  1068.     PrintLn 
  1069.     STRING019 = STRING028 + "S" + STRING027 + "creen Header Color    " + STRING023 + "■"
  1070.     Gosub LABEL042
  1071.     STRING019 = STRING028 + "J" + STRING027 + "oined Games Color     " + STRING024 + "■"
  1072.     Gosub LABEL042
  1073.     STRING019 = STRING028 + "A" + STRING027 + "vailable Games Color  " + STRING025 + "■"
  1074.     Gosub LABEL042
  1075.     STRING019 = STRING028 + "M" + STRING027 + "enu HighLight Color   " + STRING028 + "■"
  1076.     Gosub LABEL042
  1077.     STRING019 = STRING028 + "O" + STRING027 + "ption Text Color      " + STRING027 + "■"
  1078.     Gosub LABEL042
  1079.     STRING019 = STRING028 + "P" + STRING027 + "romt Color            " + STRING026 + "■"
  1080.     Gosub LABEL042
  1081.     STRING019 = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  1082.     Gosub LABEL042
  1083.     STRING005 = "SJAMOPsjamophHqQ?"
  1084.     STRING010 = "What is your selection"
  1085.     Gosub LABEL018
  1086.     Gosub LABEL086
  1087.     BOOLEAN019 = BOOLEAN023
  1088.     Select Case (STRING004)
  1089.         Case "S", "s"
  1090.             STRING017 = "Setting SCREEN HEADER color:"
  1091.             STRING018 = STRING023
  1092.             Gosub LABEL085
  1093.             STRING023 = STRING019
  1094.             INTEGER022 = WORD012
  1095.         Case "J", "j"
  1096.             STRING017 = "Settting JOINED GAMES color:"
  1097.             STRING018 = STRING024
  1098.             Gosub LABEL085
  1099.             STRING024 = STRING019
  1100.             INTEGER018 = WORD012
  1101.         Case "A", "a"
  1102.             STRING017 = "Setting AVAILABLE GAMES color:"
  1103.             STRING018 = STRING025
  1104.             Gosub LABEL085
  1105.             STRING025 = STRING019
  1106.             INTEGER019 = WORD012
  1107.         Case "M", "m"
  1108.             STRING017 = "Setting MENU HIGHLIGHT color:"
  1109.             STRING018 = STRING028
  1110.             Gosub LABEL085
  1111.             STRING028 = STRING019
  1112.             INTEGER021 = WORD012
  1113.         Case "O", "o"
  1114.             STRING017 = "Setting MENU OPTION color:"
  1115.             STRING018 = STRING027
  1116.             Gosub LABEL085
  1117.             STRING027 = STRING019
  1118.             INTEGER020 = WORD012
  1119.         Case "P", "p"
  1120.             STRING017 = "Setting PROMPT color:"
  1121.             STRING018 = STRING026
  1122.             Gosub LABEL085
  1123.             STRING026 = STRING019
  1124.             INTEGER023 = WORD012
  1125.     End Select
  1126.     Goto LABEL071
  1127.     :LABEL072
  1128.     Return
  1129.     :LABEL073
  1130.     BOOLEAN020 = 0
  1131.     :LABEL074
  1132.     If (BOOLEAN020) Goto LABEL075
  1133.     STRING004 = "Security Levels"
  1134.     Gosub LABEL088
  1135.     STRING019 = STRING023 + "Security Levels Required For -"
  1136.     Gosub LABEL042
  1137.     STRING019 = STRING028 + "J" + STRING027 + "oining a Game     " + STRING023 + Right(I2S(WORD002, 10), 3)
  1138.     Gosub LABEL042
  1139.     STRING019 = STRING028 + "M" + STRING027 + "ultiple Games     " + STRING023 + Right(I2S(WORD003, 10), 3)
  1140.     Gosub LABEL042
  1141.     STRING019 = STRING028 + "C" + STRING027 + "reate New Games   " + STRING023 + Right(I2S(WORD004, 10), 3)
  1142.     Gosub LABEL042
  1143.     STRING019 = STRING028 + "S" + STRING027 + "ysOp Functions    " + STRING023 + Right(I2S(WORD005, 10), 3)
  1144.     Gosub LABEL042
  1145.     PrintLn 
  1146.     STRING019 = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  1147.     Gosub LABEL042
  1148.     STRING005 = "JjMmCcSs?"
  1149.     STRING010 = "What is your selection"
  1150.     Gosub LABEL018
  1151.     Gosub LABEL086
  1152.     BOOLEAN020 = BOOLEAN023
  1153.     Select Case (STRING004)
  1154.         Case "J", "j"
  1155.             STRING019 = "Joining a Game"
  1156.             Gosub LABEL082
  1157.             WORD002 = WORD012
  1158.         Case "M", "m"
  1159.             STRING019 = "Multiple Games"
  1160.             Gosub LABEL082
  1161.             WORD003 = WORD012
  1162.         Case "C", "c"
  1163.             STRING019 = "Initializing Games"
  1164.             Gosub LABEL082
  1165.             WORD004 = WORD012
  1166.         Case "S", "s"
  1167.             STRING019 = "SysOp Functions"
  1168.             Gosub LABEL082
  1169.             If (WORD012 > CurSec()) Then
  1170.                 PrintLn "You can not set a security level higher than your own!"
  1171.                 WORD012 = CurSec()
  1172.                 Wait
  1173.             Endif
  1174.             WORD005 = WORD012
  1175.     End Select
  1176.     Goto LABEL074
  1177.     :LABEL075
  1178.     Return
  1179.     :LABEL076
  1180.     BOOLEAN021 = 0
  1181.     TBOOLEAN015(6) = BOOLEAN003
  1182.     TBOOLEAN015(7) = BOOLEAN012
  1183.     :LABEL077
  1184.     If (BOOLEAN021) Goto LABEL078
  1185.     STRING004 = "Logging Options"
  1186.     Gosub LABEL088
  1187.     PrintLn STRING023 + Space(15) + "Log to -"
  1188.     PrintLn STRING027 + Space(26) + STRING028 + "C" + STRING027 + "allers Log      " + Space(5) + STRING023 + TSTRING037(BOOLEAN003)
  1189.     PrintLn STRING027 + Space(26) + STRING028 + "E" + STRING027 + "xternal File    " + Space(5) + STRING023 + TSTRING037(BOOLEAN012)
  1190.     STRING019 = STRING029
  1191.     WORD012 = 36
  1192.     Gosub LABEL084
  1193.     PrintLn STRING027 + Space(28) + "file" + STRING028 + "N" + STRING027 + "ame: " + STRING023 + Left(STRING029, 36) + STRING004
  1194.     PrintLn 
  1195.     PrintLn STRING023 + Space(15) + "Log -"
  1196.     PrintLn STRING027 + Space(26) + STRING028 + "P" + STRING027 + "rogram Entry    " + Space(5) + STRING023 + TSTRING037(TBOOLEAN015(0))
  1197.     PrintLn STRING027 + Space(26) + STRING028 + "J" + STRING027 + "oined Game      " + Space(5) + STRING023 + TSTRING037(TBOOLEAN015(1))
  1198.     PrintLn STRING027 + Space(26) + STRING028 + "F" + STRING027 + "ile Transfer    " + Space(5) + STRING023 + TSTRING037(TBOOLEAN015(2))
  1199.     PrintLn STRING027 + Space(26) + STRING028 + "A" + STRING027 + "borted Transfer " + Space(5) + STRING023 + TSTRING037(TBOOLEAN015(3))
  1200.     PrintLn STRING027 + Space(26) + STRING028 + "R" + STRING027 + "esult of Test   " + Space(5) + STRING023 + TSTRING037(TBOOLEAN015(4))
  1201.     PrintLn 
  1202.     STRING019 = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  1203.     Gosub LABEL042
  1204.     STRING005 = "PJFAR?CEpjfarceNnHhQq"
  1205.     PrintLn 
  1206.     STRING010 = "What is your selection"
  1207.     Gosub LABEL018
  1208.     Gosub LABEL086
  1209.     BOOLEAN021 = BOOLEAN023
  1210.     If ((STRING004 == "N") || (STRING004 == "n")) Then
  1211.         STRING004 = "External Log Filename"
  1212.         STRING035 = STRING029
  1213.         Gosub LABEL083
  1214.         STRING029 = STRING035
  1215.         STRING004 = ""
  1216.     Else
  1217.         WORD012 = InStr(STRING005, Upper(STRING004)) - 1
  1218.         BOOLEAN023 = !TBOOLEAN015(WORD012)
  1219.         TBOOLEAN015(WORD012) = BOOLEAN023
  1220.         BOOLEAN003 = TBOOLEAN015(6)
  1221.         BOOLEAN012 = TBOOLEAN015(7)
  1222.         STRING004 = ""
  1223.     Endif
  1224.     Goto LABEL077
  1225.     :LABEL078
  1226.     Return
  1227.     :LABEL079
  1228.     BOOLEAN022 = 0
  1229.     TBOOLEAN015(8) = BOOLEAN013
  1230.     TBOOLEAN015(9) = BOOLEAN010
  1231.     TBOOLEAN015(10) = BOOLEAN014
  1232.     :LABEL080
  1233.     If (BOOLEAN022) Goto LABEL081
  1234.     STRING004 = "Test Options"
  1235.     Gosub LABEL088
  1236.     STRING019 = STRING028 + "C" + STRING027 + "heck .TRN File     : " + STRING023 + TSTRING037(BOOLEAN013)
  1237.     Gosub LABEL042
  1238.     STRING019 = STRING028 + "D" + STRING027 + "isplay Test Result : " + STRING023 + TSTRING037(BOOLEAN010)
  1239.     Gosub LABEL042
  1240.     STRING019 = STRING028 + "R" + STRING027 + "emove Failed .TRN  : " + STRING023 + TSTRING037(BOOLEAN014)
  1241.     Gosub LABEL042
  1242.     INTEGER008 = (80 - Len(StripAtx(STRING019))) / 2
  1243.     STRING019 = STRING030
  1244.     WORD012 = 52 - INTEGER008
  1245.     Gosub LABEL084
  1246.     PrintLn Space(INTEGER008) + STRING028 + "B" + STRING027 + "atch File for Test :" + Left(STRING030, 80 - INTEGER008 - 25) + STRING004
  1247.     STRING019 = STRING031
  1248.     Gosub LABEL084
  1249.     PrintLn Space(INTEGER008) + STRING028 + "T" + STRING027 + "est Output File    :" + Left(STRING031, 80 - INTEGER008 - 25) + STRING004
  1250.     STRING004 = ""
  1251.     PrintLn 
  1252.     STRING005 = "CDRBTcdrbtHh?Qq"
  1253.     STRING019 = STRING028 + "H" + STRING027 + "elp" + STRING023 + "..." + STRING028 + "Q" + STRING027 + "uit"
  1254.     Gosub LABEL042
  1255.     PrintLn 
  1256.     STRING010 = "What is your selection"
  1257.     Gosub LABEL018
  1258.     Gosub LABEL086
  1259.     BOOLEAN022 = BOOLEAN023
  1260.     Select Case (STRING004)
  1261.         Case "B", "b"
  1262.             STRING004 = ".TRN Test Batch File"
  1263.             STRING035 = STRING030
  1264.             Gosub LABEL083
  1265.             STRING030 = STRING035
  1266.         Case "T", "t"
  1267.             STRING004 = ".TRN Test Output File"
  1268.             STRING035 = STRING031
  1269.             Gosub LABEL083
  1270.             STRING031 = STRING035
  1271.         Case 4
  1272.             BOOLEAN023 = !TBOOLEAN015(7 + InStr(STRING005, Upper(STRING004)))
  1273.             TBOOLEAN015(7 + InStr(STRING005, Upper(STRING004))) = BOOLEAN023
  1274.             BOOLEAN013 = TBOOLEAN015(8)
  1275.             BOOLEAN010 = TBOOLEAN015(9)
  1276.             BOOLEAN014 = TBOOLEAN015(10)
  1277.     End Select
  1278.     Goto LABEL080
  1279.     :LABEL081
  1280.     Return
  1281.     :LABEL082
  1282.     STRING010 = "What Should The New Security Level For " + STRING019 + " Be"
  1283.     InputStr STRING010, STRING004, S2I(Right(STRING026, 2), 16), 3, Mask_Num(), 2 + 4 + 16 + 256
  1284.     WORD012 = S2I(STRING004, 10)
  1285.     Return
  1286.     :LABEL083
  1287.     STRING005 = Mask_Path() + STRING010
  1288.     Cls
  1289.     PrintLn 
  1290.     STRING019 = STRING023 + "The VGA Planets " + STRING004 + " is Currently:"
  1291.     Gosub LABEL042
  1292.     PrintLn STRING028 + STRING035
  1293.     PrintLn 
  1294.     PrintLn STRING023 + "Please Enter The New " + STRING004 + ": " + STRING028
  1295.     WORD012 = 0
  1296.     STRING035 = ""
  1297.     STRING036 = ""
  1298.     While (STRING036 <> Chr(13)) Do
  1299.         STRING036 = Inkey()
  1300.         If ((WORD012 > 255) && (STRING036 <> Chr(13))) Then
  1301.             Print Chr(7)
  1302.             Backup 1
  1303.             Continue
  1304.         Endif
  1305.         If (InStr(STRING005, STRING036)) Then
  1306.             Print STRING036
  1307.             STRING035 = STRING035 + STRING036
  1308.             Inc WORD012
  1309.             Continue
  1310.         Endif
  1311.         If ((STRING036 == Chr(8)) && (WORD012 > 0)) Then
  1312.             Backup 1
  1313.             Print " "
  1314.             Backup 1
  1315.             Dec WORD012
  1316.             STRING035 = Left(STRING035, WORD012)
  1317.         Endif
  1318.     EndWhile
  1319.     Return
  1320.     :LABEL084
  1321.     If (Len(STRING019) > WORD012) Then
  1322.         STRING004 = "..."
  1323.     Else
  1324.         STRING004 = ""
  1325.     Endif
  1326.     Return
  1327.     :LABEL085
  1328.     Cls
  1329.     PrintLn 
  1330.     DispFile PPEPath() + "COLOR", 2 + 1 + 4
  1331.     PrintLn 
  1332.     PrintLn STRING018 + STRING017
  1333.     PrintLn 
  1334.     PrintLn STRING023 + "Choose from the table above:"
  1335.     STRING005 = Mask_Num() + "AaBbCcDdEeFf"
  1336.     STRING010 = "Which background attribute should I use"
  1337.     InputStr STRING010, STRING004, S2I(Right(STRING026, 2), 16), 1, STRING005, 8 + 256 + 16
  1338.     STRING019 = "@X" + Upper(STRING004)
  1339.     STRING010 = "Which foreground attribute should I use"
  1340.     InputStr STRING010, STRING004, S2I(Right(STRING026, 2), 16), 1, STRING005, 8 + 256 + 16
  1341.     STRING019 = STRING019 + Upper(STRING004)
  1342.     WORD012 = S2I(Right(STRING019, 2), 16)
  1343.     Return
  1344.     :LABEL086
  1345.     BOOLEAN023 = 0
  1346.     Select Case (STRING004)
  1347.         Case "H", "h", "?"
  1348.             Gosub LABEL087
  1349.             STRING004 = ""
  1350.         Case "Q", "q"
  1351.             BOOLEAN023 = 1
  1352.             STRING004 = ""
  1353.     End Select
  1354.     Return
  1355.     :LABEL087
  1356.     Select Case (INTEGER017)
  1357.         Case 0
  1358.             Gosub LABEL019
  1359.         Case 1
  1360.             Gosub LABEL066
  1361.         Case "I", "i"
  1362.             Gosub LABEL036
  1363.     End Select
  1364.     Return
  1365.     :LABEL088
  1366.     STRING019 = STRING023 + "VGA Planets Interface Program " + STRING004 + " Menu"
  1367.     Cls
  1368.     Gosub LABEL042
  1369.     PrintLn 
  1370.     Return
  1371.     :LABEL089
  1372.     If (Exist(PPEPath() + STRING006 + ".CFG")) Delete PPEPath() + STRING006 + ".CFG"
  1373.     FOpen 4, PPEPath() + STRING006 + ".CFG", 1, 3
  1374.     WORD001 = BOOLEAN003 + 2 * BOOLEAN012 + 4 * TBOOLEAN015(0) + 8 * TBOOLEAN015(1) + 16 * TBOOLEAN015(2) + 32 * TBOOLEAN015(3) + 64 * TBOOLEAN015(4) + 128 * BOOLEAN013 + 256 * BOOLEAN010 + 512 * BOOLEAN014
  1375.     Gosub LABEL055
  1376.     WORD012 = WORD001
  1377.     WORD001 = BOOLEAN003 + 2 * BOOLEAN012 + 4 * TBOOLEAN015(0) + 8 * TBOOLEAN015(1) + 16 * TBOOLEAN015(2) + 32 * TBOOLEAN015(3) + 64 * TBOOLEAN015(4) + 128 * BOOLEAN013 + 256 * BOOLEAN010 + 512 * BOOLEAN014
  1378.     If (WORD001 <> WORD012) Then
  1379.         Cls
  1380.         PrintLn "Original flags: " + I2S(WORD012, 10)
  1381.         PrintLn "New flags     : " + I2S(WORD001, 10)
  1382.         Wait
  1383.     Endif
  1384.     FWrite 4, WORD001, 2
  1385.     FWrite 4, WORD002, 2
  1386.     FWrite 4, WORD003, 2
  1387.     FWrite 4, WORD004, 2
  1388.     FWrite 4, WORD005, 2
  1389.     FWrite 4, S2I(Right(STRING023, 2), 16), 4
  1390.     FWrite 4, S2I(Right(STRING024, 2), 16), 4
  1391.     FWrite 4, S2I(Right(STRING025, 2), 16), 4
  1392.     FWrite 4, S2I(Right(STRING027, 2), 16), 4
  1393.     FWrite 4, S2I(Right(STRING028, 2), 16), 4
  1394.     FWrite 4, S2I(Right(STRING026, 2), 16), 4
  1395.     WORD006 = Len(STRING029)
  1396.     FWrite 4, WORD006, 2
  1397.     FWrite 4, STRING029, WORD006
  1398.     WORD007 = Len(STRING032)
  1399.     FWrite 4, WORD007, 2
  1400.     FWrite 4, STRING032, WORD007
  1401.     WORD008 = Len(STRING033)
  1402.     FWrite 4, WORD008, 2
  1403.     FWrite 4, STRING033, WORD008
  1404.     WORD009 = Len(STRING034)
  1405.     FWrite 4, WORD009, 2
  1406.     FWrite 4, STRING034, WORD009
  1407.     WORD010 = Len(STRING030)
  1408.     FWrite 4, WORD010, 2
  1409.     FWrite 4, STRING030, WORD010
  1410.     WORD011 = Len(STRING031)
  1411.     FWrite 4, WORD011, 2
  1412.     FWrite 4, STRING031, WORD011
  1413.     If (Ferr(4)) Goto LABEL090
  1414.     BOOLEAN009 = 1
  1415.     Goto LABEL091
  1416.     :LABEL090
  1417.     Cls
  1418.     PrintLn "An Error Occurred While Writing The Config File!"
  1419.     Wait
  1420.     :LABEL091
  1421.     FClose 4
  1422.     Return
  1423.     Return
  1424.  
  1425. ;------------------------------------------------------------------------------
  1426. ;
  1427. ; Usage report (before postprocessing)
  1428. ;
  1429. ; ■ Statements used :
  1430. ;
  1431. ;    1       End
  1432. ;    21      Cls
  1433. ;    19      Wait
  1434. ;    202     Goto 
  1435. ;    446     Let 
  1436. ;    3       Print 
  1437. ;    108     PrintLn 
  1438. ;    127     If 
  1439. ;    5       DispFile 
  1440. ;    3       FCreate 
  1441. ;    8       FOpen 
  1442. ;    3       FAppend 
  1443. ;    12      FClose 
  1444. ;    5       FGet 
  1445. ;    14      FPutLn 
  1446. ;    5       Delete 
  1447. ;    5       Log 
  1448. ;    7       InputStr 
  1449. ;    180     Gosub 
  1450. ;    47      Return
  1451. ;    1       Delay 
  1452. ;    5       Inc 
  1453. ;    7       Dec 
  1454. ;    5       Shell 
  1455. ;    3       Backup 
  1456. ;    1       Frewind 
  1457. ;    5       FRead 
  1458. ;    23      FWrite 
  1459. ;    2       FDefIn 
  1460. ;    1       FDefOut 
  1461. ;    10      FDGet 
  1462. ;    1       FDPut 
  1463. ;    7       FDPutLn 
  1464. ;    23      FDRead 
  1465. ;
  1466. ;
  1467. ; ■ Functions used :
  1468. ;
  1469. ;    1       ^
  1470. ;    27      *
  1471. ;    5       /
  1472. ;    599     +
  1473. ;    51      -
  1474. ;    97      ==
  1475. ;    6       <>
  1476. ;    13      <
  1477. ;    6       <=
  1478. ;    9       >
  1479. ;    17      >=
  1480. ;    126     !
  1481. ;    22      &&
  1482. ;    53      ||
  1483. ;    14      Len(
  1484. ;    4       Lower()
  1485. ;    6       Upper()
  1486. ;    2       Mid()
  1487. ;    19      Left()
  1488. ;    22      Right()
  1489. ;    21      Space()
  1490. ;    7       Ferr()
  1491. ;    4       Chr()
  1492. ;    9       InStr()
  1493. ;    9       RTrim()
  1494. ;    3       U_Name()
  1495. ;    2       StripAtx()
  1496. ;    2       Strip()
  1497. ;    1       Inkey()
  1498. ;    2       String()
  1499. ;    3       Mask_Num()
  1500. ;    1       Mask_Path()
  1501. ;    20      PPEPath()
  1502. ;    3       SysopSec()
  1503. ;    6       CurSec()
  1504. ;    14      Exist()
  1505. ;    20      I2S()
  1506. ;    22      S2I()
  1507. ;    1       AnsiOn()
  1508. ;    1       FileInf()
  1509. ;    10      IsBitSet()
  1510. ;
  1511. ;------------------------------------------------------------------------------
  1512. ;
  1513. ; Analysis flags : Ss
  1514. ;
  1515. ; S - Shell to DOS ■ 5
  1516. ;     This may be normal if the PPE need to execute an external command,
  1517. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  1518. ;     or usefull (sorting, maintenance,...). Check!
  1519. ;     ■ Search for : SHELL
  1520. ;
  1521. ; s - Sysop level access ■ 5
  1522. ;     Program is reading the sysop access level, this may be normal
  1523. ;     but still it is very suspect. It is the best way to give a user
  1524. ;     all priviledges. Check!
  1525. ;     ■ Search for : SYSOPSEC()
  1526. ;
  1527. ;------------------------------------------------------------------------------
  1528. ;
  1529. ; Postprocessing report
  1530. ;
  1531. ;    5       For/Next
  1532. ;    5       While/EndWhile
  1533. ;    43      If/Then or If/Then/Else
  1534. ;    9       Select Case
  1535. ;
  1536. ;------------------------------------------------------------------------------
  1537. ;                 AEGiS Corp - Break the routines, code against the machines!
  1538. ;------------------------------------------------------------------------------
  1539.