changeset 15744:f9e8032ac213 draft

(svn r20411) -Codechange: rename unmovables as quite a lot of them are actually movable; e.g. HQ and owned land are pretty movable.
author rubidium <rubidium@openttd.org>
date Sun, 08 Aug 2010 10:59:30 +0000
parents db77e07563af
children 9b49afb33feb
files docs/landscape.html docs/landscape_grid.html projects/openttd_vs100.vcxproj projects/openttd_vs100.vcxproj.filters projects/openttd_vs80.vcproj projects/openttd_vs90.vcproj source.list src/ai/api/ai_company.cpp src/ai/api/ai_error.hpp src/ai/api/ai_error.hpp.sq src/bridge_map.h src/cheat_type.h src/command.cpp src/command_type.h src/company_gui.cpp src/economy.cpp src/economy_type.h src/genworld.cpp src/genworld.h src/genworld_gui.cpp src/industry_cmd.cpp src/landscape.cpp src/lang/afrikaans.txt src/lang/arabic_egypt.txt src/lang/belarusian.txt src/lang/brazilian_portuguese.txt src/lang/bulgarian.txt src/lang/catalan.txt src/lang/croatian.txt src/lang/czech.txt src/lang/danish.txt src/lang/dutch.txt src/lang/english.txt src/lang/english_US.txt src/lang/esperanto.txt src/lang/estonian.txt src/lang/finnish.txt src/lang/french.txt src/lang/galician.txt src/lang/german.txt src/lang/greek.txt src/lang/hebrew.txt src/lang/hungarian.txt src/lang/icelandic.txt src/lang/indonesian.txt src/lang/irish.txt src/lang/italian.txt src/lang/japanese.txt src/lang/korean.txt src/lang/latvian.txt src/lang/lithuanian.txt src/lang/luxembourgish.txt src/lang/malay.txt src/lang/norwegian_bokmal.txt src/lang/norwegian_nynorsk.txt src/lang/polish.txt src/lang/portuguese.txt src/lang/romanian.txt src/lang/russian.txt src/lang/serbian.txt src/lang/simplified_chinese.txt src/lang/slovak.txt src/lang/slovenian.txt src/lang/spanish.txt src/lang/swedish.txt src/lang/traditional_chinese.txt src/lang/turkish.txt src/lang/ukrainian.txt src/lang/unfinished/basque.txt src/lang/unfinished/chuvash.txt src/lang/unfinished/frisian.txt src/lang/unfinished/ido.txt src/lang/unfinished/macedonian.txt src/lang/unfinished/maltese.txt src/lang/unfinished/marathi.txt src/lang/unfinished/persian.txt src/lang/unfinished/tamil.txt src/lang/unfinished/thai.txt src/lang/unfinished/urdu.txt src/lang/vietnamese.txt src/lang/welsh.txt src/newgrf_commons.cpp src/object.h src/object_cmd.cpp src/object_map.h src/object_type.h src/saveload/afterload.cpp src/saveload/oldloader_sl.cpp src/smallmap_gui.cpp src/station_cmd.cpp src/table/object_land.h src/table/pricebase.h src/table/sprites.h src/table/station_land.h src/table/unmovable_land.h src/terraform_gui.cpp src/tile_type.h src/town_cmd.cpp src/transparency.h src/transparency_gui.cpp src/tunnelbridge_cmd.cpp src/unmovable.h src/unmovable_cmd.cpp src/unmovable_map.h src/unmovable_type.h
diffstat 105 files changed, 1486 insertions(+), 1460 deletions(-) [+]
line wrap: on
line diff
--- a/docs/landscape.html
+++ b/docs/landscape.html
@@ -1560,7 +1560,7 @@
 
   <tr bgcolor="#CCCCCC">
    <td valign=top nowrap><strong><a name="ClassA"><tt> A</tt></a></strong></td>
-   <td><strong><tt>Unmovables</tt></strong></td>
+   <td><strong><tt>Objects</tt></strong></td>
   </tr>
   <tr>
    <td valign=top nowrap>&nbsp;</td>
--- a/docs/landscape_grid.html
+++ b/docs/landscape_grid.html
@@ -327,7 +327,7 @@
     </tr>
     <tr>
       <td rowspan=2>A</td>
-      <td class="caption">unmovables</td>
+      <td class="caption">objects</td>
       <td class="bits">XXXX XXXX</td>
       <td class="bits"><span class="option">~~~</span>X XXXX</td>
       <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
--- a/projects/openttd_vs100.vcxproj
+++ b/projects/openttd_vs100.vcxproj
@@ -479,6 +479,8 @@
     <ClInclude Include="..\src\newgrf_callbacks.h" />
     <ClInclude Include="..\src\newgrf_canal.h" />
     <ClInclude Include="..\src\newgrf_cargo.h" />
+    <ClInclude Include="..\src\newgrf_class.h" />
+    <ClInclude Include="..\src\newgrf_class_func.h" />
     <ClInclude Include="..\src\newgrf_commons.h" />
     <ClInclude Include="..\src\newgrf_config.h" />
     <ClInclude Include="..\src\newgrf_debug.h" />
@@ -502,6 +504,8 @@
     <ClInclude Include="..\src\music\null_m.h" />
     <ClInclude Include="..\src\sound\null_s.h" />
     <ClInclude Include="..\src\video\null_v.h" />
+    <ClInclude Include="..\src\object.h" />
+    <ClInclude Include="..\src\object_type.h" />
     <ClInclude Include="..\src\openttd.h" />
     <ClInclude Include="..\src\order_base.h" />
     <ClInclude Include="..\src\order_func.h" />
@@ -577,8 +581,6 @@
     <ClInclude Include="..\src\transparency_gui.h" />
     <ClInclude Include="..\src\transport_type.h" />
     <ClInclude Include="..\src\tunnelbridge.h" />
-    <ClInclude Include="..\src\unmovable.h" />
-    <ClInclude Include="..\src\unmovable_type.h" />
     <ClInclude Include="..\src\vehicle_base.h" />
     <ClInclude Include="..\src\vehicle_func.h" />
     <ClInclude Include="..\src\vehicle_gui.h" />
@@ -687,6 +689,7 @@
     <ClCompile Include="..\src\group_cmd.cpp" />
     <ClCompile Include="..\src\industry_cmd.cpp" />
     <ClCompile Include="..\src\misc_cmd.cpp" />
+    <ClCompile Include="..\src\object_cmd.cpp" />
     <ClCompile Include="..\src\order_cmd.cpp" />
     <ClCompile Include="..\src\rail_cmd.cpp" />
     <ClCompile Include="..\src\road_cmd.cpp" />
@@ -700,7 +703,6 @@
     <ClCompile Include="..\src\train_cmd.cpp" />
     <ClCompile Include="..\src\tree_cmd.cpp" />
     <ClCompile Include="..\src\tunnelbridge_cmd.cpp" />
-    <ClCompile Include="..\src\unmovable_cmd.cpp" />
     <ClCompile Include="..\src\vehicle_cmd.cpp" />
     <ClCompile Include="..\src\water_cmd.cpp" />
     <ClCompile Include="..\src\waypoint_cmd.cpp" />
@@ -753,6 +755,7 @@
     <ClInclude Include="..\src\table\industry_land.h" />
     <ClInclude Include="..\src\table\landscape_sprite.h" />
     <ClInclude Include="..\src\table\newgrf_debug_data.h" />
+    <ClInclude Include="..\src\table\object_land.h" />
     <ClInclude Include="..\src\table\palette_convert.h" />
     <ClInclude Include="..\src\table\palettes.h" />
     <ClInclude Include="..\src\table\pricebase.h" />
@@ -770,7 +773,6 @@
     <ClInclude Include="..\src\table\train_cmd.h" />
     <ClInclude Include="..\src\table\tree_land.h" />
     <ClInclude Include="..\src\table\unicode.h" />
-    <ClInclude Include="..\src\table\unmovable_land.h" />
     <ClInclude Include="..\src\table\water_land.h" />
     <ClCompile Include="..\src\3rdparty\md5\md5.cpp" />
     <ClInclude Include="..\src\3rdparty\md5\md5.h" />
@@ -995,6 +997,7 @@
     <ClInclude Include="..\src\bridge_map.h" />
     <ClInclude Include="..\src\clear_map.h" />
     <ClInclude Include="..\src\industry_map.h" />
+    <ClInclude Include="..\src\object_map.h" />
     <ClInclude Include="..\src\rail_map.h" />
     <ClCompile Include="..\src\road_map.cpp" />
     <ClInclude Include="..\src\road_map.h" />
@@ -1005,7 +1008,6 @@
     <ClCompile Include="..\src\tunnel_map.cpp" />
     <ClInclude Include="..\src\tunnel_map.h" />
     <ClInclude Include="..\src\tunnelbridge_map.h" />
-    <ClInclude Include="..\src\unmovable_map.h" />
     <ClInclude Include="..\src\void_map.h" />
     <ClInclude Include="..\src\water_map.h" />
     <ClInclude Include="..\src\misc\array.hpp" />
--- a/projects/openttd_vs100.vcxproj.filters
+++ b/projects/openttd_vs100.vcxproj.filters
@@ -640,6 +640,12 @@
     <ClInclude Include="..\src\newgrf_cargo.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\newgrf_class.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\newgrf_class_func.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
     <ClInclude Include="..\src\newgrf_commons.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -709,6 +715,12 @@
     <ClInclude Include="..\src\video\null_v.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\object.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\object_type.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
     <ClInclude Include="..\src\openttd.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -934,12 +946,6 @@
     <ClInclude Include="..\src\tunnelbridge.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\src\unmovable.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\src\unmovable_type.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\src\vehicle_base.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -1264,6 +1270,9 @@
     <ClCompile Include="..\src\misc_cmd.cpp">
       <Filter>Command handlers</Filter>
     </ClCompile>
+    <ClCompile Include="..\src\object_cmd.cpp">
+      <Filter>Command handlers</Filter>
+    </ClCompile>
     <ClCompile Include="..\src\order_cmd.cpp">
       <Filter>Command handlers</Filter>
     </ClCompile>
@@ -1303,9 +1312,6 @@
     <ClCompile Include="..\src\tunnelbridge_cmd.cpp">
       <Filter>Command handlers</Filter>
     </ClCompile>
-    <ClCompile Include="..\src\unmovable_cmd.cpp">
-      <Filter>Command handlers</Filter>
-    </ClCompile>
     <ClCompile Include="..\src\vehicle_cmd.cpp">
       <Filter>Command handlers</Filter>
     </ClCompile>
@@ -1462,6 +1468,9 @@
     <ClInclude Include="..\src\table\newgrf_debug_data.h">
       <Filter>Tables</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\table\object_land.h">
+      <Filter>Tables</Filter>
+    </ClInclude>
     <ClInclude Include="..\src\table\palette_convert.h">
       <Filter>Tables</Filter>
     </ClInclude>
@@ -1513,9 +1522,6 @@
     <ClInclude Include="..\src\table\unicode.h">
       <Filter>Tables</Filter>
     </ClInclude>
-    <ClInclude Include="..\src\table\unmovable_land.h">
-      <Filter>Tables</Filter>
-    </ClInclude>
     <ClInclude Include="..\src\table\water_land.h">
       <Filter>Tables</Filter>
     </ClInclude>
@@ -2188,6 +2194,9 @@
     <ClInclude Include="..\src\industry_map.h">
       <Filter>Map Accessors</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\object_map.h">
+      <Filter>Map Accessors</Filter>
+    </ClInclude>
     <ClInclude Include="..\src\rail_map.h">
       <Filter>Map Accessors</Filter>
     </ClInclude>
@@ -2218,9 +2227,6 @@
     <ClInclude Include="..\src\tunnelbridge_map.h">
       <Filter>Map Accessors</Filter>
     </ClInclude>
-    <ClInclude Include="..\src\unmovable_map.h">
-      <Filter>Map Accessors</Filter>
-    </ClInclude>
     <ClInclude Include="..\src\void_map.h">
       <Filter>Map Accessors</Filter>
     </ClInclude>
--- a/projects/openttd_vs80.vcproj
+++ b/projects/openttd_vs80.vcproj
@@ -1184,6 +1184,14 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\newgrf_class.h"
+				>
+			</File>
+			<File
+				RelativePath=".\..\src\newgrf_class_func.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\newgrf_commons.h"
 				>
 			</File>
@@ -1276,6 +1284,14 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\object.h"
+				>
+			</File>
+			<File
+				RelativePath=".\..\src\object_type.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\openttd.h"
 				>
 			</File>
@@ -1576,14 +1592,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\..\src\unmovable.h"
-				>
-			</File>
-			<File
-				RelativePath=".\..\src\unmovable_type.h"
-				>
-			</File>
-			<File
 				RelativePath=".\..\src\vehicle_base.h"
 				>
 			</File>
@@ -2032,6 +2040,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\object_cmd.cpp"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\order_cmd.cpp"
 				>
 			</File>
@@ -2084,10 +2096,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\..\src\unmovable_cmd.cpp"
-				>
-			</File>
-			<File
 				RelativePath=".\..\src\vehicle_cmd.cpp"
 				>
 			</File>
@@ -2304,6 +2312,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\table\object_land.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\table\palette_convert.h"
 				>
 			</File>
@@ -2372,10 +2384,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\..\src\table\unmovable_land.h"
-				>
-			</File>
-			<File
 				RelativePath=".\..\src\table\water_land.h"
 				>
 			</File>
@@ -3320,6 +3328,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\object_map.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\rail_map.h"
 				>
 			</File>
@@ -3360,10 +3372,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\..\src\unmovable_map.h"
-				>
-			</File>
-			<File
 				RelativePath=".\..\src\void_map.h"
 				>
 			</File>
--- a/projects/openttd_vs90.vcproj
+++ b/projects/openttd_vs90.vcproj
@@ -1181,6 +1181,14 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\newgrf_class.h"
+				>
+			</File>
+			<File
+				RelativePath=".\..\src\newgrf_class_func.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\newgrf_commons.h"
 				>
 			</File>
@@ -1273,6 +1281,14 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\object.h"
+				>
+			</File>
+			<File
+				RelativePath=".\..\src\object_type.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\openttd.h"
 				>
 			</File>
@@ -1573,14 +1589,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\..\src\unmovable.h"
-				>
-			</File>
-			<File
-				RelativePath=".\..\src\unmovable_type.h"
-				>
-			</File>
-			<File
 				RelativePath=".\..\src\vehicle_base.h"
 				>
 			</File>
@@ -2029,6 +2037,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\object_cmd.cpp"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\order_cmd.cpp"
 				>
 			</File>
@@ -2081,10 +2093,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\..\src\unmovable_cmd.cpp"
-				>
-			</File>
-			<File
 				RelativePath=".\..\src\vehicle_cmd.cpp"
 				>
 			</File>
@@ -2301,6 +2309,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\table\object_land.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\table\palette_convert.h"
 				>
 			</File>
@@ -2369,10 +2381,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\..\src\table\unmovable_land.h"
-				>
-			</File>
-			<File
 				RelativePath=".\..\src\table\water_land.h"
 				>
 			</File>
@@ -3317,6 +3325,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\object_map.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\rail_map.h"
 				>
 			</File>
@@ -3357,10 +3369,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\..\src\unmovable_map.h"
-				>
-			</File>
-			<File
 				RelativePath=".\..\src\void_map.h"
 				>
 			</File>
--- a/source.list
+++ b/source.list
@@ -205,6 +205,8 @@
 newgrf_callbacks.h
 newgrf_canal.h
 newgrf_cargo.h
+newgrf_class.h
+newgrf_class_func.h
 newgrf_commons.h
 newgrf_config.h
 newgrf_debug.h
@@ -228,6 +230,8 @@
 music/null_m.h
 sound/null_s.h
 video/null_v.h
+object.h
+object_type.h
 openttd.h
 order_base.h
 order_func.h
@@ -303,8 +307,6 @@
 transparency_gui.h
 transport_type.h
 tunnelbridge.h
-unmovable.h
-unmovable_type.h
 vehicle_base.h
 vehicle_func.h
 vehicle_gui.h
@@ -436,6 +438,7 @@
 group_cmd.cpp
 industry_cmd.cpp
 misc_cmd.cpp
+object_cmd.cpp
 order_cmd.cpp
 rail_cmd.cpp
 road_cmd.cpp
@@ -449,7 +452,6 @@
 train_cmd.cpp
 tree_cmd.cpp
 tunnelbridge_cmd.cpp
-unmovable_cmd.cpp
 vehicle_cmd.cpp
 water_cmd.cpp
 waypoint_cmd.cpp
@@ -506,6 +508,7 @@
 table/industry_land.h
 table/landscape_sprite.h
 table/newgrf_debug_data.h
+table/object_land.h
 table/palette_convert.h
 table/palettes.h
 table/pricebase.h
@@ -523,7 +526,6 @@
 table/train_cmd.h
 table/tree_land.h
 table/unicode.h
-table/unmovable_land.h
 table/water_land.h
 
 # MD5
@@ -779,6 +781,7 @@
 bridge_map.h
 clear_map.h
 industry_map.h
+object_map.h
 rail_map.h
 road_map.cpp
 road_map.h
@@ -789,7 +792,6 @@
 tunnel_map.cpp
 tunnel_map.h
 tunnelbridge_map.h
-unmovable_map.h
 void_map.h
 water_map.h
 
--- a/src/ai/api/ai_company.cpp
+++ b/src/ai/api/ai_company.cpp
@@ -16,11 +16,11 @@
 #include "../../company_base.h"
 #include "../../company_manager_face.h"
 #include "../../economy_func.h"
+#include "../../object_type.h"
 #include "../../strings_func.h"
 #include "../../tile_map.h"
 #include "../../string_func.h"
 #include "../../settings_func.h"
-#include "../../unmovable_type.h"
 #include "table/strings.h"
 
 /* static */ AICompany::CompanyID AICompany::ResolveCompanyID(AICompany::CompanyID company)
@@ -163,7 +163,7 @@
 {
 	EnforcePrecondition(false, ::IsValidTile(tile));
 
-	return AIObject::DoCommand(tile, UNMOVABLE_HQ, 0, CMD_BUILD_UNMOVABLE);
+	return AIObject::DoCommand(tile, OBJECT_HQ, 0, CMD_BUILD_OBJECT);
 }
 
 /* static */ TileIndex AICompany::GetCompanyHQ(CompanyID company)
--- a/src/ai/api/ai_error.hpp
+++ b/src/ai/api/ai_error.hpp
@@ -99,7 +99,7 @@
 		ERR_ALREADY_BUILT,                            // [STR_ERROR_ALREADY_BUILT, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST]
 
 		/** Area isn't clear, try to demolish the building on it */
-		ERR_AREA_NOT_CLEAR,                           // [STR_ERROR_BUILDING_MUST_BE_DEMOLISHED, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_MUST_DEMOLISH_RAILROAD, STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST, STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST, STR_ERROR_BUOY_IN_THE_WAY, STR_ERROR_MUST_DEMOLISH_DOCK_FIRST, STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY, STR_ERROR_COMPANY_HEADQUARTERS_IN, STR_ERROR_OBJECT_IN_THE_WAY, STR_ERROR_MUST_REMOVE_ROAD_FIRST, STR_ERROR_MUST_REMOVE_RAILROAD_TRACK, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST, STR_ERROR_EXCAVATION_WOULD_DAMAGE]
+		ERR_AREA_NOT_CLEAR,                           // [STR_ERROR_BUILDING_MUST_BE_DEMOLISHED, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_MUST_DEMOLISH_RAILROAD, STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST, STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST, STR_ERROR_BUOY_IN_THE_WAY, STR_ERROR_MUST_DEMOLISH_DOCK_FIRST, STR_ERROR_GENERIC_OBJECT_IN_THE_WAY, STR_ERROR_COMPANY_HEADQUARTERS_IN, STR_ERROR_OBJECT_IN_THE_WAY, STR_ERROR_MUST_REMOVE_ROAD_FIRST, STR_ERROR_MUST_REMOVE_RAILROAD_TRACK, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST, STR_ERROR_EXCAVATION_WOULD_DAMAGE]
 
 		/** Area / property is owned by another company */
 		ERR_OWNED_BY_ANOTHER_COMPANY,                 // [STR_ERROR_AREA_IS_OWNED_BY_ANOTHER, STR_ERROR_OWNED_BY]
--- a/src/ai/api/ai_error.hpp.sq
+++ b/src/ai/api/ai_error.hpp.sq
@@ -79,7 +79,7 @@
 	AIError::RegisterErrorMap(STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST,            AIError::ERR_AREA_NOT_CLEAR);
 	AIError::RegisterErrorMap(STR_ERROR_BUOY_IN_THE_WAY,                            AIError::ERR_AREA_NOT_CLEAR);
 	AIError::RegisterErrorMap(STR_ERROR_MUST_DEMOLISH_DOCK_FIRST,                   AIError::ERR_AREA_NOT_CLEAR);
-	AIError::RegisterErrorMap(STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY,                AIError::ERR_AREA_NOT_CLEAR);
+	AIError::RegisterErrorMap(STR_ERROR_GENERIC_OBJECT_IN_THE_WAY,                  AIError::ERR_AREA_NOT_CLEAR);
 	AIError::RegisterErrorMap(STR_ERROR_COMPANY_HEADQUARTERS_IN,                    AIError::ERR_AREA_NOT_CLEAR);
 	AIError::RegisterErrorMap(STR_ERROR_OBJECT_IN_THE_WAY,                          AIError::ERR_AREA_NOT_CLEAR);
 	AIError::RegisterErrorMap(STR_ERROR_MUST_REMOVE_ROAD_FIRST,                     AIError::ERR_AREA_NOT_CLEAR);
--- a/src/bridge_map.h
+++ b/src/bridge_map.h
@@ -51,7 +51,7 @@
 		IsTileType(t, MP_ROAD) ||
 		IsTileType(t, MP_WATER) ||
 		IsTileType(t, MP_TUNNELBRIDGE) ||
