LORD Gambling Casino - Recompilation work notes
Created LGC-Beta.txt April 17, 2003.
========================================

    Unregistered program name:  The Dragon's Breath Gambling Hall.
    Actual program name:  L.O.R.D. Gambling Casino.
    Tobin's last version number usage: 1.7.14r2.

March 25:  -- Successful compile of ANSID.pas unit file.
              No commands needed to be disabled.
           -- Successful compile of COLOR.pas unit file.
              No disabled code commands in file.
           -- Successful compile of FWIZARD.pas unit file.
              Fossil Wizard Unit by Steve Connet.  Modified by Tobin.
           -- Successful compile of CUSTEXIT.pas unit file.
           -- Successful compile of CRC32C.pas unit file.

March 28:  -- Changed Tobin's doorread.inc file into UNIT - doorread.pas.
           -- Unable to locate Windex unit file. Disabled relevant code.
           -- Changed doorio.inc file into UNIT - doorio.pas.
           -- Changed Exec.inc file into UNIT - exec.pas.

April 11:  -- door, doorio, etc:  Added BS CONST value.

April 12:  -- Cleaned up code, recompiled Color.pas.
           -- BBS Color Unit by Tobin Fricke.  It sends the color
              codes to the screen using BIOS.  These can easily be
              trapped and sent to the modem by most BBS systems.
           -- Only disabled code in file was lines handled by Tobin.
           -- Cleaned up code, first compile done of door.pas. 5:06 am
           -- Had to disable some code lines due to missing code files.
           -- Compiled doorread.pas UNIT file with some code disabled.
           -- Compiled doorio.pas UNIT file with some code disabled:
              ** Unable to locate WriteChainTxt, SetUser, ExpandMCI,
                 and RPGANSI.ProcessChar procedures/functions.
           -- Created Windcode UNIT file for code found on SWAG HTML
              web-site for OpenWindow, CloseWindow - those procedures
              did not work in program.
           -- door.pas: Changed MiscPath CONST to c:\bp7\Casino.
           -- door.pas, etc:  Added FF, CR, LF, and HT CONST values.
              Enabled UpdateCursor procedure.
           -- Code clean-up, recompile of FWizard UNIT file.
              no code disabled in file.
           -- Cleaned up code, revised CONST section. TTY.PAS
           -- Lordgc:  Added usage of Temp_A var in CasMain procedure.

April 17:  -- Created LGC3.pas based on Nice Hag IGM's hag3.pas. 05:57 am
           -- Moved content of TTY.pas into new LGC3.pas file. 6:02 am
           -- LGC3 compiled with TTY content successfully. 6:05 am
              ** Eliminated usage of TTY.pas Unit file.
           -- Created LGCVars.inc INCLUDE file, using Hagvars.inc file.
           -- Created Lgc_Lord.inc INCLUDE, using Lorddata.inc file.
              Added lgcvars.inc and lgc_lord.inc usage to various files.
              ** Eliminated usage of Lordstrc.pas Unit file.
           -- Moved content of Custexit.pas into LGC3.pas.
              Moved content of CRC32C.pas into LGC3.pas.
              Recompiled relevant files successfully afterwards.
              ** CRC32c - used by IGM's registration code.
              ** CustExit - Custom Exit code program.
              ** Eliminated usage of CustExit.pas, Crc32c.pas Unit files.
           -- Recompiled door.pas with LGC3 unit, containing TTY code.
           -- Recompiled doorio.pas using LGC3, containing TTY. 6:08 am
           -- Combined Doorio.pas into Doorread.pas.  Compiled file.
           -- Recompiled doorread.pas using LGC3, containing TTY.
           -- Enabled CheckTimeChange procedure usage inside doorread.
           -- Door: Changed EXECUTE function to EXECUTE2.
           -- Recompiled door.pas using new DoorRead.pas file.
           -- Transferred all of Doorread.pas into door.pas file. 6:35 am
           -- Recompiled door.pas, lordgc.pas files at 07:42 am.
           -- Exec.  Changed EXECUTE function to EXECUTE1.
              - Uses Assembler code.
           -- LGC3:  Changed AddMail to use STR value from Usefull,
              when N2S didn't work right, with attempted use of Chaswigm.
           -- Lordgc.pas:  Changed MyVersion to 1.80 beta.
              Changed all REC references to use TLordRec, for usage
              of LORD player.dat values.
              * Made TLordRec a Global var in Lordgc.pas.
              * changed "Gold peices" wording to use "Gold Coins".
              * Changed PDat var usage to PlayerDataFN.
           -- FindRec, GetRec, SetRec functions changed to use
              PlayerFile, instead of original F var, for Player_Info
              FILE reference.
           -- Changed original U var for Player_Info record-level
              access, to PlayerU var name, in FindRec.

           -- Re-enabled some more code inside Lordgc.pas.
              All component files used by Lordgc recompiled. 9:08 pm.

           -- EXEC, ANSID. Code is properly indented now. 10:55 pm.

