File:`PROBLEMS' $Id$

PROBLEMS   PROBLEMS   PROBLEMS   PROBLEMS   PROBLEMS   PROBLEMS   PROBLEMS   
=============================================================================

List of common problems and solutions for FreeInstaller. 
Send email to `software@xenonsoft.demon.co.uk '


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1:	The THRUST and UP or THRUST and DOWN keys dont work. Why?
2:	Why Does The Game Window Suddenly Locks Up?  
3:	Where are the highscore stored?  

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x
$" to get an overview of just the questions.  Then, when you want to look
at the text of the answers, just type "C-x $".

To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
C-r if that doesn't work, then type ESC to end the search.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1:	The THRUST and UP or THRUST and DOWN keys dont work. Why?


JDK 1.1 AWT key event handling is sometimes broken. For example when the shift
key is pressed and held down and the `Z' is pressed and released proves thats
the wrong key modifiers are present, namely `Ctrl' and `Alt'.

    ----------
    KEY_PRESSED
    code:  16
    char:  
    Modif: 
    Text:  Shift
    ----------
    KEY_PRESSED
    code:  90
    char:  Z
    Modif: Ctrl+Alt
    Text:  Z
    ----------
    KEY_RELEASED
    code:  90
    char:  Z
    Modif: Ctrl+Alt
    Text:  Z


Compare this with the shift being held down and the `A' key being pressed and
then depressed.

    KEY_PRESSED
    code:  16
    char:  
    Modif: 
    Text:  Shift
    ----------
    KEY_PRESSED
    code:  65
    char:  A
    Modif: Shift
    Text:  A
    ----------
    KEY_RELEASED
    code:  65
    char:  A
    Modif: Shift
    Text:  A
    ----------

    I think this problem is fixed in JDK 1.2 otherwise it is another
    infuriating Sun Java implementation bug!!!
    

---==---

2:	Why Does The Game Window Suddenly Locks Up?  

This is another infuriating Java programming problem. Apparently the
`ScreenUpdater' thread is being starved of resource, which is getting enough
CPU time to properly update the screen. This is because other threads are
hogging the processor or have hogged the Java virtual machine process at a
vital time when the Screen Updater is about to update the display.

There is more information about this problem can be viewed at
`http://www.acme.com/java/bugs/HardLoops.html'.

In short recommends that short and fast loops that interleave between threads
can cause the `ScreenUpdater' to block. In particularly one should avoid the
following:


	for (int j=0; j<10; ++j) {
	    /* T1 */
	    arbitary thread processing time
	    /* T2 */
	    try { Thread.sleep(100); } catch (InterruptedException ie) { }
	}

I believe the blockage occurrs at between T1 and T2 in the above code, since
that is a very short interval to switch context between Threads. This period
of time is too short for the `ScreenUpdater'. Therefore I used an alternative
straight forward code. Sacrificing the program's responsiveness.
	
	try { Thread.sleep(1000); } catch (InterruptedException ie) { }

---==---

3:	Where are the highscore stored?  

The highscore are saved in the file called `humanoid.scores' and stored in the
directory specified by the system property `user.dir'. On UNIX systems this
will be same as your home directory ${HOME}. On Windows/NT with the Sun
version of JDK 1.2 this will in your personal profile directory e.g.
`C:\WinNT\Profiles\Micheal-Jackson'. On Windows/NT machines with JDK 1.1.x I
am afraid this may be in the root directory `C:\' on your machine, because the
JDK is broken.


---==---
---==---


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright [c] 1998, Peter Pilgrim

Author peter.pilgrim@xenonsoft.demon.co.uk

Special thanks to C.A.R.Zamitiz ( carlos@cronos.fi-b.unam.mx )


;;; Emacs File Variables
;;; ---==------==------==------==------==------==------==-------
;;; Local Variables: ***
;;; mode:Indented-Text ***
;;; fill-column:78 ***
;;; End: ***