-		IsTileType(t, MP_UNMOVABLE);
+		IsTileType(t, MP_OBJECT);
 }
 
 /**
--- a/src/cheat_type.h
+++ b/src/cheat_type.h
@@ -26,7 +26,7 @@
  * Only add new entries at the end of the struct!
  */
 struct Cheats {
-	Cheat magic_bulldozer;  ///< dynamite industries, unmovables
+	Cheat magic_bulldozer;  ///< dynamite industries, objects
 	Cheat switch_company;   ///< change to another company
 	Cheat money;            ///< get rich or poor
 	Cheat crossing_tunnels; ///< allow tunnels that cross each other
--- a/src/command.cpp
+++ b/src/command.cpp
@@ -48,7 +48,7 @@
 
 CommandProc CmdTerraformLand;
 
-CommandProc CmdBuildUnmovable;
+CommandProc CmdBuildObject;
 CommandProc CmdSellLandArea;
 
 CommandProc CmdBuildTunnel;
@@ -209,7 +209,7 @@
 	DEF_CMD(CmdBuildSingleSignal,                       CMD_AUTO), // CMD_BUILD_SIGNALS
 	DEF_CMD(CmdRemoveSingleSignal,                      CMD_AUTO), // CMD_REMOVE_SIGNALS
 	DEF_CMD(CmdTerraformLand,           CMD_ALL_TILES | CMD_AUTO), // CMD_TERRAFORM_LAND
-	DEF_CMD(CmdBuildUnmovable,           CMD_NO_WATER | CMD_AUTO), // CMD_BUILD_UNMOVABLE
+	DEF_CMD(CmdBuildObject,              CMD_NO_WATER | CMD_AUTO), // CMD_BUILD_OBJECT
 	DEF_CMD(CmdBuildTunnel,                             CMD_AUTO), // CMD_BUILD_TUNNEL
 	DEF_CMD(CmdRemoveFromRailStation,                          0), // CMD_REMOVE_FROM_RAIL_STATION
 	DEF_CMD(CmdConvertRail,                                    0), // CMD_CONVERT_RAILD
--- a/src/command_type.h
+++ b/src/command_type.h
@@ -151,7 +151,7 @@
 	CMD_BUILD_SIGNALS,                ///< build a signal
 	CMD_REMOVE_SIGNALS,               ///< remove a signal
 	CMD_TERRAFORM_LAND,               ///< terraform a tile
-	CMD_BUILD_UNMOVABLE,              ///< build something unmovable
+	CMD_BUILD_OBJECT,                 ///< build an object
 	CMD_BUILD_TUNNEL,                 ///< build a tunnel
 
 	CMD_REMOVE_FROM_RAIL_STATION,     ///< remove a (rectangle of) tiles from a rail station
--- a/src/company_gui.cpp
+++ b/src/company_gui.cpp
@@ -30,7 +30,7 @@
 #include "sprite.h"
 #include "company_base.h"
 #include "core/geometry_func.hpp"
-#include "unmovable.h"
+#include "object.h"
 
 #include "table/strings.h"
 
@@ -2004,7 +2004,7 @@
 
 	virtual void OnPlaceObject(Point pt, TileIndex tile)
 	{
-		if (DoCommandP(tile, UNMOVABLE_HQ, 0, CMD_BUILD_UNMOVABLE | CMD_MSG(STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS))) {
+		if (DoCommandP(tile, OBJECT_HQ, 0, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS))) {
 			ResetObjectToPlace();
 			this->RaiseButtons();
 		}
--- a/src/economy.cpp
+++ b/src/economy.cpp
@@ -28,7 +28,7 @@
 #include "newgrf_industrytiles.h"
 #include "newgrf_station.h"
 #include "newgrf_airporttiles.h"
-#include "unmovable.h"
+#include "object.h"
 #include "group.h"
 #include "strings_func.h"
 #include "functions.h"
--- a/src/economy_type.h
+++ b/src/economy_type.h
@@ -116,8 +116,8 @@
 	PR_RUNNING_SHIP,
 	PR_BUILD_INDUSTRY,
 	PR_CLEAR_INDUSTRY,
-	PR_BUILD_UNMOVABLE,
-	PR_CLEAR_UNMOVABLE,
+	PR_BUILD_OBJECT,
+	PR_CLEAR_OBJECT,
 	PR_BUILD_WAYPOINT_RAIL,
 	PR_CLEAR_WAYPOINT_RAIL,
 	PR_BUILD_WAYPOINT_BUOY,
--- a/src/genworld.cpp
+++ b/src/genworld.cpp
@@ -39,7 +39,7 @@
 
 void GenerateClearTile();
 void GenerateIndustries();
-void GenerateUnmovables();
+void GenerateObjects();
 void GenerateTrees();
 
 void StartupEconomy();
@@ -118,7 +118,7 @@
 
 		/* Don't generate landscape items when in the scenario editor. */
 		if (_gw.mode == GWM_EMPTY) {
-			SetGeneratingWorldProgress(GWP_UNMOVABLE, 1);
+			SetGeneratingWorldProgress(GWP_OBJECT, 1);
 
 			/* Make sure the tiles at the north border are void tiles if needed. */
 			if (_settings_game.construction.freeform_edges) {
@@ -130,7 +130,7 @@
 			if (_game_mode != GM_MENU) FlatEmptyWorld(_settings_game.game_creation.se_flat_world_height);
 
 			ConvertGroundTilesIntoWaterTiles();
-			IncreaseGeneratingWorldProgress(GWP_UNMOVABLE);
+			IncreaseGeneratingWorldProgress(GWP_OBJECT);
 		} else {
 			GenerateLandscape(_gw.mode);
 			GenerateClearTile();
@@ -143,7 +143,7 @@
 					return;
 				}
 				GenerateIndustries();
-				GenerateUnmovables();
+				GenerateObjects();
 				GenerateTrees();
 			}
 		}
--- a/src/genworld.h
+++ b/src/genworld.h
@@ -58,7 +58,7 @@
 	GWP_ROUGH_ROCKY, ///< Make rough and rocky areas
 	GWP_TOWN,        ///< Generate towns
 	GWP_INDUSTRY,    ///< Generate industries
-	GWP_UNMOVABLE,   ///< Generate unmovables (radio tower, light houses)
+	GWP_OBJECT,      ///< Generate objects (radio tower, light houses)
 	GWP_TREE,        ///< Generate trees
 	GWP_GAME_INIT,   ///< Initialize the game
 	GWP_RUNTILELOOP, ///< Runs the tile loop 1280 times to make snow etc
--- a/src/genworld_gui.cpp
+++ b/src/genworld_gui.cpp
@@ -1146,7 +1146,7 @@
 	STR_GENERATION_CLEARING_TILES,
 	STR_SCENEDIT_TOOLBAR_TOWN_GENERATION,
 	STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION,
-	STR_GENERATION_UNMOVABLE_GENERATION,
+	STR_GENERATION_OBJECT_GENERATION,
 	STR_GENERATION_TREE_GENERATION,
 	STR_GENERATION_SETTINGUP_GAME,
 	STR_GENERATION_PREPARING_TILELOOP,
--- a/src/industry_cmd.cpp
+++ b/src/industry_cmd.cpp
@@ -481,7 +481,7 @@
 				((indspec->behaviour & INDUSTRYBEH_BUILT_ONWATER) ||
 				HasBit(GetIndustryTileSpec(GetIndustryGfx(tile))->slopes_refused, 5)))) {
 		SetDParam(1, indspec->name);
-		return_cmd_error(flags & DC_AUTO ? STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY : INVALID_STRING_ID);
+		return_cmd_error(flags & DC_AUTO ? STR_ERROR_GENERIC_OBJECT_IN_THE_WAY : INVALID_STRING_ID);
 	}
 
 	if (flags & DC_EXEC) {
--- a/src/landscape.cpp
+++ b/src/landscape.cpp
@@ -43,7 +43,7 @@
 	_tile_type_dummy_procs,
 	_tile_type_industry_procs,
 	_tile_type_tunnelbridge_procs,
-	_tile_type_unmovable_procs;
+	_tile_type_object_procs;
 
 /**
  * Tile callback functions for each type of tile.
@@ -61,7 +61,7 @@
 	&_tile_type_dummy_procs,        ///< Callback functions for MP_VOID tiles
 	&_tile_type_industry_procs,     ///< Callback functions for MP_INDUSTRY tiles
 	&_tile_type_tunnelbridge_procs, ///< Callback functions for MP_TUNNELBRIDGE tiles
-	&_tile_type_unmovable_procs,    ///< Callback functions for MP_UNMOVABLE tiles
+	&_tile_type_object_procs,       ///< Callback functions for MP_OBJECT tiles
 };
 
 /** landscape slope => sprite */
--- a/src/lang/afrikaans.txt
+++ b/src/lang/afrikaans.txt
@@ -2216,10 +2216,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akwamaryn
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Sender
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Vuurtoring
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Maatskappy Hoofkwartier
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Maatskappy-besitte land
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Sender
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Vuurtoring
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Maatskappy Hoofkwartier
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Maatskappy-besitte land
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Oor OpenTTD
@@ -2307,7 +2307,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Wêreld generasie
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Boom generasie
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Onbeweegbaar generasie
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Onbeweegbaar generasie
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Ru en rotserig area ontwikkeling
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Stel speletjie op
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Hardloop teël-herhaling
@@ -3327,7 +3327,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... besit deur {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... gebied is besit deur 'n ander maatskappy
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Naam moet unike wees
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} in die pad
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} in die pad
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} plaaslike raad weier om dit te toelaat
@@ -3525,7 +3525,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tonnel so op die einde van die kaart eindig
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Kan nie daal vir ander einde van tonnel te uitgrawe nie
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Voorwerp in die pad
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... maatskappy hoofkwartier in die pad
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Die land area kan nie aangekoop word nie...
--- a/src/lang/arabic_egypt.txt
+++ b/src/lang/arabic_egypt.txt
@@ -2215,10 +2215,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :قناة مائية
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :برج ارسال
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :منارة ضوئية
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :مبنى الشركة الرئيسي
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :ارض مملوكة لشركة
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :برج ارسال
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :منارة ضوئية
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :مبنى الشركة الرئيسي
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :ارض مملوكة لشركة
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}حول النسخة المفتوحة
@@ -2306,7 +2306,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK} مولد الخريطة
 STR_GENERATION_TREE_GENERATION                                  :{BLACK} مولد الشجر
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK} غير قابل لتحريك
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK} غير قابل لتحريك
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}مولد المناطق الخشنة والصخرية
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}تجهيز لعبة
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK} تشغيل المتكررة
@@ -3318,7 +3318,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}مملوكة من قبل ... {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... المنطقة مملوكة لشركة منافسة
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}السم يجب ان يكون فريدا - غير مستخدم
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} على الطريق
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} على الطريق
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN}بلدية المدينة ترفض السماح بهذا
@@ -3515,7 +3515,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}الانفاق تنتهي خارج حدود الخريطة
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}لا يمكن تعديل الأرض في نهاية النفق
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}عائق في الطريق
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}مبنى شركة على الطريق
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}لا يمكن شراء هذة القطعة ...
--- a/src/lang/belarusian.txt
+++ b/src/lang/belarusian.txt
@@ -2573,10 +2573,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Аквэдук
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Перадатчык
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Маяк
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Штаб-кватэра кампаніі
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Зямля належыць кампаніі
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Перадатчык
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Маяк
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Штаб-кватэра кампаніі
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Зямля належыць кампаніі
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Аб OpenTTD
@@ -2670,7 +2670,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Стварэньне сусьвету
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Высаджваньне лясоў
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Генэрацыя нерухомасьці
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Генэрацыя нерухомасьці
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Расстаноўка дэкарацыяў і камянёў
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Наладка гульні
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Падрыхтоўка да запуску...
@@ -3767,7 +3767,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... належыць {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... участак належыць іншай кампаніі
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Імя павінна быць унікальным
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} на шляху
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} на шляху
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}... адміністрацыя горада {TOWN} забараняе вам гэта рабіць
@@ -3978,7 +3978,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Тунэль заканчваецца па-за межамі мапы
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Немагчыма падняць/апусьціць зямлю для іншага канца тунэля
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Немагчыма пабудаваць аб'ект...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Аб'ект на шляху
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... штаб-кватэра кампаніі на шляху
--- a/src/lang/brazilian_portuguese.txt
+++ b/src/lang/brazilian_portuguese.txt
@@ -2236,10 +2236,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aqueduto
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmissor
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Farol
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Sede de Empresa
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :O terreno é propriedade de uma empresa
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmissor
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Farol
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Sede de Empresa
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :O terreno é propriedade de uma empresa
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Sobre o OpenTTD...
@@ -2333,7 +2333,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Geração de mundo
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Geração de árvores
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Geração imóvel
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Geração imóvel
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Geração de area rochosa e irregular
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Preparando jogo
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Passando tile-loop
@@ -3410,7 +3410,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... propriedade de {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... a área é propriedade de outra empresa
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nome deve ser único
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} no caminho
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} no caminho
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}A autoridade local de {TOWN} não autoriza
@@ -3618,7 +3618,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}O túnel não tem onde sair
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Incapaz de escavar o terreno para o outro lado do túnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objeto no caminho
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... sede de empresa no caminho
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Impossível comprar esta área...
--- a/src/lang/bulgarian.txt
+++ b/src/lang/bulgarian.txt
@@ -2216,10 +2216,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Акведукт
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Предавател
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Фар
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :централа
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Земя, притежавана от компанията
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Предавател
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Фар
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :централа
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Земя, притежавана от компанията
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Относно OpenTTD
@@ -2312,7 +2312,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Генерация на свят
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Генерация на дърва
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Генерация на статични
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Генерация на статични
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Създаване на твърда и скална повърност
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Настройка на играта
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Изпълняване цикъл на плочките
@@ -3342,7 +3342,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... собственост на {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... земята е притежание на друга компания
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Името трябва да е уникално
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} пречи
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} пречи
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} местните власти отказват да позволят това
@@ -3540,7 +3540,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Тунела би завършил извън картата
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Не може да бъде изкопан другия край на тунела
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Обект на пътя
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... централата е на пътя
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Земята не може да бъде закупена...
--- a/src/lang/catalan.txt
+++ b/src/lang/catalan.txt
@@ -2222,10 +2222,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aqüeducte
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Repetidor
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Far
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Seu de l'Empresa
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :terreny propietat de l'Empresa
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Repetidor
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Far
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Seu de l'Empresa
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :terreny propietat de l'Empresa
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Quant a OpenTTD
@@ -2313,7 +2313,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Generació del món
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Generació d'arbres
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Generació inamovible
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Generació inamovible
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generació d'una àrea escarpada i rocosa
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Configurant el joc
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Passant el bucle de cel·les
@@ -3377,7 +3377,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... propietat de {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... l'àrea és propietat d'una altra companyia
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}El nom ha de ser únic
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} en el camí
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} en el camí
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Les autoritats locals de {TOWN} no permeten fer això
@@ -3578,7 +3578,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}El túnel acabarà fora del mapa
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Impossible excavar la terra a l'altre extrem del túnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objecte en el camí
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... seu de la companyia en el camí
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}No pots comprar aquesta àrea de terreny...
--- a/src/lang/croatian.txt
+++ b/src/lang/croatian.txt
@@ -2336,10 +2336,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvadukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Odašiljač
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Svjetionik
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Sjedište tvrtke
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Zemlja u posjedu tvrtke
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Odašiljač
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Svjetionik
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Sjedište tvrtke
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Zemlja u posjedu tvrtke
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}O OpenTTD-u
@@ -2433,7 +2433,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Izrada svijeta
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Generiranje drveća
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Nepomično generiranje
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Nepomično generiranje
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generiranje grubog i stjenovitog područja
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Pripremam igru
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Izvršavam tile-petlju
@@ -3510,7 +3510,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... u vlasništvu {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... područje je u vlasništvu druge tvrtke
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Ime mora biti jedinstveno
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} na putu
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} na putu
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} lokalna samouprava odbija to dopustiti
@@ -3721,7 +3721,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunel bi završio izvan karte
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Ne moguće iskopoati zemlju na drugoj strani tunela
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Nemoguće izgraditi objekt...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Smeta objekt
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... smeta sjedište tvrtke
--- a/src/lang/czech.txt
+++ b/src/lang/czech.txt
@@ -2294,10 +2294,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvadukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Vysílač
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Maják
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Ředitelství společnosti
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Půda vlastněna společností
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Vysílač
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Maják
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Ředitelství společnosti
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Půda vlastněna společností
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}O OpenTTD
@@ -2391,7 +2391,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Tvorba krajiny
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Výsadba stromů
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Výstavba nepřesunutelných objektů
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Výstavba nepřesunutelných objektů
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Tvorba členitého a kamenitého území
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Nastavování hry
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Spouštění tile-loopu (cyklus na dílcích mapy)
@@ -3474,7 +3474,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... vlastněno {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... území vlastní jiná společnost
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Jméno musí být jedinečné
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} v cestě
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} v cestě
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Místní správa města {TOWN} odmítla vydat povolení.
@@ -3682,7 +3682,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunel by končil mimo mapu
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Nelze vyrovnat zemi na druhém konci tunelu
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}V cestě je objekt
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... v cestě je ředitelství společnosti
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Nelze zakoupit tento pozemek...
--- a/src/lang/danish.txt
+++ b/src/lang/danish.txt
@@ -2220,10 +2220,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvædukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Sender
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Fyrtårn
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Selskabets hovedkontor
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Land ejet af selskabet
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Sender
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Fyrtårn
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Selskabets hovedkontor
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Land ejet af selskabet
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Om OpenTTD
@@ -2311,7 +2311,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Verdensgenerering
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Trægenerering
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Ikke-flytbar generering
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Ikke-flytbar generering
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generer råt og stenet område
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Klargør spil
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Kører flise-løkken
@@ -3370,7 +3370,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... ejes af {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... området ejes af et andet selskab
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Navnet skal være unikt
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} i vejen
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} i vejen
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} de lokale myndigheder nægter at tillade dette
@@ -3571,7 +3571,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnellen ville slutte uden for kortet
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Det er umuligt at lave en udgravning til tunnelen i den anden ende
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Der er et objekt i vejen
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... selskabets hovedkontor i vejen
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Kan ikke købe dette landområde...
--- a/src/lang/dutch.txt
+++ b/src/lang/dutch.txt
@@ -2240,10 +2240,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aquaduct
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Radiomast
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Vuurtoren
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Bedrijfshoofdkwartier
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Terrein in bedrijfseigendom
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Radiomast
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Vuurtoren
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Bedrijfshoofdkwartier
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Terrein in bedrijfseigendom
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Over OpenTTD
@@ -2337,7 +2337,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Wereldontwikkeling
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Bosplaatsing
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Ontwikkeling van onverplaatsbare objecten
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Ontwikkeling van onverplaatsbare objecten
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Ontwikkeling van ruig en rotsachtig gebied
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Spel aan het configureren
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Bezig met vlakken
@@ -3414,7 +3414,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... is eigendom van {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... gebied is van ander bedrijf
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Naam moet uniek zijn
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} in de weg
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} in de weg
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}De gemeenteraad van {TOWN} staat dit niet toe
@@ -3625,7 +3625,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnel eindigt buiten de kaart
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Kan geen land uitgraven voor andere uiteinde tunnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Kan object niet bouwen...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Object in de weg
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... bedrijfshoofdkwartier in de weg
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -1412,7 +1412,7 @@
 STR_CHEATS_WARNING                                              :{BLACK}Warning! You are about to betray your fellow competitors. Keep in mind that such a disgrace will be remembered for eternity.
 STR_CHEAT_MONEY                                                 :{LTBLUE}Increase money by {CURRENCY}
 STR_CHEAT_CHANGE_COMPANY                                        :{LTBLUE}Playing as company: {ORANGE}{COMMA}
-STR_CHEAT_EXTRA_DYNAMITE                                        :{LTBLUE}Magic bulldozer (remove industries, unmovables): {ORANGE}{STRING1}
+STR_CHEAT_EXTRA_DYNAMITE                                        :{LTBLUE}Magic bulldozer (remove industries, unmovable objects): {ORANGE}{STRING1}
 STR_CHEAT_CROSSINGTUNNELS                                       :{LTBLUE}Tunnels may cross each other: {ORANGE}{STRING1}
 STR_CHEAT_BUILD_IN_PAUSE                                        :{LTBLUE}Build while in pause mode: {ORANGE}{STRING1}
 STR_CHEAT_NO_JETCRASH                                           :{LTBLUE}Jetplanes will not crash (frequently) on small airports: {ORANGE}{STRING}
@@ -2240,10 +2240,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aqueduct
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmitter
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Lighthouse
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Company headquarters
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Company-owned land
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmitter
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Lighthouse
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Company headquarters
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Company-owned land
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}About OpenTTD
@@ -2337,7 +2337,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}World generation
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Tree generation
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Unmovable generation
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Object generation
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Rough and rocky area generation
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Setting up game
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Running tile-loop
@@ -3414,7 +3414,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... owned by {STRING2}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... area is owned by another company
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Name must be unique
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} in the way
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} in the way
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} local authority refuses to allow this
@@ -3625,7 +3625,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnel would end out of the map
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Unable to excavate land for other end of tunnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Can't build object...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Object in the way
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... company headquarters in the way
--- a/src/lang/english_US.txt
+++ b/src/lang/english_US.txt
@@ -1396,7 +1396,7 @@
 STR_CHEATS_WARNING                                              :{BLACK}Warning! You are about to betray your fellow competitors. Keep in mind that such a disgrace will be remembered for eternity.
 STR_CHEAT_MONEY                                                 :{LTBLUE}Increase money by {CURRENCY}
 STR_CHEAT_CHANGE_COMPANY                                        :{LTBLUE}Playing as company: {ORANGE}{COMMA}
-STR_CHEAT_EXTRA_DYNAMITE                                        :{LTBLUE}Magic bulldozer (remove industries, unmovables): {ORANGE}{STRING}
+STR_CHEAT_EXTRA_DYNAMITE                                        :{LTBLUE}Magic bulldozer (remove industries, unmovable objects): {ORANGE}{STRING}
 STR_CHEAT_CROSSINGTUNNELS                                       :{LTBLUE}Tunnels may cross each other: {ORANGE}{STRING}
 STR_CHEAT_BUILD_IN_PAUSE                                        :{LTBLUE}Build while in pause mode: {ORANGE}{STRING}
 STR_CHEAT_NO_JETCRASH                                           :{LTBLUE}Jetplanes will not crash (frequently) on small airports: {ORANGE}{STRING}