April 20:  -- Started work with Lordgc.pas to convert it to use
              Chaswigm code library material, and ANGEL Tool-kit.
           -- lordgc.pas: Added {$DEFINE LORDIGM} to start of file.
           -  Added Angel, Alord, ChaswIGM to USES line.
           -  Disabled Fwizard, Usefull, TimeSlice, and Timer.  With
              exception of Usefull, code compiled fine afterwards
              without any tweaking needed.
          -   Usefull references for Wordwrap, AN, Center, NameCaps
              changed to Usefull.<var> format so they continue working.
          -   Replaced Str, StrW references with N2S or Comma.
          -   Replaced old number input processing lines to use AReadLong.
          -   Changed ClrScr references to AClr.
          -   Changed GotoXY reference to CWGotoXY.

April 21:  Code conversion notes continued.
          - Compilation of lordgc.pas w/o direct linkage of usefull.tpu
            acheived at 1:05 am.
          - Using lordgca.pas, based upon nicehag.pas file, fixed it
          hopefully correctly, to be primary file for creating an
          ANGEL version of Lord Gambling Casino.
          - Created lgc1.pas file, based upon Nice Hag igm's hag1.pas
          file, then merged content of lordgc.pas into it.

          04;15am - First full compile achieved of lgc1.pas, lgc2.pas,
          lgc3.pas, and lordgca.pas files used to create LORDGCA.EXE.
          Program is NOT tested.  And probably should NOT be until
          Charlie can fix stuff I'm not sure about what to do with.

          The recompiled lordgc.exe file, in lgc-work.zip, may still
          work, as it still uses the original program stuff, but with
          some material replaced from the ANGEL and Chasware material.

         This is VERY much a work in progress, as I am just guessing
         my way through various things, towards these goals.

         1) Get program to compile without usage of material from
         door.pas file.  Seeing as how (a) some of what was meant to
         be used in it, simply does not exist or I've been unable to
         locate it anyway.  And (b) since most of it doesn't make any
         sense to me anyway.

         2) Get IGM to start working in any way possible in Local mode,
         without a user having to have the doorsys BBS stuff around.

         3) Get rid of screwy (to me) color.pas stuff, and use simple
         LORD color codes everywhere.  Trouble being, I'm not that
         sure what on earth all those ANSI number codes Tobin uses
         are in regards to the LORD codes.

         4) I assume, but don't know, that whatever is inside ANSID,
         Fwizard, Timer, and TimeSlice could be deep-sixed easily.
         But I'm not sure how to do all that.

         5) Once IGM seems to work, remove all registration-related
         stuff from usage, including all the wierd stuff from crc32c.pas
         that I put inside lgc3.pas last week.

         So, guys, if you can study what I've got so far, and help
         any towards fixing this frankenstein into a working program,
         PLEASE DO IT.

         * Hopefully, Lordgca.exe is properly configured for the
         LORDGCA INSTALL command to work.  If it does work, then
         Lordgcin.exe is no longer needed.

