                           README

                           JTrek 
           a Netrek client for the Java(TM) Platform
                     version 0.9.0 Alpha                     

                      by Robert Temple

                        July 9, 1997

-----------------------------------------------------------------------
NOTICE
-----------------------------------------------------------------------

No representations are made about the suitability of this software for
any purpose.  It is provided "as is" without express or implied warranty.

JTrek was written entirely by Robert Temple on his own time.  In no way
is this software associated with Robert Temple's employer, Starwave
Corporation.  Starwave is not responsible for any part of this software,
nor is Starwave responsible for anything that happens as the result of
using this software.

Java and all Java-based marks are trademarks or registered trademarks of
Sun Microsystems, Inc. in the United States and other countries. Robert
Temple is independent of Sun Microsystems, Inc.

-----------------------------------------------------------------------
Contents
-----------------------------------------------------------------------

   Overview of JTrek
   Acknowlegments
   System requirements
   Installing JTrek
   Running JTrek
   Things which are not yet implemented
   Future plans
   Known bugs
   Comments, Bug reports
   resource/properties file changes 
   Other information
   Source code

-----------------------------------------------------------------------
Overview of JTrek
-----------------------------------------------------------------------

JTrek is the first Netrek client written entirely in 100% Java. This is
a alpha release of the software, meaning that there parts of the
software that are not yet implemented, and there are many bugs.

Most of the code for this software was ported over from the COW and 
Paradise clients.

Look for new releases at: http://www.starwave.com/people/robertt/JTrek

-----------------------------------------------------------------------
Acknowlegments
-----------------------------------------------------------------------

People who made it possible for me to do this:

Jason Herring, who helped me set up my own server, so that I could test
this thing.

People who worked on the COW client or some other part of Netrek:
Chris Guthrie, Ed James, Scott Silvey, and Kevin Smith,            
Tedd Hadley, Andy McFadden, Eric Mehlhaff, J. Mark Noworolski,     
Nick Trown, Lars Bernhardsson, Sam Shen, Rick Weinstein,           
Jeff Nelson, Jeff Waller, Robert Kenney, Steve Sheldon,            
Jonathan Shekter, Dave Gosselin, Heiko Wengler, Neil Cook, Kurt Siegl 
and many others.

People who worked the Paradise client:
Larry Denys, Kurt Olsen, Brandon Gillespie

-----------------------------------------------------------------------
System requirements
-----------------------------------------------------------------------

JTrek requires that a Java 1.1 compatible version of a Java virtual
machine be installed on your machine.  For information on where to get
this software, see http://www.javasoft.com

----------------------------------------------------------------------
Installing JTrek
-----------------------------------------------------------------------

To install JTrek, uncompress the archive into a directory.  

-----------------------------------------------------------------------
Running JTrek
-----------------------------------------------------------------------

JTrek requires that both the the standard Java 1.1 libraries, and the
JTrek classes be in the Java classpath.

The main Java class of JTrek is:

  jtrek.Main

To execute JTrek use the following command from the prompt:

  java jtrek.Main -h kirk.ci.houston.tx.us -p 2592

-----------------------------------------------------------------------
Things which are not yet implemented
-----------------------------------------------------------------------

There are a few things that are missing that you are probably used to
in other clients.

RSA
Metaserver window
options window
UDP window
war window
help window
rotate race
RCM
varyShields
warnHull
sortPlayers
different dashboards
netstat
short kill messages
auto login
server aliases
continuous mouse

(I'm sure there are a few more)

I am waiting for the JFC (Java Foundation Classes) to be released by
Javasoft before implementing the missing windows.

See http://www.javasoft.com/products/jfc/index.html for more 
information on the JFC.

RSA...  I'm not sure how this can be done properly yet.  I'm open to
suggestions

-----------------------------------------------------------------------
Future plans
-----------------------------------------------------------------------

256 Color

There isn't many reasons why the client isn't using 256 colors gifs
now.  One can replace the ship images now without any problems
(remember to make the GIFs 89a, with transparency)

JAR (Java Archive) file

I'd like to package all the classes and images inside of one JAR file.
Unfortunately, Javasoft has some bugs in their Java VMs which 
occasionally fail to load images out of JAR files.  I've sent them a
bug report.

-----------------------------------------------------------------------
Known bugs
-----------------------------------------------------------------------

I don't know any that are my own, but I am sure there are plenty.  I 
do know of a few bugs in Sun's Java VMs which affect this software.

The biggest one is a complete Java VM crash.  I experience this a lot 
under NT 4.0 in the form of a Doctor Watson.  It usually happens during 
startup, or after waiting on the Wait Queue.

On Solaris, I can't get dialogs to show up all the time.  As a work 
around, I have a flag you can set in the properties file called 
"unixFrameFix".  Set this to true if windows with a parent of "root" 
don't show up.  This will force JTrek to put these in frames instead 
(as if the window's parent is "none").  This is a Javasoft bug that 
Javasoft is aware of:

  http://www.javasoft.com/products/jdk/1.1/knownbugs/classes_awt.html

  Bug ID: 4018263
  
  The visibility of Dialogs with respect to their parent Frames is 
  inconsistent on win32 vs. Solaris. On win32, if a Frame is hidden 
  which has currently showing dialogs, the dialogs remain visible. On 
  Solaris, if a Frame is hidden which has currently showing dialogs, 
  the dialogs are automatically hidden.

-----------------------------------------------------------------------
Comments, Bug reports
-----------------------------------------------------------------------

Send all comments, requests, bug reports to: robertt@starwave.com

PLEASE, put the word JTREK somewhere is the subject, otherwise I might
ignore the message...

Be patient, it could be a number of days before I answer your email.
Along with this, I have a real job creating applets for
http://espn.sportszone.com, and I have a shareware applet that over
10000 people are using on the web, answering emails about it demands
a lot of my extra time. 
http://www.starwave.com/people/robertt/DynamicBillboard

-----------------------------------------------------------------------
resource/properties file changes
-----------------------------------------------------------------------

The default resource file is called "JTrek.props" Inside is all of the
defaults settings of the client.

This file is very similar to the .xtrekrc you are used to.  A few keys
have changed to have consistent naming patterns as other keys.  All 
boolean parameters should be either "true" or "false" - "on", "off", 
"yes", and "no" don't work.  Window geometry is done with pixels 
increments, in the form of "x,y,width,height".

-----------------------------------------------------------------------
Other information
-----------------------------------------------------------------------

JTrek doesn't have extended buttonmaps.  I don't think it is possible 
to implement this in Java because of the way Java handles the 
differences between systems with less then three mouse buttons.

The classes are compiled with optimation turned off, and debugging
turned on.  This should help me track down any bugs that might be out
there.

I've only tested this on Windows NT 4.0 and Solaris.

Never quit the game by using Control-C at the command prompt.  This will 
leave a slot being wasted on the server.

I can't support sound yet, because Java 1.1 doesn't have sound support
in it yet for applications.  (Applets strangely enough, do have sound
support)

-----------------------------------------------------------------------
Source code
-----------------------------------------------------------------------

I'll be releasing the source sometime in the future.  After I feel the
code is stable enough.