Table of Contents
-----------------
1)  Version (with Compatibility, bugs/fixes and to-do lists)
2)  General Comments
3)  Instructions for Users
3a) Installation
3b) Uninstallation
4)  Instructions for Mod Developers
5)  Author and Other Notes

Any suggestions, comments, problems, etc, email Kiran Joshi at kiran@joshi.com
--------------------------------------------------------------------------------
Thur, Jul 5, 2002
 v0.3.2 - Fixed a simple feature.  When you double-click on any file in the 
           listboxes, the default program opens it.

--------------------------------------------------------------------------------

Thur, Jul 5, 2002
 v0.3.1 - Added one simple feature.  When you double-click on any file in the 
           listboxes, the default program opens it.

--------------------------------------------------------------------------------

Thur, Jul 5, 2002
 v0.3                              *IMPORTANT*
    **- Instead of "Setup.ini" the program now uses "ModManger.ini".  This file
         stores some directory information and locations of all mods installed.
         The file is read in as records so each line MUST HAVE 78 characters 
         and then the CARRIAGE RETURN and LINE FEED.  The "UnInstall.log" file
         has not been changed, so it is SIMPLE to get your previous mod
         installations (by a previous version of this program) to be recognized.

         When you start the program, it'll ask for the "ModManager.ini" 
         location.  Since this is the first time you're running it, it shouldn't
         exist yet.  Choose the folder location where this program is stored.
         The file will be created and the program will start.  

         To import your previous installations, find their directory and store
         them in the textboxes.  When you close the application, the textboxes
         are saved in the "ModManager.ini" file.  Then, open "ModManager.ini"
         and copy the location of the mod and paste it at the end of the file.
         *You need to copy the newline character as well.*  The easiest way to
         do this is to get the cursor at the beginning of the line, Hold SHIFT,
         and then press down.  The whole line should be highlight and you can
         copy and then past at the end of the file.

      - I got all my ideas for this release from Neale Lonslow's Civ3ModLdr.
         It's another Civ3 Mod Manager, but when I tried it, it didn't work.
         The files weren't backed up, so when attempting to uninstall a mod,
         the files would just be missing and you couldn't play the game.  He
         is going to fix this.  If it works for you, that's great. His program
         seems to have a better interface and more features. However, as of 
         now, mine works ;)  for me at least :)  You can find it at,
         http://mumbalicious.8m.com/
      - The program got a face lift and many additions.  Unfortunately, the
         interface doesn't look any prettier and probably worse, but works well.
         And to me, at this moment, that's what counts.  But I'm open to 
         suggestions on how to improve it.
      - Added a listbox that displays the current installed mods.  Anytime a 
         mod is clicked, the path to it's backups is displayed in the third
         textbox.
      - Added a command button called "Only Installed Mods" that checks the mod
         source location and sees if the files in the subdirectory conflict 
         with any mods currently installed.
      - Added a command button called "Mods & Civ3" that checks the mod source
         location and sees what current files needs backing up
      - Improved the Installation phase with better error checks.  Also, the
         FreeDiskSpace check is now accurate and calculates the total size 
         needed for both backups and the mod and compares against the free
         drive space.
      - For "Validate Mod", not only are the valid files (those still installed)
         written to a file called "Validfiles.log", they are displayed in a 
         listbox.  And invalid files (mod files that have been overwritten or
         are missing) are written to a file called "Invalidfiles.log" and also
         displayed in a separate listbox.
      - Added a command button called "View Files Backed Up By A Mod" that takes
         the path in the third textbox and reads the "UnInstall.log" file and
         displays what files are currently backed up.  No checking is done to
         see if those files are still actually backed up, only the log file is 
         checked.
      - Added a command button called "List Files For Installed Mod" that takes
         the path in the third textbox and reads the "UnInstall.log" file and
         displays what files are supposed to be with the mod.  No checking is
         done with the current setup, for that, use "Validate Mod"
      - Added a command button called "Check Compatibility of Installed Mod"
         that takes the path from the third textbox and reads the 
         "UnInstall.log" file.  All files that are in conflict with any other
         installed mod will be displayed in one listbox.  All the other files
         will be displayed in another.  This differs from "Validate Mod" 
         because you could have overwritten several files from one mod and
         "Validate Mod" would not show that.
      - Added a command button called "Compare Multiple Installed Mods" that
         requires 2 or more selected mods in the "Installed Mods" listbox.
         Any files that the selected mods are in conflict with will be 
         displayed in a listbox.
      - "Uninstall Mod" has been improved and refined.
      - Added a command button called "Help" that displays this file.  It goes
         to the same directory as the program/"ModManager.ini" file and opens
         "Readme.txt" with the default text editor.  If this file is not in the
         directory, then nothing happens.

--------------------------------------------------------------------------------