April 22: * lgc3.pas - Placed stripped down copy of YesNo function
         in file.  Added ALord to USES statement, for usage of AInput.
         * lgc1.pas - Took out usage of TimeSlice, Door from USES.
         Disabled references to Color.* functions/procedures.

         * Worked on update of LordInt.pas file.  Got it working
         before midnight, except for fact that existing code didn't
         have anything to write the Bank Rate to a disk file.

April 23: * Worked on matching Lordgca.pas to the template NiceHag.pas
         file, and the corresponding LGC1.pas and Hag1.pas files are
         now more in sync.  Worked on getting Lordint.exe to work
         correctly in Config mode.

         * Borrowed code from Pawnunit.pas for purpose of using the
         ShowLn command, for displaying data on-screen with color.

         * Changed LordInt to use different variable names, and to
         use LGC-RATE.DAT file, instead of original Lordint.dat file
         -- which due to missing code never was being created.

         * updated lordgc.doc with new info on Lordint program,
         revised opening section, and added Credits section.

         * Added DDANSI2.PAS unit from DDPLUS due to ShowLn and its
         related procedures/functions having to have it around.
         Unit file is only accessed at this time by Lordint.exe.

         * Removed CRC32c and CustExit related code from LGC3.pas.
         * Added Read_IntRate, Write_IntRate code to LGC3.pas.
         * Added Interest_Data RECORD structure, TRateRec, BR_File,
           and IntRateFN variables to LGCVars.inc, used by LordInt.exe,
           -- and eventually by Lordgca.exe.

4:54 pm  * Program was using invalid references for LORD player.dat.
         -- Changed all use of LGC_Lord.inc to LordData.inc.
         -- Changed all use of Player_Info to Lord_Info.
         -- Activated usage of DebugLog procedure and LGCDebug.txt file.

11:00 pm - First actual usage of IGM achieved to limited degree.
         - Fixed so that ReadLordFile works properly.
         - Fixed hopefully completely the ReadConfig process.
         - Corrected references to Config.* in places to Casino.* ref's.
         - Changed version number to 1.83 for new testing.
         * Changed LGC2's Install process to handle the other 5 lines
         needed by lordgca.cfg file, covering SlotJackpot, SlotWinner,
         Casnym values.

         * Worked on revision of LGCVars.INC.
         * First partial usage of IGM achieved at 10:20 pm approx.
         *

April 24:  * Copied WordWrap, Center functions from Usefull.pas to
             LGC3.pas file.  Removed Usefull from USES statement
             in Implentation section of LGC1.PAS.
           * LGC1: Added SysopName, Slot_JackPot, Slot_Winner
             declarations to CONST section.
             - Changed Max_Visits to CONST section entry.
             - Dropped usage of FirstName and LastName, and started
             using only SysopName for 1st line of IGM Config file.
             - Rewrote parts of Update_Config procedure.
             - Usage of UC_File, and UConfig for accessing LORDGCA.CFG.
             - Fixed errors, where Casnym was in wrong places, and
               the readln statements weren't accessing Slot jackpot
               or slot winner values.
             - Rewrote parts of ReadConfig procedure.
             - Usage of GC_Temp and GCFile for accessing LORDGCA.CFG.
             - Rewrote "File does not exist" notice to user section.
             - Revised entries for writing data to debug log in
               various places, including ReadConfig.
             - Changed Lordpath value to be defined by InfoXDir.
             - Changed PlayerDataFN value to use LordPath+'Player.dat'.
               Was using Progpath incorrectly previously.
             - Fixed references to Max_Visits, Jackpot fields to
               use N2S or S2N functions for string-number, number-string
               conversions as needed.

           * LGC2.pas changes:
             - Changed to use as global vars - IGM_CasNym, Jackpot,
               Winner, Max_IGM_Visits values.
             - Reformatted A_in_B function.
             - Redesigned LordIGMInstall procedure.
               - Added Default_Name CONST for internal IGM name.
               - Added PromptStr dialog box usage to allow user to
               choose the Internal IGM name to be used in IGM menus.
               - Changed from Max_Visits to Max_IGM_Visits.
               - Changed CasNym value to be string[40} declaration,
               limiting size of string to 40 spaces.
             - Reformatted the Config_Change and GetGameDir2 procedures.
             - Changed GetGameDir2 to access config file using
               an F2:TEXT variable.
             - Fixed all READLN entries throughout unit file to
               properly process Casnym, Jackpot, Winner fields, which
               were not previously all accounted for.
             - Changed Config_Change to use LGC_Config for the String
               var for IGMDir_Path+IgmFN code statements.
             - Reformatted the LordIGMUninstall and GetGameDir procedures.
             - Revised InstallLord procedure.

           * LGC3.pas changes:
             - Added CENTER Function.  - Added WORDWRAP Function.
