  	r.extent.width = RADAR_WIDTH + 2;
  	BatchGraphics ();
  	SetContextForeGroundColor (
-Index: src/uqm/units.h
-===================================================================
---- src/uqm/units.h	(revision 3779)
-+++ src/uqm/units.h	(working copy)
-@@ -52,6 +52,7 @@
- #define RADAR_WIDTH (STATUS_WIDTH - 8)
- #define RADAR_HEIGHT 53
- #define RADAR_Y (SIS_ORG_Y + SIS_SCREEN_HEIGHT - RADAR_HEIGHT)
-+#define RADAR_Y_LIFTED_UP (RADAR_Y - 40)
- 
- #define SIS_TITLE_BOX_WIDTH    57
- #define SIS_TITLE_WIDTH        (SIS_TITLE_BOX_WIDTH - 2)
-Index: src/uqm/planets/lander.c
-===================================================================
---- src/uqm/planets/lander.c	(revision 3779)
-+++ src/uqm/planets/lander.c	(working copy)
-@@ -1591,15 +1591,15 @@
- 		if (crew_left)
+Index: src/uqm/setupmenu.c
+===================================================================
+--- src/uqm/setupmenu.c	(revision 3779)
++++ src/uqm/setupmenu.c	(working copy)
+@@ -75,7 +75,7 @@
+ #endif
+ 
+ #define MENU_COUNT          8
+-#define CHOICE_COUNT       24
++#define CHOICE_COUNT       25
+ #define SLIDER_COUNT        4
+ #define BUTTON_COUNT       10
+ #define LABEL_COUNT         4
+@@ -98,7 +98,7 @@
+ static int choice_widths[CHOICE_COUNT] = {
+ 	3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 
+ 	2, 2, 3, 2, 2, 3, 3, 2,	3, 3, 
+-	3, 2, 2, 2 };
++	3, 2, 2, 2, 2 };
+ 
+ static HANDLER button_handlers[BUTTON_COUNT] = {
+ 	quit_main_menu, quit_sub_menu, do_graphics, do_engine,
+@@ -157,6 +157,7 @@
+ 	(WIDGET *)(&choices[12]),
+ 	(WIDGET *)(&choices[15]),
+ 	(WIDGET *)(&choices[16]),
++	(WIDGET *)(&choices[24]),
+ 	(WIDGET *)(&buttons[1]),
+ 	NULL };
+ 	
+@@ -416,6 +417,7 @@
+ 	choices[21].selected = opts.musicremix;
+ 	choices[22].selected = opts.speech;
+ 	choices[23].selected = opts.keepaspect;
++	choices[24].selected = opts.directionaljoystick;
+ 
+ 	sliders[0].value = opts.musicvol;
+ 	sliders[1].value = opts.sfxvol;
+@@ -450,6 +452,7 @@
+ 	opts.musicremix = choices[21].selected;
+ 	opts.speech = choices[22].selected;
+ 	opts.keepaspect = choices[23].selected;
++	opts.directionaljoystick = choices[24].selected;
+ 
+ 	opts.musicvol = sliders[0].value;
+ 	opts.sfxvol = sliders[1].value;
+@@ -1277,6 +1280,7 @@
+ 	opts->musicremix = optRemixMusic ? OPTVAL_ENABLED : OPTVAL_DISABLED;
+ 	opts->speech = optSpeech ? OPTVAL_ENABLED : OPTVAL_DISABLED;
+ 	opts->keepaspect = optKeepAspectRatio ? OPTVAL_ENABLED : OPTVAL_DISABLED;
++	opts->directionaljoystick = optDirectionalJoystick ? OPTVAL_ENABLED : OPTVAL_DISABLED;
+ 	switch (snddriver) {
+ 	case audio_DRIVER_OPENAL:
+ 		opts->adriver = OPTVAL_OPENAL;
+@@ -1518,6 +1522,7 @@
+ 	optWhichIntro = (opts->intro == OPTVAL_3DO) ? OPT_3DO : OPT_PC;
+ 	optStereoSFX = (opts->stereo == OPTVAL_ENABLED);
+ 	optKeepAspectRatio = (opts->keepaspect == OPTVAL_ENABLED);
++	optDirectionalJoystick = (opts->directionaljoystick == OPTVAL_ENABLED) ? TRUE : FALSE;
+ 	PlayerControls[0] = opts->player1;
+ 	PlayerControls[1] = opts->player2;
+ 
+@@ -1532,6 +1537,7 @@
+ 	res_PutBoolean ("config.speech", opts->speech == OPTVAL_ENABLED);
+ 	res_PutBoolean ("config.3domovies", opts->intro == OPTVAL_3DO);
+ 	res_PutBoolean ("config.showfps", opts->fps == OPTVAL_ENABLED);
++	res_PutBoolean ("config.directionaljoystick", opts->directionaljoystick == OPTVAL_ENABLED);
+ 	res_PutBoolean ("config.smoothmelee", opts->meleezoom == OPTVAL_3DO);
+ 	res_PutBoolean ("config.positionalsfx", opts->stereo == OPTVAL_ENABLED); 
+ 	res_PutBoolean ("config.pulseshield", opts->shield == OPTVAL_3DO);
+Index: src/uqm/setupmenu.h
+===================================================================
+--- src/uqm/setupmenu.h	(revision 3779)
++++ src/uqm/setupmenu.h	(working copy)
+@@ -81,6 +81,7 @@
+ 	OPT_ENABLABLE fullscreen, subtitles, scanlines, fps, stereo;
+ 	OPT_ENABLABLE music3do, musicremix, speech;
+ 	OPT_ENABLABLE keepaspect;
++	OPT_ENABLABLE directionaljoystick;
+ 	OPT_CONSOLETYPE menu, text, cscan, scroll, intro, meleezoom, shield;
+ 	CONTROL_TEMPLATE player1, player2;
+ 	int speechvol, musicvol, sfxvol;
+Index: src/uqm/starcon.c
+===================================================================
+--- src/uqm/starcon.c	(revision 3779)
++++ src/uqm/starcon.c	(working copy)
+@@ -218,6 +218,7 @@
+ 		InitGameClock ();
+ 		AddInitialGameEvents();
+ 
++		TFB_SetOnScreenKeyboard_Melee ();
+ 		do
  		{
- 			SIZE index = GetFrameIndex (LanderFrame[0]);
-+			BATTLE_INPUT_STATE InputState = GetDirectionalJoystickInput(index, 0);
- 			if (turn_wait)
- 				--turn_wait;
--			else if (CurrentInputState.key[PlayerControls[0]][KEY_LEFT] ||
--					CurrentInputState.key[PlayerControls[0]][KEY_RIGHT])
-+			else if ((InputState & BATTLE_LEFT) || (InputState & BATTLE_RIGHT))
- 			{
- 				COUNT landerSpeedNumer;
- 				COUNT angle;
- 
--				if (CurrentInputState.key[PlayerControls[0]][KEY_LEFT])
-+				if (InputState & BATTLE_LEFT)
- 					--index;
- 				else
- 					++index;
-@@ -1623,7 +1623,7 @@
- 				turn_wait = SHUTTLE_TURN_WAIT;
- 			}
- 
--			if (!CurrentInputState.key[PlayerControls[0]][KEY_UP])
-+			if (!(InputState & BATTLE_THRUST))
- 			{
- 				dx = 0;
- 				dy = 0;
-@@ -1938,7 +1938,9 @@
- 	landerInputState.Initialized = FALSE;
- 	landerInputState.InputFunc = DoPlanetSide;
- 	SetMenuSounds (MENU_SOUND_NONE, MENU_SOUND_NONE);
-+	TFB_SetOnScreenKeyboard_Melee ();
- 	DoInput (&landerInputState, FALSE);
-+	TFB_SetOnScreenKeyboard_Menu ();
- 
- 	if (!(GLOBAL (CurrentActivity) & CHECK_ABORT))
- 	{
-Index: src/uqm/planets/solarsys.c
-===================================================================
---- src/uqm/planets/solarsys.c	(revision 3779)
-+++ src/uqm/planets/solarsys.c	(working copy)
-@@ -837,18 +837,19 @@
- static void
- ProcessShipControls (void)
- {
--	COUNT index;
-+	COUNT index = GetFrameIndex (GLOBAL (ShipStamp.frame));;
- 	SIZE delta_x, delta_y;
-+	BATTLE_INPUT_STATE InputState = GetDirectionalJoystickInput(index, 0);
- 
--	if (CurrentInputState.key[PlayerControls[0]][KEY_UP])
-+	if (InputState & BATTLE_THRUST)
- 		delta_y = -1;
- 	else
- 		delta_y = 0;
- 
- 	delta_x = 0;
--	if (CurrentInputState.key[PlayerControls[0]][KEY_LEFT])
-+	if (InputState & BATTLE_LEFT)
- 		delta_x -= 1;
--	if (CurrentInputState.key[PlayerControls[0]][KEY_RIGHT])
-+	if (InputState & BATTLE_RIGHT)
- 		delta_x += 1;
- 		
- 	if (delta_x || delta_y < 0)
-@@ -861,7 +862,6 @@
- 	else
- 		delta_y = 0;
- 
--	index = GetFrameIndex (GLOBAL (ShipStamp.frame));
- 	if (pSolarSysState->turn_counter)
- 		--pSolarSysState->turn_counter;
- 	else if (delta_x)
-@@ -1739,7 +1739,9 @@
- 	InitSolarSys ();
- 	SetMenuSounds (MENU_SOUND_NONE, MENU_SOUND_NONE);
- 	SolarSysState.InputFunc = DoIpFlight;
-+	TFB_SetOnScreenKeyboard_Melee ();
- 	DoInput (&SolarSysState, FALSE);
-+	TFB_SetOnScreenKeyboard_Menu ();
- 	UninitSolarSys ();
- 	pSolarSysState = 0;
- }
-@@ -1997,13 +1999,17 @@
- 
- 	if (pSS->InOrbit)
- 	{	// CheckShipLocation() or InitSolarSys() sent us to orbital
-+		TFB_SetOnScreenKeyboard_Menu ();
- 		EnterPlanetOrbit ();
-+		TFB_SetOnScreenKeyboard_Melee ();
- 		SetMenuSounds (MENU_SOUND_NONE, MENU_SOUND_NONE);
- 		pSS->InOrbit = FALSE;
- 	}
- 	else if (cancel || LastActivity == CHECK_LOAD)
- 	{
-+		TFB_SetOnScreenKeyboard_Menu ();
- 		SolarSysMenu ();
-+		TFB_SetOnScreenKeyboard_Melee ();
- 		SetMenuSounds (MENU_SOUND_NONE, MENU_SOUND_NONE);
- 	}
- 	else
-Index: src/uqm/planets/pstarmap.c
-===================================================================
---- src/uqm/planets/pstarmap.c	(revision 3779)
-+++ src/uqm/planets/pstarmap.c	(working copy)
-@@ -1613,7 +1613,9 @@
- 	SetMenuSounds (MENU_SOUND_NONE, MENU_SOUND_NONE);
- 	SetMenuRepeatDelay (MIN_ACCEL_DELAY, MAX_ACCEL_DELAY, STEP_ACCEL_DELAY,
- 			TRUE);
-+	TFB_SetOnScreenKeyboard_Starmap ();
- 	DoInput (&MenuState, FALSE);
-+	TFB_SetOnScreenKeyboard_Menu ();
- 	SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
- 	SetDefaultMenuRepeatDelay ();
- 
-Index: src/uqm/comm/blackur/blackurc.c
-===================================================================
---- src/uqm/comm/blackur/blackurc.c	(revision 3779)
-+++ src/uqm/comm/blackur/blackurc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../blackur/strings.h"
- 
- static LOCDATA blackurq_desc =
- {
-Index: src/uqm/comm/comandr/comandr.c
-===================================================================
---- src/uqm/comm/comandr/comandr.c	(revision 3779)
-+++ src/uqm/comm/comandr/comandr.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../comandr/strings.h"
- 
- #include "uqm/setup.h"
- #include "uqm/sis.h"
-Index: src/uqm/comm/mycon/myconc.c
-===================================================================
---- src/uqm/comm/mycon/myconc.c	(revision 3779)
-+++ src/uqm/comm/mycon/myconc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../mycon/strings.h"
- 
- #include "uqm/gameev.h"
- #include "libs/mathlib.h"
-Index: src/uqm/comm/spathi/spathic.c
-===================================================================
---- src/uqm/comm/spathi/spathic.c	(revision 3779)
-+++ src/uqm/comm/spathi/spathic.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../spathi/strings.h"
- 
- #include "uqm/build.h"
- 
-Index: src/uqm/comm/druuge/druugec.c
-===================================================================
---- src/uqm/comm/druuge/druugec.c	(revision 3779)
-+++ src/uqm/comm/druuge/druugec.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../druuge/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/setup.h"
-Index: src/uqm/comm/syreen/syreenc.c
-===================================================================
---- src/uqm/comm/syreen/syreenc.c	(revision 3779)
-+++ src/uqm/comm/syreen/syreenc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../syreen/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/setup.h"
-Index: src/uqm/comm/slyland/slyland.c
-===================================================================
---- src/uqm/comm/slyland/slyland.c	(revision 3779)
-+++ src/uqm/comm/slyland/slyland.c	(working copy)
-@@ -16,10 +16,10 @@
-  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-  */
- 
-+#include "../slyland/strings.h"
-+#include <stdlib.h>
- #include "../commall.h"
--#include <stdlib.h>
- #include "resinst.h"
--#include "strings.h"
- 
- #include "options.h"
- #include "uqm/battle.h"
-Index: src/uqm/comm/chmmr/chmmrc.c
-===================================================================
---- src/uqm/comm/chmmr/chmmrc.c	(revision 3779)
-+++ src/uqm/comm/chmmr/chmmrc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../chmmr/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/hyper.h"
-Index: src/uqm/comm/ilwrath/ilwrathc.c
-===================================================================
---- src/uqm/comm/ilwrath/ilwrathc.c	(revision 3779)
-+++ src/uqm/comm/ilwrath/ilwrathc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../ilwrath/strings.h"
- 
- #include "uqm/gameev.h"
- 
-Index: src/uqm/comm/supox/supoxc.c
-===================================================================
---- src/uqm/comm/supox/supoxc.c	(revision 3779)
-+++ src/uqm/comm/supox/supoxc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../supox/strings.h"
- 
- #include "uqm/build.h"
- 
-Index: src/uqm/comm/vux/vuxc.c
-===================================================================
---- src/uqm/comm/vux/vuxc.c	(revision 3779)
-+++ src/uqm/comm/vux/vuxc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../vux/strings.h"
- 
- static LOCDATA vux_desc =
- {
-Index: src/uqm/comm/zoqfot/zoqfotc.c
-===================================================================
---- src/uqm/comm/zoqfot/zoqfotc.c	(revision 3779)
-+++ src/uqm/comm/zoqfot/zoqfotc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../zoqfot/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/gameev.h"
-Index: src/uqm/comm/shofixt/shofixt.c
-===================================================================
---- src/uqm/comm/shofixt/shofixt.c	(revision 3779)
-+++ src/uqm/comm/shofixt/shofixt.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../shofixt/strings.h"
- 
- #include "uqm/gameev.h"
- 
-Index: src/uqm/comm/pkunk/pkunkc.c
-===================================================================
---- src/uqm/comm/pkunk/pkunkc.c	(revision 3779)
-+++ src/uqm/comm/pkunk/pkunkc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../pkunk/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/gameev.h"
-Index: src/uqm/comm/rebel/rebel.c
-===================================================================
---- src/uqm/comm/rebel/rebel.c	(revision 3779)
-+++ src/uqm/comm/rebel/rebel.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "../yehat/resinst.h"
--#include "strings.h"
-+#include "../rebel/strings.h"
- 
- #include "uqm/build.h"
- 
-Index: src/uqm/comm/arilou/arilouc.c
-===================================================================
---- src/uqm/comm/arilou/arilouc.c	(revision 3779)
-+++ src/uqm/comm/arilou/arilouc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../arilou/strings.h"
- 
- #include "uqm/gameev.h"
- 
-Index: src/uqm/comm/spahome/spahome.c
-===================================================================
---- src/uqm/comm/spahome/spahome.c	(revision 3779)
-+++ src/uqm/comm/spahome/spahome.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "../spathi/resinst.h"
--#include "strings.h"
-+#include "../spahome/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/gameev.h"
-Index: src/uqm/comm/starbas/starbas.c
-===================================================================
---- src/uqm/comm/starbas/starbas.c	(revision 3779)
-+++ src/uqm/comm/starbas/starbas.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "../comandr/resinst.h"
--#include "strings.h"
-+#include "../starbas/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/setup.h"
-Index: src/uqm/comm/utwig/utwigc.c
-===================================================================
---- src/uqm/comm/utwig/utwigc.c	(revision 3779)
-+++ src/uqm/comm/utwig/utwigc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../utwig/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/gameev.h"
-Index: src/uqm/comm/umgah/umgahc.c
-===================================================================
---- src/uqm/comm/umgah/umgahc.c	(revision 3779)
-+++ src/uqm/comm/umgah/umgahc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../umgah/strings.h"
- 
- #include "uqm/build.h"
- 
-Index: src/uqm/comm/talkpet/talkpet.c
-===================================================================
---- src/uqm/comm/talkpet/talkpet.c	(revision 3779)
-+++ src/uqm/comm/talkpet/talkpet.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../talkpet/strings.h"
- 
- #include "uqm/build.h"
- 
-Index: src/uqm/comm/thradd/thraddc.c
-===================================================================
---- src/uqm/comm/thradd/thraddc.c	(revision 3779)
-+++ src/uqm/comm/thradd/thraddc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../thradd/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/gameev.h"
-Index: src/uqm/comm/melnorm/melnorm.c
-===================================================================
---- src/uqm/comm/melnorm/melnorm.c	(revision 3779)
-+++ src/uqm/comm/melnorm/melnorm.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../melnorm/strings.h"
- 
- #include "uqm/gameev.h"
- #include "uqm/shipcont.h"
-Index: src/uqm/comm/yehat/yehatc.c
-===================================================================
---- src/uqm/comm/yehat/yehatc.c	(revision 3779)
-+++ src/uqm/comm/yehat/yehatc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../yehat/strings.h"
- 
- #include "uqm/build.h"
- #include "uqm/gameev.h"
-Index: src/uqm/comm/orz/orzc.c
-===================================================================
---- src/uqm/comm/orz/orzc.c	(revision 3779)
-+++ src/uqm/comm/orz/orzc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../orz/strings.h"
- 
- #include "uqm/build.h"
- 
-Index: src/uqm/comm/urquan/urquanc.c
-===================================================================
---- src/uqm/comm/urquan/urquanc.c	(revision 3779)
-+++ src/uqm/comm/urquan/urquanc.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../urquan/strings.h"
- 
- static LOCDATA urquan_desc =
- {
-Index: src/uqm/comm/slyhome/slyhome.c
-===================================================================
---- src/uqm/comm/slyhome/slyhome.c	(revision 3779)
-+++ src/uqm/comm/slyhome/slyhome.c	(working copy)
-@@ -18,7 +18,7 @@
- 
- #include "../commall.h"
- #include "resinst.h"
--#include "strings.h"
-+#include "../slyhome/strings.h"
- 
- #include "uqm/gameev.h"
- 
+ #ifdef DEBUG
+Index: src/uqm/globdata.c
+===================================================================
+--- src/uqm/globdata.c	(revision 3779)
++++ src/uqm/globdata.c	(working copy)
+@@ -131,7 +131,7 @@
+ 		OldContext = SetContext (RadarContext);
+ 		SetContextFGFrame (Screen);
+ 		r.corner.x = RADAR_X;
+-		r.corner.y = RADAR_Y;
++		r.corner.y = RADAR_Y_LIFTED_UP;
+ 		r.extent.width = RADAR_WIDTH;
+ 		r.extent.height = RADAR_HEIGHT;
+ 		SetContextClipRect (&r);
+Index: src/uqm/shipyard.c
+===================================================================
+--- src/uqm/shipyard.c	(revision 3779)
++++ src/uqm/shipyard.c	(working copy)
+@@ -201,9 +201,9 @@
+ 	OldContext = SetContext (StatusContext);
+ 	GetContextClipRect (&r);
+ 	s.origin.x = RADAR_X - r.corner.x;
+-	s.origin.y = RADAR_Y - r.corner.y;
++	s.origin.y = RADAR_Y_LIFTED_UP - r.corner.y;
+ 	r.corner.x = s.origin.x - 1;
+-	r.corner.y = s.origin.y - 11;
++	r.corner.y = s.origin.y - 1;
+ 	r.extent.width = RADAR_WIDTH + 2;
+ 	r.extent.height = 11;
+ 	BatchGraphics ();
+@@ -227,10 +227,6 @@
+ 		NewRaceItem = GetIndexFromStarShip (&GLOBAL (avail_race_q),
+ 				hStarShip);
+ 
+-		// Draw the ship name, above the ship image.
+-		s.frame = SetAbsFrameIndex (pMS->ModuleFrame, 3 + NewRaceItem);
+-		DrawStamp (&s);
+-
+ 		// Draw the ship image.
+ 		FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q), hStarShip);
+ 		s.frame = FleetPtr->melee_icon;
+@@ -241,6 +237,12 @@
+ 		s.origin.y += (RADAR_HEIGHT >> 1);
+ 		DrawStamp (&s);
+ 
++		// Draw the ship name, above the ship image.
++		s.origin.x -= (RADAR_WIDTH >> 1);
++		s.origin.y -= (RADAR_HEIGHT >> 2);
++		s.frame = SetAbsFrameIndex (pMS->ModuleFrame, 3 + NewRaceItem);
++		DrawStamp (&s);
++
+ 		// Print the ship cost.
+ 		t.align = ALIGN_RIGHT;
+ 		t.CharCount = (COUNT)~0;
 Index: src/options.c
 ===================================================================
 --- src/options.c	(revision 3779)

 	getBoolConfigValue (&options->keepAspectRatio, "config.keepaspectratio");
 	getGammaConfigValue (&options->gamma, "config.gamma");
 
Index: src/libs/uio/io.c
===================================================================
--- src/libs/uio/io.c	(revision 3779)

 			result = FALSE;
 		}
 		ExitRequested = FALSE;
Index: src/uqm/status.c
===================================================================
--- src/uqm/status.c	(revision 3779)
