WARNING: This document is an internal VR Studio document describing
how to set up Panda on a new PC using our internal development
environment.  It is not useful for programmers who are not within the
VR Studio firewall.

If you are looking for documentation on installing Panda in the rest
of the world, see INSTALL.txt in this directory.

                ---------------------------------------
                HOW TO INSTALL PANDA3D ON WINXP/WIN2000
                ---------------------------------------

*********************************************************************
  NOTES
*********************************************************************

  - Lines preceeded by ">" are instructions to be typed on the command 
    line.
  - Make sure your system clock is not set to GMT (only worry about 
    this if your makedepend seems out of sync, i.e. you constantly 
    reinstall old files over more current ones).
  - "Touch" doesn't quite work properly currently (is this still true?).
  - Make sure your machine has enough disk space - I'd start with the 
    largest open space on any of your partitions.
    You will have the fewest headaches if you choose C:\ for everything.
    Also make sure that you're logged into your computer with the same
    username as your unix account because Cygwin will get its USER 
    variable from the windows username.
  - Ensure your computer's date is set correctly, or else the 
    compilation scripts may have problems later.
    
*********************************************************************
  Step 1: Map network drive to build tools drive
*********************************************************************

  - Right click on Network Places, choose Map Network Drive
  - Map Network Drive P: to \\mover\vol02\dimbo\usr2\panda (using your
    unix password)
    You also can do this from cmd.exe using 
      > net use p: \\mover\vol02\dimbo\usr2\panda /persistent:yes
  - Select 'Reconnect drive at startup'
  - If this doesn't work, you can install the build tools from CD
  - Run 'regedit P:\tabs.reg' to enable tab-filename-completion.
    You must exit and restart the cmd.exe shell to enable this, since 
    the registry is only read at cmd.exe startup.
    
*********************************************************************
  Step 2: Update OS software
*********************************************************************

  - On Win2000, install ServicePack 3 and DX 8.1 by running (unless you
    already have DX 8 or greater)
    > P:\win2k-servicepack3.exe
    > P:\dx8.1\DX81NTeng.exe

    or download them from http://windowsupdate.microsoft.com/ 
      (this will be MUCH slower).

  - On both WinXP and Win2000, I recommend you go to 
    http://windowsupdate.microsoft.com/, click on 'Product Updates' 
    (installing the Product Update ActiveX control), and install any
    patches labeled 'Critical Updates' as well as any updated sound,
    network, and motherboard drivers.  Video card manufacturers will
    usually have newer drivers than the WindowsUpdate site, however, so
    go to the manufacturer's website to check for win2000/winXP
    drivers, especially on win2000, since the original win2k CD drivers
    are most likely obsolete.

*********************************************************************
  Step 3: Install Visual C++
*********************************************************************

  - Choose whether to use Visual C++ v7.0 or v6.0
    As of 5/19/03, it's better to use Visual C++ v7.0 
    (which is a synonym for Visual C++ .NET)
  
  *** TO INSTALL VC++ 7.0 ***

  - Run P:\msvc7\vc7_setup\SETUP.EXE, or install from the MSDN 
    'Visual Studio.NET' CD. Click on 'Windows Component Update' 
    (if it is highlighted, else click '2').  Click 'Continue' 
    (Selecting 'Do not use this machine to host web projects').  
    You will install IE6, which will requires a reboot.  Give your 
    cvspassword if you want it to happen automatically.   
  
  - After rebooting, setup should start again.  If it does not, go 
    back and rerun it, it should remember where it left off. After 
    installing components, you are ready to install VC7 in .NET 
    setup Step 2. Enter this step and enter the product-key, 
    which is stored in P:\msvc7\vc7_prodkey.txt. On the 'Select 
    items to install page', you need uncheck things to avoid 
    wasting gigs of extra space and install time.  

  - Uncheck everything except for:
    - Language Tools->Visual C++
    - Server Components->Remote Debugger->Native Remote Debugger

    And if you want:
    - Documentation (this takes a gig, and is only a slight 
      update if you already have MSDN installed locally.  
      You will want to uninstall any separately-installed 
      MSDN docs if you get this.)

  - Unlike VC 6.0, there is no option to add the required compiler 
    bin\ directories to the environment path automatically. If you 
    are building using tcsh.exe under cygwin, wait until step 7 
    to setup the environment after your shell environment is running 
    properly.  If you are running from the NT command line, run 
     > C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin\vcvars32.bat
        