04/24 Evening: - Worked on color code changes for Game menu screens.
           * Added option to IGM's Main Menu for "View your Stats".
           * Worked on tweaking screen design for Roulette, BlackJack,
             Slot Machine, and Bank.
           * Activated code in IGM for the IGM Visits counter in
             View_Stats, Run_IGM, and inside Used_Stuff procedures.

           * worked on commenting code for Color code changes.
           * Activated visits material somehow made IGM stop working
           right again.

April 25:  * Bank: Added code to prevent either TLordRec.Gold or
             TLordRec.Bank from exceeding 2 Billion amount, after
             Deposits or Withdrawals have been made.
           * IGM Exit: Added same code lines, so that gambling
             winnings can't send someone back to LORD with over
             2 Billion Gold in Hand, or Gold in Bank.
           * Blackjack.  When showing player their cards points info,
             added " points." to end of the lines showing player's
             points total and dealer's points total.
             -- Worked on color coding of Blackjack-related lines.

April 26:  * Redesigned IGM's internal Credits info screen to do
             copyright info lines for Tobin Fricke, Charlie Wardick,
             LORD credits, and ANGEL tool-kit credits.
           * Made sure that IGM allows all allotted visits per day.
           * Bank: Added (V)iew your Gold Status menu entry.

April 29:  * Changed to usage of external file CCL-APPS.TXT for
             listing links to all of my LORD programs.
           * Version changed to v1.90 for final testing before
             doing v2.00 official release in a few days.

May 01:  * Changed Alord.pas by adding usage of DDPlus's LordLock
           UNIT to the Implementation section's USES statement.
         * ReadLordFile, WriteLordFile, ReadInfoX, AddText
           procedures modified to use Lockfile/Unlockfile.

           Recompiled IGM using updated Alord.pas Unit. (NOT DONE YET)

May 03:  * Changed to v1.92. Changed compile date info.
         * Revised Armour/Weapon lines to show Item # info
           before the colon in Stats Screen.

May 04:  * v1.95 beta.  * Roulette: Changed menu command letters
           to display in Red.  * Slots: show menu command letter
           brackets in Light Green, command option in Yellow.
           Slot machine ANSI: show $ signs in Red.
           * Blackjack: Added blank line before each status display
           line.  Added pause at end of Blackjack procedure.
           * Removed all Debug log code from program.
           * Removed following lines from top of Lgc1.pas file

    { 04/17/03: Replaced usage of Lordstrc.pas with Lorddata.inc.
                Removed usage of separate CRC32a, CustExit Units, using LGC3.pas.
      04/20: Removed usage of Timer, TimeSlice, Fwizard units completely.
              Added ChaswIGM Unit, to handle some commands from Usefull Unit,
              which remains in use due to commands like WordWrap and "AN".
              Added Angel and ALord to USES statements in various code files.
      04/21:  Started usage of AReadLong, N2S, S2U, CwGotoXy, AClr, etc. commands.
      04/24:  Usage of CENTER/WORDWRAP now from the LGC3.pas file.
      ===================================================================== }