@@ -2211,10 +2211,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aqueduct
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmitter
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Lighthouse
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Company Headquarters
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Company-owned land
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmitter
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Lighthouse
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Company Headquarters
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Company-owned land
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD
@@ -2302,7 +2302,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}World generation
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Tree generation
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Unmovable generation
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Object generation
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Rough and rocky area generation
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Setting up game
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Running tile-loop
@@ -3321,7 +3321,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... owned by {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... area is owned by another company
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Name must be unique
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} in the way
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} in the way
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} local authority refuses to allow this
@@ -3518,7 +3518,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnel would end out of the map
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Unable to excavate land for other end of tunnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Object in the way
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... company headquarters in the way
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Can't purchase this land area...
--- a/src/lang/esperanto.txt
+++ b/src/lang/esperanto.txt
@@ -2178,10 +2178,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvedukto
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmitilo
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Lumturo
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Kompania Ĉefkonstruaĵo
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Kompanie posedata lando
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmitilo
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Lumturo
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Kompania Ĉefkonstruaĵo
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Kompanie posedata lando
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Pri OpenTTD
@@ -2268,7 +2268,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Mondgenerado
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Arba generado
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Nemoveblaĵa generado
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Nemoveblaĵa generado
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generado de malglataj kaj rokaj regionoj
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Agordante ludon
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Trakurante kvadratojn
@@ -3245,7 +3245,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... posedata de {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... regiono estas posedata de alia kompanio
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nomo devas esti ununura
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} okupas la lokon
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} okupas la lokon
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}La loka estraro de {TOWN} rifuzas permesi ĉi tion
@@ -3438,7 +3438,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunelo finiĝus ekster la mapo
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Ne eblas liberigi la landon aliflanke de la tunelo
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objekto okupas la lokon
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... kompania ĉefkonstruaĵo okupas la lokon
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Ne povas aĉeti ĉi tiun regionon...
--- a/src/lang/estonian.txt
+++ b/src/lang/estonian.txt
@@ -2279,10 +2279,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvedukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Retranslaator
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Tuletorn
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Ettevõtte peakorter
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Ettevõtte maa
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Retranslaator
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Tuletorn
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Ettevõtte peakorter
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Ettevõtte maa
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD lisainfo
@@ -2376,7 +2376,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Maailma genereerimine
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Puude genereerimine
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Liigutamatu tekitamine
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Liigutamatu tekitamine
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Mägise ja kivise maaala tegemine
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Mängu seadistamine
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Klotsisilmuse täitmine
@@ -3447,7 +3447,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... omanik on {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... ala kuulub teisele ettevõttele
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nime ei tohi korduda
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} on ees
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} on ees
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} kohalik omavalitsus keeldub seda lubamast
@@ -3649,7 +3649,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnel lõpeks väljaspool kaarti
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Ei saa tunneli teise otsa jaoks maad parajaks kaevata
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Mingi objekt on ees
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... ettevõtte peakorter on ees
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Seda maad ei saa osta...
--- a/src/lang/finnish.txt
+++ b/src/lang/finnish.txt
@@ -2240,10 +2240,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvedukti
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Lähetin
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Majakka
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Yhtiön päärakennus
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Yhtiön omistamaa maata
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Lähetin
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Majakka
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Yhtiön päärakennus
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Yhtiön omistamaa maata
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Tietoja OpenTTD:stä
@@ -2337,7 +2337,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Maailman luominen
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Puiden luominen
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Siirtämättömän luominen
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Siirtämättömän luominen
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Karun ja kivisen alueen luominen
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Valmistellaan peliä
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Ajetaan tile-loop
@@ -3414,7 +3414,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... omistaja: {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... alueen omistaa toinen yhtiö
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nimen täytyy olla uniikki
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} on tiellä.
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} on tiellä.
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN}: paikallisviranomaiset kieltäytyvät.
@@ -3625,7 +3625,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunneli loppuisi kartan ulkopuolelle
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Maata ei voi kaivaa tunnelin toisessa päässä.
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Kohdetta ei voida rakentaa...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objekti on tiellä.
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... yhtiön päärakennus on tiellä.
--- a/src/lang/french.txt
+++ b/src/lang/french.txt
@@ -2241,10 +2241,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aqueduc
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmetteur
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Phare
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Siège de la compagnie
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Terrain appartenant à une compagnie
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmetteur
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Phare
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Siège de la compagnie
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Terrain appartenant à une compagnie
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}A propos de OpenTTD
@@ -2338,7 +2338,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Création du monde
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Création des arbres
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Création des non-déplacables
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Création des non-déplacables
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Création des zones rugueuses et rocheuses
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Configuration du jeu
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Rafraîchissement du terrain
@@ -3415,7 +3415,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... appartient à {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... appartient à une autre compagnie
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Le nom doit être unique
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} présente
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} présente
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}La municipalité de {TOWN} refuse cette opération
@@ -3626,7 +3626,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Le tunnel finirait en dehors de la carte
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Impossible de creuser pour faire déboucher le tunnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Impossible de construire l'objet...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objet présent
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... siège de la compagnie présent
--- a/src/lang/galician.txt
+++ b/src/lang/galician.txt
@@ -2180,10 +2180,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Acueducto
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmisor
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Faro
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Cuartel Xeral de Compañía
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Terreo propiedade dunha compañía
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmisor
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Faro
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Cuartel Xeral de Compañía
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Terreo propiedade dunha compañía
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Acerca de OpenTTD
@@ -2270,7 +2270,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Xeración do mundo
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Xeración de árbores
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Xeración inamovible
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Xeración inamovible
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Xeración de áreas rocosas e quebradas
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Configurando partida
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Executando tile-loop
@@ -3280,7 +3280,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... é propiedade de {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... a área é propiedade doutra compañía
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}O nome debe ser único
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} no camiño
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} no camiño
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN}: a autoridade local négase a permitilo
@@ -3475,7 +3475,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}O túnel terminaría fóra do mapa
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Non se pode excava-lo terreo no outro lado do túnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Hai un obxecto no camiño
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... hai un cuartel xeral no camiño
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Non se pode compra-la área de terreo...
--- a/src/lang/german.txt
+++ b/src/lang/german.txt
@@ -2240,10 +2240,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aquädukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Sendemast
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Leuchtturm
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Firmensitz
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Firmeneigenes Gelände
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Sendemast
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Leuchtturm
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Firmensitz
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Firmeneigenes Gelände
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD
@@ -2337,7 +2337,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Spielfeld wird erzeugt
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Bäume werden erzeugt
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Unbewegliche Objekte werden erzeugt
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Unbewegliche Objekte werden erzeugt
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Raue, felsige Landschaft wird erzeugt
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Spiel wird vorbereitet
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Spielfeld wird belebt
@@ -3414,7 +3414,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... Eigentum von {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... Gelände gehört einer anderen Firma
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Name bereits vergeben
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} im Weg
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} im Weg
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Die Stadtverwaltung von {TOWN} erteilt keine Genehmigung
@@ -3625,7 +3625,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnel würde außerhalb des Spielfelds enden
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Land kann am anderen Ende des Tunnels nicht angehoben werden
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Objekt kann nicht gebaut werden...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Gegenstand im Weg
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... Firmensitz ist im Weg
--- a/src/lang/greek.txt
+++ b/src/lang/greek.txt
@@ -2330,10 +2330,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Κανάλι
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Αναμεταδότης
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Φάρος
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Κεντρικά Γραφεία Εταιρίας
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Ιδιόκτητη γή από εταιρία
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Αναμεταδότης
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Φάρος
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Κεντρικά Γραφεία Εταιρίας
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Ιδιόκτητη γή από εταιρία
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Σχετικά με το OpenTTD
@@ -2427,7 +2427,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Δημιουργία Κόσμου
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Δημιουργία Δέντρων
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Δημιουργία μη μετακινούμενων
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Δημιουργία μη μετακινούμενων
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Δημιουργία άγριας και πετρώδης περιοχής
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Ρύθμιση παιχνιδιού
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Εκτέλεση βρόγχου πλακιδίων
@@ -3510,7 +3510,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... ιδιοκτησία του {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... αυτή η περιοχή είναι ιδιοκτησία άλλης εταιρίας
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Το όνομα πρέπει να είναι μοναδικό
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} στη μέση
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} στη μέση
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Οι τοπικές αρχές της πόλης {TOWN} δεν το επιτρέπουν
@@ -3719,7 +3719,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Το τούνελ θα καταλήξει εκτός του χάρτη
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Αδύνατο να γίνει εκσκαφή γης στην άλλη άκρη του τούνελ
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Δεν μπορεί να κτιστεί το αντικείμενο...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Αντικείμενο στη μέση
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... κεντρικά γραφεία εταιρίας στη μέση
--- a/src/lang/hebrew.txt
+++ b/src/lang/hebrew.txt
@@ -2234,10 +2234,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :מוביל-מים
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :אנטנה
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :מיגדלור
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :מטה החברה
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :שטח בבעלות חברה
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :אנטנה
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :מיגדלור
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :מטה החברה
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :שטח בבעלות חברה
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD אודות
@@ -2331,7 +2331,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}יצור עולם
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}יצירת עצים
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}יצירת מבנים בלתי ניידים
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}יצירת מבנים בלתי ניידים
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}יצירת איזורים סלעיים
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}קביעת הגדרות המשחק
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}מריץ לולאה על כל המשבצות
@@ -3387,7 +3387,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... בבעלות {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... השטח בבעלותה של חברה אחרת
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}השם חייב להיות ייחודי
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}חוסם את הדרך {1:STRING}
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}חוסם את הדרך {1:STRING}
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}הרשות המקומית של {TOWN} מתנגדת לפעולה זו
@@ -3588,7 +3588,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}התעלה תסתיים מחוץ למפה
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}לא ניתן היה לפנות את השטח בקצה השני של המנהרה
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}עצם חוסם את הדרך
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... מטה חברה חוסם את הדרך
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}לא ניתן לקנות שטח זה...
--- a/src/lang/hungarian.txt
+++ b/src/lang/hungarian.txt
@@ -2304,10 +2304,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvadukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Rádióadó-torony
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Világítótorony
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Vállalat székháza
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Vállalat által birtokolt föld
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Rádióadó-torony
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Világítótorony
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Vállalat székháza
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Vállalat által birtokolt föld
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Az OpenTTD-ről
@@ -2401,7 +2401,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Térkép létrehozása
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Fák generálása
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Mozgathatatlan létesítmények létrehozása
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Mozgathatatlan létesítmények létrehozása
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Durva és köves területek generálása
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Játék beállítása
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Mezők véglegesítése
@@ -3478,7 +3478,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... {STRING} tulajdona
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... a terület más vállalaté
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}A névnek egyedinek kell lennie
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}...{1:STRING} van az útban
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}...{1:STRING} van az útban
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} önkormányzata nem engedélyezi
@@ -3689,7 +3689,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Az alagút vége a pályán kívülre esik
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Nem lehet kiásni a földet az alagút túloldalán
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Nem építhető objektum...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objektum van az útban
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... vállalat székháza van az útban
--- a/src/lang/icelandic.txt
+++ b/src/lang/icelandic.txt
@@ -2161,10 +2161,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Vatnsleiðsla
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Mastur
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Viti
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Höfuðstöðvar fyritækis
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Land í eigu fyrirtækis
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Mastur
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Viti
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Höfuðstöðvar fyritækis
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Land í eigu fyrirtækis
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Um OpenTTD
@@ -2251,7 +2251,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Sköpun heims
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Gróðursetning trjáa
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Staðsetning fastra hluta
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Staðsetning fastra hluta
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Hrjúft og grýtt landslag
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Set upp leik
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Keyri reitalykkju
@@ -3214,7 +3214,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... í eigu {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... svæðið er í eigu annars fyrirtækis
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nafnið verður að vera sérstætt
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} er fyrir
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} er fyrir
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} bæjaryfirvöld leyfa þetta ekki
@@ -3407,7 +3407,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Göng myndu enda utan korts
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Get ekki breytt landi fyrir hinn enda gangnanna
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Hluturinn er fyrir
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... höfuðstöðvar fyrirtækis eru fyrir
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Þú getur ekki keypt þetta land...
--- a/src/lang/indonesian.txt
+++ b/src/lang/indonesian.txt
@@ -2235,10 +2235,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Saluran air dari beton
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Pemancar
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Mercusuar
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Kantor Utama Perusahaan
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Tanah milik Perusahaan
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Pemancar
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Mercusuar
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Kantor Utama Perusahaan
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Tanah milik Perusahaan
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Tentang OpenTTD
@@ -2332,7 +2332,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Membuat dunia
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Membuat pepohonan
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Membuat objek tak bergerak
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Membuat objek tak bergerak
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Membersihan area
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Mengatur permainan
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Menyiapkan area loop
@@ -3409,7 +3409,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... dimiliki oleh {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... area ini dimiliki oleh perusahaan lain
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nama haruslah unik
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :terhalang {WHITE}{1:STRING}
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :terhalang {WHITE}{1:STRING}
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Pemkot {TOWN} tidak mengijinkan anda melakukan ini
@@ -3618,7 +3618,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Terowongan boleh berakhir di luar peta
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Tidak dapat menyesuaikan kemiringan tanah di ujung terowongan
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Tidak dapat membuat objek...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}terhalang obyek
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... terhalang kantor pusat perusahaan
--- a/src/lang/irish.txt
+++ b/src/lang/irish.txt
@@ -2235,10 +2235,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Uiscerian
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Tarchuradóir
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Teach solais
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Ceanncheathrú cuideachta
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Talamh faoi úinéireacht cuideachta
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Tarchuradóir
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Teach solais
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Ceanncheathrú cuideachta
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Talamh faoi úinéireacht cuideachta
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Maidir le OpenTTD
@@ -2332,7 +2332,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Domhan a chruthú
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Crainn a chruthú
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Nithe nach féidir bogadh a chruthú
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Nithe nach féidir bogadh a chruthú
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Limistear garbh agus carraigeach a chruthú
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Cluiche á chumrú
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Lúb tíleanna á rith
@@ -3409,7 +3409,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... is le {STRING} é
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... is le cuideachta eile an limistéar
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Caithfidh ainm uathúil a bheith ann
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}Tá {1:STRING} sa bhealach
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}Tá {1:STRING} sa bhealach
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Ní cheadaíonn údarás áitiúil {TOWN} é seo
@@ -3620,7 +3620,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Bheadh deireadh an tollán taobh amuigh den léarscáil
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Ní féidir an talamh a thochailt don taobh eile den tollán
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Ní féidir an oibiacht a thógáil...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Tá rud sa bhealach
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... tá ceanncheathrú na cuideachta sa bhealach
--- a/src/lang/italian.txt
+++ b/src/lang/italian.txt
@@ -2242,10 +2242,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Acquedotto
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Trasmettitore
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Faro
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Sede della compagnia
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Terreno posseduto dalla compagnia
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Trasmettitore
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Faro
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Sede della compagnia
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Terreno posseduto dalla compagnia
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Informazioni su OpenTTD
@@ -2339,7 +2339,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Generazione mondo
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Generazione alberi
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Generazione oggetti inamovibili
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Generazione oggetti inamovibili
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generazione aree brulle e rocciose
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Impostazione partita
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Generazione riquadri del terreno
@@ -3416,7 +3416,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... posseduto da {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... l'area appartiene a un'altra compagnia
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Il nome deve essere univoco
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} di mezzo
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} di mezzo
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}L'autorità locale di {TOWN} non lo autorizza
@@ -3627,7 +3627,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Il tunnel terminerebbe fuori dalla mappa
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Impossibile scavare il terreno all'altra estremità del tunnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Impossibile costruire l'oggetto...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Oggetto di mezzo
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... sede della compagnia di mezzo
--- a/src/lang/japanese.txt
+++ b/src/lang/japanese.txt
@@ -2207,10 +2207,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :水路橋
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :送信機
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :灯台
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :交通会社本部ビル
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :会社が所有している地域
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :送信機
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :灯台
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :交通会社本部ビル
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :会社が所有している地域
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD について
@@ -2298,7 +2298,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM}/{NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}地形作成中
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}植林中
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}灯台/送信機作成中
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}灯台/送信機作成中
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}岩石/でこぼこの地形を作成中
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}ゲームを設定中
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}タイルループを実行中
@@ -3270,7 +3270,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... 所有者は {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... この土地は他の会社に所有されています
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}名前は唯一でなければなりません
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING}があります
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING}があります
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN}の町議会が拒否しました。
@@ -3463,7 +3463,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}トンネルの突き当たりは地図の外にあります。
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}向こうの土地を掘削できません
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}灯台/送信機があります
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... 交通会社本部ビルがあります
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}この地域を購入できません...
--- a/src/lang/korean.txt
+++ b/src/lang/korean.txt
@@ -2241,10 +2241,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :수도교
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :송신기
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :등대
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :회사 HQ
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :회사 소유지
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :송신기
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :등대
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :회사 HQ
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :회사 소유지
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD에 대해서
@@ -2338,7 +2338,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}지형 만드는 중
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}나무 심는 중
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}움직일수 없는 객체 만드는 중
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}움직일수 없는 객체 만드는 중
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}거친 암석지대 만드는 중
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}게임 설정 중
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}타일 루프 작동중
@@ -3415,7 +3415,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... {STRING}의 소유입니다.
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... 다른 회사의 소유지입니다!
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}이름은 유일해야 합니다
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}중간에 {1:STRING}{G 1 "이" "가"} 있습니다.
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}중간에 {1:STRING}{G 1 "이" "가"} 있습니다.
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN}에 대한 낮은 성취도로 인해 지역당국이 이 행위를 거절했습니다!
@@ -3626,7 +3626,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}터널이 맵 끝을 통과합니다
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}지형 문제로 터널의 반대쪽 출구를 만들 수 없습니다
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}오브젝트를 건설할 수 없습니다...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}중간에 오브젝트가 있습니다
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... 중간에 회사 HQ가 있습니다.
--- a/src/lang/latvian.txt
+++ b/src/lang/latvian.txt
@@ -2156,10 +2156,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvadukts
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Raidītājs
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Bāka
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Uzņēmuma birojs
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Uzņēmumam piederoša zeme
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Raidītājs
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Bāka
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Uzņēmuma birojs
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Uzņēmumam piederoša zeme
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Par OpenTTD
@@ -2246,7 +2246,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Pasaules ģenerēšana
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Koka radīšana
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Nepārvietojama radīšana
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Nepārvietojama radīšana
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Klinšaina un akmeņaina apvidus ģenerācija
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Uzstādīt spēli
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Skrejošs nosaukums
@@ -3224,7 +3224,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... pieder {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... zemes gabals pieder citam uzņēmumam
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Vārdam jābūt unikālam
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} traucē
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} traucē
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} vietējā pašvaldība neatļauj šādu rīcību
@@ -3419,7 +3419,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunelis beigsies ārpus kartes
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Nevar izrakt citu tuneli
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Traucējošs objekts
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... traucē uzņēmuma birojs
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Nevar nopirkt šo zemes pleķi...
--- a/src/lang/lithuanian.txt
+++ b/src/lang/lithuanian.txt
@@ -2297,10 +2297,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvedukas
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Radijo siųstuvas
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Švyturys
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Kompanijos būstinė
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Kompanijos žemė
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Radijo siųstuvas
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Švyturys
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Kompanijos būstinė
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Kompanijos žemė
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Apie OpenTTD
@@ -2394,7 +2394,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Pasaulio generacija
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Medžių generacija
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Nejudinama generacija
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Nejudinama generacija
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Daubų ir uolų generacija
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Sukurti zaidima
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Paleidžiamas tile-loop
@@ -3469,7 +3469,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... priklauso {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... ši žemė priklauso kitai įmonei
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Vardas turi būti unikalus
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} kelyje
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} kelyje
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} vietos valdžia neleidžia
@@ -3671,7 +3671,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunelis bus žemėlapio gale
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Nepavyko iškasti žemės kitame tunelio gale
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Kelyje objektas
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... trukdo įmonės būstinė
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Neįmanoma užsisakyti šio langelio...
--- a/src/lang/luxembourgish.txt
+++ b/src/lang/luxembourgish.txt
@@ -2221,10 +2221,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aquadukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Sender
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Liichttuerm
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Firmen Haaptgebai
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Land am Firmenbesëtz
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Sender
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Liichttuerm
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Firmen Haaptgebai
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Land am Firmenbesëtz
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Iwwert OpenTTD
@@ -2318,7 +2318,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Welt Generatioun
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Baam Generatioun
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Unbewegbar Generatioun
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Unbewegbar Generatioun
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generatioun vun knubblegen an stengegen Areal
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Spill gëtt opgestallt
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Running tile-loop
@@ -3389,7 +3389,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... am Besëtz vun {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... d'Plaz ass am Besëtz vun enger aanerer Firma
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Numm muss eenzegartëg sinn
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} am Wee
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} am Wee
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} d'Gemeng wëll dat net erlaaben
@@ -3590,7 +3590,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnel géif ausserhalb der Kaart erauskommen
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Kann d'Land net fir dei aaner Säit vum Tunnel fräi leen
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objet am Wee
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... Firmen Haaptgebai am Wee
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Kann daat Land net kafen...
--- a/src/lang/malay.txt
+++ b/src/lang/malay.txt
@@ -2207,10 +2207,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akueduk
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Menara pemancar
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Rumah api
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Ibu pejabat syarikat
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Tanah dimiliki syarikat
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Menara pemancar
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Rumah api
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Ibu pejabat syarikat
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Tanah dimiliki syarikat
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Tentang OpenTTD
@@ -2304,7 +2304,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Penjanaan dunia
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Penjanaan pokok
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Penjanaan objek-objek yang tidak boleh digerakkan
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Penjanaan objek-objek yang tidak boleh digerakkan
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Penjanaan kawasan berbatu dan tanah kasar
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Permainan sedang diuruskan
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Lingkaran petak sedang dijalankan
@@ -3131,7 +3131,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... dimiliki oleh {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... kawasan dimiliki oleh syarikat lain
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nama mesti unik
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} menghalang
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} menghalang
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} majlis tempatan tidak membenarkannya
@@ -3330,7 +3330,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Hujung terowong akan keluar di luar batasan peta
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Tanah tidak dapat dikorek untuk pembinaan hujung terowong
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objek sedang menghalang
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... ibu pejabat syarikat menghalang
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Kawasan ini tidak dapat dibeli...
--- a/src/lang/norwegian_bokmal.txt
+++ b/src/lang/norwegian_bokmal.txt
@@ -2224,10 +2224,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvedukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Radiosender
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Fyrtårn
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Firmahovedkontor
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Feltet eies av et firma
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Radiosender
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Fyrtårn
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Firmahovedkontor
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Feltet eies av et firma
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Om OpenTTD
@@ -2321,7 +2321,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Generer en verden
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Tregenerering
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Ikke-flyttbar generering
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Ikke-flyttbar generering
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generering av ulendt og steinete område
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Klargjør spillet
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Kjører rute-løkke
@@ -3392,7 +3392,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}...{NBSP}eies av {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... området eies av et annet firma
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Navn må være unikt
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} er i veien
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} er i veien
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN}s bystyre nekter deg å gjøre dette.
@@ -3599,7 +3599,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnelen ville munne ut utenfor kartkanten
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Kan ikke grave ut land til den andre tunnelinngangen
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objekt er i veien
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... firmahovedkontor er i veien
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Kan ikke kjøpe dette landområdet...
--- a/src/lang/norwegian_nynorsk.txt
+++ b/src/lang/norwegian_nynorsk.txt
@@ -2223,10 +2223,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvedukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Radiosendar
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Fyrtårn
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Hovudkontor til firma
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Feltet eigast av eit firma
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Radiosendar
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Fyrtårn
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Hovudkontor til firma
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Feltet eigast av eit firma
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Om OpenTTD
@@ -2320,7 +2320,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Generer ei verd
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Tregenerering
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Ikkje-flyttbar generering
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Ikkje-flyttbar generering
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generering av ulendt og steinete område
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Klargjer spelet
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Køyrer rute-løkkje
@@ -3391,7 +3391,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... eigd av {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... feltet er eigd av eit anna firma
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Namnet må vera unikt
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} er i vegen
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} er i vegen
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Bystyret i {TOWN} nektar deg å gjere dette
@@ -3592,7 +3592,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunnelen vil enda utanfor kartet
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Kan ikkje grave ut land til den andre tunnelutgangen
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objekt er i vegen
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... hovudkontor til firma er i vegen
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Kan ikkje kjøpe dette landområdet...
--- a/src/lang/polish.txt
+++ b/src/lang/polish.txt
@@ -2620,10 +2620,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akwedukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Nadajnik
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Latarnia
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Siedziba firmy
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Teren w posiadaniu firmy
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Nadajnik
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Latarnia
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Siedziba firmy
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Teren w posiadaniu firmy
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD
@@ -2717,7 +2717,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Tworzenie świata
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Tworzenie drzew
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Tworzenie obiektów
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Tworzenie obiektów
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Tworzenie terenów skalistych i nierówności
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Ustawianie gry
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Uaktywnianie pól
@@ -3800,7 +3800,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... w posiadaniu {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... teren jest własnością innej firmy
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nazwa nie może się powtarzać
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} na drodze
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} na drodze
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Lokalne władze {TOWN} nie pozwalają na to
@@ -4011,7 +4011,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Koniec tunelu poza mapą
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Nie można wydrążyć drugiego końca tunelu
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Nie można zbudować obiektu...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Obiekt na drodze
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... siedziba firmy na drodze
--- a/src/lang/portuguese.txt
+++ b/src/lang/portuguese.txt
@@ -2240,10 +2240,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Aqueduto
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmissor
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Farol
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Sede de Empresa
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Terreno propriedade de uma empresa
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmissor
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Farol
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Sede de Empresa
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Terreno propriedade de uma empresa
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Sobre o OpenTTD...
@@ -2337,7 +2337,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}A gerar mundo
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}A gerar árvores
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Geração inamovível
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Geração inamovível
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}A gerar zonas rochosas e montanhosas
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Definindo jogo
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}A preparar o terreno
@@ -3414,7 +3414,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... propriedade de {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... a área é propriedade de outra empresa
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Nome deve ser único
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} no caminho
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} no caminho
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}A autoridade local de {TOWN} não autoriza
@@ -3625,7 +3625,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}O túnel terminaria fora do mapa
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Não é possível escavar o terreno para o outro lado do túnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Não é possível construir objecto...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objecto no caminho
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... sede de empresa no caminho
--- a/src/lang/romanian.txt
+++ b/src/lang/romanian.txt
@@ -2240,10 +2240,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Apeduct
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmiţător
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Far
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Sediu companie
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Teren în proprietatea unei companii
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmiţător
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Far
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Sediu companie
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Teren în proprietatea unei companii
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Despre OpenTTD
@@ -2337,7 +2337,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Generare lume
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Generare arbori
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Generare fixă
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Generare fixă
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generare zonă dură şi pietroasă
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Se configurează jocul
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Initializez ciclul dalelor
@@ -3414,7 +3414,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... apartine companiei {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... terenul se află în proprietatea altei companii
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Numele trebuie să fie unic
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} în cale
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} în cale
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Autorităţile locale din {TOWN} refuză să permită această acţiune
@@ -3625,7 +3625,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunelul ar ieşi din hartă
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Terenul de la celălalt capăt al tunelului este imposibil de excavat
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Obiectul nu poate fi construit...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Obiect în cale
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... sediu de companie în cale
--- a/src/lang/russian.txt
+++ b/src/lang/russian.txt
@@ -2410,10 +2410,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Акведук
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Передатчик
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Маяк
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Штаб-квартира компании
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Земля в собственности компании
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Передатчик
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Маяк
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Штаб-квартира компании
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Земля в собственности компании
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Об OpenTTD
@@ -2507,7 +2507,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Создание мира
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Высадка лесов
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Генерация недвижимости
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Генерация недвижимости
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Расстановка декораций и камней
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Настройка
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Подготовка к запуску...
@@ -3594,7 +3594,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... принадлежит {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... участок принадлежит другой компании
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Имя должно быть уникальным
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} на пути
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} на пути
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}... администрация города {TOWN} запрещает вам это делать
@@ -3805,7 +3805,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Туннель заканчивается за пределами карты
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Невозможно поднять/опустить землю для другого конца туннеля
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Невозможно построить объект...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Объект на пути
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... штаб-квартира компании на пути
--- a/src/lang/serbian.txt
+++ b/src/lang/serbian.txt
@@ -2435,10 +2435,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvadukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Predajnik
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Svetionik
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Upravna zgrada preduzeća
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Zemljište u posedu preduzeća
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Predajnik
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Svetionik
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Upravna zgrada preduzeća
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Zemljište u posedu preduzeća
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}O OpenTTD-u
@@ -2532,7 +2532,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Stvaranje sveta
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Postavljanje drveća
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Postavljenje nepomičnih objekata
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Postavljenje nepomičnih objekata
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Dodavanje grubih i stenovitih područja
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Podešavanje partije
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Razrađivanje pločica
@@ -3625,7 +3625,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... je u vlasništvu igrača {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... zemljište je u vlasništvu drugog preduzeća
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Naziv mora biti jedinstven
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} je na putu
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} je na putu
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} vlast odbija da izda dozvolu
@@ -3836,7 +3836,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunel bi završio van okvira terena
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Nije moguće iskopati drugi kraj tunela
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Objekat se ne može izgraditi...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objekat na putu
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... upravna zgrada preduzeća na putu
--- a/src/lang/simplified_chinese.txt
+++ b/src/lang/simplified_chinese.txt
@@ -2233,10 +2233,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :水渠
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :转播塔
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :灯塔
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :公司总部
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :公司属地
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :转播塔
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :灯塔
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :公司总部
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :公司属地
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}关于 OpenTTD
@@ -2330,7 +2330,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}地图生成
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}生成树木
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}生成固定设施
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}生成固定设施
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}生成岩石地貌
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}设置游戏
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}地貌细节生成
@@ -3407,7 +3407,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}归 {STRING} 所有
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... 此区域由另一公司所有
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}名称重复!请重新命名.
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}目标位置有 {1:STRING}
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}目标位置有 {1:STRING}
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} 地方政府不批准此操作……
@@ -3615,7 +3615,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}隧道出口将超出地图边界
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}隧道出口的地形无法处理
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}目标处有其他物体
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}目标处有公司总部
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}不能购买这个地块!
--- a/src/lang/slovak.txt
+++ b/src/lang/slovak.txt
@@ -2302,10 +2302,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvadukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Vysielac
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Maják
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Sidlo firmy
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Spoločnosťou vlastnený pozemok
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Vysielac
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Maják
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Sidlo firmy
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Spoločnosťou vlastnený pozemok
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD
@@ -2399,7 +2399,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Vytvorenie krajiny
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Generovanie stromov
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Nepohyblive generovanie
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Nepohyblive generovanie
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generovanie nerovnosti a skal
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Nastavovanie hry
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Spustam tile-loop
@@ -3470,7 +3470,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... vlastníkom je {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... oblasť vlastní iná spoločnosť
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Meno musí byt jedinecné
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} v ceste
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} v ceste
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Miestna správa {TOWN} to nedovolí
@@ -3677,7 +3677,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunel končí za okrajom mapy
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Nemožno zarovnať terén na druhej strane tunela
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}V ceste je prekážka
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... sídlo firmy v ceste
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Tento pozemok nie je možné kúpiť...
--- a/src/lang/slovenian.txt
+++ b/src/lang/slovenian.txt
@@ -2264,10 +2264,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvedukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Oddajnik
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Svetilnik
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Sedež podjetja
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Ozemlje v lasti podjetja
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Oddajnik
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Svetilnik
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Sedež podjetja
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Ozemlje v lasti podjetja
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}O OpenTTD
@@ -2361,7 +2361,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Ustvarjanje sveta
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Ustvarjanje dreves
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Nepremično ustvarjanje
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Nepremično ustvarjanje
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generiranje grobih in skalnatih tal
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Nastavljanje igre
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Zagnano ponavljanje kvadratkov
@@ -3432,7 +3432,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... v lasti {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... zemljišče je last drugega podjetja
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Ime mora biti edinstveno
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} na poti
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} na poti
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} mestna oblast tega ne dovoli
@@ -3634,7 +3634,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Predor se konča izven ozemlja
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Nemogoč izkop zaključka predora na drugi strani
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Ovira na poti
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... sedež podjetja na poti
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Nemogoč nakup tega zemljišča...
--- a/src/lang/spanish.txt
+++ b/src/lang/spanish.txt
@@ -2241,10 +2241,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Acueducto
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Transmisor
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Faro
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Sede de la empresa
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Terreno propiedad de una empresa
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Transmisor
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Faro
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Sede de la empresa
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Terreno propiedad de una empresa
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Acerca de OpenTTD
@@ -2338,7 +2338,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Generación de mundo
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Generación de árboles
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Generación de inamovibles
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Generación de inamovibles
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Generación de áreas ásperas o rocosas
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Configurar juego
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Ejecutar tile-loop
@@ -3415,7 +3415,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... propiedad de {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... otra empresa posee esta área
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}El nombre debe ser único
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} en medio
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} en medio
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Las autoridades locales de {TOWN} rechazan esto
@@ -3626,7 +3626,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}El túnel acabaría fuera del mapa
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}No se puede excavar en la tierra al otro lado del túnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}No se puede construir objeto...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objeto en medio
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... sede de empresa está en medio
--- a/src/lang/swedish.txt
+++ b/src/lang/swedish.txt
@@ -2240,10 +2240,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Akvedukt
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Radiosändare
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Fyrtorn
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Företagets huvudkontor
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Mark som ägs av företag
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Radiosändare
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Fyrtorn
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Företagets huvudkontor
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Mark som ägs av företag
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD
@@ -2337,7 +2337,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Generera Värld
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Generera Träd
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Oflyttbar generera
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Oflyttbar generera
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Svår och stenig markgenerering
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Ställer in spel
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Kör tile-loop
@@ -3414,7 +3414,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... ägs av {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... området ägs av ett annat företag
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Namnet måste vara unikt
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} i vägen
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} i vägen
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} de lokala myndigheterna tillåter inte detta
@@ -3625,7 +3625,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tunneln slutar utanför kartans gränser
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Kan inte gräva till marken på andra sidan av tunneln
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Kan inte bygga objekt...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objekt i vägen
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... huvudkontor i vägen
--- a/src/lang/traditional_chinese.txt
+++ b/src/lang/traditional_chinese.txt
@@ -2235,10 +2235,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :水道橋
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :天線塔
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :燈塔
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :公司總部
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :公司所有土地
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :天線塔
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :燈塔
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :公司總部
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :公司所有土地
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}關於 OpenTTD
@@ -2332,7 +2332,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}產生世界
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}產生樹木
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}無法移動
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}無法移動
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}產生粗地與岩石區域
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}設定遊戲
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}執行單格迴圈中
@@ -3406,7 +3406,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... 所有者是 {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... 此區域屬於其它公司所有
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}名稱必須是唯一的
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}被 {1:STRING} 擋住
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}被 {1:STRING} 擋住
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} 地方政府不同意
@@ -3613,7 +3613,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}隧道出口不能超過地圖邊緣
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}無法挖掘隧道出口
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}被東西擋住
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... 被公司總部擋住
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}不能購買這塊土地...
--- a/src/lang/turkish.txt
+++ b/src/lang/turkish.txt
@@ -2225,10 +2225,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Su kemeri
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Verici
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Fener
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Şirket binasi
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Satın alınmış alan
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Verici
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Fener
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Şirket binasi
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Satın alınmış alan
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD Hakkında
@@ -2322,7 +2322,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Harita üretimi
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Ağaç üretimi
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Tasinmaz üretimi
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Tasinmaz üretimi
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Engebeli ve kayalik alan oluştur
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Oyun ayarlanıyor
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}tile-loop çalıştırılıyor
@@ -3393,7 +3393,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... sahibi {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... alan başka bir şirkete ait
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}İsim daha önce kullanılmamış olmalı
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}yolda {1:STRING} var
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}yolda {1:STRING} var
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} belediyesi buna izin vermiyor
@@ -3600,7 +3600,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Tünel haritanın dışında bitiyor
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Tünelin diğer ucunda düzeltme yapılmasi gerekiyor
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Yolda birsey var
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... yolda şirket binası var
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Burası satın alınamaz...
--- a/src/lang/ukrainian.txt
+++ b/src/lang/ukrainian.txt
@@ -2365,10 +2365,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Акведук
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Ретранслятор
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Маяк
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Головний офіс компанії
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Ця ділянка - власність компанії
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Ретранслятор
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Маяк
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Головний офіс компанії
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Ця ділянка - власність компанії
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Про OpenTTD
@@ -2462,7 +2462,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Створення світу
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Насадження дерев
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Генерація нерухомості
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Генерація нерухомості
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Розкидати каміння
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Налаштування гри
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Виконуємо цикл
@@ -3539,7 +3539,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... власність {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... ділянка у власності іншої компанії
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Назва має бути унікальною
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} на шляху
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} на шляху
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Влада міста {TOWN} проти цього
@@ -3750,7 +3750,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Тунель закінчиться поза картою
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Неможливо виконати будівництво іншого кінця тунелю
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Неможливо побудувати об'єкт...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Об'єкт на шляху
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... на шляху Головний офіс
--- a/src/lang/unfinished/basque.txt
+++ b/src/lang/unfinished/basque.txt
@@ -1537,7 +1537,7 @@
 
 # Tunnel related errors
 