---------------------------------------------------------------------
  NOTE: 
   There is (currently) no need to install the MS Platform SDK, 
   since VC7 comes with an updated version of it.
---------------------------------------------------------------------

  *** TO INSTALL VISUAL C++ (V6.0) ***

  - Run P:\msvc-6.0\setup.exe, or install from CD. For a faster 
    install, select custom install and uncheck everything but 
    Visual C++, Data Access, ActiveX, and Tools
  - On WinNT/XP/2000, you will be prompted to register environment 
    variables for running the compiler from the command line - do it.
  - Install MSVC Service Pack 5 by running P:\msvc-sp5\setupsp5.exe, 
    or from CD. You may need to run P:\msvc-sp5\mdac_typ.exe first 
    (setup will tell you if so)
  - Install the MSDN Library documentation if this is a primary dev 
    machine. Install from the MSDN CD.
    To save time and disk space, choose custom install and uncheck 
    everything but Text-Search, Index, VC++, Platform SDK, Knowledge 
    Base, and All Other Files.
  - Install MS Platform SDK to get updated VC libs and headers
  - Run P:\platform-sdk\setup.exe to install the Feb 2001 Platform SDK 
    and choose 'Install MS Platform SDK in default location.' 
    (there may be problems with other newer versions of the Platform 
    SDK). This should prepend the Platform SDK paths to your 
    PATH,INCLUDE, and LIB dirs.  
    Building libpandadx requires this step (needs DX7 headers/libs)
    
*********************************************************************
  Step 4: Install Cygwin (v1.3.5 or above should work)
*********************************************************************

  - Latest version currently is 1.5.7-1 (Jan 31 2004)
  - As of 1.3.11, cygwin seems stable enough to install from the 
    internet, go to http://cygwin.com and click on "install cygwin now"
    - The most reliable download server is http://mirrors.rcn.net. 
      Another server is http://sigunix.cwrv.edu. 
  - Make sure that the following packages are selected for installation:
      - Under Devel packages such as :  CVS, make, flex
      - Under Interpreters : gawk, perl (see note below)
      - Under Shells : ash, bash, sh-utils, tcsh
      - Under Text : more (or less)
      - Under Archive : zip, unzip
      - Under Network : openssh
  - You can also install other programs (like vi) if you want.  
    To rotate through the possible installation options, left-click on 
    the programs of your choice.
  - DO NOT INSTALL the following packages (change the Setting to 
    "SKIP"):
      - emacs/xemacs, we have our own emacs (see Step 10) 
      - The Interpreter->python package 
      - The Devel->bison package if the version is 1.30-1.34, they are
        known to be buggy.  Version 1.28 is safe, as is version 1.35+. 
        If 1.35+ is not available, you can install 1.28 manually, 
        after you have a shell running (see step 9) 
      - Remove X-windows packages to make download smaller.
  - There are many subpackages that are obviously not needed 
    (e.g. Mail, Doc, Text, Games) that you can skip if you like.
  - Create a desktop shortcut or Start Menu item for
    c:\cygwin\bin\tcsh.exe and use it in the future.

---------------------------------------------------------------------
  NOTE:
    The known issues section pertains to older versions of Cygwin and 
    versions of software it installs by default.  If you installed 
    Cygwin version 1.5.10 (CYGWIN_NT-5.1) or newer you can probably 
    ignore the following.

    Type uname -a in your cygwin tcsh window to check version number.
