TODO:

	smoke to broken ship
	odd blue crap to wormholes
	all systems damaged means ship is dead?
	add sound on and off options
	score system
	keyboard shortcuts

	make energy bars not flicker
	fix error with condition being on same panel as end game button
	make it when computer down no ships lists can be used, make sheild damage actually work (in the info)
	make the engery work properly, when lots of systems are damaged you can not make a lot of energy (warp core broken cant make energy) (and make it less hard to kill a last bit of a dieing ship)
	make auto-on shields work, and auto select neerest ememy (sort out the selection system)
	improve ship AI, make them fly in groups and stuff, make bad ships go to bady base
	check that the systems to shoot are working, The base must be much stronger then it is now
	make it store number of people rescued and they r the ones that r killed when badys shoot the planets (not the planet)

	make it so that when cloak is on u cant see the ships, and they cant use the weapons
	make the resizing of panels work
	make warp choose fastest way to destination
	make comunication work (and destress signal)
	make it work in linux
	make sounds work

	buttons to add:
	 X EndGame (not really needed as you can just click on X)
	 X pref 
	 X high score
	Quit
	Interface Help
	About Interface
	 X Auto-Shields ? auto select neerest enemy (select all badys still ok)
	 X Auto-Destruct
	Comunicate
	Send Distress Signal

BUGS:

	game sometimes stops refreshing the GUI (but game continues) (like the gif resolution bug)
	game crashes when you exit one game but its stilkl trying to update it
	should not shoot at someone if they are tractored by a friend
	stars go to one side in fast worp when zoomed out
	during turn speed should not jump around so much
	when other ship fires torpedo it uses distance to the center NOT the distance to the object
	should not be able to become friends with borg by killing other ships
	when fps goes down the ship shakes

MAYBES:

	ship should strech in warp



ERROR:


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at java.awt.geom.Point2D.distance(Point2D.java:320)
        at rescue.RunRescue.drawShipsBig(RunRescue.java:442)
        at rescue.panels.BigMapPanel.paintComponent(BigMapPanel.java:51)
        at javax.swing.JComponent.paint(JComponent.java:1003)
        at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4930)
        at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4883)
        at javax.swing.JComponent._paintImmediately(JComponent.java:4826)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4633)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Exception in thread "main" java.lang.NullPointerException
        at java.awt.geom.Point2D.distance(Point2D.java:320)
        at rescue.spaceobjects.MovingObject.advanceShipLocation(MovingObject.java:216)
        at rescue.spaceobjects.MovingObject.advance(MovingObject.java:261)
        at rescue.spaceobjects.Ship.advance(Ship.java:570)
        at rescue.RunRescue.updateGame(RunRescue.java:481)
        at rescue.RunRescue.run(RunRescue.java:102)
        at rescue.gui.RescueGUI.main(RescueGUI.java:1015)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at java.awt.geom.Point2D.distance(Point2D.java:320)
        at rescue.RunRescue.drawShipsBig(RunRescue.java:442)
        at rescue.panels.BigMapPanel.paintComponent(BigMapPanel.java:51)
        at javax.swing.JComponent.paint(JComponent.java:1003)
        at javax.swing.JComponent.paintChildren(JComponent.java:840)
        at javax.swing.JComponent.paint(JComponent.java:1012)
        at javax.swing.JComponent.paintChildren(JComponent.java:840)
        at javax.swing.JComponent.paint(JComponent.java:1012)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
        at javax.swing.JComponent.paintChildren(JComponent.java:840)
        at javax.swing.JComponent.paint(JComponent.java:1012)
        at javax.swing.JComponent.paintChildren(JComponent.java:840)
        at javax.swing.JComponent.paint(JComponent.java:1012)
        at javax.swing.JComponent.paintChildren(JComponent.java:840)
        at javax.swing.JComponent.paint(JComponent.java:1012)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
        at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4930)
        at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4883)
        at javax.swing.JComponent._paintImmediately(JComponent.java:4826)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4633)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