-# Unmovable related errors
+# Object related errors
 
 # Group related errors
 
--- a/src/lang/unfinished/chuvash.txt
+++ b/src/lang/unfinished/chuvash.txt
@@ -1126,7 +1126,7 @@
 
 # Tunnel related errors
 
-# Unmovable related errors
+# Object related errors
 
 # Group related errors
 
--- a/src/lang/unfinished/frisian.txt
+++ b/src/lang/unfinished/frisian.txt
@@ -1418,10 +1418,10 @@
 STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL                   :Buis Brêge
 
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Sendmast
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Fjoertoer
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Haadkantoar Bedriuw
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Lân fan bedriuw
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Sendmast
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Fjoertoer
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Haadkantoar Bedriuw
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Lân fan bedriuw
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Oer OpenTTD
@@ -1891,7 +1891,7 @@
 STR_ERROR_ALREADY_BUILT                                         :{WHITE}... is al bout
 STR_ERROR_OWNED_BY                                              :{WHITE}... is fan {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... gebiet is fan in oar bedriuw
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} yn it paad
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} yn it paad
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} gemiente stiet dit net ta
@@ -2041,7 +2041,7 @@
 STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY                             :{WHITE}Oare tunnel yn't plak
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Kin net grûn foar it oare ein fan'e tunnel ôfgraavje
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Objekt yn't plak
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... haadkantoar bedriuw yn't plak
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Kin dit stikje lân net keapje...
--- a/src/lang/unfinished/ido.txt
+++ b/src/lang/unfinished/ido.txt
@@ -546,7 +546,7 @@
 
 
 
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Faro
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Faro
 
 # About OpenTTD window
 STR_ABOUT_VERSION                                               :{BLACK}OpenTTD versiono {REV}
@@ -864,7 +864,7 @@
 
 # Tunnel related errors
 
-# Unmovable related errors
+# Object related errors
 
 # Group related errors
 
--- a/src/lang/unfinished/macedonian.txt
+++ b/src/lang/unfinished/macedonian.txt
@@ -1277,7 +1277,7 @@
 
 # Tunnel related errors
 
-# Unmovable related errors
+# Object related errors
 
 # Group related errors
 
--- a/src/lang/unfinished/maltese.txt
+++ b/src/lang/unfinished/maltese.txt
@@ -874,7 +874,7 @@
 
 # Tunnel related errors
 
-# Unmovable related errors
+# Object related errors
 
 # Group related errors
 
--- a/src/lang/unfinished/marathi.txt
+++ b/src/lang/unfinished/marathi.txt
@@ -771,7 +771,7 @@
 
 # Tunnel related errors
 
-# Unmovable related errors
+# Object related errors
 
 # Group related errors
 
--- a/src/lang/unfinished/persian.txt
+++ b/src/lang/unfinished/persian.txt
@@ -1065,9 +1065,9 @@
 STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL                   :پل جاده ای لوله ای
 
 
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :فانوس دریایی
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :ساختمان اصلی شرکت
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :زمین خریداری شده
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :فانوس دریایی
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :ساختمان اصلی شرکت
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :زمین خریداری شده
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD در باره ی
@@ -1699,7 +1699,7 @@
 STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL                            :{WHITE}محل برای شروع تونل نا مناسب است
 STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST                            :{WHITE}اول باید تونل خراب شود
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}چیزی در مسیر قرار گرفته
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}ساختمان اصلی شرکت در مسیر قرار گرفته است
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}نمی توان این ناحیه را خرید
--- a/src/lang/unfinished/tamil.txt
+++ b/src/lang/unfinished/tamil.txt
@@ -944,7 +944,7 @@
 
 # Tunnel related errors
 
-# Unmovable related errors
+# Object related errors
 
 # Group related errors
 
--- a/src/lang/unfinished/thai.txt
+++ b/src/lang/unfinished/thai.txt
@@ -2070,7 +2070,7 @@
 
 # Tunnel related errors
 
-# Unmovable related errors
+# Object related errors
 
 # Group related errors
 
--- a/src/lang/unfinished/urdu.txt
+++ b/src/lang/unfinished/urdu.txt
@@ -1186,7 +1186,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}۔۔۔ یھ {STRING} کی ملکیت ھے
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}۔۔۔ رقبھ کسی اور کمپنی کی ملکیت ھے
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE} نام منفرد ھونا چاھیے
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} راستے میں ھے
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} راستے میں ھے
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}{TOWN} مقامی حکومت اس کی اجازت نھیں دیتی
@@ -1244,7 +1244,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}سورنگ نقشے سے بائر نکل جاے گی
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}سورنگ کے دوسرے حصے کی طرف روکاوٹ ہے
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}کوئی عمارت یا چیذ راستے مین ہے
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}کمپنی کا مرکزی دفتر راستے مین ہے
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}آپ یہ زمین نہی خرید سکتے
--- a/src/lang/vietnamese.txt
+++ b/src/lang/vietnamese.txt
@@ -2239,10 +2239,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Cống
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Trạm phát sóng
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Hải đăng
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Trụ sở công ty
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Đất công ty sở hữu
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Trạm phát sóng
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Hải đăng
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Trụ sở công ty
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Đất công ty sở hữu
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}OpenTTD
@@ -2336,7 +2336,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Tạo màn
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Trồng cây
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Sinh đối tượng cứng
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Sinh đối tượng cứng
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Sinh đá và sự gồ ghề
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Thiết lập ván chơi
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Đang chạy sinh tile
@@ -3413,7 +3413,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... sở hữu bởi {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... vùng này sở hữu bởi công ty khác
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Tên phải không trùng lặp
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} đang có trên đường
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} đang có trên đường
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Chính quyền {TOWN} từ chối bạn làm việc này
@@ -3622,7 +3622,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Một đầu hầm kéo ra ngoài bản đồ
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Không thể đào đất để làm đầu kia của hầm
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_CAN_T_BUILD_OBJECT                                    :{WHITE}Không thể xây đối tượng này...
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Có vật thể trên đường
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... trụ sở công ty nằm trên đường
--- a/src/lang/welsh.txt
+++ b/src/lang/welsh.txt
@@ -2136,10 +2136,10 @@
 
 STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT                             :Traphont
 
-STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER                       :Darlledydd
-STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE                        :Goleudy
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS              :Pencadlys Cwmni
-STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND                :Tir mae cwmni berchen
+STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER                          :Darlledydd
+STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE                           :Goleudy
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS                 :Pencadlys Cwmni
+STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND                   :Tir mae cwmni berchen
 
 # About OpenTTD window
 STR_ABOUT_OPENTTD                                               :{WHITE}Gwybodaeth am OpenTTD
@@ -2226,7 +2226,7 @@
 STR_GENERATION_PROGRESS_NUM                                     :{BLACK}{NUM} / {NUM}
 STR_GENERATION_WORLD_GENERATION                                 :{BLACK}Cynhyrchu Byd
 STR_GENERATION_TREE_GENERATION                                  :{BLACK}Cynhyrchu Coed
-STR_GENERATION_UNMOVABLE_GENERATION                             :{BLACK}Cynhyrchu Nodweddion Ansymudol
+STR_GENERATION_OBJECT_GENERATION                                :{BLACK}Cynhyrchu Nodweddion Ansymudol
 STR_GENERATION_CLEARING_TILES                                   :{BLACK}Cynhyrchu ardaloedd creigiog a chnapiog
 STR_GENERATION_SETTINGUP_GAME                                   :{BLACK}Gosod gêm yn ei le
 STR_GENERATION_PREPARING_TILELOOP                               :{BLACK}Rhedeg dolen teiliau
@@ -3187,7 +3187,7 @@
 STR_ERROR_OWNED_BY                                              :{WHITE}... eiddo {STRING}
 STR_ERROR_AREA_IS_OWNED_BY_ANOTHER                              :{WHITE}... mae'r ardal yn eiddo i gwmni arall
 STR_ERROR_NAME_MUST_BE_UNIQUE                                   :{WHITE}Rhaid i'r enw fod yn unigryw
-STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY                           :{WHITE}{1:STRING} yn y ffordd
+STR_ERROR_GENERIC_OBJECT_IN_THE_WAY                             :{WHITE}{1:STRING} yn y ffordd
 
 # Local authority errors
 STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS                 :{WHITE}Nid yw awdurdod lleol {TOWN}yn caniatáu hyn
@@ -3376,7 +3376,7 @@
 STR_ERROR_TUNNEL_THROUGH_MAP_BORDER                             :{WHITE}Byddai'r twnel yn gorffen y tu allan i'r map
 STR_ERROR_UNABLE_TO_EXCAVATE_LAND                               :{WHITE}Does dim modd cloddio'r tir ar ben arall y twnnel
 
-# Unmovable related errors
+# Object related errors
 STR_ERROR_OBJECT_IN_THE_WAY                                     :{WHITE}Gwrthrych yn y ffordd
 STR_ERROR_COMPANY_HEADQUARTERS_IN                               :{WHITE}... pencadlys cwmni yn y ffordd
 STR_ERROR_CAN_T_PURCHASE_THIS_LAND                              :{WHITE}Does dim modd prynu'r darn yma o dir...
--- a/src/newgrf_commons.cpp
+++ b/src/newgrf_commons.cpp
@@ -330,7 +330,7 @@
 				case MP_STATION:
 				case MP_HOUSE:
 				case MP_INDUSTRY:
-				case MP_UNMOVABLE:
+				case MP_OBJECT:
 					/* These tiles usually have a levelling foundation. So use max Z */
 					has_snow = (GetTileMaxZ(tile) > GetSnowLine());
 					break;