---------------------------------------------------------------------

    Known Problems with tcsh:
      tcsh v6.09.00: (cygwin 1.0)   
      - long paths result in 'Word too long' errors, especially during 
        panda "attach" scripts

      tcsh v.6.11 - 6.12.00
      - TAB filename completion sometimes fails on second+ arguments in 
        cmdline (e.g. "cp file.cxx file2[TAB]" fails to complete 
        file2.cxx).
        To fix this, go to /etc/profile.d/complete.tcsh and comment out 
        the lines associated with "complete mv" and "complete cp"
       
      v6.09 and v6.11 should be stored on P:\cygwin-1.3.5, you can copy 
        them to c:\cygwin\bin if you want to use them
    
    Known Problems with bash:
      - None :)

    Known Problems with perl version 5.8.0-2 installed by default w/ 
      older Cygwin install, check perl version with "perl -V" in your 
      cygwin shell:

      This is not compatible with the current $DTOOL startup script 
      $DTOOL/etc/dtool.cshrc install: specifically the 
      "source $SETUP_SCRIPT" because cygwin Perl 5.8.0 leaves a ^M 
      newline in the variable, screwing up the later source 
      $SETUP_SCRIPT resulting in startup errors.  Stay
      with earlier versions of Perl (5.6.x) or later versions of Perl,
      starting with version 5.8.0-3
               
    Next, you can run a bash shell by going to the "Start"
    button at the bottom left of your screen, selecting "Programs",
    "Cygwin" and "bash".  You can then run "tcsh" at the bash prompt 
    to make things easier.  To make things really easy, edit 
    C:\Cygwin\cygwin.bat, change "bash --login -i" to "tcsh -i", 
    this will cause tcsh to be the default shell when you start 
    Cygwin command prompt/shell.  

*********************************************************************
  Step 5: Create your HOME directory
*********************************************************************

  - Add C:\Cygwin\bin to the $path environment variable in the registry 
    to avoid errors (sed: Command not found) when executing the file 
    complete.tcsh (in C:\Cygwin\etc\profile.d) on startup 
    
  - Create a HOME directory:
      > mkdir /<home root>/<login>

    where <home root> can be either "usr" or "home", and <login> is
    the name you use to login to your Windows machine.
   
    In Windows this directory will be the equivalent of:    
      C:\cygwin\<home root>\<login>

  - Set the $HOME environment variable in the Registry:
    - Note: You must be logged into an account with Administrator access
    - Select "Start Menu->Control Panel"
    - Select "System" icon.
    - Select "Advanced->Environment" button.
    - Create the variable "HOME" with the value:
         "c:\cygwin\<home root>\<login>".
    - click ok - ok - ok to exit (you must exit for the change to take 
      effect)
    - Now open a new shell so the registry is read by the shell to get 
      the changes.

---------------------------------------------------------------------
  NOTE: 
      We've seen a problem where we can't source ~/.cshrc if the 
      <login> in your HOME directory does not match the user name 
      %USERNAME% windows env var. To be safe, be sure your <login>
      matches your Windows login as part of your HOME directory name.
---------------------------------------------------------------------

  - Copy important startup files into your home directory:
    > cd P:/win/install/wintools/panda
    > cp .cshrc .emacs Configrc Config.pp.sample /<home root>/<login>
    > cd /<home root>/<login>
    > mv Config.pp.sample Config.pp
    > mv Configrc Config.prc

  - Make sure the contents of .cshrc are correct for your setup.  In 
    particular, make sure the definition for PANDA_ROOT matches the 
    directory you have installed Cygwin to (normally C:\Cygwin), 
    and that CVSROOT is correct for your CVS login (if $USERNAME 
    is not the same as your CVS/Unix account name, edit the 
    variable as necessary).

*********************************************************************
  Step 6: Set up the Cygwin environment:
*********************************************************************

  - All of the commands below have been collected in    
    P:\win\install\wintools\etc\setup_env.csh.  To do all the Cygwin 
    steps below automatically, from the tcsh prompt do:
    > cd P:/win/install/wintools/etc
    > source setup_env.csh

---------------------------------------------------------------------
  CAUTION: setup_env.csh: 
  Some of the drives may need to be mapped manually from windows. If you
  have a cdrom or some other drive mapped to the following drives, 
  you need to unmount those and map to some other drives.  See the 
  "Connect the network drives" segment below