May 05:  Testing of IGM without debug logging code. DONE.
         No problems detected.  Revised Stats screen looks fine.
         Usage of v1.94 and then v1.95.

May 06:  Added dedication line to Title Screen.  Decided to dedicate
         the rebuilt IGM to my friends Jason Brown and Lloyd Hannesson.

May 16:  Prepared final BBS beta, v2.00 beta.
         Returned to usage of Lordgc.exe program name.
         Resumed usage of Lordgc.cfg igm config file.
         Changed docs file name from lordgc.doc to Lordgc2.txt.
         Changed Max Visits value from 8 to 10.

May 19:  Found problem in Roulette.  Would not process bets around
         or above 75,000 amount.  Which caused player to be dumped
         out of the game.  Started debugging to check on source of
         problem.  04:41 am.  4:50 am.  After changing BET Var to
         Bet_Amount inside Roulette procedure, problem disappeared.
         Was able to bet amounts from 100,000 upward to 250,000 without
         problem.  Betting 0 gold now exits back to main menu.

May 26:  Finished beta work on IGM.  Prepared for release on Monday,
         May 26th, 2003, officially as version 2.00.
         * Changed IGM exit key code from 5 to 7.  Made 5 code so
         it displays Stats screen, and 7 code now exits IGM.
         ** v2.00:  Officially released on May 26th, 2003.
========================================================================

June 11:  * Recompiled IGM to fix code errors in handling of
            configuration file in CONFIG/INSTALL/REMOVE components.
          * v2.01 beta used for version number.

June 27:  * Recompile with revisions to alord.pas unit file.
          * changed version # to 2.02 beta.

July 22:  * First successful compilation, of v2.03 beta, under Windows XP,
            using Borland pascal 7.01.  Fixed colors usage in stats screen,
            and added usage of (MASTERED) in skills info section.

August 27: * Recompiled igm on Windows ME system, after finding out
          that the July compile was not working under LORD 4.07.

September 11: * Prepared IGM as v2.10 for official release later today.
    * Stats: Fixed so that it displays column info for Armour Name
      and Weapon Name properly if their number is one digit long.
      Show Skill class name, Uses Today wording in White.
    * Roulette:  Added some blank lines in places.
      Tweaked colors shown in some result lines.
    * Slot Machine: Tweaked colors usage.

    * Use v2.10 Final beta for version # until igm updates testing done.
    * Send update to beta testers to look over.

September 16: Prepared and released v2.10 officially.
    * Changed IGM's name to simple "LORD Gambling Casino", dropping
      the periods previously used in the title.
========================================================================

{END} LGC-Beta.txt file.

Nov. 26, 2006 Updates:
          * Rewrote Update_Database_File process.
              All of the igms are now designed so that if the
              igm's player database file is missing, they will
              recreate it.  With exception of K.L.Bank IGM,
              which now restores a backup of the player database,
              if possible, to protect player's Gold/Gems balances.

          * revised lgc1.pas and lgc3.pas processes that used
            the Update_Database_File.
          * recompiled lgc1.tpu. and lgc3.tpu.
          * NO change made to LORDGC.EXE.

Feb. 10, 2007:  * Did IGM redesign work.  Rewrote the layout
            of igm's Config file to use CASINO.DAT name and
            new structure.  Deleted the Casino Name variable.
          * Editing changes made in LGCVars.inc and LGC*.pas
            unit files.  Lordgc.pas was also rewritten at
            various times during February-August 2007 period.

Sept. 21: * Recompiled LGC2CFG unit, renaming it back
            to LGC2.PAS/TPU files.  Recompiled LGC1, LGC3.
          * Recomiled LordGc.exe as version 2.11 Beta.

          * Created new docs file, using temporary file name
            of LGC-DOCS.TXT, to replace LORDGC.TXT.

---------------------------------------------------------------
Sept. 04, 2008: Did official release of IGM v2.30 and LGCEDIT
          v1.10.  Stopped doing regular updates of LGC-Beta.txt
          file back in early 2007.