new file mode 100644
--- /dev/null
+++ b/src/object.h
@@ -0,0 +1,94 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file object.h Functions related to objects. */
+
+#ifndef OBJECT_H
+#define OBJECT_H
+
+#include "economy_func.h"
+#include "strings_type.h"
+#include "object_type.h"
+
+/**
+ * Update the CompanyHQ to the state associated with the given score
+ * @param tile  The (northern) tile of the company HQ, or INVALID_TILE.
+ * @param score The current (performance) score of the company.
+ */
+void UpdateCompanyHQ(TileIndex tile, uint score);
+
+/**
+ * Actually build the object.
+ * @param type  The type of object to build.
+ * @param tile  The tile to build the northern tile of the object on.
+ * @param owner The owner of the object.
+ * @param index A (generic) index to be stored on the tile, e.g. TownID for statues.
+ * @pre All preconditions for building the object at that location
+ *      are met, e.g. slope and clearness of tiles are checked.
+ */
+void BuildObject(ObjectType type, TileIndex tile, CompanyID owner = OWNER_NONE, uint index = 0);
+
+
+/** Various object behaviours. */
+enum ObjectFlags {
+	OBJECT_FLAG_NONE               =       0, ///< Just nothing.
+	OBJECT_FLAG_ONLY_IN_SCENEDIT   = 1 <<  0, ///< Object can only be constructed in the scenario editor.
+	OBJECT_FLAG_CANNOT_REMOVE      = 1 <<  1, ///< Object can not be removed.
+	OBJECT_FLAG_AUTOREMOVE         = 1 <<  2, ///< Object get automatically removed (like "owned land").
+	OBJECT_FLAG_BUILT_ON_WATER     = 1 <<  3, ///< Object can be built on water (not required).
+	OBJECT_FLAG_CLEAR_INCOME       = 1 <<  4, ///< When object is cleared a positive income is generated instead of a cost.
+	OBJECT_FLAG_HAS_NO_FOUNDATION  = 1 <<  5, ///< Do not display foundations when on a slope.
+	OBJECT_FLAG_ANIMATION          = 1 <<  6, ///< Object has animated tiles.
+	OBJECT_FLAG_ONLY_IN_GAME       = 1 <<  7, ///< Object can only be built in game.
+	OBJECT_FLAG_2CC_COLOUR         = 1 <<  8, ///< Object wants 2CC colour mapping.
+	OBJECT_FLAG_NOT_ON_LAND        = 1 <<  9, ///< Object can not be on land, implicitly sets #OBJECT_FLAG_BUILT_ON_WATER.
+	OBJECT_FLAG_DRAW_WATER         = 1 << 10, ///< Object wants to be drawn on water.
+	OBJECT_FLAG_ALLOW_UNDER_BRIDGE = 1 << 11, ///< Object can built under a bridge.
+	OBJECT_FLAG_REQUIRE_FLAT       = 1 << 12, ///< Object can only be build of flat land, i.e. not on foundations!
+};
+DECLARE_ENUM_AS_BIT_SET(ObjectFlags)
+
+
+/** An object that isn't use for transport, industries or houses. */
+struct ObjectSpec {
+	StringID name;               ///< The name for this object.
+	uint8 size;                  ///< The size of this objects; low nibble for X, high nibble for Y.
+	uint8 build_cost_multiplier; ///< Build cost multiplier per tile.
+	uint8 clear_cost_multiplier; ///< Clear cost multiplier per tile.
+	ObjectFlags flags;           ///< Flags/settings related to the object.
+
+	/**
+	 * Get the cost for building a structure of this type.
+	 * @return The cost for building.
+	 */
+	Money GetBuildCost() const { return (_price[PR_BUILD_OBJECT] * this->build_cost_multiplier); }
+
+	/**
+	 * Get the cost for clearing a structure of this type.
+	 * @return The cost for clearing.
+	 */
+	Money GetClearCost() const { return (_price[PR_CLEAR_OBJECT] * this->clear_cost_multiplier); }
+
+	/**
+	 * Get the specification associated with a specific ObjectType.
+	 * @param index The object type to fetch.
+	 * @return The specification.
+	 */
+	static const ObjectSpec *Get(ObjectType index);
+
+	/**
+	 * Get the specification associated with a tile.
+	 * @param tile The tile to fetch the data for.
+	 * @return The specification.
+	 */
+	static const ObjectSpec *GetByTile(TileIndex tile);
+};
+
+
+#endif /* OBJECT_H */
new file mode 100644
--- /dev/null
+++ b/src/object_cmd.cpp
@@ -0,0 +1,547 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file object_cmd.cpp Handling of object tiles. */
+
+#include "stdafx.h"
+#include "landscape.h"
+#include "command_func.h"
+#include "viewport_func.h"
+#include "company_base.h"
+#include "town.h"
+#include "bridge_map.h"
+#include "genworld.h"
+#include "autoslope.h"
+#include "transparency.h"
+#include "functions.h"
+#include "window_func.h"
+#include "vehicle_func.h"
+#include "company_gui.h"
+#include "cheat_type.h"
+#include "landscape_type.h"
+#include "object.h"
+#include "cargopacket.h"
+#include "sprite.h"
+#include "core/random_func.hpp"
+#include "object_map.h"
+
+#include "table/strings.h"
+#include "table/sprites.h"
+#include "table/object_land.h"
+
+/* static */ const ObjectSpec *ObjectSpec::Get(ObjectType index)
+{
+	assert(index < OBJECT_MAX);
+	return &_original_objects[index];
+}
+
+/* static */ const ObjectSpec *ObjectSpec::GetByTile(TileIndex tile)
+{
+	return ObjectSpec::Get(GetObjectType(tile));
+}
+
+void BuildObject(ObjectType type, TileIndex tile, CompanyID owner, uint index)
+{
+	const ObjectSpec *spec = ObjectSpec::Get(type);
+
+	TileArea ta(tile, GB(spec->size, 0, 4), GB(spec->size, 4, 4));
+	TILE_AREA_LOOP(t, ta) {
+		TileIndex offset = t - tile;
+		MakeObject(t, type, owner, TileY(offset) << 4 | TileX(offset), index);
+		MarkTileDirtyByTile(t);
+	}
+}
+
+/**
+ * Increase the animation stage of a whole structure.
+ * @param northern The northern tile of the structure.
+ * @pre GetObjectOffset(northern) == 0
+ */
+void IncreaseAnimationStage(TileIndex northern)
+{
+	assert(GetObjectOffset(northern) == 0);
+	const ObjectSpec *spec = ObjectSpec::GetByTile(northern);
+
+	TileArea ta(northern, GB(spec->size, 0, 4), GB(spec->size, 4, 4));
+	TILE_AREA_LOOP(t, ta) {
+		SetObjectAnimationStage(t, GetObjectAnimationStage(t) + 1);
+		MarkTileDirtyByTile(t);
+	}
+}
+
+/** We encode the company HQ size in the animation stage. */
+#define GetCompanyHQSize GetObjectAnimationStage
+/** We encode the company HQ size in the animation stage. */
+#define IncreaseCompanyHQSize IncreaseAnimationStage
+
+void UpdateCompanyHQ(TileIndex tile, uint score)
+{
+	if (tile == INVALID_TILE) return;
+
+	byte val;
+	(val = 0, score < 170) ||
+	(val++, score < 350) ||
+	(val++, score < 520) ||
+	(val++, score < 720) ||
+	(val++, true);
+
+	while (GetCompanyHQSize(tile) < val) {
+		IncreaseCompanyHQSize(tile);
+	}
+}
+
+extern CommandCost CheckFlatLand(TileArea tile_area, DoCommandFlag flags);
+static CommandCost ClearTile_Object(TileIndex tile, DoCommandFlag flags);
+
+/**
+ * Build an object object
+ * @param tile tile where the object will be located
+ * @param flags type of operation
+ * @param p1 the object type to build
+ * @param p2 unused
+ * @param text unused
+ * @return the cost of this operation or an error
+ */
+CommandCost CmdBuildObject(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
+{
+	CommandCost cost(EXPENSES_PROPERTY);
+
+	ObjectType type = (ObjectType)GB(p1, 0, 8);
+	if (type >= OBJECT_MAX) return CMD_ERROR;
+
+	const ObjectSpec *spec = ObjectSpec::Get(type);
+	if (spec->flags & OBJECT_FLAG_ONLY_IN_SCENEDIT && (_game_mode != GM_EDITOR || _current_company != OWNER_NONE)) return CMD_ERROR;
+	if (spec->flags & OBJECT_FLAG_ONLY_IN_GAME && (_game_mode != GM_NORMAL || _current_company > MAX_COMPANIES)) return CMD_ERROR;
+
+	int size_x = GB(spec->size, 0, 4);
+	int size_y = GB(spec->size, 4, 4);
+	TileArea ta(tile, size_x, size_y);
+
+	if (spec->flags & OBJECT_FLAG_REQUIRE_FLAT) {
+		TILE_AREA_LOOP(tile_cur, ta) {
+			if (GetTileSlope(tile, NULL) != SLOPE_FLAT) return_cmd_error(STR_ERROR_FLAT_LAND_REQUIRED);
+		}
+	}
+
+	/* If we require flat land, we've already tested that.
+	 * So we only need to check for clear land. */
+	if (spec->flags & (OBJECT_FLAG_HAS_NO_FOUNDATION | OBJECT_FLAG_REQUIRE_FLAT)) {
+		TILE_AREA_LOOP(tile_cur, ta) {
+			cost.AddCost(DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR));
+		}
+	} else {
+		cost.AddCost(CheckFlatLand(ta, flags));
+	}
+	if (cost.Failed()) return cost;
+
+	int hq_score = 0;
+	switch (type) {
+		case OBJECT_OWNED_LAND:
+			if (IsTileType(tile, MP_OBJECT) &&
+					IsTileOwner(tile, _current_company) &&
+					IsOwnedLand(tile)) {
+				return_cmd_error(STR_ERROR_YOU_ALREADY_OWN_IT);
+			}
+			break;
+
+		case OBJECT_HQ: {
+			Company *c = Company::Get(_current_company);
+			if (c->location_of_HQ != INVALID_TILE) {
+				/* We need to persuade a bit harder to remove the old HQ. */
+				_current_company = OWNER_WATER;
+				cost.AddCost(ClearTile_Object(c->location_of_HQ, flags));
+				_current_company = c->index;
+			}
+
+			if (flags & DC_EXEC) {
+				hq_score = UpdateCompanyRatingAndValue(c, false);
+				c->location_of_HQ = tile;
+				SetWindowDirty(WC_COMPANY, c->index);
+			}
+			break;
+		}
+
+		default: break;
+	}
+
+	if (flags & DC_EXEC) {
+		BuildObject(type, tile, _current_company);
+
+		/* Make sure the HQ starts at the right size. */
+		if (type == OBJECT_HQ) UpdateCompanyHQ(tile, hq_score);
+	}
+
+	cost.AddCost(ObjectSpec::Get(type)->GetBuildCost() * size_x * size_y);
+	return cost;
+}
+
+
+static Foundation GetFoundation_Object(TileIndex tile, Slope tileh);
+
+static void DrawTile_Object(TileInfo *ti)
+{
+	ObjectType type = GetObjectType(ti->tile);
+	const ObjectSpec *spec = ObjectSpec::Get(type);
+	if ((spec->flags & OBJECT_FLAG_HAS_NO_FOUNDATION) == 0) DrawFoundation(ti, GetFoundation_Object(ti->tile, ti->tileh));
+
+	const DrawTileSprites *dts = NULL;
+	Owner to = GetTileOwner(ti->tile);
+	PaletteID palette = to == OWNER_NONE ? PAL_NONE : COMPANY_SPRITE_COLOUR(to);
+
+	if (type == OBJECT_HQ) {
+		uint8 offset = GetObjectOffset(ti->tile);
+		dts = &_object_hq[GetCompanyHQSize(ti->tile) << 2 | GB(offset, 4, 1) << 1 | GB(offset, 0, 1)];
+	} else {
+		dts = &_objects[type];
+	}
+
+	if (spec->flags & OBJECT_FLAG_HAS_NO_FOUNDATION) {
+		/* If an object has no foundation, but tries to draw a (flat) ground
+		 * type... we have to be nice and convert that for them. */
+		switch (dts->ground.sprite) {
+			case SPR_FLAT_BARE_LAND:          DrawClearLandTile(ti, 0); break;
+			case SPR_FLAT_1_THIRD_GRASS_TILE: DrawClearLandTile(ti, 1); break;
+			case SPR_FLAT_2_THIRD_GRASS_TILE: DrawClearLandTile(ti, 2); break;
+			case SPR_FLAT_GRASS_TILE:         DrawClearLandTile(ti, 3); break;
+			default: DrawGroundSprite(dts->ground.sprite, palette);     break;
+		}
+	} else {
+		DrawGroundSprite(dts->ground.sprite, palette);
+	}
+
+	if (!IsInvisibilitySet(TO_STRUCTURES)) {
+		const DrawTileSeqStruct *dtss;
+		foreach_draw_tile_seq(dtss, dts->seq) {
+			AddSortableSpriteToDraw(
+				dtss->image.sprite, palette,
+				ti->x + dtss->delta_x, ti->y + dtss->delta_y,
+				dtss->size_x, dtss->size_y,
+				dtss->size_z, ti->z + dtss->delta_z,
+				IsTransparencySet(TO_STRUCTURES)
+			);
+		}
+	}
+
+	if (spec->flags & OBJECT_FLAG_ALLOW_UNDER_BRIDGE) DrawBridgeMiddle(ti);
+}
+
+static uint GetSlopeZ_Object(TileIndex tile, uint x, uint y)
+{
+	if (IsOwnedLand(tile)) {
+		uint z;
+		Slope tileh = GetTileSlope(tile, &z);
+
+		return z + GetPartialZ(x & 0xF, y & 0xF, tileh);
+	} else {
+		return GetTileMaxZ(tile);
+	}
+}
+
+static Foundation GetFoundation_Object(TileIndex tile, Slope tileh)
+{
+	return IsOwnedLand(tile) ? FOUNDATION_NONE : FlatteningFoundation(tileh);
+}
+
+static CommandCost ClearTile_Object(TileIndex tile, DoCommandFlag flags)
+{
+	ObjectType type = GetObjectType(tile);
+	const ObjectSpec *spec = ObjectSpec::Get(type);
+
+	/* Get to the northern most tile. */
+	tile -= GetObjectOffset(tile);
+
+	/* Water can remove everything! */
+	if (_current_company != OWNER_WATER) {
+		if ((spec->flags & OBJECT_FLAG_AUTOREMOVE) == 0 && flags & DC_AUTO) {
+			/* No automatic removal by overbuilding stuff. */
+			return_cmd_error(type == OBJECT_HQ ? STR_ERROR_COMPANY_HEADQUARTERS_IN : STR_ERROR_OBJECT_IN_THE_WAY);
+		} else if (_game_mode == GM_EDITOR) {
+			/* No further limitations for the editor. */
+		} else if (GetTileOwner(tile) == OWNER_NONE) {
+			/* Owned by nobody, so we can only remove it with brute force! */
+			if (!_cheats.magic_bulldozer.value) return CMD_ERROR;
+		} else if (CheckTileOwnership(tile).Failed()) {
+			/* We don't own it!. */
+			return_cmd_error(STR_ERROR_OWNED_BY);
+		} else if ((spec->flags & OBJECT_FLAG_AUTOREMOVE) == 0 && !_cheats.magic_bulldozer.value) {
+			/* In the game editor or with cheats we can remove, otherwise we can't. */
+			return CMD_ERROR;
+		}
+	}
+
+	int size_x = GB(spec->size, 0, 4);
+	int size_y = GB(spec->size, 4, 4);
+	TileArea ta(tile, size_x, size_y);
+
+	CommandCost cost(EXPENSES_CONSTRUCTION, spec->GetClearCost() * size_x * size_y);
+	if (spec->flags & OBJECT_FLAG_CLEAR_INCOME) cost.MultiplyCost(-1); // They get an income!
+
+	switch (type) {
+		case OBJECT_HQ: {
+			Company *c = Company::Get(GetTileOwner(tile));
+			if (flags & DC_EXEC) {
+				c->location_of_HQ = INVALID_TILE; // reset HQ position
+				SetWindowDirty(WC_COMPANY, c->index);
+				CargoPacket::InvalidateAllFrom(ST_HEADQUARTERS, c->index);
+			}
+
+			/* cost of relocating company is 1% of company value */
+			cost = CommandCost(EXPENSES_PROPERTY, CalculateCompanyValue(c) / 100);
+			break;
+		}
+
+		case OBJECT_STATUE:
+			if (flags & DC_EXEC) {
+				TownID town = GetStatueTownID(tile);
+				ClrBit(Town::Get(town)->statues, GetTileOwner(tile));
+				SetWindowDirty(WC_TOWN_AUTHORITY, town);
+			}
+			break;
+
+		default:
+			break;
+	}
+
+	if (flags & DC_EXEC) {
+		TILE_AREA_LOOP(tile_cur, ta) DoClearSquare(tile_cur);
+	}
+
+	return cost;
+}
+
+static void AddAcceptedCargo_Object(TileIndex tile, CargoArray &acceptance, uint32 *always_accepted)
+{
+	if (!IsCompanyHQ(tile)) return;
+
+	/* HQ accepts passenger and mail; but we have to divide the values
+	 * between 4 tiles it occupies! */
+
+	/* HQ level (depends on company performance) in the range 1..5. */
+	uint level = GetCompanyHQSize(tile) + 1;
+
+	/* Top town building generates 10, so to make HQ interesting, the top
+	 * type makes 20. */
+	acceptance[CT_PASSENGERS] += max(1U, level);
+	SetBit(*always_accepted, CT_PASSENGERS);
+
+	/* Top town building generates 4, HQ can make up to 8. The
+	 * proportion passengers:mail is different because such a huge
+	 * commercial building generates unusually high amount of mail
+	 * correspondence per physical visitor. */
+	acceptance[CT_MAIL] += max(1U, level / 2);
+	SetBit(*always_accepted, CT_MAIL);
+}
+
+
+static void GetTileDesc_Object(TileIndex tile, TileDesc *td)
+{
+	td->str = ObjectSpec::GetByTile(tile)->name;
+	td->owner[0] = GetTileOwner(tile);
+}
+
+static void TileLoop_Object(TileIndex tile)
+{
+	if (!IsCompanyHQ(tile)) return;
+
+	/* HQ accepts passenger and mail; but we have to divide the values
+	 * between 4 tiles it occupies! */
+
+	/* HQ level (depends on company performance) in the range 1..5. */
+	uint level = GetCompanyHQSize(tile) + 1;
+	assert(level < 6);
+
+	StationFinder stations(TileArea(tile, 2, 2));
+
+	uint r = Random();
+	/* Top town buildings generate 250, so the top HQ type makes 256. */
+	if (GB(r, 0, 8) < (256 / 4 / (6 - level))) {
+		uint amt = GB(r, 0, 8) / 8 / 4 + 1;
+		if (_economy.fluct <= 0) amt = (amt + 1) >> 1;
+		MoveGoodsToStation(CT_PASSENGERS, amt, ST_HEADQUARTERS, GetTileOwner(tile), stations.GetStations());
+	}
+
+	/* Top town building generates 90, HQ can make up to 196. The
+	 * proportion passengers:mail is about the same as in the acceptance
+	 * equations. */
+	if (GB(r, 8, 8) < (196 / 4 / (6 - level))) {
+		uint amt = GB(r, 8, 8) / 8 / 4 + 1;
+		if (_economy.fluct <= 0) amt = (amt + 1) >> 1;
+		MoveGoodsToStation(CT_MAIL, amt, ST_HEADQUARTERS, GetTileOwner(tile), stations.GetStations());
+	}
+}
+
+
+static TrackStatus GetTileTrackStatus_Object(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
+{
+	return 0;
+}
+
+static bool ClickTile_Object(TileIndex tile)
+{
+	if (!IsCompanyHQ(tile)) return false;
+
+	ShowCompany(GetTileOwner(tile));
+	return true;
+}
+
+
+/* checks, if a radio tower is within a 9x9 tile square around tile */
+static bool IsRadioTowerNearby(TileIndex tile)
+{
+	TileIndex tile_s = tile - TileDiffXY(min(TileX(tile), 4U), min(TileY(tile), 4U));
+	uint w = min(TileX(tile), 4U) + 1 + min(MapMaxX() - TileX(tile), 4U);
+	uint h = min(TileY(tile), 4U) + 1 + min(MapMaxY() - TileY(tile), 4U);
+
+	TILE_LOOP(tile, w, h, tile_s) {
+		if (IsTransmitterTile(tile)) return true;
+	}
+
+	return false;
+}
+
+void GenerateObjects()
+{
+	if (_settings_game.game_creation.landscape == LT_TOYLAND) return;
+
+	/* add radio tower */
+	int radiotower_to_build = ScaleByMapSize(15); // maximum number of radio towers on the map
+	int lighthouses_to_build = _settings_game.game_creation.landscape == LT_TROPIC ? 0 : ScaleByMapSize1D((Random() & 3) + 7);
+
+	/* Scale the amount of lighthouses with the amount of land at the borders. */
+	if (_settings_game.construction.freeform_edges && lighthouses_to_build != 0) {
+		uint num_water_tiles = 0;
+		for (uint x = 0; x < MapMaxX(); x++) {
+			if (IsTileType(TileXY(x, 1), MP_WATER)) num_water_tiles++;
+			if (IsTileType(TileXY(x, MapMaxY() - 1), MP_WATER)) num_water_tiles++;
+		}
+		for (uint y = 1; y < MapMaxY() - 1; y++) {
+			if (IsTileType(TileXY(1, y), MP_WATER)) num_water_tiles++;
+			if (IsTileType(TileXY(MapMaxX() - 1, y), MP_WATER)) num_water_tiles++;
+		}
+		/* The -6 is because the top borders are MP_VOID (-2) and all corners
+		 * are counted twice (-4). */
+		lighthouses_to_build = lighthouses_to_build * num_water_tiles / (2 * MapMaxY() + 2 * MapMaxX() - 6);
+	}
+
+	SetGeneratingWorldProgress(GWP_OBJECT, radiotower_to_build + lighthouses_to_build);
+
+	for (uint i = ScaleByMapSize(1000); i != 0; i--) {
+		TileIndex tile = RandomTile();
+
+		uint h;
+		if (IsTileType(tile, MP_CLEAR) && GetTileSlope(tile, &h) == SLOPE_FLAT && h >= TILE_HEIGHT * 4 && !IsBridgeAbove(tile)) {
+			if (IsRadioTowerNearby(tile)) continue;
+
+			BuildObject(OBJECT_TRANSMITTER, tile);
+			IncreaseGeneratingWorldProgress(GWP_OBJECT);
+			if (--radiotower_to_build == 0) break;
+		}
+	}
+
+	/* add lighthouses */
+	uint maxx = MapMaxX();
+	uint maxy = MapMaxY();
+	for (int loop_count = 0; loop_count < 1000 && lighthouses_to_build != 0; loop_count++) {
+		uint r = Random();
+
+		/* Scatter the lighthouses more evenly around the perimeter */
+		int perimeter = (GB(r, 16, 16) % (2 * (maxx + maxy))) - maxy;
+		DiagDirection dir;
+		for (dir = DIAGDIR_NE; perimeter > 0; dir++) {
+			perimeter -= (DiagDirToAxis(dir) == AXIS_X) ? maxx : maxy;
+		}
+
+		TileIndex tile;
+		switch (dir) {
+			default:
+			case DIAGDIR_NE: tile = TileXY(maxx - 1, r % maxy); break;
+			case DIAGDIR_SE: tile = TileXY(r % maxx, 1); break;
+			case DIAGDIR_SW: tile = TileXY(1,        r % maxy); break;
+			case DIAGDIR_NW: tile = TileXY(r % maxx, maxy - 1); break;
+		}
+
+		/* Only build lighthouses at tiles where the border is sea. */
+		if (!IsTileType(tile, MP_WATER)) continue;
+
+		for (int j = 0; j < 19; j++) {
+			uint h;
+			if (IsTileType(tile, MP_CLEAR) && GetTileSlope(tile, &h) == SLOPE_FLAT && h <= TILE_HEIGHT * 2 && !IsBridgeAbove(tile)) {
+				BuildObject(OBJECT_LIGHTHOUSE, tile);
+				IncreaseGeneratingWorldProgress(GWP_OBJECT);
+				lighthouses_to_build--;
+				assert(tile < MapSize());
+				break;
+			}
+			tile = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir(dir));
+			if (tile == INVALID_TILE) break;
+		}
+	}
+}
+
+static void ChangeTileOwner_Object(TileIndex tile, Owner old_owner, Owner new_owner)
+{
+	if (!IsTileOwner(tile, old_owner)) return;
+
+	if (IsOwnedLand(tile) && new_owner != INVALID_OWNER) {
+		SetTileOwner(tile, new_owner);
+	} else if (IsStatueTile(tile)) {
+		TownID town = GetStatueTownID(tile);
+		Town *t = Town::Get(town);
+		ClrBit(t->statues, old_owner);
+		if (new_owner != INVALID_OWNER && !HasBit(t->statues, new_owner)) {
+			/* Transfer ownership to the new company */
+			SetBit(t->statues, new_owner);
+			SetTileOwner(tile, new_owner);
+		} else {
+			DoClearSquare(tile);
+		}
+
+		SetWindowDirty(WC_TOWN_AUTHORITY, town);
+	} else {
+		DoClearSquare(tile);
+	}
+}
+
+static CommandCost TerraformTile_Object(TileIndex tile, DoCommandFlag flags, uint z_new, Slope tileh_new)
+{
+	ObjectType type = GetObjectType(tile);
+	const ObjectSpec *spec = ObjectSpec::Get(type);
+
+	if (spec->flags & OBJECT_FLAG_REQUIRE_FLAT) {
+		/* If a flat tile is required by the object, then terraforming is never good. */
+		return DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
+	}
+
+	if (IsOwnedLand(tile)) {
+		/* Owned land remains unsold */
+		CommandCost ret = CheckTileOwnership(tile);
+		if (ret.Succeeded()) return CommandCost();
+	} else if (AutoslopeEnabled()) {
+		if (!IsSteepSlope(tileh_new) && (z_new + GetSlopeMaxZ(tileh_new) == GetTileMaxZ(tile))) return CommandCost(EXPENSES_CONSTRUCTION, _price[PR_BUILD_FOUNDATION]);
+	}
+
+	return DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
+}
+
+extern const TileTypeProcs _tile_type_object_procs = {
+	DrawTile_Object,             // draw_tile_proc
+	GetSlopeZ_Object,            // get_slope_z_proc
+	ClearTile_Object,            // clear_tile_proc
+	AddAcceptedCargo_Object,     // add_accepted_cargo_proc
+	GetTileDesc_Object,          // get_tile_desc_proc
+	GetTileTrackStatus_Object,   // get_tile_track_status_proc
+	ClickTile_Object,            // click_tile_proc
+	NULL,                        // animate_tile_proc
+	TileLoop_Object,             // tile_loop_clear
+	ChangeTileOwner_Object,      // change_tile_owner_clear
+	NULL,                        // add_produced_cargo_proc
+	NULL,                        // vehicle_enter_tile_proc
+	GetFoundation_Object,        // get_foundation_proc
+	TerraformTile_Object,        // terraform_tile_proc
+};
new file mode 100644
--- /dev/null
+++ b/src/object_map.h
@@ -0,0 +1,178 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file object_map.h Map accessors for object tiles. */
+
+#ifndef OBJECT_MAP_H
+#define OBJECT_MAP_H
+
+#include "tile_map.h"
+#include "object_type.h"
+
+/**
+ * Gets the ObjectType of the given object tile
+ * @param t the tile to get the type from.
+ * @pre IsTileType(t, MP_OBJECT)
+ * @return the type.
+ */
+static inline ObjectType GetObjectType(TileIndex t)
+{
+	assert(IsTileType(t, MP_OBJECT));
+	return (ObjectType)_m[t].m5;
+}
+
+/**
+ * Does the given tile have a transmitter?
+ * @param t the tile to inspect.
+ * @return true if and only if the tile has a transmitter.
+ */
+static inline bool IsTransmitterTile(TileIndex t)
+{
+	return IsTileType(t, MP_OBJECT) && GetObjectType(t) == OBJECT_TRANSMITTER;
+}
+
+/**
+ * Is this object tile an 'owned land' tile?
+ * @param t the tile to inspect.
+ * @pre IsTileType(t, MP_OBJECT)
+ * @return true if and only if the tile is an 'owned land' tile.
+ */
+static inline bool IsOwnedLand(TileIndex t)
+{
+	assert(IsTileType(t, MP_OBJECT));
+	return GetObjectType(t) == OBJECT_OWNED_LAND;
+}
+
+/**
+ * Is the given tile (pre-)owned by someone (the little flags)?
+ * @param t the tile to inspect.
+ * @return true if and only if the tile is an 'owned land' tile.
+ */
+static inline bool IsOwnedLandTile(TileIndex t)
+{
+	return IsTileType(t, MP_OBJECT) && IsOwnedLand(t);
+}
+
+/**
+ * Is this object tile a HQ tile?
+ * @param t the tile to inspect.
+ * @pre IsTileType(t, MP_OBJECT)
+ * @return true if and only if the tile is a HQ tile.
+ */
+static inline bool IsCompanyHQ(TileIndex t)
+{
+	assert(IsTileType(t, MP_OBJECT));
+	return _m[t].m5 == OBJECT_HQ;
+}
+
+/**
+ * Is this object tile a statue?
+ * @param t the tile to inspect.
+ * @pre IsTileType(t, MP_OBJECT)
+ * @return true if and only if the tile is a statue.
+ */
+static inline bool IsStatue(TileIndex t)
+{
+	assert(IsTileType(t, MP_OBJECT));
+	return GetObjectType(t) == OBJECT_STATUE;
+}
+
+/**
+ * Is the given tile a statue?
+ * @param t the tile to inspect.
+ * @return true if and only if the tile is a statue.
+ */
+static inline bool IsStatueTile(TileIndex t)
+{
+	return IsTileType(t, MP_OBJECT) && IsStatue(t);
+}
+
+/**
+ * Get the town of the given statue tile.
+ * @param t the tile of the statue.
+ * @pre IsStatueTile(t)
+ * @return the town the given statue is in.
+ */
+static inline TownID GetStatueTownID(TileIndex t)
+{
+	assert(IsStatueTile(t));
+	return _m[t].m2;
+}
+
+/**
+ * Get animation stage/counter of this tile.
+ * @param t The tile to query.
+ * @pre IsTileType(t, MP_OBJECT)
+ * @return The animation 'stage' of the tile.
+ */
+static inline byte GetObjectAnimationStage(TileIndex t)
+{
+	assert(IsTileType(t, MP_OBJECT));
+	return GB(_m[t].m6, 2, 4);
+}
+
+/**
+ * Set animation stage/counter of this tile.
+ * @param t     The tile to query.
+ * @param stage The stage of this tile.
+ * @pre IsTileType(t, MP_OBJECT)
+ */
+static inline void SetObjectAnimationStage(TileIndex t, uint8 stage)
+{
+	assert(IsTileType(t, MP_OBJECT));
+	SB(_m[t].m6, 2, 4, stage);
+}
+
+/**
+ * Get offset to the northern most tile.
+ * @param t The tile to get the offset from.
+ * @return The offset to the northern most tile of this structure.
+ * @pre IsTileType(t, MP_OBJECT)
+ */
+static inline byte GetObjectOffset(TileIndex t)
+{
+	assert(IsTileType(t, MP_OBJECT));
+	return _m[t].m3;
+}
+
+/**
+ * Set offset to the northern most tile.
+ * @param t      The tile to set the offset of.
+ * @param offset The offset to the northern most tile of this structure.
+ * @pre IsTileType(t, MP_OBJECT)
+ */
+static inline void SetObjectOffset(TileIndex t, uint8 offset)
+{
+	assert(IsTileType(t, MP_OBJECT));
+	_m[t].m3 = offset;
+}
+
+
+/**
+ * Make an Object tile.
+ * @note do not use this function directly. Use one of the other Make* functions.
+ * @param t      The tile to make and object tile.
+ * @param u      The object type of the tile.
+ * @param o      The new owner of the tile.
+ * @param offset The offset to the northern tile of this object.
+ * @param index  Generic index associated with the object type.
+ */
+static inline void MakeObject(TileIndex t, ObjectType u, Owner o, uint8 offset, uint index)
+{
+	SetTileType(t, MP_OBJECT);
+	SetTileOwner(t, o);
+	_m[t].m2 = index;
+	_m[t].m3 = offset;
+	_m[t].m4 = 0;
+	_m[t].m5 = u;
+	SB(_m[t].m6, 2, 4, 0);
+	_me[t].m7 = 0;
+}
+
+#endif /* OBJECT_MAP_H */
new file mode 100644
--- /dev/null
+++ b/src/object_type.h
@@ -0,0 +1,27 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file object_map.h Types related to object tiles. */
+
+#ifndef OBJECT_TYPE_H
+#define OBJECT_TYPE_H
+
+/** Types of objects. */
+enum ObjectType {
+	OBJECT_TRANSMITTER = 0,    ///< The large antenna
+	OBJECT_LIGHTHOUSE  = 1,    ///< The nice lighthouse
+	OBJECT_STATUE      = 2,    ///< Statue in towns
+	OBJECT_OWNED_LAND  = 3,    ///< Owned land 'flag'
+	OBJECT_HQ          = 4,    ///< HeadQuarter of a player
+	OBJECT_MAX,
+};
+
+struct ObjectSpec;
+
+#endif /* OBJECT_MAP_H */
--- a/src/saveload/afterload.cpp
+++ b/src/saveload/afterload.cpp
@@ -36,7 +36,7 @@
 #include "../elrail_func.h"
 #include "../signs_func.h"
 #include "../aircraft.h"