---------------------------------------------------------------------

  These are the steps setup_env.csh performs (so you don't have to):
  - Make the following directories (don't worry if they already exist)
      > mkdir /bin /etc/ /tmp /usr
      > mkdir /c /f /g /h /i /j /p
      > mkdir /usr/local /usr/local/bin /usr/local/etc
      
  - Rename any cygwin-installed python.exe (if it exists) to avoid 
    conflicts with required VRSTUDIO-compiled python, which is 
    custom-built to load "sitecustomize.py" which sets up the 
    PYTHONPATH env-var for our panda environment:
      > mv /bin/python.exe /bin/python-cygwin.exe

    This is only necessary if you installed python while installing
    Cygwin

  - Create some links expected by the attach scripts, which look in 
    standard modern unix BSD-style places:
      > ln -s /bin/tcsh /bin/csh
      > ln -s /bin/perl /usr/local/bin/perl
      > ln -s /bin/bash /usr/local/bin/bash

  - Connect the network drives:
    Note that any of your drive letters are already in use (by a 
    CD drive, or by some I.S. login-script-created drive), you simply 
    do a 'net use' to a different drive letter, then change the 'mount' 
    command to point the official '/[drivelet]' dir at the real drive 
    letter it's mounted to.

    It is not necessary for cygwin's /p to point to the P: drive in 
    Windows.

      > net use f: "\\mover\vol01\fat\usr2" /persistent:yes
      > net use g: "\\mover\vol01\fat\bit" /persistent:yes
      > net use h: "\\mover\vol02\dimbo\usr2" /persistent:yes
      > net use i: "\\mover\vol01\fat\big" /persistent:yes
      > net use p: "\\mover\vol02\dimbo\usr2\panda" /persistent:yes

    The "net use" commands may require you to enter a password if 
    access is denied, in which case you can add the /USER:[username] 
    argument to net use and it will ask for a password.  
      See "net use /help" for more info.  
    
    The "Map Networked Drive" GUI option can be used instead of 
    "net use".

  - Create cygwin mount directories.  The purpose of this is to shorten 
    and simplify paths.  Note the use of -b for the mounts to mapped 
    network drivers on remote machines. The /ms* mounts assume things 
    were installed in C:\Program Files:
      > mount -s c:/ /c
      > mount -s -b f:/ /f
      > mount -s -b g:/ /g
      > mount -s -b h:/ /h
      > mount -s -b i:/ /i
      > mount -s -b j:/ /j
      > mount -s -b p:/ /p

    If VC7 is installed:
      > mkdir /msvc7
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio .NET/Vc7 /msvc7

    If VC6 is installed:
      > mkdir /msvc98 /mscommon /mspsdk
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio/VC98 /msvc98
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio/Common /mscommon
      > mount -s C:/Program\ Files/Microsoft\ Platform\ Sdk /mspsdk
         
    If Intel C++ is installed:
      > mkdir /intel /ia32
      > mount -s C:/Program\ Files/Intel /intel
      > mount -s C:/Program\ Files/Intel/Compiler60/IA32 /ia32

*********************************************************************
  Step 7:  Setup VC7 environment in shell (skip if you have VC6)
*********************************************************************

  - Use your favorite text editor to open:
      /p/win/install/wintools/bin/setup_msvc7.csh.  

    Copy the top portion of setup_msvc7.csh (it sets PATH and other 
    environment variables) to your .cshrc, and put 'set_msvc7' cmd 
    from the script at the end of your .cshrc to set up the PATH 
    properly as well as do the important 'setenv USE_COMPILER MSVC7' 
    to tell ppremake to use VC7.  The USE_COMPILER variable can 
    alternatively be added to your local Config.pp.

  - After finishing this process, make sure you are using VC7 in your
    shell by typing 'cl' at the prompt.  If you have VC7 you will see: 

    Microsoft (R)32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86 
    Copyright (C) Microsoft Corporation 1984-2001.

  - If you still have VC6, you will see something like

    Microsoft (R)32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
    Copyright (C) Microsoft Corp 1984-1998. 

  - If you try to build with this broken setup, the build process will 
    get confused and compile with VC6 but try to link with the VC7 
    libraries and you will get link errors.

  - To correct this problem, check your tcsh path to make sure it has 
    the .NET dirs in it, and make sure the cygwin softlink mount 
    point /msvc7 exists, and is not empty but points to the proper VC7 
    directory. Doing 'ls /msvc7' should give you something like

    Common7/               Visual Studio .NET Enterprise Architect - English/
    Crystal Reports/       Visual Studio SDKs/
    EnterpriseFrameworks/  contents.htm
    FrameworkSDK/          readme.htm
    Msdn/                  redist.txt
    Setup/                 sqlserver/
    Vb7/                   toc.htm
    Vc7/                   vdt70vcs.dll*


  - If it does not, try running 
      > source ~/player/wintools/etc/setup_env.csh
    again to get it to do the cmd (ignore file-exists errors)
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio\ .NET /msvc7
    This should create the softlink mount, or you can just run the 
    cmd manually yourself.

*********************************************************************
  Step 8: Copy files needed by attach scripts
*********************************************************************

  - Run script to copy vspec files from $WINTOOLS to /usr/local/etc
    > cd /p/win/install/wintools
    > ./cp_vspec 

  To setup a new user in panda environment files:
  - If you are setting up a new user, edit the *.vspec files in 
    /usr/local/etc to add the new username and path to the player tree 
    (starting with dtool.vspec, panda.vspec, direct.vspec, otp.vspec, 
    toontown.vspec, and ttpublish.vspec).
  - (Optional) Update default values in vspec files. Edit appropriate 
    *.vspec files to specify which trees you wish to use as a default 
    (e.g. install, personal, or release)

*********************************************************************
  Step 9: Install Bison
*********************************************************************

    *** Skip this is you have bison 1.35 or greater installed. ***

    Versions of bison between 1.30-1.34 seem to have a bug, to 
    avoid this you can install bison manually:
    > cd /
    > tar zxvf /p/Cygwin-1.3.5/bison-1.28-1.tar.gz

*********************************************************************
  Step 10: Install Emacs   
*********************************************************************

  - We use GNU emacs (21.3 currently) by default, other versions of 
    emacs may also work.  Note: unlike xemacs.exe compiled for cygwin, 
    this emacs does not use Cygwin paths, so "/" represents the real 
    root (C:\, not "C:\Cygwin")).  
  - Copy the gzipped tarball to your local machine
    > cp /p/emacs-21.3-fullbin-i386.tar.gz /c
  - Ungzip, untar and install (This will install emacs into C:/emacs-21.3, do 
    not attempt to install it under a directory containing a space,
    like "Program Files".)
    > cd /c
    > gzip -d emacs-21.3-fullbin-i386.tar.gz
    > tar xvf emacs-21.3-fullbin-i386.tar
  - Set up the $DIRECT variable and copy lisp/script files
    > cta direct install
    > cp $DIRECT/src/directscripts/python-mode.el /c/emacs-21.3/lisp/progmodes
    > cp $DIRECT/src/directscripts/runPythonEmacs /usr/local/bin
  - Update environment variables (win2000/XP).  Note: You should only 
    need to do this if you intend to invoke Emacs from a non-Cygwin 
    prompt.  If you will always be using Cygwin, simply edit your 
    .cshrc file to add:
       /c/emacs-21.3/bin
    - Select "Start Menu->Control Panel"
    - Select "System" icon.
    - Select "Advanced->Environment" button.
    - double click on the "Path" variable in the bottom pane 
      (system variables)
    - add "C:\emacs-21.3\bin" to the end of the path (semicolon 
      separated)
    - click ok - ok - ok to exit (you must exit for the change to take
      effect)


---------------------------------------------------------------------
 NOTE: 
   THE FOLLOWING STEPS ARE ONLY REQUIRED IF YOU WANT YOUR OWN PERSONAL
   COPY OF THE SOURCE TREES
---------------------------------------------------------------------

*********************************************************************
  Step 11: (Optional) Grab the cvs trees 
*********************************************************************

  - Open a new shell

  - Create personal trees:
    > mkdir ~/player
    > cd ~/player

  - Grab from local repository

    Make sure your CVSROOT is set to the local repository, echo $CVSROOT
    in your shell, it should return 

      :pserver:<username>@mover:/cvs 

    where <username> is your Unix login name (not necessarily your
    Windows login name), check your .cshrc for the environment
    variable setting

    # Just hit return or type your unix password when prompted for a 
      password
    > cvs login
    > cvs co otp (only if local toontown will be built)
    > cvs co toontown (only if local toontown will be built)

  - Now choose either A (commit) or B (anonymous) access:

    A. SOURCEFORGE DEVELOPER (WITH COMMIT) ACCESS

      1. setup an account with SourceForge at 
        http://sourceforge.net/account/register.php
        Try to use the same username used your cygwin setup.  If you are
        unable to do so just make sure you edit your .cshrc file to 
        reflect this for the SFROOT variable.

        Tell somebody like David Rose, Dave Schuyler, or Mark Mine 
        to add your new sourceforge username to the list of Panda3D 
        developers.

      2. setup ssh and access through the corporate firewall to
         cvs.sourceforge.net

        - make a directory ~/.ssh and copy the file from
          /p/win/install/wintools/etc/ssh_config to a file named
          ~/.ssh/config .

        - Alternatively, you can copy the config file to
          /etc/ssh_config instead of to your ~/.ssh directory, but you
          probably shouldn't do this, since it will just make it
          difficult to detect errors in reading your ~/.ssh directory.

        - If you have not generated a key before on another machine,
          generate a dsa key now with:

          > ssh-keygen -t dsa

          Just press enter if prompted for password.

          (If you have generated this key before, copy the id_dsa and
          id_dsa.pub from ~/.ssh on your other machine.)

          If the above does not put a file in ~/.ssh, check that
          your /etc/passwd file has an entry for your username and that
          it points to the correct home directory for you.

        - Register your generated ssh public key (id_dsa.pub) at 
          https://sourceforge.net/account/editsshkeys.php

      3. type this at the shell or/and put it into your .cshrc
          > setenv CVS_RSH /bin/ssh

      4. check out these trees in ~/player (only if a local version
         will be built) with:

          > setenv SFROOT :ext:<your-sourceforge-username>@cvs.sourceforge.net:/cvsroot/panda3d

    B. ANONYMOUS CVS (READ-ONLY ACCESS) FROM SOURCEFORGE

    ---------------------------------------------------------------------
     Anonymous access from SourceForge now appears to be reliable enough
     for day-to-day use.  (In the past, this has been poor to intolerable,
     but SourceForge has installed new hardware recently and claims to have
     fixed their anonymous cvs access issues.  It appears to be true.)
    ---------------------------------------------------------------------

      1. Set handy environment variable to use in anonymous checkout
          > setenv SFROOT :pserver:anonymous@nit:/cvsroot/panda3d

  
  NOW FOR BOTH SOURCEFORGE DEVELOPERS AND ANONYMOUS USERS:
   
  - Check out these trees
     > cvs -d $SFROOT co dtool (only if local dtool will be built)
     > cvs -d $SFROOT co panda (only if local panda will be built)
     > cvs -d $SFROOT co direct (only if local direct will be built)
      
  - Choose which optimize level you want. This is set in Config.pp in
    your $HOME directory.  Look for #define OPTIMIZE and follow
    instructions above that.  You can only choose an arbitrary
    optimize level if you are building your own DTOOL and PANDA;
    otherwise, you must set it to the optimize level corresponding to
    the version of DTOOL/PANDA you intend to attach to (install is
    built OPTIMIZE 2, release is built OPTIMIZE 3).  
    A good choice is OPTIMIZE 3.

  - Your normal, non-SourceForge CVSROOT should be set to the default:
    > setenv CVSROOT :pserver:<your-unix-username>@mover:/cvs

*********************************************************************
  Step 12: (Optional) Build $DTOOL
*********************************************************************

  - When you opened a new shell in step 6, it should have attached to 
    DTOOL:install automatically, but you will need to attach to your 
    own DTOOL if you want to build your own.
    > cta dtool personal  
    > cd $DTOOL
    > ppremake
    > make install

  - Note: if you get an error stating that 'ppremake' cannot be found,
    make sure that you are attached to WINTOOLS:install and try again.

  After the make is done, kill your current tcsh window and open another 
  using your shortcut from before.

  - Note all these "cta" attach commands can be placed in your .cshrc

*********************************************************************
  Step 13: (Optional) Build $PANDA 
*********************************************************************

  - Build panda
    > cta dtool personal  
    > cta panda personal
    > cd $PANDA
    > ppremake
    > make install

  - Again, after every make, kill and reopen the tcsh window.

  - You can now run "pview" to test the install and build - you should
    see a window pop up with a triangle in it.  To see the triangle with
    a texture on it, you'll need to be in $PANDA/src/testbed/ when
    you run "pview".

*********************************************************************
  Step 14: (Optional) Build $DIRECT
*********************************************************************

  > cta dtool personal  
  > cta panda personal
  > cta direct personal
  > cd $DIRECT
  > ppremake
  > make install

*********************************************************************
  Step 15: (Optional) Build $OTP
*********************************************************************

  > cta dtool personal
  > cta panda personal
  > cta direct personal
  > cta otp personal
  > cd $OTP
  > ppremake
  > make install
  Exit the shell and create a new one

*********************************************************************
  Step 16: (Optional) Build $TOONTOWN
*********************************************************************

  > cta dtool personal  
  > cta panda personal
  > cta direct personal
  > cta otp personal
  > cta toontown personal
  > cd $TOONTOWN
  > ppremake
  > make install
  Exit the shell and create a new one

*********************************************************************
  Step 17: (Optional) Generate Python Code
*********************************************************************

  > genPyCode
  > genPyCode -n (for publishes)

*********************************************************************
  Step 18: (Optional) Set up a local server
*********************************************************************

  - mkdir /c/toonsrv
  - unzip /p/toontown_server/dev_NOTAG_*.zip to /c/toonsrv
  NOTE: You may also need to get one of the older zip files from
  "/p/toontown_server/Toontown Database Server_files" in order
  to get all the batch files.
  - copy zlib1.dll and other newer .dlls if not there from 
    /p/toontown_server
    > cp /p/toontown_server/*.dll /c/toonsrv/.
  - cd /c/toonsrv
  - Be sure to set the execute bit for all .dll, .exe, *.BAT and .bat files
    chmod +x *.dll *.exe *.bat *.BAT
  - Make sure your Windows account on your machine is an administrator
    type, or else you would not be able to start/stop services.  
    To check:
       - Start -> Settings -> Control Panel -> User Accounts
       - If your account does not have "Administrators" under the 
         "Group" column, Pick your account from the list, then hit 
         "Properties" button, then in "Other" pick "Administrator" 
         from the drop down list, then click Ok, Ok

  - Copy the appropriate NameMaster text file into your local server, 
    depending on Language of the server being installed:

    > cp $TOONTOWN/src/configfiles/NameMaster<language>.txt /c/toonsrv/.

    There are currently three different files, NameMasterEnglish.txt,
    NameMasterCastillian.txt, and NameMasterJapanese.txt

  - Check out dna files for server
    Make sure $CVSROOT is pointed to local repository on mover
    
    > cd ~/player
    > cvs co -l ttmodels
    > cvs co -l ttmodels/src
    > cvs co -l ttmodels/src/dna
    > cp ~/player/ttmodels/src/dna/*.dna /c/toonsrv

    The dna files have names with language associated with them, but 
    the server expects file names without it.  Depending on the language 
    of the server you are running, rename the appropriate files so that 
    the file names are without the language designation.  For example, 
    if you are running an English server, you'd rename all .dna files 
    with "_english" in them into filenames without this, such as

    toontown_central_2100_english.dna -> toontown_central_2100.dna
    
    You need to do this for every .dna file of the language you wish 
    to use, files for other languages can be ignored.

    ** note **  Only remove the "_<language>" portion of the file name, 
    all other strings in the file name need to stay intacted, even those 
    that come after the language word in the file name 

  - Copy clientagent.pem into local server

    cp $TOONTOWN/src/secure/clientagent.pem /c/toonsrv/.

  - Copy .dc files into local server

    cp $TOONTOWN/src/configfiles/toon.dc /c/toonsrv/.
    cp $OTP/src/configfiles/otp.dc /c/toonsrv/.

  - run /c/toonsrv/INSTALLALL.BAT to install toon servers as local 
    NT-type services
  - run 
    > /c/toonsrv/STARTALL.BAT 
    to start the servers and 
    > /c/toonsrv/STOPALL.BAT 
    to stop them

*********************************************************************
  Step 19: (Optional) Launch a local Toontown Client and Server
*********************************************************************

  - Before the Toontown client and server will happily interact with
    one another, a local.par file needs to be created in the
    /c/toonsrv directory with some options in it and a couple of lines
    need to be added to the Config.prc file in $HOME. A basic local.par
    file can be copied from /p/toontown_server
    > cp /p/toontown_server/local.par /c/toonsrv
  - Add the following lines to your Config.prc file in $HOME
    
      account-old-auth 1
      verify-ssl 0
      
  - To start the Toontown AI server, first start up Python Emacs
    > runPythonEmacs
  - In Emacs launch a Python shell
    > Alt-x   (This will bring up an Emacs command line)
    > py-shell
  - From the Python command line type the following:
    > from toontown.ai.AIStart import *
  - This will start a Toontown game server
  - To start a client, you will need to open a new Python Emacs session.
    From the cygwin command prompt, type:
    > runPythonEmacs
  - In Emacs launch another Python shell as before
    > Alt-x
    > py-shell
  - In this Python command prompt, enter:
    > from toontown.toonbase.ToontownStart import *
  - After the server and the client have started up, the game should
    prompt to create an account.  After the account is created the
    game will run as normal, but locally.
    
    
      ***************  When you get here, rejoice! ***************