Thur, Jul 4, 2002
 v0.2 - Added a Validation button.  This allows the user to enter the location
         of a mod in the third textbox and then to see if the files are still
         installed or if they were overwritten by another mod.
      - Added a LOT of error checking.  Checks for errors against most system
         calls.  They're handled much better, but hopefully, I didn't introduce
         new errors while implementing the system.  They seem fine so far.  
         They should make installations and uninstallations easier because they
         interpret the error messages from Windows better instead of making a
         blanket assumption or no assumption and quiting.
      - The program now checks for free space.  However, it's quite rudimentary.
         It calculates the space needed by the mod and checks to see if the 
         drive where Civ3 is installed has that much free space.  It also checks
         the mod folder where there is supposed to be the back up.  I do not
         calculate the space needed for the backup so I just assume it'll be
         the same as for the mod.  It's a bad assumption, but easy to make and 
         will do for the current version.  If the backup drive and Civ3 drive
         are the same, then there must be twice as much space as the size of
         the mod.  However, the final decision is left up to the User as to
         whether to continue with the installtion.
      - I did not realize that by introducing the ProgressBar, I made 
         MSCOMCTL.OCX a requirement.  I removed progress bar and just show
         percentage completed and update that.
      - I have decided to not deal with zip files because I do not want to 
         bring other dll files or such the mix.  This program is simple and
         shall stay that way unless people request otherwise, but since I 
         haven't received even one request, I don't expect any :(

Wishlist
--------------------------------------
- Prettier setup, better layout.  Current one is functional, but not pleasing

--------------------------------------------------------------------------------


Sat, Jun 12, 2002
 v0.1.2 - Added Progress Bar, source code is fully commented now

Wishlist (No longer called to-do list)
--------------------------------------
- Analyze disk space before installing the Mod 
- I check for big errors, but I do not check for freak errors.  It's possible
  that a file cannot be copied if it is already opened, or if the disk is full,
  or random Windows errors.  Analyzing disk space reduces the chances of some
  of these freak errors but I can't think of an elegant way to catch most of
  the errors except check for an error each time I write to a file or copy a
  file.  This could slow the program as well as take as while for me to
  implement.
- Prettier setup, better layout.  Current one is functional, but not pleasing
- Automatic compression of the backup folder
- The ability to read a compressed file, so the mod can be a zip file and the
  program just unzips the file to a temp folder, does the installation, and then
  deletes the temp folder

--------------------------------------------------------------------------------

Sat, Jun 8, 2002
 v0.1.1 - bug fix

Fixed
-----
- Tab ordering
- Did error checking so the program checks to see if the source exists.  Before,
   it would copy the current directory and it's subdirectories and also have
   other non-intended consequences.  Now, it instructs the user to specify 
   another source

--------------------------------------------------------------------------------

Sat, Jun 8, 2002
 v0.1 - First release of this program.  (Made in Visual Basic 6.0)

Compatibility
-------------
I've tried this program with Womok's terrain, DYP mod, and Dixon Wonders.  But,
in order for them to work, I had to take some steps which I've outlined below.
I believe that other mods will also work as long as the same measures are taken.

Bugs
----
The program works, but I know how things work and what to do, so I am supposed
to get no errors.  This program may have unintended consequences if not used
properly, so as more people see my design flaws, I'll post them and try to 
correct them.

To Do list
----------
- Prettier setup, better layout.  Current one is functional, but not pleasing
- Automatic Compression of the backed up files
- The ability to read a compressed file, so the mod can be a zip file and the
  program just unzips the file to a temp folder, does the installation, and then
  deletes the temp folder

--------------------------------------------------------------------------------

General Comments
----------------
This program does not officially have a name yet.  It began as an installer for
the Double Your Pleasure mod for Civilization 3.  It's purpose was twofold. Not
only to detect the Civ 3 directory from the windows registry, but also to 
create a backup for all the files the mod will overwrite.  So not only would 
the installation be easy, but also the uninstallation.

Then I realized that there is minor difference from this and a simple manager
for any mod in Civ3.  Granted, this is only a simple Mod manager, but seems to
suffice.  So, given any mod, this program would copy the contents to the Civ3
folder.  Since people have their Civ3 in different places, I allowed for the 
modification of the destination, as well as the source of the mod, and the name
for the mod folder where the backups are contained.  This created a general
purpose program which copies all contents from one directory (including the
subdirectories) to another directory.  All the files meant to be overwritten
are then backed up and a log file is written.  Using the log file, the program
can delete the mod and restore the backup.

In cases where the user installs one mod with a terrain set over the original,
and then another terrain set over the mod, when the user then asks to delete
the first terrain set, obviously the installed files will not be from the first
mod, but the second.  The program will ask the user whether to restore the 
files, or keep the current ones.  If the first mod is restored, the installed
files will be deleted and the original ones restored.  So when the user then 
tries to uninstall the second mod, anther set of problems could occur.  If the 
user decides not to overwrite the files during the uninstallation of the first
mod, the original files would be deleted, because the second mod's backup files
would contain the files of the first mod.  So, please becareful about this.

These were the intentions of the program.  I think like a developer so it's not
completely user friendly I suppose.  The aesthics leave a lot to be desired, 
but this is only the first release and hopefully, they will improve as the 
program matures and anyone else wants to help.

--------------------------------------------------------------------------------

Instructions for Users
----------------------
Currently, no mods are designed for this program and this program is not 
designed for any particular mod.  However, if someone does design a mod for 
this, then all one would have to do is run the program and clik on the Install
button.  Later, you can run the same program and then click on uninstall to
remove the mod.

Installation
------------
Until that glorious day when mods are designed with this program in mind :),
these are the simple steps one must perform.