-#include "../unmovable_map.h"
+#include "../object_map.h"
 #include "../tree_map.h"
 #include "../company_func.h"
 #include "../road_cmd.h"
@@ -1789,22 +1789,22 @@
 		for (TileIndex t = 0; t < map_size; t++) {
 			/* Check for HQ bit being set, instead of using map accessor,
 			 * since we've already changed it code-wise */
-			if (IsTileType(t, MP_UNMOVABLE) && HasBit(_m[t].m5, 7)) {
+			if (IsTileType(t, MP_OBJECT) && HasBit(_m[t].m5, 7)) {
 				/* Move size and part identification of HQ out of the m5 attribute,
 				 * on new locations */
 				_m[t].m3 = GB(_m[t].m5, 0, 5);
-				_m[t].m5 = UNMOVABLE_HQ;
+				_m[t].m5 = OBJECT_HQ;
 			}
 		}
 	}
 	if (CheckSavegameVersion(144)) {
 		for (TileIndex t = 0; t < map_size; t++) {
-			if (!IsTileType(t, MP_UNMOVABLE)) continue;
+			if (!IsTileType(t, MP_OBJECT)) continue;
 
-			/* Reordering/generalisation of the unmovable bits. */
-			UnmovableType type = GetUnmovableType(t);
-			SetUnmovableAnimationStage(t, type == UNMOVABLE_HQ ? GB(_m[t].m3, 2, 3) : 0);
-			SetUnmovableOffset(t, type == UNMOVABLE_HQ ? GB(_m[t].m3, 1, 1) | GB(_m[t].m3, 0, 1) << 4 : 0);
+			/* Reordering/generalisation of the object bits. */
+			ObjectType type = GetObjectType(t);
+			SetObjectAnimationStage(t, type == OBJECT_HQ ? GB(_m[t].m3, 2, 3) : 0);
+			SetObjectOffset(t, type == OBJECT_HQ ? GB(_m[t].m3, 1, 1) | GB(_m[t].m3, 0, 1) << 4 : 0);
 
 			/* Make sure those bits are clear as well! */
 			_m[t].m4 = 0;
--- a/src/saveload/oldloader_sl.cpp
+++ b/src/saveload/oldloader_sl.cpp
@@ -323,7 +323,7 @@
 				}
 				break;
 
-			case MP_UNMOVABLE:
+			case MP_OBJECT:
 				_m[t].m2 = 0;
 				_m[t].m3 = 0;
 				break;
--- a/src/smallmap_gui.cpp
+++ b/src/smallmap_gui.cpp
@@ -309,7 +309,7 @@
 	{MKCOLOUR(0x00000000), MKCOLOUR(0xFFFFFFFF)}, // MP_VOID
 	{MKCOLOUR(0xB5B5B5B5), MKCOLOUR(0x00000000)}, // MP_INDUSTRY
 	{MKCOLOUR(0x00000000), MKCOLOUR(0xFFFFFFFF)}, // MP_TUNNELBRIDGE
-	{MKCOLOUR(0x00B5B500), MKCOLOUR(0xFF0000FF)}, // MP_UNMOVABLE
+	{MKCOLOUR(0x00B5B500), MKCOLOUR(0xFF0000FF)}, // MP_OBJECT
 	{MKCOLOUR(0x000A0A00), MKCOLOUR(0xFF0000FF)},
 };
 
@@ -325,7 +325,7 @@
 	{MKCOLOUR(0x00000000), MKCOLOUR(0xFFFFFFFF)}, // MP_VOID
 	{MKCOLOUR(0xB5B5B5B5), MKCOLOUR(0x00000000)}, // MP_INDUSTRY
 	{MKCOLOUR(0x00000000), MKCOLOUR(0xFFFFFFFF)}, // MP_TUNNELBRIDGE
-	{MKCOLOUR(0x00B5B500), MKCOLOUR(0xFF0000FF)}, // MP_UNMOVABLE
+	{MKCOLOUR(0x00B5B500), MKCOLOUR(0xFF0000FF)}, // MP_OBJECT
 	{MKCOLOUR(0x00D7D700), MKCOLOUR(0xFF0000FF)},
 };
 
@@ -341,7 +341,7 @@
 	1, // MP_VOID
 	6, // MP_INDUSTRY
 	8, // MP_TUNNELBRIDGE
-	2, // MP_UNMOVABLE
+	2, // MP_OBJECT
 	0,
 };
 
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -3495,7 +3495,7 @@
 			case STATION_DOCK:     return_cmd_error(STR_ERROR_MUST_DEMOLISH_DOCK_FIRST);
 			case STATION_OILRIG:
 				SetDParam(1, STR_INDUSTRY_NAME_OIL_RIG);
-				return_cmd_error(STR_ERROR_UNMOVABLE_OBJECT_IN_THE_WAY);
+				return_cmd_error(STR_ERROR_GENERIC_OBJECT_IN_THE_WAY);
 		}
 	}
 
