ORBITER VISUALISATION PROJECT -
D3D7 Client Installation Instructions

1. Required components
----------------------

To compile the sources of the D3D7 graphics client, you need:

* The latest Orbiter release (base + SDK packages), available from the
  download page at the Orbiter site http://orbit.medphys.ucl.ac.uk/

* The latest Orbiter beta diffs, available under
  download.orbit.m6.net/betaNG/orbiter_beta.html

* A Windows C++ compiler (VC++6 is ok, later should be fine, other compilers
  may or may not work).

* For the various graphics clients, you also need the respective 3-D
  graphics SDKs. The D3D7 client was built with the MS DX7 SDK. This is no
  longer officially supported by MS, but can still be found on the web,
  for example at

  http://bcb-tools.com/Downloads/dx7adxf.exe

  (I don't know whether later DX SDK's still support the DX7
  interface, but it may be worth a try.)

* To recompile the D3D7 source documentation you need Doxygen from

  http://www.stack.nl/~dimitri/doxygen/

  There is a doxygen configuration file in D3D7Client/doc/Doxyfile which
  was used to generate the compressed html help file
  D3D7Client/doc/D3D7Client.chm also included in the repository.


2. Installation
---------------

For a first-time installation only:

* Create a directory for the Orbiter distribution, e.g.
  Program Files\Orbiter_OVP

* Install the latest Orbiter release by unpacking the base package
  (orbiter060929_base.zip) and the SDK package (orbiter060929_sdk.zip) in
  that directory. Make sure to preserve the directory structure of the
  zip archives.

For each update of the OVP sources:

* Download the latest orbiter beta diffs from
  download.orbit.m6.net/betaNG/orbiter_beta.html
  Unpack in the Orbiter directory. Make sure to preserve the directory
  structure of the zip archive. Answer "yes" if asked whether to overwrite
  existing files.
  The graphics API linking the orbiter core and external graphics clients
  is continuously evolving, so it is important to make sure you have the
  latest orbiter beta installed when compiling the current OVP snapshot.

* Make sure that the Orbiter_NG shortcut in the Orbiter root directory points
  to Modules/Server/orbiter.exe and is working properly.

* Download the OVP source tree into the Orbiter directory:

  cvs -d:pserver:anonymous@orbitervis.cvs.sourceforge.net:/cvsroot/orbitervis login
  cvs -z3 -d:pserver:anonymous@orbitervis.cvs.sourceforge.net:/cvsroot/orbitervis co -P orbitervis

  You should end up with a directory "orbitervis" inside you Orbiter root
  directory.

* Open the D3D7Client project (for VC++, the project file is in
  orbitervis/D3D7Client/D3D7Client.dsw) and compile (this requires the
  DX7 SDK to be installed).

* Note that the VS2005 project files included in the sources tend to get out
  of sync occasionally, because they are provided by other developers (I have
  no means of updating them). In case of problems, just delete those project
  files and have them regenerated by VC++ automatically from the VC++6
  project files.


3. Testing the D3D7 client
--------------------------

* If the compilation of the D3D7 client was successful, it has created a
  plugin in Modules/Plugin/D3D7Client.dll.

* Run the "no-graphics" version of orbiter (orbiter_ng) and activate
  the D3D7Client plugin from the Modules tab.

* You should now get a video tab in the Launchpad dialog. Configure your
  graphics driver and screen options, then launch a scenario.

* If you run a windowed mode, you will get the main render window, and
  an additional diagnosis window opened by the orbiter core (which does
  currently not have any functionality).

* The current version of the D3D7 client is not yet complete. Some of the
  features of the orbiter built-in graphics engine are still missing.
  However, the client is slowly taking shape, and new features are added on
  a regular basis.
