Index: gearhead-1.100/arenascript.pp
===================================================================
--- gearhead-1.100.orig/arenascript.pp	2010-02-10 20:52:18.000000000 +0200
+++ gearhead-1.100/arenascript.pp	2010-02-10 20:55:56.000000000 +0200
@@ -37,9 +37,9 @@
 interface
 
 {$IFDEF SDLMODE}
-uses gears,locale,sdlmenus,sdl;
+uses dos,gears,locale,sdlmenus,sdl;
 {$ELSE}
-uses gears,locale,conmenus;
+uses dos,gears,locale,conmenus;
 {$ENDIF}
 
 const
@@ -1485,7 +1485,7 @@
 		PC := PC^.Next;
 	end;
 
-	SaveStringList( FName + '.txt' , VList );
+	SaveStringList( GetEnv( 'HOME' ) + '/.gearhead/' + FName + '.txt' , VList );
 	MoreText( VList , 1 );
 	DisposeSAtt( VList );
 	GFCombatDisplay( GB );
Index: gearhead-1.100/gears.pp
===================================================================
--- gearhead-1.100.orig/gears.pp	2010-02-10 20:52:07.000000000 +0200
+++ gearhead-1.100/gears.pp	2010-02-10 20:55:33.000000000 +0200
@@ -126,16 +126,11 @@
 	{ fine. }
 	Default_File_Ending = '.txt';
 	Default_Search_Pattern = '*.txt';
-	Save_Game_DirName = 'SaveGame';
-	Save_Game_Directory = Save_Game_DirName + OS_Dir_Separator;
-	Save_Character_Base = Save_Game_Directory + 'CHA';
-	Save_Unit_Base = Save_Game_Directory + 'GHU';
-	Save_Campaign_Base = Save_Game_Directory + 'RPG';
-	Design_DirName = 'Design';
+	Design_DirName = '/usr/share/games/gearhead/Design';
 	Design_Directory = Design_DirName + OS_Dir_Separator;
 	PC_Equipment_File = Design_Directory + 'PC_Equipment.txt';
 	Mek_Equipment_File = Design_Directory + 'Mek_Equipment.txt';
-	Series_DirName = 'Series';
+	Series_DirName = '/usr/share/games/gearhead/Series';
 	Series_Directory = Series_DirName + OS_Dir_Separator;
 	Archetypes_File = Series_Directory + 'ANPCdefault.txt';
 	Adventure_File_Base = Series_Directory + 'ADV_';
@@ -143,7 +138,7 @@
 	Plot_Seacrh_Pattern = Series_Directory + 'PLOT' + Default_Search_Pattern;
 	Jobs_File = Series_Directory + 'RCJobs.txt';
 	Monsters_File = Series_Directory + 'WMONdefault.txt';
-	Data_DirName = 'GameData';
+	Data_DirName = '/usr/share/games/gearhead/GameData';
 	Data_Directory = Data_DirName + OS_Dir_Separator;
 	MetaTerrain_File_Base = Data_Directory + 'meta';
 	Trait_Chatter_Base = Data_Directory + 'TC_';
@@ -163,13 +158,13 @@
 	RandMaps_Param_File = Data_Directory + 'randmaps.txt';
 	NPC_Chatter_File = Data_Directory + 'taunts.txt';
 
-	Doc_DirName = 'doc';
+	Doc_DirName = '/usr/share/games/gearhead/doc';
 	Doc_Directory = Doc_DirName + OS_Dir_Separator;
 	Mecha_Help_File = Doc_Directory + 'man_umek.txt';
 	FieldHQ_Help_File = Doc_Directory + 'man_mecha.txt';
 	Chara_Help_File = Doc_Directory + 'man_chara.txt';
 
-	Config_File = 'arena.cfg';
+	Config_File = 'gearhead.conf';
 
 {$IFDEF SDLMODE}
 	Graphics_DirName = 'Image';
@@ -178,6 +173,12 @@
 
 	STARTUP_OK: Boolean = True;
 
+	Save_Game_DirName: String = '';
+	Save_Game_Directory: String = '';
+	Save_Character_Base: String = '';
+	Save_Unit_Base: String = '';
+	Save_Campaign_Base: String = '';
+
 Type
 	SAttPtr = ^SAtt;
 	SAtt = Record		{*** STRING ATTRIBUTE ***}
@@ -543,7 +544,7 @@
         FName: String;
 begin
 	SList := Nil;
-	FName := FSearch( FName_In , '.' );
+	FName := FSearch( FName_In , '/;/usr/share/games/gearhead/' );
 	if FName <> '' then begin
 		Assign( F , FName );
 		Reset( F );
@@ -1205,10 +1206,24 @@
 var
 	S: String;
 begin
-	if not DirectoryExists( Save_Game_DirName ) then begin
-		MkDir( Save_Game_DirName );
+	S := GetEnv( 'HOME' ) + '/.gearhead';
+	if not DirectoryExists( S ) then begin
+		MkDir( S );
+		S := S + '/SaveGame';
+		if not DirectoryExists( S ) then begin
+			MkDir( S );
+		end;
+	end else begin
+		S := S + '/SaveGame';
 	end;
 
+	Save_Game_DirName := S;
+	Save_Game_Directory := Save_Game_DirName + OS_Dir_Separator;
+	Save_Character_Base := Save_Game_Directory + 'CHA';
+	Save_Unit_Base := Save_Game_Directory + 'GHU';
+	Save_Campaign_Base := Save_Game_Directory + 'RPG';
+
+
 	{ Check to make sure all the other directories can be found. }
 	Startup_OK := DirectoryExists( Design_DirName );
 	Startup_OK := Startup_OK and DirectoryExists( Series_DirName );
Index: gearhead-1.100/ui4gh.pp
===================================================================
--- gearhead-1.100.orig/ui4gh.pp	2010-02-10 20:52:25.000000000 +0200
+++ gearhead-1.100/ui4gh.pp	2010-02-10 20:52:52.000000000 +0200
@@ -361,7 +361,7 @@
 		T: Integer;
 	begin
 		{See whether or not there's a configuration file.}
-		S := FSearch(Config_File,'.');
+		S := FSearch(Config_File, GetEnv('HOME')+'/.gearhead/;/etc');
 		if S <> '' then begin
 			{ If we've found a configuration file, }
 			{ open it up and start reading. }