new file mode 100644
--- /dev/null
+++ b/src/table/object_land.h
@@ -0,0 +1,133 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file object_land.h Sprites to use and how to display them for object tiles. */
+
+#define TILE_SEQ_LINE(sz, img) { 0, 0, 0, 16, 16, sz, {img, PAL_NONE} },
+#define TILE_SEQ_END() { (int8)0x80, 0, 0, 0, 0, 0, {0, 0} }
+
+static const DrawTileSeqStruct _object_nothing[] = {
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_transmitter_seq[] = {
+	{   7,  7,  0,  2,  2, 70, {SPR_TRANSMITTER, PAL_NONE}},
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_lighthouse_seq[] = {
+	{   4,  4,  0,  7,  7, 61, {SPR_LIGHTHOUSE, PAL_NONE}},
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_statue_seq[] = {
+	{   0,  0,  0, 16, 16, 25, {SPR_STATUE_COMPANY | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE}},
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_owned_land_seq[] = {
+	{   8,  8,  0,  1,  1,  6, {SPR_BOUGHT_LAND    | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE}},
+	TILE_SEQ_END()
+};
+
+static const DrawTileSprites _objects[] = {
+	{ { SPR_FLAT_2_THIRD_GRASS_TILE, PAL_NONE }, _object_transmitter_seq },
+	{ { SPR_FLAT_2_THIRD_GRASS_TILE, PAL_NONE }, _object_lighthouse_seq  },
+	{ { SPR_CONCRETE_GROUND,         PAL_NONE }, _object_statue_seq      },
+	{ { SPR_FLAT_BARE_LAND,          PAL_NONE }, _object_owned_land_seq  },
+};
+
+
+static const DrawTileSeqStruct _object_hq_medium_north[] = {
+	TILE_SEQ_LINE(20, SPR_MEDIUMHQ_NORTH_WALL | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_hq_medium_east[] = {
+	TILE_SEQ_LINE(20, SPR_MEDIUMHQ_EAST_WALL  | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_hq_medium_west[] = {
+	TILE_SEQ_LINE(20, SPR_MEDIUMHQ_WEST_WALL  | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_hq_large_north[] = {
+	TILE_SEQ_LINE(50, SPR_LARGEHQ_NORTH_BUILD | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_hq_large_east[] = {
+	TILE_SEQ_LINE(50, SPR_LARGEHQ_EAST_BUILD  | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_hq_large_west[] = {
+	TILE_SEQ_LINE(50, SPR_LARGEHQ_WEST_BUILD  | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_hq_huge_north[] = {
+	TILE_SEQ_LINE(60, SPR_HUGEHQ_NORTH_BUILD  | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_hq_huge_east[] = {
+	TILE_SEQ_LINE(60, SPR_HUGEHQ_EAST_BUILD   | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+static const DrawTileSeqStruct _object_hq_huge_west[] = {
+	TILE_SEQ_LINE(60, SPR_HUGEHQ_WEST_BUILD   | (1 << PALETTE_MODIFIER_COLOUR))
+	TILE_SEQ_END()
+};
+
+#undef TILE_SEQ_LINE
+#undef TILE_SEQ_END
+
+#define TILE_SPRITE_LINE(img, dtss) { {img | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE}, dtss },
+
+static const DrawTileSprites _object_hq[] = {
+	TILE_SPRITE_LINE(SPR_TINYHQ_NORTH,         _object_nothing)
+	TILE_SPRITE_LINE(SPR_TINYHQ_WEST,          _object_nothing)
+	TILE_SPRITE_LINE(SPR_TINYHQ_EAST,          _object_nothing)
+	TILE_SPRITE_LINE(SPR_TINYHQ_SOUTH,         _object_nothing)
+
+	TILE_SPRITE_LINE(SPR_SMALLHQ_NORTH,        _object_nothing)
+	TILE_SPRITE_LINE(SPR_SMALLHQ_WEST,         _object_nothing)
+	TILE_SPRITE_LINE(SPR_SMALLHQ_EAST,         _object_nothing)
+	TILE_SPRITE_LINE(SPR_SMALLHQ_SOUTH,        _object_nothing)
+
+	TILE_SPRITE_LINE(SPR_MEDIUMHQ_NORTH,       _object_hq_medium_north)
+	TILE_SPRITE_LINE(SPR_MEDIUMHQ_WEST,        _object_hq_medium_west)
+	TILE_SPRITE_LINE(SPR_MEDIUMHQ_EAST,        _object_hq_medium_east)
+	TILE_SPRITE_LINE(SPR_MEDIUMHQ_SOUTH,       _object_nothing)
+
+	TILE_SPRITE_LINE(SPR_LARGEHQ_NORTH_GROUND, _object_hq_large_north)
+	TILE_SPRITE_LINE(SPR_LARGEHQ_WEST_GROUND,  _object_hq_large_west)
+	TILE_SPRITE_LINE(SPR_LARGEHQ_EAST_GROUND,  _object_hq_large_east)
+	TILE_SPRITE_LINE(SPR_LARGEHQ_SOUTH,        _object_nothing)
+
+	TILE_SPRITE_LINE(SPR_HUGEHQ_NORTH_GROUND,  _object_hq_huge_north)
+	TILE_SPRITE_LINE(SPR_HUGEHQ_WEST_GROUND,   _object_hq_huge_west)
+	TILE_SPRITE_LINE(SPR_HUGEHQ_EAST_GROUND,   _object_hq_huge_east)
+	TILE_SPRITE_LINE(SPR_HUGEHQ_SOUTH,         _object_nothing)
+};
+
+#undef TILE_SPRITE_LINE
+
+/** Specification of the original object structures. */
+static const ObjectSpec _original_objects[] = {
+	{ STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER,          0x11,   0,   0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_REQUIRE_FLAT | OBJECT_FLAG_ONLY_IN_SCENEDIT },
+	{ STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE,           0x11,   0,   0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_REQUIRE_FLAT | OBJECT_FLAG_ONLY_IN_SCENEDIT },
+	{ STR_TOWN_BUILDING_NAME_STATUE_1,                 0x11,   0,   0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_ONLY_IN_SCENEDIT }, // Yes, we disallow building this everywhere. Happens in "special" case!
+	{ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND,   0x11,  10,   2, OBJECT_FLAG_AUTOREMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_CLEAR_INCOME | OBJECT_FLAG_HAS_NO_FOUNDATION | OBJECT_FLAG_ALLOW_UNDER_BRIDGE },
+	{ STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS, 0x22,   0,   0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME },
+};
--- a/src/table/pricebase.h
+++ b/src/table/pricebase.h
@@ -60,8 +60,8 @@
 	{   5600, PCAT_RUNNING,      GSF_SHIPS,        INVALID_PRICE         }, ///< PR_RUNNING_SHIP
 	{1000000, PCAT_CONSTRUCTION, GSF_END,          INVALID_PRICE         }, ///< PR_BUILD_INDUSTRY
 	{   1600, PCAT_CONSTRUCTION, GSF_END,          PR_CLEAR_HOUSE        }, ///< PR_CLEAR_INDUSTRY
-	{     40, PCAT_CONSTRUCTION, GSF_END,          PR_CLEAR_ROUGH        }, ///< PR_BUILD_UNMOVABLE
-	{     40, PCAT_CONSTRUCTION, GSF_END,          PR_CLEAR_ROUGH        }, ///< PR_CLEAR_UNMOVABLE
+	{     40, PCAT_CONSTRUCTION, GSF_END,          PR_CLEAR_ROUGH        }, ///< PR_BUILD_OBJECT
+	{     40, PCAT_CONSTRUCTION, GSF_END,          PR_CLEAR_ROUGH        }, ///< PR_CLEAR_OBJECT
 	{    600, PCAT_CONSTRUCTION, GSF_END,          PR_BUILD_DEPOT_TRAIN  }, ///< PR_BUILD_WAYPOINT_RAIL
 	{     80, PCAT_CONSTRUCTION, GSF_END,          PR_CLEAR_DEPOT_TRAIN  }, ///< PR_CLEAR_WAYPOINT_RAIL
 	{    350, PCAT_CONSTRUCTION, GSF_END,          PR_BUILD_STATION_DOCK }, ///< PR_BUILD_WAYPOINT_BUOY
--- a/src/table/sprites.h
+++ b/src/table/sprites.h
@@ -279,9 +279,9 @@
 /* Shadow cell */
 static const SpriteID SPR_SHADOW_CELL = 1004;
 
-/* Unmovables spritenumbers */
-static const SpriteID SPR_UNMOVABLE_TRANSMITTER   = 2601;
-static const SpriteID SPR_UNMOVABLE_LIGHTHOUSE    = 2602;
+/* Objects spritenumbers */
+static const SpriteID SPR_TRANSMITTER             = 2601;
+static const SpriteID SPR_LIGHTHOUSE              = 2602;
 static const SpriteID SPR_TINYHQ_NORTH            = 2603;
 static const SpriteID SPR_TINYHQ_EAST             = 2604;
 static const SpriteID SPR_TINYHQ_WEST             = 2605;
--- a/src/table/station_land.h
+++ b/src/table/station_land.h
@@ -241,7 +241,7 @@
 };
 
 static const DrawTileSeqStruct _station_display_transmitter_fence_ne[] = {
-	TILE_SEQ_LINE( 7,  7,  0,  2,  2, 70, SPR_UNMOVABLE_TRANSMITTER)
+	TILE_SEQ_LINE( 7,  7,  0,  2,  2, 70, SPR_TRANSMITTER)
 	TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
 	TILE_SEQ_END()
 };
deleted file mode 100644
--- a/src/table/unmovable_land.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/** @file unmovable_land.h Sprites to use and how to display them for unmovable tiles. */
-
-#define TILE_SEQ_LINE(sz, img) { 0, 0, 0, 16, 16, sz, {img, PAL_NONE} },
-#define TILE_SEQ_END() { (int8)0x80, 0, 0, 0, 0, 0, {0, 0} }
-
-static const DrawTileSeqStruct _unmovable_nothing[] = {
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_transmitter_seq[] = {
-	{   7,  7,  0,  2,  2, 70, {SPR_UNMOVABLE_TRANSMITTER, PAL_NONE}},
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_lighthouse_seq[] = {
-	{   4,  4,  0,  7,  7, 61, {SPR_UNMOVABLE_LIGHTHOUSE, PAL_NONE}},
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_statue_seq[] = {
-	{   0,  0,  0, 16, 16, 25, {SPR_STATUE_COMPANY | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE}},
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_owned_land_seq[] = {
-	{   8,  8,  0,  1,  1,  6, {SPR_BOUGHT_LAND    | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE}},
-	TILE_SEQ_END()
-};
-
-static const DrawTileSprites _unmovables[] = {
-	{ { SPR_FLAT_2_THIRD_GRASS_TILE, PAL_NONE }, _unmovable_transmitter_seq },
-	{ { SPR_FLAT_2_THIRD_GRASS_TILE, PAL_NONE }, _unmovable_lighthouse_seq  },
-	{ { SPR_CONCRETE_GROUND,         PAL_NONE }, _unmovable_statue_seq      },
-	{ { SPR_FLAT_BARE_LAND,          PAL_NONE }, _unmovable_owned_land_seq  },
-};
-
-
-static const DrawTileSeqStruct _unmovable_hq_medium_north[] = {
-	TILE_SEQ_LINE(20, SPR_MEDIUMHQ_NORTH_WALL | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_hq_medium_east[] = {
-	TILE_SEQ_LINE(20, SPR_MEDIUMHQ_EAST_WALL  | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_hq_medium_west[] = {
-	TILE_SEQ_LINE(20, SPR_MEDIUMHQ_WEST_WALL  | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_hq_large_north[] = {
-	TILE_SEQ_LINE(50, SPR_LARGEHQ_NORTH_BUILD | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_hq_large_east[] = {
-	TILE_SEQ_LINE(50, SPR_LARGEHQ_EAST_BUILD  | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_hq_large_west[] = {
-	TILE_SEQ_LINE(50, SPR_LARGEHQ_WEST_BUILD  | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_hq_huge_north[] = {
-	TILE_SEQ_LINE(60, SPR_HUGEHQ_NORTH_BUILD  | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_hq_huge_east[] = {
-	TILE_SEQ_LINE(60, SPR_HUGEHQ_EAST_BUILD   | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-static const DrawTileSeqStruct _unmovable_hq_huge_west[] = {
-	TILE_SEQ_LINE(60, SPR_HUGEHQ_WEST_BUILD   | (1 << PALETTE_MODIFIER_COLOUR))
-	TILE_SEQ_END()
-};
-
-#undef TILE_SEQ_LINE
-#undef TILE_SEQ_END
-
-#define TILE_SPRITE_LINE(img, dtss) { {img | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE}, dtss },
-
-static const DrawTileSprites _unmovable_hq[] = {
-	TILE_SPRITE_LINE(SPR_TINYHQ_NORTH,         _unmovable_nothing)
-	TILE_SPRITE_LINE(SPR_TINYHQ_WEST,          _unmovable_nothing)
-	TILE_SPRITE_LINE(SPR_TINYHQ_EAST,          _unmovable_nothing)
-	TILE_SPRITE_LINE(SPR_TINYHQ_SOUTH,         _unmovable_nothing)
-
-	TILE_SPRITE_LINE(SPR_SMALLHQ_NORTH,        _unmovable_nothing)
-	TILE_SPRITE_LINE(SPR_SMALLHQ_WEST,         _unmovable_nothing)
-	TILE_SPRITE_LINE(SPR_SMALLHQ_EAST,         _unmovable_nothing)
-	TILE_SPRITE_LINE(SPR_SMALLHQ_SOUTH,        _unmovable_nothing)
-
-	TILE_SPRITE_LINE(SPR_MEDIUMHQ_NORTH,       _unmovable_hq_medium_north)
-	TILE_SPRITE_LINE(SPR_MEDIUMHQ_WEST,        _unmovable_hq_medium_west)
-	TILE_SPRITE_LINE(SPR_MEDIUMHQ_EAST,        _unmovable_hq_medium_east)
-	TILE_SPRITE_LINE(SPR_MEDIUMHQ_SOUTH,       _unmovable_nothing)
-
-	TILE_SPRITE_LINE(SPR_LARGEHQ_NORTH_GROUND, _unmovable_hq_large_north)
-	TILE_SPRITE_LINE(SPR_LARGEHQ_WEST_GROUND,  _unmovable_hq_large_west)
-	TILE_SPRITE_LINE(SPR_LARGEHQ_EAST_GROUND,  _unmovable_hq_large_east)
-	TILE_SPRITE_LINE(SPR_LARGEHQ_SOUTH,        _unmovable_nothing)
-
-	TILE_SPRITE_LINE(SPR_HUGEHQ_NORTH_GROUND,  _unmovable_hq_huge_north)
-	TILE_SPRITE_LINE(SPR_HUGEHQ_WEST_GROUND,   _unmovable_hq_huge_west)
-	TILE_SPRITE_LINE(SPR_HUGEHQ_EAST_GROUND,   _unmovable_hq_huge_east)
-	TILE_SPRITE_LINE(SPR_HUGEHQ_SOUTH,         _unmovable_nothing)
-};
-
-#undef TILE_SPRITE_LINE
-
-/** Specification of the original unmovable structures. */
-static const UnmovableSpec _original_unmovable[] = {
-	{ STR_LAI_UNMOVABLE_DESCRIPTION_TRANSMITTER,          0x11,   0,   0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_REQUIRE_FLAT | OBJECT_FLAG_ONLY_IN_SCENEDIT },
-	{ STR_LAI_UNMOVABLE_DESCRIPTION_LIGHTHOUSE,           0x11,   0,   0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_REQUIRE_FLAT | OBJECT_FLAG_ONLY_IN_SCENEDIT },
-	{ STR_TOWN_BUILDING_NAME_STATUE_1,                    0x11,   0,   0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_ONLY_IN_SCENEDIT }, // Yes, we disallow building this everywhere. Happens in "special" case!
-	{ STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_OWNED_LAND,   0x11,  10,   2, OBJECT_FLAG_AUTOREMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_CLEAR_INCOME | OBJECT_FLAG_HAS_NO_FOUNDATION | OBJECT_FLAG_ALLOW_UNDER_BRIDGE },
-	{ STR_LAI_UNMOVABLE_DESCRIPTION_COMPANY_HEADQUARTERS, 0x22,   0,   0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME },
-};
--- a/src/terraform_gui.cpp
+++ b/src/terraform_gui.cpp
@@ -22,7 +22,7 @@
 #include "functions.h"
 #include "sound_func.h"
 #include "base_station_base.h"
-#include "unmovable_map.h"
+#include "object_map.h"
 #include "textbuf_gui.h"
 #include "genworld.h"
 #include "tree_map.h"
@@ -135,7 +135,7 @@
 
 static void PlaceProc_BuyLand(TileIndex tile)
 {
-	DoCommandP(tile, UNMOVABLE_OWNED_LAND, 0, CMD_BUILD_UNMOVABLE | CMD_MSG(STR_ERROR_CAN_T_PURCHASE_THIS_LAND), CcPlaySound1E);
+	DoCommandP(tile, OBJECT_OWNED_LAND, 0, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_PURCHASE_THIS_LAND), CcPlaySound1E);
 }
 
 void PlaceProc_DemolishArea(TileIndex tile)
@@ -433,12 +433,12 @@
 
 static void PlaceProc_LightHouse(TileIndex tile)
 {
-	DoCommandP(tile, UNMOVABLE_LIGHTHOUSE, 0, CMD_BUILD_UNMOVABLE | CMD_MSG(STR_ERROR_CAN_T_BUILD_OBJECT), CcTerraform);
+	DoCommandP(tile, OBJECT_LIGHTHOUSE, 0, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_OBJECT), CcTerraform);
 }
 
 static void PlaceProc_Transmitter(TileIndex tile)
 {
-	DoCommandP(tile, UNMOVABLE_TRANSMITTER, 0, CMD_BUILD_UNMOVABLE | CMD_MSG(STR_ERROR_CAN_T_BUILD_OBJECT), CcTerraform);
+	DoCommandP(tile, OBJECT_TRANSMITTER, 0, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_OBJECT), CcTerraform);
 }
 
 static void PlaceProc_DesertArea(TileIndex tile)
--- a/src/tile_type.h
+++ b/src/tile_type.h
@@ -42,7 +42,7 @@
 	MP_VOID,                ///< Invisible tiles at the SW and SE border
 	MP_INDUSTRY,            ///< Part of an industry
 	MP_TUNNELBRIDGE,        ///< Tunnel entry/exit and bridge heads
-	MP_UNMOVABLE,           ///< Contains an object with cannot be removed like transmitters
+	MP_OBJECT,              ///< Contains objects such as transmitters and owned land
 };
 
 /**
--- a/src/town_cmd.cpp
+++ b/src/town_cmd.cpp
@@ -21,7 +21,7 @@
 #include "company_base.h"
 #include "news_func.h"
 #include "gui.h"
-#include "unmovable.h"
+#include "object.h"
 #include "genworld.h"
 #include "newgrf_debug.h"
 #include "newgrf_house.h"
@@ -2505,7 +2505,7 @@
 	if (CircularTileSearch(&tile, 9, SearchTileForStatue, NULL)) {
 		if (flags & DC_EXEC) {
 			DoCommand(tile, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR);
-			BuildUnmovable(UNMOVABLE_STATUE, tile, _current_company, t->index);
+			BuildObject(OBJECT_STATUE, tile, _current_company, t->index);
 			SetBit(t->statues, _current_company); // Once found and built, "inform" the Town.
 			MarkTileDirtyByTile(tile);
 		}
--- a/src/transparency.h
+++ b/src/transparency.h
@@ -28,7 +28,7 @@
 	TO_INDUSTRIES, ///< industries
 	TO_BUILDINGS,  ///< company buildings - depots, stations, HQ, ...
 	TO_BRIDGES,    ///< bridges
-	TO_STRUCTURES, ///< unmovable structures
+	TO_STRUCTURES, ///< other objects such as transmitters and lighthouses
 	TO_CATENARY,   ///< catenary
 	TO_LOADING,    ///< loading indicators
 	TO_END,
--- a/src/transparency_gui.cpp
+++ b/src/transparency_gui.cpp
@@ -32,7 +32,7 @@
 	TTW_WIDGET_INDUSTRIES,               ///< industries transparency toggle button.
 	TTW_WIDGET_BUILDINGS,                ///< Company buildings and structures transparency toggle button.
 	TTW_WIDGET_BRIDGES,                  ///< Bridges transparency toggle button.
-	TTW_WIDGET_STRUCTURES,               ///< Unmovable structures transparency toggle button.
+	TTW_WIDGET_STRUCTURES,               ///< Object structure transparency toggle button.
 	TTW_WIDGET_CATENARY,                 ///< Catenary transparency toggle button.
 	TTW_WIDGET_LOADING,                  ///< Loading indicators transparency toggle button.
 	TTW_WIDGET_END,                      ///< End of toggle buttons.
--- a/src/tunnelbridge_cmd.cpp
+++ b/src/tunnelbridge_cmd.cpp
@@ -16,7 +16,7 @@
 #include "stdafx.h"
 #include "rail_map.h"
 #include "landscape.h"
-#include "unmovable.h"
+#include "object.h"
 #include "viewport_func.h"
 #include "cmd_helper.h"
 #include "command_func.h"
@@ -395,8 +395,8 @@
 					if (z_start < GetBridgeHeight(tile)) goto not_valid_below;
 					break;
 
-				case MP_UNMOVABLE: {
-					const UnmovableSpec *spec = UnmovableSpec::GetByTile(tile);
+				case MP_OBJECT: {
+					const ObjectSpec *spec = ObjectSpec::GetByTile(tile);
 					if ((spec->flags & OBJECT_FLAG_ALLOW_UNDER_BRIDGE) == 0) goto not_valid_below;
 					break;
 				}
deleted file mode 100644
--- a/src/unmovable.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/** @file unmovable.h Functions related to unmovable objects. */
-
-#ifndef UNMOVABLE_H
-#define UNMOVABLE_H
-
-#include "economy_func.h"
-#include "strings_type.h"
-#include "unmovable_type.h"
-
-/**
- * Update the CompanyHQ to the state associated with the given score
- * @param tile  The (northern) tile of the company HQ, or INVALID_TILE.
- * @param score The current (performance) score of the company.
- */
-void UpdateCompanyHQ(TileIndex tile, uint score);
-
-/**
- * Actually build the unmovable object.
- * @param type  The type of object to build.
- * @param tile  The tile to build the northern tile of the object on.
- * @param owner The owner of the object.
- * @param index A (generic) index to be stored on the tile, e.g. TownID for statues.
- * @pre All preconditions for building the object at that location
- *      are met, e.g. slope and clearness of tiles are checked.
- */
-void BuildUnmovable(UnmovableType type, TileIndex tile, CompanyID owner = OWNER_NONE, uint index = 0);
-
-
-/** Various object behaviours. */
-enum ObjectFlags {
-	OBJECT_FLAG_NONE               =       0, ///< Just nothing.
-	OBJECT_FLAG_ONLY_IN_SCENEDIT   = 1 <<  0, ///< Object can only be constructed in the scenario editor.
-	OBJECT_FLAG_CANNOT_REMOVE      = 1 <<  1, ///< Object can not be removed.
-	OBJECT_FLAG_AUTOREMOVE         = 1 <<  2, ///< Object get automatically removed (like "owned land").
-	OBJECT_FLAG_BUILT_ON_WATER     = 1 <<  3, ///< Object can be built on water (not required).
-	OBJECT_FLAG_CLEAR_INCOME       = 1 <<  4, ///< When object is cleared a positive income is generated instead of a cost.
-	OBJECT_FLAG_HAS_NO_FOUNDATION  = 1 <<  5, ///< Do not display foundations when on a slope.
-	OBJECT_FLAG_ANIMATION          = 1 <<  6, ///< Object has animated tiles.
-	OBJECT_FLAG_ONLY_IN_GAME       = 1 <<  7, ///< Object can only be built in game.
-	OBJECT_FLAG_2CC_COLOUR         = 1 <<  8, ///< Object wants 2CC colour mapping.
-	OBJECT_FLAG_NOT_ON_LAND        = 1 <<  9, ///< Object can not be on land, implicitly sets #OBJECT_FLAG_BUILT_ON_WATER.
-	OBJECT_FLAG_DRAW_WATER         = 1 << 10, ///< Object wants to be drawn on water.
-	OBJECT_FLAG_ALLOW_UNDER_BRIDGE = 1 << 11, ///< Object can built under a bridge.
-	OBJECT_FLAG_REQUIRE_FLAT       = 1 << 12, ///< Object can only be build of flat land, i.e. not on foundations!
-};
-DECLARE_ENUM_AS_BIT_SET(ObjectFlags)
-
-
-/** An (unmovable) object that isn't use for transport, industries or houses. */
-struct UnmovableSpec {
-	StringID name;               ///< The name for this object.
-	uint8 size;                  ///< The size of this objects; low nibble for X, high nibble for Y.
-	uint8 build_cost_multiplier; ///< Build cost multiplier per tile.
-	uint8 clear_cost_multiplier; ///< Clear cost multiplier per tile.
-	ObjectFlags flags;           ///< Flags/settings related to the object.
-
-	/**
-	 * Get the cost for building a structure of this type.
-	 * @return The cost for building.
-	 */
-	Money GetBuildCost() const { return (_price[PR_BUILD_UNMOVABLE] * this->build_cost_multiplier); }
-
-	/**
-	 * Get the cost for clearing a structure of this type.
-	 * @return The cost for clearing.
-	 */
-	Money GetClearCost() const { return (_price[PR_CLEAR_UNMOVABLE] * this->clear_cost_multiplier); }
-
-	/**
-	 * Get the specification associated with a specific UnmovableType.
-	 * @param index The unmovable type to fetch.
-	 * @return The specification.
-	 */
-	static const UnmovableSpec *Get(UnmovableType index);
-
-	/**
-	 * Get the specification associated with a tile.
-	 * @param tile The tile to fetch the data for.
-	 * @return The specification.
-	 */
-	static const UnmovableSpec *GetByTile(TileIndex tile);
-};
-
-
-#endif /* UNMOVABLE_H */
deleted file mode 100644
--- a/src/unmovable_cmd.cpp
+++ /dev/null
@@ -1,547 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/** @file unmovable_cmd.cpp Handling of unmovable tiles. */
-
-#include "stdafx.h"
-#include "landscape.h"
-#include "command_func.h"
-#include "viewport_func.h"
-#include "company_base.h"
-#include "town.h"
-#include "bridge_map.h"
-#include "genworld.h"
-#include "autoslope.h"
-#include "transparency.h"
-#include "functions.h"
-#include "window_func.h"
-#include "vehicle_func.h"
-#include "company_gui.h"
-#include "cheat_type.h"
-#include "landscape_type.h"
-#include "unmovable.h"
-#include "cargopacket.h"
-#include "sprite.h"
-#include "core/random_func.hpp"
-#include "unmovable_map.h"
-
-#include "table/strings.h"
-#include "table/sprites.h"
-#include "table/unmovable_land.h"
-
-/* static */ const UnmovableSpec *UnmovableSpec::Get(UnmovableType index)
-{
-	assert(index < UNMOVABLE_MAX);
-	return &_original_unmovable[index];
-}
-
-/* static */ const UnmovableSpec *UnmovableSpec::GetByTile(TileIndex tile)
-{
-	return UnmovableSpec::Get(GetUnmovableType(tile));
-}
-
-void BuildUnmovable(UnmovableType type, TileIndex tile, CompanyID owner, uint index)
-{
-	const UnmovableSpec *spec = UnmovableSpec::Get(type);
-
-	TileArea ta(tile, GB(spec->size, 0, 4), GB(spec->size, 4, 4));
-	TILE_AREA_LOOP(t, ta) {
-		TileIndex offset = t - tile;
-		MakeUnmovable(t, type, owner, TileY(offset) << 4 | TileX(offset), index);
-		MarkTileDirtyByTile(t);
-	}
-}
-
-/**
- * Increase the animation stage of a whole structure.
- * @param northern The northern tile of the structure.
- * @pre GetUnmovableOffset(northern) == 0
- */
-void IncreaseAnimationStage(TileIndex northern)
-{
-	assert(GetUnmovableOffset(northern) == 0);
-	const UnmovableSpec *spec = UnmovableSpec::GetByTile(northern);
-
-	TileArea ta(northern, GB(spec->size, 0, 4), GB(spec->size, 4, 4));
-	TILE_AREA_LOOP(t, ta) {
-		SetUnmovableAnimationStage(t, GetUnmovableAnimationStage(t) + 1);
-		MarkTileDirtyByTile(t);
-	}
-}
-
-/** We encode the company HQ size in the animation stage. */
-#define GetCompanyHQSize GetUnmovableAnimationStage
-/** We encode the company HQ size in the animation stage. */
-#define IncreaseCompanyHQSize IncreaseAnimationStage
-
-void UpdateCompanyHQ(TileIndex tile, uint score)
-{
-	if (tile == INVALID_TILE) return;
-
-	byte val;
-	(val = 0, score < 170) ||
-	(val++, score < 350) ||
-	(val++, score < 520) ||
-	(val++, score < 720) ||
-	(val++, true);
-
-	while (GetCompanyHQSize(tile) < val) {
-		IncreaseCompanyHQSize(tile);
-	}
-}
-
-extern CommandCost CheckFlatLand(TileArea tile_area, DoCommandFlag flags);
-static CommandCost ClearTile_Unmovable(TileIndex tile, DoCommandFlag flags);
-
-/**
- * Build an unmovable object
- * @param tile tile where the object will be located
- * @param flags type of operation
- * @param p1 the object type to build
- * @param p2 unused
- * @param text unused
- * @return the cost of this operation or an error
- */
-CommandCost CmdBuildUnmovable(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
-{
-	CommandCost cost(EXPENSES_PROPERTY);
-
-	UnmovableType type = (UnmovableType)GB(p1, 0, 8);
-	if (type >= UNMOVABLE_MAX) return CMD_ERROR;
-
-	const UnmovableSpec *spec = UnmovableSpec::Get(type);
-	if (spec->flags & OBJECT_FLAG_ONLY_IN_SCENEDIT && (_game_mode != GM_EDITOR || _current_company != OWNER_NONE)) return CMD_ERROR;
-	if (spec->flags & OBJECT_FLAG_ONLY_IN_GAME && (_game_mode != GM_NORMAL || _current_company > MAX_COMPANIES)) return CMD_ERROR;
-
-	int size_x = GB(spec->size, 0, 4);
-	int size_y = GB(spec->size, 4, 4);
-	TileArea ta(tile, size_x, size_y);
-
-	if (spec->flags & OBJECT_FLAG_REQUIRE_FLAT) {
-		TILE_AREA_LOOP(tile_cur, ta) {
-			if (GetTileSlope(tile, NULL) != SLOPE_FLAT) return_cmd_error(STR_ERROR_FLAT_LAND_REQUIRED);
-		}
-	}
-
-	/* If we require flat land, we've already tested that.
-	 * So we only need to check for clear land. */
-	if (spec->flags & (OBJECT_FLAG_HAS_NO_FOUNDATION | OBJECT_FLAG_REQUIRE_FLAT)) {
-		TILE_AREA_LOOP(tile_cur, ta) {
-			cost.AddCost(DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR));
-		}
-	} else {
-		cost.AddCost(CheckFlatLand(ta, flags));
-	}
-	if (cost.Failed()) return cost;
-
-	int hq_score = 0;
-	switch (type) {
-		case UNMOVABLE_OWNED_LAND:
-			if (IsTileType(tile, MP_UNMOVABLE) &&
-					IsTileOwner(tile, _current_company) &&
-					IsOwnedLand(tile)) {
-				return_cmd_error(STR_ERROR_YOU_ALREADY_OWN_IT);
-			}
-			break;
-
-		case UNMOVABLE_HQ: {
-			Company *c = Company::Get(_current_company);
-			if (c->location_of_HQ != INVALID_TILE) {
-				/* We need to persuade a bit harder to remove the old HQ. */
-				_current_company = OWNER_WATER;
-				cost.AddCost(ClearTile_Unmovable(c->location_of_HQ, flags));
-				_current_company = c->index;
-			}
-
-			if (flags & DC_EXEC) {
-				hq_score = UpdateCompanyRatingAndValue(c, false);
-				c->location_of_HQ = tile;
-				SetWindowDirty(WC_COMPANY, c->index);
-			}
-			break;
-		}
-
-		default: break;
-	}
-
-	if (flags & DC_EXEC) {
-		BuildUnmovable(type, tile, _current_company);
-
-		/* Make sure the HQ starts at the right size. */
-		if (type == UNMOVABLE_HQ) UpdateCompanyHQ(tile, hq_score);
-	}
-
-	cost.AddCost(UnmovableSpec::Get(type)->GetBuildCost() * size_x * size_y);
-	return cost;
-}
-
-
-static Foundation GetFoundation_Unmovable(TileIndex tile, Slope tileh);
-
-static void DrawTile_Unmovable(TileInfo *ti)
-{
-	UnmovableType type = GetUnmovableType(ti->tile);
-	const UnmovableSpec *spec = UnmovableSpec::Get(type);
-	if ((spec->flags & OBJECT_FLAG_HAS_NO_FOUNDATION) == 0) DrawFoundation(ti, GetFoundation_Unmovable(ti->tile, ti->tileh));
-
-	const DrawTileSprites *dts = NULL;
-	Owner to = GetTileOwner(ti->tile);
-	PaletteID palette = to == OWNER_NONE ? PAL_NONE : COMPANY_SPRITE_COLOUR(to);
-
-	if (type == UNMOVABLE_HQ) {
-		uint8 offset = GetUnmovableOffset(ti->tile);
-		dts = &_unmovable_hq[GetCompanyHQSize(ti->tile) << 2 | GB(offset, 4, 1) << 1 | GB(offset, 0, 1)];
-	} else {
-		dts = &_unmovables[type];
-	}
-
-	if (spec->flags & OBJECT_FLAG_HAS_NO_FOUNDATION) {
-		/* If an object has no foundation, but tries to draw a (flat) ground
-		 * type... we have to be nice and convert that for them. */
-		switch (dts->ground.sprite) {
-			case SPR_FLAT_BARE_LAND:          DrawClearLandTile(ti, 0); break;
-			case SPR_FLAT_1_THIRD_GRASS_TILE: DrawClearLandTile(ti, 1); break;
-			case SPR_FLAT_2_THIRD_GRASS_TILE: DrawClearLandTile(ti, 2); break;
-			case SPR_FLAT_GRASS_TILE:         DrawClearLandTile(ti, 3); break;
-			default: DrawGroundSprite(dts->ground.sprite, palette);     break;
-		}
-	} else {
-		DrawGroundSprite(dts->ground.sprite, palette);
-	}
-
-	if (!IsInvisibilitySet(TO_STRUCTURES)) {
-		const DrawTileSeqStruct *dtss;
-		foreach_draw_tile_seq(dtss, dts->seq) {
-			AddSortableSpriteToDraw(
-				dtss->image.sprite, palette,
-				ti->x + dtss->delta_x, ti->y + dtss->delta_y,
-				dtss->size_x, dtss->size_y,
-				dtss->size_z, ti->z + dtss->delta_z,
-				IsTransparencySet(TO_STRUCTURES)
-			);
-		}
-	}
-
-	if (spec->flags & OBJECT_FLAG_ALLOW_UNDER_BRIDGE) DrawBridgeMiddle(ti);
-}
-
-static uint GetSlopeZ_Unmovable(TileIndex tile, uint x, uint y)
-{
-	if (IsOwnedLand(tile)) {
-		uint z;
-		Slope tileh = GetTileSlope(tile, &z);
-
-		return z + GetPartialZ(x & 0xF, y & 0xF, tileh);
-	} else {
-		return GetTileMaxZ(tile);
-	}
-}
-
-static Foundation GetFoundation_Unmovable(TileIndex tile, Slope tileh)
-{
-	return IsOwnedLand(tile) ? FOUNDATION_NONE : FlatteningFoundation(tileh);
-}
-
-static CommandCost ClearTile_Unmovable(TileIndex tile, DoCommandFlag flags)
-{
-	UnmovableType type = GetUnmovableType(tile);
-	const UnmovableSpec *spec = UnmovableSpec::Get(type);
-
-	/* Get to the northern most tile. */
-	tile -= GetUnmovableOffset(tile);
-
-	/* Water can remove everything! */
-	if (_current_company != OWNER_WATER) {
-		if ((spec->flags & OBJECT_FLAG_AUTOREMOVE) == 0 && flags & DC_AUTO) {
-			/* No automatic removal by overbuilding stuff. */
-			return_cmd_error(type == UNMOVABLE_HQ ? STR_ERROR_COMPANY_HEADQUARTERS_IN : STR_ERROR_OBJECT_IN_THE_WAY);
-		} else if (_game_mode == GM_EDITOR) {
-			/* No further limitations for the editor. */
-		} else if (GetTileOwner(tile) == OWNER_NONE) {
-			/* Owned by nobody, so we can only remove it with brute force! */
-			if (!_cheats.magic_bulldozer.value) return CMD_ERROR;
-		} else if (CheckTileOwnership(tile).Failed()) {
-			/* We don't own it!. */
-			return_cmd_error(STR_ERROR_OWNED_BY);
-		} else if ((spec->flags & OBJECT_FLAG_AUTOREMOVE) == 0 && !_cheats.magic_bulldozer.value) {
-			/* In the game editor or with cheats we can remove, otherwise we can't. */
-			return CMD_ERROR;
-		}
-	}
-
-	int size_x = GB(spec->size, 0, 4);
-	int size_y = GB(spec->size, 4, 4);
-	TileArea ta(tile, size_x, size_y);
-
-	CommandCost cost(EXPENSES_CONSTRUCTION, spec->GetClearCost() * size_x * size_y);
-	if (spec->flags & OBJECT_FLAG_CLEAR_INCOME) cost.MultiplyCost(-1); // They get an income!
-
-	switch (type) {
-		case UNMOVABLE_HQ: {
-			Company *c = Company::Get(GetTileOwner(tile));
-			if (flags & DC_EXEC) {
-				c->location_of_HQ = INVALID_TILE; // reset HQ position
-				SetWindowDirty(WC_COMPANY, c->index);
-				CargoPacket::InvalidateAllFrom(ST_HEADQUARTERS, c->index);
-			}
-
-			/* cost of relocating company is 1% of company value */
-			cost = CommandCost(EXPENSES_PROPERTY, CalculateCompanyValue(c) / 100);
-			break;
-		}
-
-		case UNMOVABLE_STATUE:
-			if (flags & DC_EXEC) {
-				TownID town = GetStatueTownID(tile);
-				ClrBit(Town::Get(town)->statues, GetTileOwner(tile));
-				SetWindowDirty(WC_TOWN_AUTHORITY, town);
-			}
-			break;
-
-		default:
-			break;
-	}
-
-	if (flags & DC_EXEC) {
-		TILE_AREA_LOOP(tile_cur, ta) DoClearSquare(tile_cur);
-	}
-
-	return cost;
-}
-
-static void AddAcceptedCargo_Unmovable(TileIndex tile, CargoArray &acceptance, uint32 *always_accepted)
-{
-	if (!IsCompanyHQ(tile)) return;
-
-	/* HQ accepts passenger and mail; but we have to divide the values
-	 * between 4 tiles it occupies! */
-
-	/* HQ level (depends on company performance) in the range 1..5. */
-	uint level = GetCompanyHQSize(tile) + 1;
-
-	/* Top town building generates 10, so to make HQ interesting, the top
-	 * type makes 20. */
-	acceptance[CT_PASSENGERS] += max(1U, level);
-	SetBit(*always_accepted, CT_PASSENGERS);
-
-	/* Top town building generates 4, HQ can make up to 8. The
-	 * proportion passengers:mail is different because such a huge
-	 * commercial building generates unusually high amount of mail
-	 * correspondence per physical visitor. */
-	acceptance[CT_MAIL] += max(1U, level / 2);
-	SetBit(*always_accepted, CT_MAIL);
-}
-
-
-static void GetTileDesc_Unmovable(TileIndex tile, TileDesc *td)
-{
-	td->str = UnmovableSpec::GetByTile(tile)->name;
-	td->owner[0] = GetTileOwner(tile);
-}
-
-static void TileLoop_Unmovable(TileIndex tile)
-{
-	if (!IsCompanyHQ(tile)) return;
-
-	/* HQ accepts passenger and mail; but we have to divide the values
-	 * between 4 tiles it occupies! */
-
-	/* HQ level (depends on company performance) in the range 1..5. */
-	uint level = GetCompanyHQSize(tile) + 1;
-	assert(level < 6);
-
-	StationFinder stations(TileArea(tile, 2, 2));
-
-	uint r = Random();
-	/* Top town buildings generate 250, so the top HQ type makes 256. */
-	if (GB(r, 0, 8) < (256 / 4 / (6 - level))) {
-		uint amt = GB(r, 0, 8) / 8 / 4 + 1;
-		if (_economy.fluct <= 0) amt = (amt + 1) >> 1;
-		MoveGoodsToStation(CT_PASSENGERS, amt, ST_HEADQUARTERS, GetTileOwner(tile), stations.GetStations());
-	}
-
-	/* Top town building generates 90, HQ can make up to 196. The
-	 * proportion passengers:mail is about the same as in the acceptance
-	 * equations. */
-	if (GB(r, 8, 8) < (196 / 4 / (6 - level))) {
-		uint amt = GB(r, 8, 8) / 8 / 4 + 1;
-		if (_economy.fluct <= 0) amt = (amt + 1) >> 1;
-		MoveGoodsToStation(CT_MAIL, amt, ST_HEADQUARTERS, GetTileOwner(tile), stations.GetStations());
-	}
-}
-
-
-static TrackStatus GetTileTrackStatus_Unmovable(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
-{
-	return 0;
-}
-
-static bool ClickTile_Unmovable(TileIndex tile)
-{
-	if (!IsCompanyHQ(tile)) return false;
-
-	ShowCompany(GetTileOwner(tile));
-	return true;
-}
-
-
-/* checks, if a radio tower is within a 9x9 tile square around tile */
-static bool IsRadioTowerNearby(TileIndex tile)
-{
-	TileIndex tile_s = tile - TileDiffXY(min(TileX(tile), 4U), min(TileY(tile), 4U));
-	uint w = min(TileX(tile), 4U) + 1 + min(MapMaxX() - TileX(tile), 4U);
-	uint h = min(TileY(tile), 4U) + 1 + min(MapMaxY() - TileY(tile), 4U);
-
-	TILE_LOOP(tile, w, h, tile_s) {
-		if (IsTransmitterTile(tile)) return true;
-	}
-
-	return false;
-}
-
-void GenerateUnmovables()
-{
-	if (_settings_game.game_creation.landscape == LT_TOYLAND) return;
-
-	/* add radio tower */
-	int radiotower_to_build = ScaleByMapSize(15); // maximum number of radio towers on the map
-	int lighthouses_to_build = _settings_game.game_creation.landscape == LT_TROPIC ? 0 : ScaleByMapSize1D((Random() & 3) + 7);
-
-	/* Scale the amount of lighthouses with the amount of land at the borders. */
-	if (_settings_game.construction.freeform_edges && lighthouses_to_build != 0) {
-		uint num_water_tiles = 0;
-		for (uint x = 0; x < MapMaxX(); x++) {
-			if (IsTileType(TileXY(x, 1), MP_WATER)) num_water_tiles++;
-			if (IsTileType(TileXY(x, MapMaxY() - 1), MP_WATER)) num_water_tiles++;
-		}
-		for (uint y = 1; y < MapMaxY() - 1; y++) {
-			if (IsTileType(TileXY(1, y), MP_WATER)) num_water_tiles++;
-			if (IsTileType(TileXY(MapMaxX() - 1, y), MP_WATER)) num_water_tiles++;
-		}
-		/* The -6 is because the top borders are MP_VOID (-2) and all corners
-		 * are counted twice (-4). */
-		lighthouses_to_build = lighthouses_to_build * num_water_tiles / (2 * MapMaxY() + 2 * MapMaxX() - 6);
-	}
-
-	SetGeneratingWorldProgress(GWP_UNMOVABLE, radiotower_to_build + lighthouses_to_build);
-
-	for (uint i = ScaleByMapSize(1000); i != 0; i--) {
-		TileIndex tile = RandomTile();
-
-		uint h;
-		if (IsTileType(tile, MP_CLEAR) && GetTileSlope(tile, &h) == SLOPE_FLAT && h >= TILE_HEIGHT * 4 && !IsBridgeAbove(tile)) {
-			if (IsRadioTowerNearby(tile)) continue;
-
-			BuildUnmovable(UNMOVABLE_TRANSMITTER, tile);
-			IncreaseGeneratingWorldProgress(GWP_UNMOVABLE);
-			if (--radiotower_to_build == 0) break;
-		}
-	}
-
-	/* add lighthouses */
-	uint maxx = MapMaxX();
-	uint maxy = MapMaxY();
-	for (int loop_count = 0; loop_count < 1000 && lighthouses_to_build != 0; loop_count++) {
-		uint r = Random();
-
-		/* Scatter the lighthouses more evenly around the perimeter */
-		int perimeter = (GB(r, 16, 16) % (2 * (maxx + maxy))) - maxy;
-		DiagDirection dir;
-		for (dir = DIAGDIR_NE; perimeter > 0; dir++) {
-			perimeter -= (DiagDirToAxis(dir) == AXIS_X) ? maxx : maxy;
-		}
-
-		TileIndex tile;
-		switch (dir) {
-			default:
-			case DIAGDIR_NE: tile = TileXY(maxx - 1, r % maxy); break;
-			case DIAGDIR_SE: tile = TileXY(r % maxx, 1); break;
-			case DIAGDIR_SW: tile = TileXY(1,        r % maxy); break;
-			case DIAGDIR_NW: tile = TileXY(r % maxx, maxy - 1); break;
-		}
-
-		/* Only build lighthouses at tiles where the border is sea. */
-		if (!IsTileType(tile, MP_WATER)) continue;
-
-		for (int j = 0; j < 19; j++) {
-			uint h;
-			if (IsTileType(tile, MP_CLEAR) && GetTileSlope(tile, &h) == SLOPE_FLAT && h <= TILE_HEIGHT * 2 && !IsBridgeAbove(tile)) {
-				BuildUnmovable(UNMOVABLE_LIGHTHOUSE, tile);
-				IncreaseGeneratingWorldProgress(GWP_UNMOVABLE);
-				lighthouses_to_build--;
-				assert(tile < MapSize());
-				break;
-			}
-			tile = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir(dir));
-			if (tile == INVALID_TILE) break;
-		}
-	}
-}
-
-static void ChangeTileOwner_Unmovable(TileIndex tile, Owner old_owner, Owner new_owner)
-{
-	if (!IsTileOwner(tile, old_owner)) return;
-
-	if (IsOwnedLand(tile) && new_owner != INVALID_OWNER) {
-		SetTileOwner(tile, new_owner);
-	} else if (IsStatueTile(tile)) {
-		TownID town = GetStatueTownID(tile);
-		Town *t = Town::Get(town);
-		ClrBit(t->statues, old_owner);
-		if (new_owner != INVALID_OWNER && !HasBit(t->statues, new_owner)) {
-			/* Transfer ownership to the new company */
-			SetBit(t->statues, new_owner);
-			SetTileOwner(tile, new_owner);
-		} else {
-			DoClearSquare(tile);
-		}
-
-		SetWindowDirty(WC_TOWN_AUTHORITY, town);
-	} else {
-		DoClearSquare(tile);
-	}
-}
-
-static CommandCost TerraformTile_Unmovable(TileIndex tile, DoCommandFlag flags, uint z_new, Slope tileh_new)
-{
-	UnmovableType type = GetUnmovableType(tile);
-	const UnmovableSpec *spec = UnmovableSpec::Get(type);
-
-	if (spec->flags & OBJECT_FLAG_REQUIRE_FLAT) {
-		/* If a flat tile is required by the object, then terraforming is never good. */
-		return DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
-	}
-
-	if (IsOwnedLand(tile)) {
-		/* Owned land remains unsold */
-		CommandCost ret = CheckTileOwnership(tile);
-		if (ret.Succeeded()) return CommandCost();
-	} else if (AutoslopeEnabled()) {
-		if (!IsSteepSlope(tileh_new) && (z_new + GetSlopeMaxZ(tileh_new) == GetTileMaxZ(tile))) return CommandCost(EXPENSES_CONSTRUCTION, _price[PR_BUILD_FOUNDATION]);
-	}
-
-	return DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
-}
-
-extern const TileTypeProcs _tile_type_unmovable_procs = {
-	DrawTile_Unmovable,             // draw_tile_proc
-	GetSlopeZ_Unmovable,            // get_slope_z_proc
-	ClearTile_Unmovable,            // clear_tile_proc
-	AddAcceptedCargo_Unmovable,     // add_accepted_cargo_proc
-	GetTileDesc_Unmovable,          // get_tile_desc_proc
-	GetTileTrackStatus_Unmovable,   // get_tile_track_status_proc
-	ClickTile_Unmovable,            // click_tile_proc
-	NULL,                           // animate_tile_proc
-	TileLoop_Unmovable,             // tile_loop_clear
-	ChangeTileOwner_Unmovable,      // change_tile_owner_clear
-	NULL,                           // add_produced_cargo_proc
-	NULL,                           // vehicle_enter_tile_proc
-	GetFoundation_Unmovable,        // get_foundation_proc
-	TerraformTile_Unmovable,        // terraform_tile_proc
-};
deleted file mode 100644
--- a/src/unmovable_map.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/** @file unmovable_map.h Map accessors for unmovable tiles. */
-
-#ifndef UNMOVABLE_MAP_H
-#define UNMOVABLE_MAP_H
-
-#include "tile_map.h"
-#include "unmovable_type.h"
-
-/**
- * Gets the UnmovableType of the given unmovable tile
- * @param t the tile to get the type from.
- * @pre IsTileType(t, MP_UNMOVABLE)
- * @return the type.
- */
-static inline UnmovableType GetUnmovableType(TileIndex t)
-{
-	assert(IsTileType(t, MP_UNMOVABLE));
-	return (UnmovableType)_m[t].m5;
-}
-
-/**
- * Does the given tile have a transmitter?
- * @param t the tile to inspect.
- * @return true if and only if the tile has a transmitter.
- */
-static inline bool IsTransmitterTile(TileIndex t)
-{
-	return IsTileType(t, MP_UNMOVABLE) && GetUnmovableType(t) == UNMOVABLE_TRANSMITTER;
-}
-
-/**
- * Is this unmovable tile an 'owned land' tile?
- * @param t the tile to inspect.
- * @pre IsTileType(t, MP_UNMOVABLE)
- * @return true if and only if the tile is an 'owned land' tile.
- */
-static inline bool IsOwnedLand(TileIndex t)
-{
-	assert(IsTileType(t, MP_UNMOVABLE));
-	return GetUnmovableType(t) == UNMOVABLE_OWNED_LAND;
-}
-
-/**
- * Is the given tile (pre-)owned by someone (the little flags)?
- * @param t the tile to inspect.
- * @return true if and only if the tile is an 'owned land' tile.
- */
-static inline bool IsOwnedLandTile(TileIndex t)
-{
-	return IsTileType(t, MP_UNMOVABLE) && IsOwnedLand(t);
-}
-
-/**
- * Is this unmovable tile a HQ tile?
- * @param t the tile to inspect.
- * @pre IsTileType(t, MP_UNMOVABLE)
- * @return true if and only if the tile is a HQ tile.
- */
-static inline bool IsCompanyHQ(TileIndex t)
-{
-	assert(IsTileType(t, MP_UNMOVABLE));
-	return _m[t].m5 == UNMOVABLE_HQ;
-}
-
-/**
- * Is this unmovable tile a statue?
- * @param t the tile to inspect.
- * @pre IsTileType(t, MP_UNMOVABLE)
- * @return true if and only if the tile is a statue.
- */
-static inline bool IsStatue(TileIndex t)
-{
-	assert(IsTileType(t, MP_UNMOVABLE));
-	return GetUnmovableType(t) == UNMOVABLE_STATUE;
-}
-
-/**
- * Is the given tile a statue?
- * @param t the tile to inspect.
- * @return true if and only if the tile is a statue.
- */
-static inline bool IsStatueTile(TileIndex t)
-{
-	return IsTileType(t, MP_UNMOVABLE) && IsStatue(t);
-}
-
-/**
- * Get the town of the given statue tile.
- * @param t the tile of the statue.
- * @pre IsStatueTile(t)
- * @return the town the given statue is in.
- */
-static inline TownID GetStatueTownID(TileIndex t)
-{
-	assert(IsStatueTile(t));
-	return _m[t].m2;
-}
-
-/**
- * Get animation stage/counter of this tile.
- * @param t The tile to query.
- * @pre IsTileType(t, MP_UNMOVABLE)
- * @return The animation 'stage' of the tile.
- */
-static inline byte GetUnmovableAnimationStage(TileIndex t)
-{
-	assert(IsTileType(t, MP_UNMOVABLE));
-	return GB(_m[t].m6, 2, 4);
-}
-
-/**
- * Set animation stage/counter of this tile.
- * @param t     The tile to query.
- * @param stage The stage of this tile.
- * @pre IsTileType(t, MP_UNMOVABLE)
- */
-static inline void SetUnmovableAnimationStage(TileIndex t, uint8 stage)
-{
-	assert(IsTileType(t, MP_UNMOVABLE));
-	SB(_m[t].m6, 2, 4, stage);
-}
-
-/**
- * Get offset to the northern most tile.
- * @param t The tile to get the offset from.
- * @return The offset to the northern most tile of this structure.
- * @pre IsTileType(t, MP_UNMOVABLE)
- */
-static inline byte GetUnmovableOffset(TileIndex t)
-{
-	assert(IsTileType(t, MP_UNMOVABLE));
-	return _m[t].m3;
-}
-
-/**
- * Set offset to the northern most tile.
- * @param t      The tile to set the offset of.
- * @param offset The offset to the northern most tile of this structure.
- * @pre IsTileType(t, MP_UNMOVABLE)
- */
-static inline void SetUnmovableOffset(TileIndex t, uint8 offset)
-{
-	assert(IsTileType(t, MP_UNMOVABLE));
-	_m[t].m3 = offset;
-}
-
-
-/**
- * Make an Unmovable tile.
- * @note do not use this function directly. Use one of the other Make* functions.
- * @param t      The tile to make unmovable.
- * @param u      The unmovable type of the tile.
- * @param o      The new owner of the tile.
- * @param offset The offset to the northern tile of this object.
- * @param index  Generic index associated with the object type.
- */
-static inline void MakeUnmovable(TileIndex t, UnmovableType u, Owner o, uint8 offset, uint index)
-{
-	SetTileType(t, MP_UNMOVABLE);
-	SetTileOwner(t, o);
-	_m[t].m2 = index;
-	_m[t].m3 = offset;
-	_m[t].m4 = 0;
-	_m[t].m5 = u;
-	SB(_m[t].m6, 2, 4, 0);
-	_me[t].m7 = 0;
-}
-
-#endif /* UNMOVABLE_MAP_H */
deleted file mode 100644
--- a/src/unmovable_type.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/** @file unmovable_map.h Types related to unmovable tiles. */
-
-#ifndef UNMOVABLE_TYPE_H
-#define UNMOVABLE_TYPE_H
-
-/** Types of unmovable structure */
-enum UnmovableType {
-	UNMOVABLE_TRANSMITTER = 0,    ///< The large antenna
-	UNMOVABLE_LIGHTHOUSE  = 1,    ///< The nice lighthouse
-	UNMOVABLE_STATUE      = 2,    ///< Statue in towns
-	UNMOVABLE_OWNED_LAND  = 3,    ///< Owned land 'flag'
-	UNMOVABLE_HQ          = 4,    ///< HeadQuarter of a player
-	UNMOVABLE_MAX,
-};
-
-struct UnmovableSpec;
-
-#endif /* UNMOVABLE_MAP_H */