1) Create a folder with the mod files in their proper subbdirectories
  e.g. For womoks terrain
       a) create a folder called "C:\WT"
       b) create a folder called "Art" inside "WT"
       c) create a folder called "Terrain" inside "Art"
       d) put all his great graphics files in the "C:\WT\Art\Terrain" folder
  * This program should not be run from "C:\WT" or any of it's subdirectories
    because then the program copies itself.  That might cause problems that I'm
    not aware of.  Especially if you try to uninstall the mod by running the 
    program from the backup folders, because it will try to delete itself while
    running.

2) Run this program

3) make sure the first textbox is where directory where your Civ3 is installed
   - if it's not, you have two ways of correcting this.  
     - i)  You can either type the proper location.
     - ii) You can browse through the directories and when the correct folder 
           is found, click on the first button labeled "<--" which will copy
           the location to the first textbox

4) make sure the second textbox is the correct source for the mod
 e.g. From the example above, the location would be "C:\WT"

5) make sure the third textbox is where you'd like the backup files to be 
   stored.  This folder must not currently exist!  If it does exist, the
   program assumes that the mod is already installed.
   - Again, you can browse the directories, but this time, you must add
     additional information.
  e.g. Continuing with the example above.  Assume that Civ3 was installed
       at C:\Civ3.  Then you could browse to that location, and then add
       "\womoks", which would result in, "C:\Civ3\womoks" and all the backup
       files and folders would be installed in that folder

6) Click on "Install"

7) Click on "Exit"

8) Enjoy Civ3 with the mod!
      
Uninstallation
--------------
Assuming that the installation worked properly, you can uninstall the mod and 
restore the previous files.  Continuing the example for womoks terrain, to 
uninstall the mod, all you need to do is:

1) make sure the third textbox points to the same folder during the installation
  e.g. Following the example,
   - "C:\Civ3\womoks"

2) Click "Uninstall"

In this folder is the log file made during the installation.  It stores the 
locations of all the files copied, directories created and date and time stamps
of the files.  Inside the directory is also the backed up files.  During the
uninstallation, these files are restored and this folder, e.g. "C:\Civ3\womoks",
will be deleted.

--------------------------------------------------------------------------------

Instructions for Mod Developers
-------------------------------
First, read the instructions for the Users.  Now you know what the users have to
do, you can do the work for them.  If you'd like, you can copy this program with
your mod.  However, this program must be in a separate directory, as stated 
above.

This program also reads a file when loading called, "Setup.ini" if found.  The 
first line is expected to be the name of the mod.  A folder by that name will be
created in the Civ3 directory by default.  The second line is assumed to be the 
source. 

Let's say you created a new unit and would like to ease the installation for the
user.  These are steps you can take to make the mod work for the program.

1) Create a folder named "Whatever"
2) Put a copy of this program in the "Whatever" folder
3) Create a folder in "Whatever" named "ModSource"
4) Create a folder in "ModSource" named "Art"
5) Create a folder in "Art" name "Units"
6) Create a folder in "Units" named "My Unit"
7) Put the files for the unit "My Unit" in the folder "My Unit"
8) Create a text file called "Setup.ini" in the folder "Whatever"
9) Type "My Unit Mod" in the first line of "Setup.ini"
10) Type "ModSource" in the second line of "Setup.ini"
11) Rename this program to "Setup" or whatever else you'd like
12) Zip the folder "Whatever" and broadcast to the world your great new unit

*Note, for a new unit, you still need to edit the bic file.  If you wish, you 
can edit the bic file and store that in "ModSource".  You could also add a
"Readme.txt" in "Whatever" that instructs the user how to add the new unit 
themself.  However, the "Readme.txt" will not be copied during the installation
and I may change that in the future due to demand.

Any file you put in "ModSource" will be copied to the Destination textbox, which
is defaulted to the Civ3 directory.  Any subdirectories of "ModSource" will be
copied as subdirectories to the destination.  Any Duplicates will be backed up.
Any new folders needed will be created.  The Uninstall process will restore 
files and delete newly created folders and files.

--------------------------------------------------------------------------------

Author and Other Notes
----------------------
This program was created by Kiran Raja Joshi.  Email: kiran@joshi.com
One portion of the program used code by Brian Harper to access windows registry.
Neale Lonslow, who created Civ3ModLdr, helped me out by giving code and other
suggestions.  His help is much appreciated.

If you'd like the source code, just email me.  But I would appreciate knowledge
of any improvements and/or changes to the program.  

There is no guarantee the program works.  It has worked for me (well the 
released versions at least).  If there is an accident and files get erased,
I do not take any responsibility.  If you have problems, let me know and I'll
try my best to help.
