(svn r12673) [NoAI] -Sync: with trunk r12596:12672. Note that due to the order rewrite AIOrder.ChangeOrder does currently not work as expected. noai
authorrubidium
Sat, 12 Apr 2008 21:38:49 +0000
branchnoai
changeset 10142 56ee7da4ad56
parent 10096 780921b39016
child 10146 ddbb8d2ae3ea
(svn r12673) [NoAI] -Sync: with trunk r12596:12672. Note that due to the order rewrite AIOrder.ChangeOrder does currently not work as expected.
projects/openttd_vs80.vcproj
projects/openttd_vs90.vcproj
source.list
src/ai/api/ai_order.cpp
src/aircraft.h
src/aircraft_cmd.cpp
src/airport.h
src/airport_gui.cpp
src/cargopacket.cpp
src/command.cpp
src/command_type.h
src/depot.cpp
src/economy.cpp
src/engine.cpp
src/gfx.cpp
src/group_cmd.cpp
src/industry_cmd.cpp
src/lang/afrikaans.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/hungarian.txt
src/lang/icelandic.txt
src/lang/italian.txt
src/lang/japanese.txt
src/lang/korean.txt
src/lang/lithuanian.txt
src/lang/norwegian_bokmal.txt
src/lang/norwegian_nynorsk.txt
src/lang/piglatin.txt
src/lang/polish.txt
src/lang/portuguese.txt
src/lang/romanian.txt
src/lang/russian.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/frisian.txt
src/lang/unfinished/greek.txt
src/lang/unfinished/latvian.txt
src/main_gui.cpp
src/network/core/config.h
src/network/core/udp.cpp
src/newgrf.cpp
src/oldloader.cpp
src/oldpool.h
src/oldpool_func.h
src/openttd.cpp
src/order_base.h
src/order_cmd.cpp
src/order_gui.cpp
src/order_type.h
src/player_gui.cpp
src/rail.h
src/road_cmd.cpp
src/roadveh.h
src/roadveh_cmd.cpp
src/saveload.cpp
src/settings.cpp
src/settings_gui.cpp
src/settings_type.h
src/ship.h
src/ship_cmd.cpp
src/signs.cpp
src/sound.cpp
src/station_cmd.cpp
src/station_gui.cpp
src/strings.cpp
src/subsidy_gui.cpp
src/table/railtypes.h
src/timetable_cmd.cpp
src/timetable_gui.cpp
src/town_cmd.cpp
src/train.h
src/train_cmd.cpp
src/train_gui.cpp
src/tunnelbridge_cmd.cpp
src/vehicle.cpp
src/vehicle_base.h
src/vehicle_func.h
src/vehicle_gui.cpp
src/vehicle_type.h
src/viewport_type.h
src/waypoint.cpp
src/widget.cpp
src/widgets/dropdown.cpp
src/widgets/dropdown_func.h
src/widgets/dropdown_type.h
src/window.cpp
src/window_func.h
src/window_gui.h
--- a/projects/openttd_vs80.vcproj	Tue Apr 08 11:54:53 2008 +0000
+++ b/projects/openttd_vs80.vcproj	Sat Apr 12 21:38:49 2008 +0000
@@ -1196,6 +1196,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\oldpool_func.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\openttd.h"
 				>
 			</File>
--- a/projects/openttd_vs90.vcproj	Tue Apr 08 11:54:53 2008 +0000
+++ b/projects/openttd_vs90.vcproj	Sat Apr 12 21:38:49 2008 +0000
@@ -1193,6 +1193,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\..\src\oldpool_func.h"
+				>
+			</File>
+			<File
 				RelativePath=".\..\src\openttd.h"
 				>
 			</File>
--- a/source.list	Tue Apr 08 11:54:53 2008 +0000
+++ b/source.list	Sat Apr 12 21:38:49 2008 +0000
@@ -220,6 +220,7 @@
 sound/null_s.h
 video/null_v.h
 oldpool.h
+oldpool_func.h
 openttd.h
 order_base.h
 order_func.h
--- a/src/ai/api/ai_order.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/ai/api/ai_order.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -84,16 +84,16 @@
 	for (uint i = 0; i < order_id; i++) order = order->next;
 
 	AIOrderFlags order_flags= AIOF_NONE;
-	if (order->GetNonStopType() != OFB_NO_NON_STOP) order_flags |= AIOF_NON_STOP;
+	if (order->GetNonStopType() != ONSF_STOP_EVERYWHERE) order_flags |= AIOF_NON_STOP;
 	switch (order->GetType()) {
 		case OT_GOTO_DEPOT:
-			if (order->GetDepotOrderType() & OFB_SERVICE_IF_NEEDED) order_flags |= AIOF_SERVICE_IF_NEEDED;
+			if (order->GetDepotOrderType() & ODTFB_SERVICE) order_flags |= AIOF_SERVICE_IF_NEEDED;
 			break;
 
 		case OT_GOTO_STATION:
-			if (order->GetLoadType()   & OFB_FULL_LOAD) order_flags |= AIOF_FULL_LOAD;
-			if (order->GetUnloadType() & OFB_UNLOAD)    order_flags |= AIOF_UNLOAD;
-			if (order->GetUnloadType() & OFB_TRANSFER)  order_flags |= AIOF_TRANSFER;
+			if (order->GetLoadType()   & OLFB_FULL_LOAD) order_flags |= AIOF_FULL_LOAD;
+			if (order->GetUnloadType() & OUFB_UNLOAD)    order_flags |= AIOF_UNLOAD;
+			if (order->GetUnloadType() & OUFB_TRANSFER)  order_flags |= AIOF_TRANSFER;
 			break;
 
 		default: break;
@@ -118,14 +118,14 @@
 	Order order;
 	switch (::GetOrderTypeByTile(destination)) {
 		case OT_GOTO_DEPOT:
-			order.MakeGoToDepot(::GetDepotByTile(destination)->index, true);
-			if (order_flags & AIOF_SERVICE_IF_NEEDED) order.SetDepotOrderType(OFB_SERVICE_IF_NEEDED);
+			order.MakeGoToDepot(::GetDepotByTile(destination)->index, ODTFB_PART_OF_ORDERS);
+			if (order_flags & AIOF_SERVICE_IF_NEEDED) order.SetDepotOrderType(ODTFB_SERVICE);
 			break;
 
 		case OT_GOTO_STATION:
 			order.MakeGoToStation(::GetStationIndex(destination));
-			if (order_flags & AIOF_FULL_LOAD) order.SetLoadType(OFB_FULL_LOAD);
-			order.SetUnloadType(((order_flags & AIOF_TRANSFER) ? OFB_TRANSFER : 0) | ((order_flags & AIOF_UNLOAD) ? OFB_UNLOAD : 0));
+			if (order_flags & AIOF_FULL_LOAD) order.SetLoadType(OLFB_FULL_LOAD);
+			order.SetUnloadType((OrderUnloadFlags)(((order_flags & AIOF_TRANSFER) ? OUFB_TRANSFER : 0) | ((order_flags & AIOF_UNLOAD) ? OUFB_UNLOAD : 0)));
 			break;
 
 		case OT_GOTO_WAYPOINT:
@@ -136,7 +136,7 @@
 			return false;
 	}
 
-	if (order_flags & AIOF_NON_STOP) order.SetNonStopType(OFB_NON_STOP);
+	if (order_flags & AIOF_NON_STOP) order.SetNonStopType(ONSF_NO_STOP_AT_DESTINATION_STATION);
 
 	return AIObject::DoCommand(0, vehicle_id | (order_id << 16), order.Pack(), CMD_INSERT_ORDER);
 }
--- a/src/aircraft.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/aircraft.h	Sat Apr 12 21:38:49 2008 +0000
@@ -127,6 +127,7 @@
 	void Tick();
 	void OnNewDay();
 	TileIndex GetOrderStationLocation(StationID station);
+	bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse);
 };
 
 #endif /* AIRCRAFT_H */
--- a/src/aircraft_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/aircraft_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -81,7 +81,7 @@
 static bool AirportFindFreeHelipad(Vehicle *v, const AirportFTAClass *apc);
 static void CrashAirplane(Vehicle *v);
 
-static void AircraftNextAirportPos_and_Order(Vehicle *v);
+void AircraftNextAirportPos_and_Order(Vehicle *v);
 static byte GetAircraftFlyingAltitude(const Vehicle *v);
 
 static const SpriteID _aircraft_sprite[] = {
@@ -547,6 +547,25 @@
 	return CommandCost();
 }
 
+bool Aircraft::FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse)
+{
+	const Station *st = GetStation(this->u.air.targetairport);
+	/* If the station is not a valid airport or if it has no hangars */
+	if (!st->IsValid() || st->airport_tile == 0 || st->Airport()->nof_depots == 0) {
+		/* the aircraft has to search for a hangar on its own */
+		StationID station = FindNearestHangar(this);
+
+		if (station == INVALID_STATION) return false;
+
+		st = GetStation(station);
+	}
+
+	if (location    != NULL) *location    = st->xy;
+	if (destination != NULL) *destination = st->index;
+
+	return true;
+}
+
 /** Send an aircraft to the hangar.
  * @param tile unused
  * @param flags for command type
@@ -568,59 +587,9 @@
 
 	Vehicle *v = GetVehicle(p1);
 
-	if (v->type != VEH_AIRCRAFT || !CheckOwnership(v->owner) || v->IsInDepot()) return CMD_ERROR;
-
-	if (v->current_order.IsType(OT_GOTO_DEPOT) && !(p2 & DEPOT_LOCATE_HANGAR)) {
-		bool halt_in_depot = HasBit(v->current_order.GetDepotActionType(), OF_HALT_IN_DEPOT);
-		if (!!(p2 & DEPOT_SERVICE) == halt_in_depot) {
-			/* We called with a different DEPOT_SERVICE setting.
-			 * Now we change the setting to apply the new one and let the vehicle head for the same hangar.
-			 * Note: the if is (true for requesting service == true for ordered to stop in hangar) */
-			if (flags & DC_EXEC) {
-				v->current_order.SetDepotOrderType(OFB_MANUAL_ORDER);
-				v->current_order.SetDepotActionType(halt_in_depot ? OFB_NORMAL_ACTION : OFB_HALT_IN_DEPOT);
-				InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-			}
-			return CommandCost();
-		}
-
-		if (p2 & DEPOT_DONT_CANCEL) return CMD_ERROR; // Requested no cancelation of hangar orders
-		if (flags & DC_EXEC) {
-			/* If the orders to 'goto depot' are in the orders list (forced servicing),
-			 * then skip to the next order; effectively cancelling this forced service */
-			if (v->current_order.GetDepotOrderType() & OFB_PART_OF_ORDERS) v->cur_order_index++;
+	if (v->type != VEH_AIRCRAFT) return CMD_ERROR;
 
-			v->current_order.MakeDummy();
-			InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-		}
-	} else {
-		bool next_airport_has_hangar = true;
-		StationID next_airport_index = v->u.air.targetairport;
-		const Station *st = GetStation(next_airport_index);
-		/* If the station is not a valid airport or if it has no hangars */
-		if (!st->IsValid() || st->airport_tile == 0 || st->Airport()->nof_depots == 0) {
-			/* the aircraft has to search for a hangar on its own */
-			StationID station = FindNearestHangar(v);
-
-			next_airport_has_hangar = false;
-			if (station == INVALID_STATION) return CMD_ERROR;
-			next_airport_index = station;
-		}
-
-		if (flags & DC_EXEC) {
-			if (v->current_order.IsType(OT_LOADING)) v->LeaveStation();
-
-			v->current_order.MakeGoToDepot(next_airport_index, false);
-			if (!(p2 & DEPOT_SERVICE)) v->current_order.SetDepotActionType(OFB_HALT_IN_DEPOT);
-			InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-			if (v->u.air.state == FLYING && !next_airport_has_hangar) {
-				/* The aircraft is now heading for a different hangar than the next in the orders */
-				AircraftNextAirportPos_and_Order(v);
-			}
-		}
-	}
-
-	return CommandCost();
+	return v->SendToDepot(flags, (DepotCommand)(p2 & DEPOT_COMMAND_MASK));
 }
 
 
@@ -704,7 +673,7 @@
 
 static void CheckIfAircraftNeedsService(Vehicle *v)
 {
-	if (_patches.servint_aircraft == 0 || !VehicleNeedsService(v)) return;
+	if (_patches.servint_aircraft == 0 || !v->NeedsAutomaticServicing()) return;
 	if (v->IsInDepot()) {
 		VehicleServiceInDepot(v);
 		return;
@@ -715,7 +684,7 @@
 	if (st->IsValid() && st->airport_tile != 0 && st->Airport()->terminals != NULL) {
 //		printf("targetairport = %d, st->index = %d\n", v->u.air.targetairport, st->index);
 //		v->u.air.targetairport = st->index;
-		v->current_order.MakeGoToDepot(0, false);
+		v->current_order.MakeGoToDepot(st->index, ODTFB_SERVICE);
 		InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
 	} else if (v->current_order.IsType(OT_GOTO_DEPOT)) {
 		v->current_order.MakeDummy();
@@ -1504,7 +1473,7 @@
 
 
 /** set the right pos when heading to other airports after takeoff */
-static void AircraftNextAirportPos_and_Order(Vehicle *v)
+void AircraftNextAirportPos_and_Order(Vehicle *v)
 {
 	if (v->current_order.IsType(OT_GOTO_STATION) ||
 			v->current_order.IsType(OT_GOTO_DEPOT))
--- a/src/airport.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/airport.h	Sat Apr 12 21:38:49 2008 +0000
@@ -13,7 +13,7 @@
 enum {MAX_ELEMENTS  = 255};
 enum {MAX_HEADINGS  =  22};
 
-// Airport types
+/* Airport types */
 enum {
 	AT_SMALL         =   0,
 	AT_LARGE         =   1,
@@ -69,7 +69,7 @@
 };
 
 /* Movement Blocks on Airports */
-// blocks (eg_airport_flags)
+/* blocks (eg_airport_flags) */
 static const uint64
 	TERM1_block              = 1ULL <<  0,
 	TERM2_block              = 1ULL <<  1,
@@ -96,7 +96,7 @@
 	TERM_GROUP2_EXIT2_block  = 1ULL << 20,
 	PRE_HELIPAD_block        = 1ULL << 21,
 
-// blocks for new airports
+/* blocks for new airports */
 	TERM7_block              = 1ULL << 22,
 	TERM8_block              = 1ULL << 23,
 	TERM9_block              = 1ULL << 24,
@@ -107,10 +107,10 @@
 	OUT_WAY2_block           = 1ULL << 27,
 	IN_WAY2_block            = 1ULL << 28,
 	RUNWAY_IN2_block         = 1ULL << 29,
-	RUNWAY_OUT2_block        = 1ULL << 10,   // note re-uses TAXIWAY_BUSY
-	HELIPAD_GROUP_block      = 1ULL << 13,   // note re-uses AIRPORT_ENTRANCE
+	RUNWAY_OUT2_block        = 1ULL << 10,   ///< note re-uses TAXIWAY_BUSY
+	HELIPAD_GROUP_block      = 1ULL << 13,   ///< note re-uses AIRPORT_ENTRANCE
 	OUT_WAY_block2           = 1ULL << 31,
-// end of new blocks
+/* end of new blocks */
 
 	NOTHING_block            = 1ULL << 30;
 
@@ -123,7 +123,7 @@
 
 struct AirportFTAbuildup;
 
-// Finite sTate mAchine --> FTA
+/** Finite sTate mAchine --> FTA */
 struct AirportFTAClass {
 	public:
 		enum Flags {
@@ -157,30 +157,30 @@
 		}
 
 	const AirportMovingData *moving_data;
-	struct AirportFTA *layout;            // state machine for airport
+	struct AirportFTA *layout;            ///< state machine for airport
 	const byte *terminals;
 	const byte *helipads;
-	const TileIndexDiffC *airport_depots; // gives the position of the depots on the airports
+	const TileIndexDiffC *airport_depots; ///< gives the position of the depots on the airports
 	Flags flags;
-	byte nof_depots;                      // number of depots this airport has
-	byte nofelements;                     // number of positions the airport consists of
+	byte nof_depots;                      ///< number of depots this airport has
+	byte nofelements;                     ///< number of positions the airport consists of
 	const byte *entry_points;             ///< when an airplane arrives at this airport, enter it at position entry_point, index depends on direction
 	byte size_x;
 	byte size_y;
-	byte delta_z;                         // Z adjustment for helicopter pads
+	byte delta_z;                         ///< Z adjustment for helicopter pads
 	byte catchment;
 };
 
 DECLARE_ENUM_AS_BIT_SET(AirportFTAClass::Flags)
 
 
-// internal structure used in openttd - Finite sTate mAchine --> FTA
+/** internal structure used in openttd - Finite sTate mAchine --> FTA */
 struct AirportFTA {
-	AirportFTA *next;        // possible extra movement choices from this position
-	uint64 block;            // 64 bit blocks (st->airport_flags), should be enough for the most complex airports
-	byte position;           // the position that an airplane is at
-	byte next_position;      // next position from this position
-	byte heading;            // heading (current orders), guiding an airplane to its target on an airport
+	AirportFTA *next;        ///< possible extra movement choices from this position
+	uint64 block;            ///< 64 bit blocks (st->airport_flags), should be enough for the most complex airports
+	byte position;           ///< the position that an airplane is at
+	byte next_position;      ///< next position from this position
+	byte heading;            ///< heading (current orders), guiding an airplane to its target on an airport
 };
 
 void InitializeAirports();
--- a/src/airport_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/airport_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -72,48 +72,48 @@
 static void BuildAirToolbWndProc(Window *w, WindowEvent *e)
 {
 	switch (e->event) {
-	case WE_PAINT:
-		DrawWindowWidgets(w);
-		break;
-
-	case WE_CLICK:
-		if (e->we.click.widget - 3 >= 0)
-			_build_air_button_proc[e->we.click.widget - 3](w);
-		break;
-
-	case WE_KEYPRESS: {
-		switch (e->we.keypress.keycode) {
-			case '1': BuildAirClick_Airport(w); break;
-			case '2': BuildAirClick_Demolish(w); break;
-			default: return;
-		}
-	} break;
-
-	case WE_PLACE_OBJ:
-		_place_proc(e->we.place.tile);
-		break;
+		case WE_PAINT:
+			DrawWindowWidgets(w);
+			break;
 
-	case WE_PLACE_DRAG:
-		VpSelectTilesWithMethod(e->we.place.pt.x, e->we.place.pt.y, e->we.place.select_method);
-		break;
-
-	case WE_PLACE_MOUSEUP:
-		if (e->we.place.pt.x != -1 && e->we.place.select_proc == DDSP_DEMOLISH_AREA) {
-			DoCommandP(e->we.place.tile, e->we.place.starttile, 0, CcPlaySound10, CMD_CLEAR_AREA | CMD_MSG(STR_00B5_CAN_T_CLEAR_THIS_AREA));
-		}
-		break;
+		case WE_CLICK:
+			if (e->we.click.widget - 3 >= 0)
+				_build_air_button_proc[e->we.click.widget - 3](w);
+			break;
 
-	case WE_ABORT_PLACE_OBJ:
-		w->RaiseButtons();
+		case WE_KEYPRESS: {
+			switch (e->we.keypress.keycode) {
+				case '1': BuildAirClick_Airport(w); break;
+				case '2': BuildAirClick_Demolish(w); break;
+				default: return;
+			}
+		} break;
 
-		w = FindWindowById(WC_BUILD_STATION, 0);
-		if (w != 0)
-			WP(w, def_d).close = true;
-		break;
+		case WE_PLACE_OBJ:
+			_place_proc(e->we.place.tile);
+			break;
 
-	case WE_DESTROY:
-		if (_patches.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0);
-		break;
+		case WE_PLACE_DRAG:
+			VpSelectTilesWithMethod(e->we.place.pt.x, e->we.place.pt.y, e->we.place.select_method);
+			break;
+
+		case WE_PLACE_MOUSEUP:
+			if (e->we.place.pt.x != -1 && e->we.place.select_proc == DDSP_DEMOLISH_AREA) {
+				DoCommandP(e->we.place.tile, e->we.place.starttile, 0, CcPlaySound10, CMD_CLEAR_AREA | CMD_MSG(STR_00B5_CAN_T_CLEAR_THIS_AREA));
+			}
+			break;
+
+		case WE_ABORT_PLACE_OBJ:
+			w->RaiseButtons();
+
+			w = FindWindowById(WC_BUILD_STATION, 0);
+			if (w != 0)
+				WP(w, def_d).close = true;
+			break;
+
+		case WE_DESTROY:
+			if (_patches.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0);
+			break;
 	}
 }
 
@@ -147,86 +147,86 @@
 static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
 {
 	switch (e->event) {
-	case WE_CREATE:
-		w->SetWidgetLoweredState(16, !_station_show_coverage);
-		w->SetWidgetLoweredState(17, _station_show_coverage);
-		w->LowerWidget(_selected_airport_type + 7);
-		break;
-
-	case WE_PAINT: {
-		int i; // airport enabling loop
-		uint32 avail_airports;
-		const AirportFTAClass *airport;
-
-		if (WP(w, def_d).close) return;
-
-		avail_airports = GetValidAirports();
-
-		w->RaiseWidget(_selected_airport_type + 7);
-		if (!HasBit(avail_airports, 0) && _selected_airport_type == AT_SMALL) _selected_airport_type = AT_LARGE;
-		if (!HasBit(avail_airports, 1) && _selected_airport_type == AT_LARGE) _selected_airport_type = AT_SMALL;
-		w->LowerWidget(_selected_airport_type + 7);
-
-		/* 'Country Airport' starts at widget 7, and if its bit is set, it is
-		 * available, so take its opposite value to set the disabled state.
-		 * There are 9 buildable airports
-		 * XXX TODO : all airports should be held in arrays, with all relevant data.
-		 * This should be part of newgrf-airports, i suppose
-		 */
-		for (i = 0; i < 9; i++) w->SetWidgetDisabledState(i + 7, !HasBit(avail_airports, i));
-
-		// select default the coverage area to 'Off' (16)
-		airport = GetAirport(_selected_airport_type);
-		SetTileSelectSize(airport->size_x, airport->size_y);
-
-		int rad = _patches.modified_catchment ? airport->catchment : (uint)CA_UNMODIFIED;
-
-		if (_station_show_coverage) SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad);
-
-		DrawWindowWidgets(w);
-		// strings such as 'Size' and 'Coverage Area'
-		// 'Coverage Area'
-		int text_end = DrawStationCoverageAreaText(2, 206, SCT_ALL, rad, false);
-		text_end = DrawStationCoverageAreaText(2, text_end + 4, SCT_ALL, rad, true) + 4;
-		if (text_end != w->widget[6].bottom) {
-			SetWindowDirty(w);
-			ResizeWindowForWidget(w, 6, 0, text_end - w->widget[6].bottom);
-			SetWindowDirty(w);
-		}
-		break;
-	}
-
-	case WE_CLICK: {
-		switch (e->we.click.widget) {
-		case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15:
-			w->RaiseWidget(_selected_airport_type + 7);
-			_selected_airport_type = e->we.click.widget - 7;
-			w->LowerWidget(_selected_airport_type + 7);
-			SndPlayFx(SND_15_BEEP);
-			SetWindowDirty(w);
-			break;
-		case 16: case 17:
-			_station_show_coverage = (e->we.click.widget != 16);
+		case WE_CREATE:
 			w->SetWidgetLoweredState(16, !_station_show_coverage);
 			w->SetWidgetLoweredState(17, _station_show_coverage);
-			SndPlayFx(SND_15_BEEP);
-			SetWindowDirty(w);
+			w->LowerWidget(_selected_airport_type + 7);
+			break;
+
+		case WE_PAINT: {
+			int i; // airport enabling loop
+			uint32 avail_airports;
+			const AirportFTAClass *airport;
+
+			if (WP(w, def_d).close) return;
+
+			avail_airports = GetValidAirports();
+
+			w->RaiseWidget(_selected_airport_type + 7);
+			if (!HasBit(avail_airports, 0) && _selected_airport_type == AT_SMALL) _selected_airport_type = AT_LARGE;
+			if (!HasBit(avail_airports, 1) && _selected_airport_type == AT_LARGE) _selected_airport_type = AT_SMALL;
+			w->LowerWidget(_selected_airport_type + 7);
+
+			/* 'Country Airport' starts at widget 7, and if its bit is set, it is
+			 * available, so take its opposite value to set the disabled state.
+			 * There are 9 buildable airports
+			 * XXX TODO : all airports should be held in arrays, with all relevant data.
+			 * This should be part of newgrf-airports, i suppose
+			 */
+			for (i = 0; i < 9; i++) w->SetWidgetDisabledState(i + 7, !HasBit(avail_airports, i));
+
+			/* select default the coverage area to 'Off' (16) */
+			airport = GetAirport(_selected_airport_type);
+			SetTileSelectSize(airport->size_x, airport->size_y);
+
+			int rad = _patches.modified_catchment ? airport->catchment : (uint)CA_UNMODIFIED;
+
+			if (_station_show_coverage) SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad);
+
+			DrawWindowWidgets(w);
+			/* strings such as 'Size' and 'Coverage Area' */
+			int text_end = DrawStationCoverageAreaText(2, 206, SCT_ALL, rad, false);
+			text_end = DrawStationCoverageAreaText(2, text_end + 4, SCT_ALL, rad, true) + 4;
+			if (text_end != w->widget[6].bottom) {
+				SetWindowDirty(w);
+				ResizeWindowForWidget(w, 6, 0, text_end - w->widget[6].bottom);
+				SetWindowDirty(w);
+			}
 			break;
 		}
-	} break;
 
-	case WE_MOUSELOOP: {
-		if (WP(w, def_d).close) {
-			DeleteWindow(w);
-			return;
-		}
+		case WE_CLICK: {
+			switch (e->we.click.widget) {
+				case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15:
+					w->RaiseWidget(_selected_airport_type + 7);
+					_selected_airport_type = e->we.click.widget - 7;
+					w->LowerWidget(_selected_airport_type + 7);
+					SndPlayFx(SND_15_BEEP);
+					SetWindowDirty(w);
+					break;
 
-		CheckRedrawStationCoverage(w);
-	} break;
+				case 16: case 17:
+					_station_show_coverage = (e->we.click.widget != 16);
+					w->SetWidgetLoweredState(16, !_station_show_coverage);
+					w->SetWidgetLoweredState(17, _station_show_coverage);
+					SndPlayFx(SND_15_BEEP);
+					SetWindowDirty(w);
+					break;
+			}
+		} break;
 
-	case WE_DESTROY:
-		if (!WP(w, def_d).close) ResetObjectToPlace();
-		break;
+		case WE_MOUSELOOP: {
+			if (WP(w, def_d).close) {
+				DeleteWindow(w);
+				return;
+			}
+
+			CheckRedrawStationCoverage(w);
+		} break;
+
+		case WE_DESTROY:
+			if (!WP(w, def_d).close) ResetObjectToPlace();
+			break;
 	}
 }
 
--- a/src/cargopacket.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/cargopacket.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -7,6 +7,7 @@
 #include "station_base.h"
 #include "cargopacket.h"
 #include "saveload.h"
+#include "oldpool_func.h"
 
 /* Initialize the cargopacket-pool */
 DEFINE_OLD_POOL_GENERIC(CargoPacket, CargoPacket)
--- a/src/command.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/command.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -668,3 +668,14 @@
 	ClearStorageChanges(false);
 	return false;
 }
+
+
+CommandCost CommandCost::AddCost(CommandCost ret)
+{
+	this->AddCost(ret.cost);
+	if (this->success && !ret.success) {
+		this->message = ret.message;
+		this->success = false;
+	}
+	return *this;
+}
--- a/src/command_type.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/command_type.h	Sat Apr 12 21:38:49 2008 +0000
@@ -49,15 +49,7 @@
 	 * @param ret the command to add the cost of.
 	 * @return this class.
 	 */
-	CommandCost AddCost(CommandCost ret)
-	{
-		this->AddCost(ret.cost);
-		if (this->success && !ret.success) {
-			this->message = ret.message;
-			this->success = false;
-		}
-		return *this;
-	}
+	CommandCost AddCost(CommandCost ret);
 
 	/**
 	 * Adds the given cost to the cost of the command.
--- a/src/depot.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/depot.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -9,6 +9,7 @@
 #include "saveload.h"
 #include "order_func.h"
 #include "window_func.h"
+#include "oldpool_func.h"
 
 #include "table/strings.h"
 
--- a/src/economy.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/economy.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -1476,7 +1476,7 @@
 
 	for (Vehicle *v = front_v; v != NULL; v = v->Next()) {
 		/* No cargo to unload */
-		if (v->cargo_cap == 0 || v->cargo.Empty()) continue;
+		if (v->cargo_cap == 0 || v->cargo.Empty() || front_v->current_order.GetUnloadType() & OUFB_NO_UNLOAD) continue;
 
 		/* All cargo has already been paid for, no need to pay again */
 		if (!v->cargo.UnpaidCargo()) {
@@ -1492,7 +1492,7 @@
 			if (!cp->paid_for &&
 					cp->source != last_visited &&
 					HasBit(ge->acceptance_pickup, GoodsEntry::ACCEPTANCE) &&
-					(front_v->current_order.GetUnloadType() & OFB_TRANSFER) == 0) {
+					(front_v->current_order.GetUnloadType() & OUFB_TRANSFER) == 0) {
 				/* Deliver goods to the station */
 				st->time_since_unload = 0;
 
@@ -1505,8 +1505,8 @@
 				result |= 1;
 
 				SetBit(v->vehicle_flags, VF_CARGO_UNLOADING);
-			} else if (front_v->current_order.GetUnloadType() & (OFB_UNLOAD | OFB_TRANSFER)) {
-				if (!cp->paid_for && (front_v->current_order.GetUnloadType() & OFB_TRANSFER) != 0) {
+			} else if (front_v->current_order.GetUnloadType() & (OUFB_UNLOAD | OUFB_TRANSFER)) {
+				if (!cp->paid_for && (front_v->current_order.GetUnloadType() & OUFB_TRANSFER) != 0) {
 					Money profit = GetTransportedGoodsIncome(
 						cp->count,
 						/* pay transfer vehicle for only the part of transfer it has done: ie. cargo_loaded_at_xy to here */
@@ -1559,7 +1559,7 @@
 
 	/* We have not waited enough time till the next round of loading/unloading */
 	if (--v->load_unload_time_rem != 0) {
-		if (_patches.improved_load && HasBit(v->current_order.GetLoadType(), OF_FULL_LOAD)) {
+		if (_patches.improved_load && (v->current_order.GetLoadType() & OLFB_FULL_LOAD)) {
 			/* 'Reserve' this cargo for this vehicle, because we were first. */
 			for (; v != NULL; v = v->Next()) {
 				if (v->cargo_cap != 0) cargo_left[v->cargo_type] -= v->cargo_cap - v->cargo.Count();
@@ -1602,17 +1602,17 @@
 
 		GoodsEntry *ge = &st->goods[v->cargo_type];
 
-		if (HasBit(v->vehicle_flags, VF_CARGO_UNLOADING)) {
+		if (HasBit(v->vehicle_flags, VF_CARGO_UNLOADING) && (u->current_order.GetUnloadType() & OUFB_NO_UNLOAD) == 0) {
 			uint cargo_count = v->cargo.Count();
 			uint amount_unloaded = _patches.gradual_loading ? min(cargo_count, load_amount) : cargo_count;
 			bool remaining; // Are there cargo entities in this vehicle that can still be unloaded here?
 
-			if (HasBit(ge->acceptance_pickup, GoodsEntry::ACCEPTANCE) && !(u->current_order.GetUnloadType() & OFB_TRANSFER)) {
+			if (HasBit(ge->acceptance_pickup, GoodsEntry::ACCEPTANCE) && !(u->current_order.GetUnloadType() & OUFB_TRANSFER)) {
 				/* The cargo has reached it's final destination, the packets may now be destroyed */
 				remaining = v->cargo.MoveTo(NULL, amount_unloaded, CargoList::MTA_FINAL_DELIVERY, last_visited);
 
 				result |= 1;
-			} else if (u->current_order.GetUnloadType() & (OFB_UNLOAD | OFB_TRANSFER)) {
+			} else if (u->current_order.GetUnloadType() & (OUFB_UNLOAD | OUFB_TRANSFER)) {
 				remaining = v->cargo.MoveTo(&ge->cargo, amount_unloaded);
 				SetBit(ge->acceptance_pickup, GoodsEntry::PICKUP);
 
@@ -1640,8 +1640,8 @@
 			continue;
 		}
 
-		/* Do not pick up goods that we unloaded */
-		if (u->current_order.GetUnloadType() & OFB_UNLOAD) continue;
+		/* Do not pick up goods when we have no-load set. */
+		if (u->current_order.GetLoadType() & OLFB_NO_LOAD) continue;
 
 		/* update stats */
 		int t;
@@ -1713,7 +1713,7 @@
 	 * all wagons at the same time instead of using the same 'improved'
 	 * loading algorithm for the wagons (only fill wagon when there is
 	 * enough to fill the previous wagons) */
-	if (_patches.improved_load && HasBit(u->current_order.GetLoadType(), OF_FULL_LOAD)) {
+	if (_patches.improved_load && (u->current_order.GetLoadType() & OLFB_FULL_LOAD)) {
 		/* Update left cargo */
 		for (v = u; v != NULL; v = v->Next()) {
 			if (v->cargo_cap != 0) cargo_left[v->cargo_type] -= v->cargo_cap - v->cargo.Count();
@@ -1732,8 +1732,8 @@
 		}
 	} else {
 		bool finished_loading = true;
-		if (HasBit(v->current_order.GetLoadType(), OF_FULL_LOAD)) {
-			if (_patches.full_load_any) {
+		if (v->current_order.GetLoadType() & OLFB_FULL_LOAD) {
+			if (v->current_order.GetLoadType() == OLF_FULL_LOAD_ANY) {
 				/* if the aircraft carries passengers and is NOT full, then
 				 * continue loading, no matter how much mail is in */
 				if ((v->type == VEH_AIRCRAFT && IsCargoInClass(v->cargo_type, CC_PASSENGERS) && v->cargo_cap != v->cargo.Count()) ||
--- a/src/engine.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/engine.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -25,6 +25,7 @@
 #include "autoreplace_gui.h"
 #include "string_func.h"
 #include "settings_type.h"
+#include "oldpool_func.h"
 
 #include "table/strings.h"
 #include "table/engines.h"
--- a/src/gfx.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/gfx.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -28,10 +28,10 @@
 bool _ctrl_pressed;   ///< Is Ctrl pressed?
 bool _shift_pressed;  ///< Is Shift pressed?
 byte _fast_forward;
-bool _left_button_down;
-bool _left_button_clicked;
-bool _right_button_down;
-bool _right_button_clicked;
+bool _left_button_down;     ///< Is left mouse button pressed?
+bool _left_button_clicked;  ///< Is left mouse button clicked?
+bool _right_button_down;    ///< Is right mouse button pressed?
+bool _right_button_clicked; ///< Is right mouse button clicked?
 DrawPixelInfo _screen;
 bool _screen_disable_anim = false;   ///< Disable palette animation (important for 32bpp-anim blitter during giant screenshot)
 bool _exit_game;
--- a/src/group_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/group_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -22,6 +22,7 @@
 #include "string_func.h"
 #include "player_func.h"
 #include "order_func.h"
+#include "oldpool_func.h"
 
 #include "table/strings.h"
 
--- a/src/industry_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/industry_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -37,6 +37,7 @@
 #include "vehicle_func.h"
 #include "sound_func.h"
 #include "station_base.h"
+#include "oldpool_func.h"
 
 #include "table/strings.h"
 #include "table/sprites.h"
@@ -1967,13 +1968,13 @@
 		 */
 		const Order *o;
 		FOR_VEHICLE_ORDERS(v, o) {
-			if (o->IsType(OT_GOTO_STATION) && !HasBit(o->GetUnloadType(), OF_TRANSFER)) {
+			if (o->IsType(OT_GOTO_STATION) && !(o->GetUnloadType() & OUFB_TRANSFER)) {
 				/* Vehicle visits a station to load or unload */
 				Station *st = GetStation(o->GetDestination());
 				if (!st->IsValid()) continue;
 
 				/* Same cargo produced by industry is dropped here => not serviced by vehicle v */
-				if (HasBit(o->GetUnloadType(), OF_UNLOAD) && !c_accepts) break;
+				if ((o->GetUnloadType() & OUFB_UNLOAD) && !c_accepts) break;
 
 				if (stations.find(st) != stations.end()) {
 					if (v->owner == _local_player) return 2; // Player services industry
--- a/src/lang/afrikaans.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/afrikaans.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1020,7 +1020,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Ontsper realistiese versnelling vir treine: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Verbied triene en skepe om 90 graad draaie te maak: {ORANGE}{STRING} {LTBLUE} (benodig NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}sluit aan trein stasies gebou naby mekaar: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Verlaat stasie as enige vrag vol is, as 'volle gelaai': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Gebruik verebeterde laai algoritme: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Laai voertuie geleidelik: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflasie: {ORANGE}{STRING}
@@ -2608,26 +2607,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Burgers herdenk . . .{}Eerste trein arriveer by {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Aanwyse)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Trein in die weg
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Gaan na {STATION}
-STR_GO_TO_TRANSFER                                              :Gaan na {STATION} (Oordrag en vat vrag)
-STR_8807_GO_TO_UNLOAD                                           :Gaan na {STATION} (Aflaai)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Gaan na {STATION} (Oordrag en verlaat leeg)
-STR_8808_GO_TO_LOAD                                             :Gaan na {STATION} (Laai)
-STR_GO_TO_TRANSFER_LOAD                                         :Gaan na {STATION} (Oordrag en wag vir volle lading)
-STR_880A_GO_NON_STOP_TO                                         :Gaan deurgaande na {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Gaan deurgaande na {STATION} (Oordra en neem vrag)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Gaan deurgaande na {STATION} (Aflaai)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Gaan deurgaande na {STATION} (Oordra en verlaat leë)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Gaan deurgaande na {STATION} (Laai)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Gaan deurgaande na {STATION} (Oordra en wag vir volle lading)
-STR_GO_TO_TRAIN_DEPOT                                           :Gaan na {TOWN} Trein Depot
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Diens by {TOWN} Trein Depot
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Gaan deurgaande na {TOWN} Trein Depot
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Diens deurgaande by {TOWN} Trein Depot
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Reis (Nie gerooster nie)
 STR_TIMETABLE_TRAVEL_FOR                                        :Reis vir {STRING}
 STR_TIMETABLE_STAY_FOR                                          :en bly vir {STRING}
@@ -2668,10 +2648,7 @@
 STR_8820_RENAME                                                 :{BLACK}Hernoem
 STR_8823_SKIP                                                   :{BLACK}Sprong
 STR_8824_DELETE                                                 :{BLACK}Uit vee
-STR_8825_NON_STOP                                               :{BLACK}Deurgaande
 STR_8826_GO_TO                                                  :{BLACK}Gaan Na
-STR_8827_FULL_LOAD                                              :{BLACK}Volle Lading
-STR_8828_UNLOAD                                                 :{BLACK}Aflaai
 STR_REFIT                                                       :{BLACK}Herpas
 STR_REFIT_TIP                                                   :{BLACK}Kies watter vrag tipe te herpas na in die opdraag. CTRL-kliek om herpas instruksie te verwyder
 STR_REFIT_ORDER                                                 :(Herpas na {STRING})
@@ -2679,7 +2656,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Skakel na die rooster uitsig
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Opdrae)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Einde van Opdrae - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Diens
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Kan nie spoorweg voertuig bou nie...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Gebou: {LTBLUE}{NUM}{BLACK} Waarde: {LTBLUE}{CURRENCY}
@@ -2729,10 +2705,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Opdraglys - kliek op 'n opdrag om dit te verlig. CTRL + kliek senter op stasie
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Sprong die huidige opdraag, en begin die volgende. CTRL + kliek sprong na verkieste opdrag
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Vee uit die verlig opdrag
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Maak die verlig opdrag deurgaande
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Invoeg 'n nuwe opdrag voor die verlig opdrag, of byvoeg na einde van lys
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Maak die verlig opdrag forseer die voertuig om vir 'n volle laai te wag
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Maak die verlig opdrag forseer die voertuig te aflaai
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Rooster - kliek op 'n opdrag om dit te verlig
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Verander die bedrag van tyd die verlig opdrag moes vat
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Skoon die totaal van tyd vir die verlig opdrag
@@ -2756,8 +2729,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Kan nie rigting van trein omkeer nie...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Hernoem trein voertuig tipe
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Trein voertuig tipe kan nie hernoem word nie...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Maak die verlig opdrag forseer die voertuig om sy vrag te stort
-STR_TRANSFER                                                    :{BLACK}Oordra
 STR_CLEAR_TIME                                                  :{BLACK}Reinig Tyd
 STR_RESET_LATENESS                                              :{BLACK}Herstel Laat Teller
 
@@ -2844,8 +2815,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Hernoem pad voertuig tipe
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Hernoem pad voertuig tipe
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Pad voertuig tipe kan nie hernoem word nie...
-STR_GO_TO_ROADVEH_DEPOT                                         :Gaan na {TOWN} Pad Voertuig Depot
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Diens by {TOWN} Pad Voertuig Depot
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Herpas pad voertuig om 'n ander vrag tipe te ontvoer
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Herpas pad voertuig
@@ -2921,8 +2890,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nuwe kapasiteit: {GOLD}{CARGO}{}{BLACK}Herstelkoste: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Skip kan nie herstel word nie...
 STR_9842_REFITTABLE                                             :(herstelbaar)
-STR_GO_TO_SHIP_DEPOT                                            :Gaan na {TOWN} Skip Depot
-SERVICE_AT_SHIP_DEPOT                                           :Diens by {TOWN} Skip Depot
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Lughawe
@@ -2993,8 +2960,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Kies vrag tipe om te ontvoer:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nuwe kapasiteit: {GOLD}{STRING}{}{BLACK}Herstelkoste: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Vliegtuig kan nie herstel word nie...
-STR_GO_TO_AIRPORT_HANGAR                                        :Gaan na {STATION} Hangar
-SERVICE_AT_AIRPORT_HANGAR                                       :Diens by {STATION} Hangar
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Rooster)
 
--- a/src/lang/brazilian_portuguese.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/brazilian_portuguese.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1027,7 +1027,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Ativar aceleração realista para trens: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Proibir trens e embarcações girar em angulos de 90 graus: {ORANGE}{STRING} {LTBLUE} (requer NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Unir estações ferroviárias construídas juntas: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Deixar a estação quando uma das cargas estiver completa: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Usar algoritmo de carregamento melhorado: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Carregar veículos gradualmente: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflação: {ORANGE}{STRING}
@@ -2653,26 +2652,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Cidadãos celebram . . .{}Primeiro trem chega a {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detalhes)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Trem no caminho
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Ir para {STATION}
-STR_GO_TO_TRANSFER                                              :Ir para {STATION} (Transferir e carregar)
-STR_8807_GO_TO_UNLOAD                                           :Ir para {STATION} (Descarregar)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Ir para {STATION} (Transferir e deixar vazio)
-STR_8808_GO_TO_LOAD                                             :Ir para {STATION} (Carregar)
-STR_GO_TO_TRANSFER_LOAD                                         :Ir para {STATION} (Trasferir e aguardar carga total)
-STR_880A_GO_NON_STOP_TO                                         :Ir sem parar para {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Ir sem parar para {STATION} (Transferir e carregar)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Ir sem parar para {STATION} (Descarregar)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Ir sem parar para {STATION} (Transferir e deixar vazio)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Ir sem parar para {STATION} (Carregar)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Ir sem parar para {STATION} (Trasferir e aguardar carga total)
-STR_GO_TO_TRAIN_DEPOT                                           :Ir para o depósito de {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Manutenção no depósito de {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Ir sem parar para o depósito de {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Manutenção no depósito de {TOWN} sem parar
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Viajar (não progamado)
 STR_TIMETABLE_TRAVEL_FOR                                        :Viajar para {STRING}
 STR_TIMETABLE_STAY_FOR                                          :e ficar durante {STRING}
@@ -2713,10 +2693,7 @@
 STR_8820_RENAME                                                 :{BLACK}Renomear
 STR_8823_SKIP                                                   :{BLACK}Saltar
 STR_8824_DELETE                                                 :{BLACK}Remover
-STR_8825_NON_STOP                                               :{BLACK}Sem parar
 STR_8826_GO_TO                                                  :{BLACK}Ir Para
-STR_8827_FULL_LOAD                                              :{BLACK}Carga
-STR_8828_UNLOAD                                                 :{BLACK}Descarga
 STR_REFIT                                                       :{BLACK}Adaptar
 STR_REFIT_TIP                                                   :{BLACK}Selecionar a adaptação na ordem atual. CTRL + Clique para remover a instrução
 STR_REFIT_ORDER                                                 :(Adaptar para {STRING})
@@ -2726,7 +2703,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Alternar para ver as ordens
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordens)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Fim de Ordens - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Manutenção
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Impossível construir veículo ferroviário...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Construído: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY}
@@ -2776,10 +2752,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Lista de ordens - clique numa ordem para a selecionar
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Pula a ordem atual e executa a próxima. CTRL + clique pula a ordem selecionada
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Remover a ordem selecionada
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A ordem selecionada fará com que o veículo não pare nas estações
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Inserir nova ordem antes da ordem selecionada, ou adicionar no fim da lista
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A ordem selecionada fará com que o veículo espere carregar completamente
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A ordem selecionada forçará o veículo a descarregar
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Plano de horário - selecione uma ordem clicando nela
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Mude a quantidade de tempo que a ordem deverá levar
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Reseta a quantidade de tempo para a ordem selecionada
@@ -2803,8 +2776,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Impossível inverter a direção do trem...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Renomear tipo de veículo ferroviário
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Impossível renomear tipo de veículo ferroviário...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Força o veículo a deixar a carga na ordem selecionada
-STR_TRANSFER                                                    :{BLACK}Transferir
 STR_CLEAR_TIME                                                  :{BLACK}Resetar horário
 STR_RESET_LATENESS                                              :{BLACK}Resetar contador de atraso
 
@@ -2892,8 +2863,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Renomear tipo do automóvel
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Renomear tipo do automóvel
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Impossível renomear tipo do automóvel...
-STR_GO_TO_ROADVEH_DEPOT                                         :Ir para a garagem de {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Manutenção na garagem de {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Adaptar automóvel para carregar tipo de carga diferente
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Adaptar automóvel
@@ -2969,8 +2938,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova capacidade: {GOLD}{CARGO}{}{BLACK}Custo da adaptação: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Impossível adaptar embarcação...
 STR_9842_REFITTABLE                                             :(adaptável)
-STR_GO_TO_SHIP_DEPOT                                            :Ir para o depósito naval de {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Manutenção no depósito naval de {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Aeroportos
@@ -3041,8 +3008,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Selecionar tipo de carga:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova capacidade: {GOLD}{STRING}{}{BLACK}Custo da adaptação: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Impossível adaptar aeronave...
-STR_GO_TO_AIRPORT_HANGAR                                        :Ir para o hangar de {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Manutenção no hangar de {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Timetable)
 
--- a/src/lang/bulgarian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/bulgarian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1028,7 +1028,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Реалистично ускоряване на влаковете: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Забрана на влакове и кораби да правят 90 градусови завои: {ORANGE}{STRING} {LTBLUE} (трябва NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Обединяване на гари построени една до друга: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Напускане на станцията когато някой товар е пълен, при 'пълно зареждане': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Подобрен алгоритъм за зареждане: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Постепенно зареждане на автомобилите: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Инфлация: {ORANGE}{STRING}
@@ -2653,26 +2652,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Хората празнуват . . .{}Първи влак пристигна на {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Подробности)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Влак на пътя
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Отиди на {STATION}
-STR_GO_TO_TRANSFER                                              :Отиди на {STATION} (Обмени и вземи товар)
-STR_8807_GO_TO_UNLOAD                                           :Отиди на {STATION} (Разтовари)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Отиди на {STATION} (Обмени и не взимай нов товар)
-STR_8808_GO_TO_LOAD                                             :Отиди на {STATION} (Товари)
-STR_GO_TO_TRANSFER_LOAD                                         :Отиди на {STATION} (Обмени и изчакай до пълен товар)
-STR_880A_GO_NON_STOP_TO                                         :Отиди без да спираш на {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Отиди без да спираш на {STATION} (Обмени и вземи товар)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :отиди без да спираш на {STATION} (Разтовари)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Отиди без да спираш на {STATION} (Обмени и не товари)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Отиди без да спираш на {STATION} (Товари)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Отиди без да спираш на {STATION} (Обмени и изчакай до пълен товар)
-STR_GO_TO_TRAIN_DEPOT                                           :Отиди до Влаковото депо на {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Ремонт в {TOWN} влаково депо
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Отиди без да спираш на {TOWN} Влаково депо
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Ремонт без спиране в {TOWN} влаково депо
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Патувай (без разписание)
 STR_TIMETABLE_TRAVEL_FOR                                        :Патувай за {STRING}
 STR_TIMETABLE_STAY_FOR                                          :и остани за {STRING}
@@ -2713,10 +2693,7 @@
 STR_8820_RENAME                                                 :{BLACK}Преименувай
 STR_8823_SKIP                                                   :{BLACK}Остави
 STR_8824_DELETE                                                 :{BLACK}Изтрий
-STR_8825_NON_STOP                                               :{BLACK}Без да спира
 STR_8826_GO_TO                                                  :{BLACK}Отиди на
-STR_8827_FULL_LOAD                                              :{BLACK}Пълен товар
-STR_8828_UNLOAD                                                 :{BLACK}Разтовари
 STR_REFIT                                                       :{BLACK}Преустройство
 STR_REFIT_TIP                                                   :{BLACK}Избор какво преустройсто да се направи. Щракване със задържан контрол премахва инструкцията
 STR_REFIT_ORDER                                                 :(Преустройство към {STRING})
@@ -2726,7 +2703,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Промени сортацията
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Заповеди)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Край на Заповедите - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Ремонт
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Не може да купиш ЖП машина...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Купи: {LTBLUE}{NUM}{BLACK} Цена: {LTBLUE}{CURRENCY}
@@ -2776,10 +2752,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Пътен лист - натиснете върху назначение за маркиране. CTRL + натискане - центрира върху станцията
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Прескачане на настоящата заповед и започване на цледващата. CTRL + клик прескача до избраната заповед
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Изтриване на избраното назначение
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Преминавай през избраното назначение без спиране
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Добавяне на назначение преди избраната или в края на списъка
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Изчакай на избраното назначение до пълно зареждане с товар
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Разтоварва на избраното назначение целия товар
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Времетаблица - кликни върху заповед за да я маркираш.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Промени времетраенето на маркираната заповед
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Изчисти времетраенето на маркираната заповед
@@ -2803,8 +2776,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Не може да обърне посоката на влак...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Преименуване на влак
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Не може да се преименува влак...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Изхвърляне на товара при достигане на избраното назначение
-STR_TRANSFER                                                    :{BLACK}Транфер
 STR_CLEAR_TIME                                                  :{BLACK}Изчисти времето
 STR_RESET_LATENESS                                              :{BLACK}Преправи закъснялата бройка
 
@@ -2892,8 +2863,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Преименувай МПС-то
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Преименувай МПС-то
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Не може да преименуваш МПС-то...
-STR_GO_TO_ROADVEH_DEPOT                                         :Отиди  в {TOWN} МПС-депото
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Ремонт в {TOWN} гараж
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Преоборудване автомобила за друг товар
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Проборудване на автомобила
@@ -2969,8 +2938,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Нов капацитет: {GOLD}{CARGO}{}{BLACK}Цена за преустройство: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Не може да преустрои кораб...
 STR_9842_REFITTABLE                                             :(преустроим)
-STR_GO_TO_SHIP_DEPOT                                            :Отиди до Корабното депо до {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Сервиз на {TOWN} док
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Летища
@@ -3041,8 +3008,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Избор тип товар за превозване:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Нова вместимост: {GOLD}{STRING}{}{BLACK}Цена на преустройството: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Не може да се преустрои самолета...
-STR_GO_TO_AIRPORT_HANGAR                                        :Отиди до Хангара на летище {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Сервиз в {STATION} хангар
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Разписание)
 
--- a/src/lang/catalan.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/catalan.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1026,7 +1026,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Activa l'acceleració realista per als trens: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Prohibeix fer girs de 90 graus als trens i vaixells: {ORANGE}{STRING} {LTBLUE} (necessita NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Ajunta estacions de tren fetes al costat d'una altra: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Marxa de l'estació quan un tipus de càrrega estigui ple, si 'càrrega completa': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Utilitza algorisme millorat de càrrega: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Carrega els vehicles gradualment: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflació: {ORANGE}{STRING}
@@ -2652,26 +2651,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Celebració popular . . .{} Arribada del 1er. tren a {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detalls)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Tren en el camí
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Ves a {STATION}
-STR_GO_TO_TRANSFER                                              :Ves a {STATION} (Transfereix i agafa càrrega)
-STR_8807_GO_TO_UNLOAD                                           :Ves a {STATION} (Descarrega)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Ves a {STATION} (Transfereix i deixa buit)
-STR_8808_GO_TO_LOAD                                             :Ves a {STATION} (Carrega)
-STR_GO_TO_TRANSFER_LOAD                                         :Ves a {STATION} (Transfereix i espera càrrega completa)
-STR_880A_GO_NON_STOP_TO                                         :Ves sense parar a {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Ves sense parar a {STATION} (Transfereix i agafa càrrega)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Ves sense parar a {STATION} (Descarrega)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Ves sense parar a {STATION} (Transfereix i deixa buit)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Ves sense parar a {STATION} (Carrega)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Ves sense parar a {STATION} (Transfereix i espera càrrega completa)
-STR_GO_TO_TRAIN_DEPOT                                           :Ves al Diposit {TOWN} de Tren
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Manteniment a cotxeres de {TOWN}.
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Ves sense parar a les cotxeres de {TOWN}.
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Manteniment sense parades a cotxeres de {TOWN}.
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Viatge (fora d'horari)
 STR_TIMETABLE_TRAVEL_FOR                                        :Viatge a {STRING}
 STR_TIMETABLE_STAY_FOR                                          :i estigues {STRING}
@@ -2712,10 +2692,7 @@
 STR_8820_RENAME                                                 :{BLACK}Reanomena
 STR_8823_SKIP                                                   :{BLACK}Salta
 STR_8824_DELETE                                                 :{BLACK}Esborra
-STR_8825_NON_STOP                                               :{BLACK}No paris
 STR_8826_GO_TO                                                  :{BLACK}Ves a
-STR_8827_FULL_LOAD                                              :{BLACK}Carrega
-STR_8828_UNLOAD                                                 :{BLACK}Descarreg
 STR_REFIT                                                       :{BLACK}Remodela
 STR_REFIT_TIP                                                   :{BLACK}Selecciona quin tipus de càrrega vols remodelar en aquesta ordre. Control + Clic per eliminar l'ordre de remodelar
 STR_REFIT_ORDER                                                 :(Remodela a {STRING})
@@ -2725,7 +2702,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Commuta l'ordre de la vista
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordres)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Fí d'Ordres - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Servei
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}No es pot construir el vehicle...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Construit: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY}
@@ -2775,10 +2751,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Llista d'ordres - clica en una per seleccionar-la
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Salta l'ordre actual, i comença la següent. CTRL + clic salta l'ordre seleccionada
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Esborra l'ordre seleccionada
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Fer sense parades l'ordre seleccionada
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Afegeix una nova ordre abans de la seleccionada, o afegeix-la al final de la llista
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Fer que en l'ordre seleccionada s'esperi a que l'element tingui càrrega total
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Obliga en l'ordre seleccionada a descarregar l'element
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Horari - clica sobre l'ordre per marcar-la.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Canvia la quantitat de temps que l'ordre marcada hauria de prendre
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Esborra la quantitat de temps de l'ordre marcada
@@ -2802,8 +2775,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}No es pot invertir la direcció del tren...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Reanomena el tipus d'element del tren
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}No es pot reanomenar el tipus d'element del tren...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Fer que l'ordre marcada forci al vehicle a volcar la càrrega
-STR_TRANSFER                                                    :{BLACK}Transf.
 STR_CLEAR_TIME                                                  :{BLACK}Esborra Temps
 STR_RESET_LATENESS                                              :{BLACK}Reset. control de retràs
 
@@ -2891,8 +2862,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Reanomena tipus d'automòbil
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Reanomena tipus d'automòbil
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}No es pot reanomenar tipus d'automòbil
-STR_GO_TO_ROADVEH_DEPOT                                         :Ves a la cotxera de {TOWN}.
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Manteniment a la cotxera de {TOWN}.
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Remodela vehicle de carretera per dur un tipus diferent de càrrega
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Remodela vehicle de carretera
@@ -2968,8 +2937,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova capacitat: {GOLD}{CARGO}{}{BLACK}Cost de la remodelació: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}No es pot remodelar el vaixell...
 STR_9842_REFITTABLE                                             :(remodelable)
-STR_GO_TO_SHIP_DEPOT                                            :Ves a la drassana de {TOWN}.
-SERVICE_AT_SHIP_DEPOT                                           :Manteniment a drassana de {TOWN}.
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Aeroports
@@ -3040,8 +3007,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Selecciona el tipus de càrrega a transportar:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova capacitat: {GOLD}{STRING}{}{BLACK}Cost de la remodelació: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}No es pot remodelar l'avió...
-STR_GO_TO_AIRPORT_HANGAR                                        :Ves a l'hangar de {STATION}.
-SERVICE_AT_AIRPORT_HANGAR                                       :Manteniment en l'hangar de {STATION}.
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Horari)
 
--- a/src/lang/croatian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/croatian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1026,7 +1026,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Omogući realistično ubrzanje za vlakove: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Zabrani vlakovima i brodovima skretanja pod 90 stupnjeva: {ORANGE}{STRING} {LTBLUE} (requires NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Spoji željezničke stanice koje se izgrade jedna pokraj druge: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Napusti stanicu ako je bilo koji teret u potpunosti natovaren pri 'punom utovaru': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Koristi unaprijeđen utovarni algoritam: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Postupno utovaruj u vozila: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflacija: {ORANGE}{STRING}
@@ -2622,26 +2621,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Građani slave . . .{}Prvi vlak je stigao na {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detalji)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Vlak na putu
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Idi do {STATION}
-STR_GO_TO_TRANSFER                                              :Idi do {STATION} (Transferiraj i preuzmi teret)
-STR_8807_GO_TO_UNLOAD                                           :Idi do {STATION} (Istovar)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Go to {STATION} (Transferiraj i otiđi prazan)
-STR_8808_GO_TO_LOAD                                             :Idi do{STATION} (Utovar)
-STR_GO_TO_TRANSFER_LOAD                                         :Idi do {STATION} (Transferiraj i pričekaj puni utovar)
-STR_880A_GO_NON_STOP_TO                                         :Idi neprekidno do {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Idi neprekidno do {STATION} (Transferiraj i preuzmi teret)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Idi neprekidno do {STATION} (Istovar)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Idi neprekidno do {STATION} (Transferiraj i otiđi prazan)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Idi neprekidno do {STATION} (Utovar)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Idi neprekidno do {STATION} (Transferiraj i pričekaj puni utovar)
-STR_GO_TO_TRAIN_DEPOT                                           :Idi u spremište vlakova grada {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Servisiranje u spremištu vlakova grada {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Idi neprekidno do spremišta vlakova grada {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Servisiraj neprekidno u spremištu vlakova grada {TOWN}
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Putovanje (bez rasporeda)
 STR_TIMETABLE_TRAVEL_FOR                                        :Putovanje za {STRING}
 STR_TIMETABLE_STAY_FOR                                          :i boravak za {STRING}
@@ -2682,10 +2662,7 @@
 STR_8820_RENAME                                                 :{BLACK}Preimenuj
 STR_8823_SKIP                                                   :{BLACK}Preskoči
 STR_8824_DELETE                                                 :{BLACK}Obriši
-STR_8825_NON_STOP                                               :{BLACK}Neprekidno
 STR_8826_GO_TO                                                  :{BLACK}Idi do
-STR_8827_FULL_LOAD                                              :{BLACK}Puni utovar
-STR_8828_UNLOAD                                                 :{BLACK}Istovar
 STR_REFIT                                                       :{BLACK}Prenamijeni
 STR_REFIT_TIP                                                   :{BLACK}Odaberi vrstu tereta za prenamijenu u ovoj naredbi. CTRL+klik kako bi uklonio naputak za prenamjenu
 STR_REFIT_ORDER                                                 :(Prenamijeni u {STRING})
@@ -2693,7 +2670,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Prebacivanje na pogled rasporeda
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Naredbe)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Kraj naredbi - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Servis
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Nije moguće izgraditi željezničko vozilo...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Izgrađen: {LTBLUE}{NUM}{BLACK} Vrijednost: {LTBLUE}{CURRENCY}
@@ -2743,10 +2719,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Popis naredbi - klikni na naredbu kako bi ju označio. CTRL + klik klizi na stanicu
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Preskoči trenutnu naredbu i pokreni slijedeću. CTRL + klik preskače na odabranu naredbu
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Obriši označenu naredbu
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Napravi označenu naredbu da bude non-stop
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Umetni novu naredbu prije odabrane naredbe, ili dodaj na kraj liste
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Napravi da odabrana naredba natjera vozilo da čeka na potpuni utovar
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Napravi da označena naredba natjera vozilo na istovar
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Raspored - klikni na naredbu da ju označiš.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Promijeni količinu vremena koju bi označena naredba trebala uzeti
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Obriši potrebno vrijeme za označenu naredbu
@@ -2770,8 +2743,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Nije moguće promijeniti smjer vlaka...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Preimenuj vrstu vagona
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Nije moguće preimenovati vrstu vagona...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Napravi da označena naredba prisili vozilo da izbaci teret
-STR_TRANSFER                                                    :{BLACK}Transfer
 STR_CLEAR_TIME                                                  :{BLACK}Obriši vrijeme
 STR_RESET_LATENESS                                              :{BLACK}Poništi Brojač Kašnjenja
 
@@ -2859,8 +2830,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Preimenuj vrstu cestovnog vozila
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Preimenuj vrstu cestovnog vozila
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Nije moguće preimenovati vrstu cestovnog vozila...
-STR_GO_TO_ROADVEH_DEPOT                                         :Idi prema spremištu cestovnih vozila grada {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Servisiranje u spremištu cestovnih vozila grada {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Prenamijeni cestovno vozilo  za prijevoz neke druge vrste tereta
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Prenamijeni cestovno vozilo
@@ -2936,8 +2905,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova nosivost: {GOLD}{CARGO}{}{BLACK}Cijena prenamjene: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Nije moguće prenamijeniti brod...
 STR_9842_REFITTABLE                                             :(prenamjenjiv)
-STR_GO_TO_SHIP_DEPOT                                            :Idi u spremište brodova grada {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Servis u spremištu brodova grada {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Zračne luke
@@ -3008,8 +2975,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Odaberi vrstu tereta za prijevoz:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova nosivost: {GOLD}{STRING}{}{BLACK}Trošak prenamjene: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Nije moguće prenamijeniti zrakoplov...
-STR_GO_TO_AIRPORT_HANGAR                                        :Idi u hangar stanice {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Servisiranje u hangaru stanice {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Raspored)
 
--- a/src/lang/czech.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/czech.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1084,7 +1084,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Zapnout realistické zrychlování vlaků: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Zakázat vlakům a lodím otáčení o 90 stupňů: {ORANGE}{STRING} {LTBLUE} (vyžaduje NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Spojovat stanice postavené vedle sebe: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Odjet, když je plně naložen jakýkoli náklad při 'naložit': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Použij vylepšený algoritmus nakládání: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Nakládat vozidla postupně: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflace: {ORANGE}{STRING}
@@ -2704,26 +2703,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Obyvatelé oslavují...{}První vlak dorazil do {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detaily)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}V cestě je vlak
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Jet do {STATION}
-STR_GO_TO_TRANSFER                                              :Jet do {STATION} (přeložit a naložit jiný náklad)
-STR_8807_GO_TO_UNLOAD                                           :Jet do {STATION} (vyložit)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Jet do {STATION} (přeložit a nenakládat)
-STR_8808_GO_TO_LOAD                                             :Jet do {STATION} (naložit)
-STR_GO_TO_TRANSFER_LOAD                                         :Jet do {STATION} (přeložit a plně naložit jiný náklad)
-STR_880A_GO_NON_STOP_TO                                         :Jet bez zastavení do {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Jet bez zastavení do {STATION} (přeložit a naložit jiný náklad)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Jet bez zastavení do {STATION} (vyložit)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Jet bez zastavení do {STATION} (přeložit a nenakládat)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Jet bez zastavení do {STATION} (naložit)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Jet bez zastavení do {STATION} (přeložit a plně naložit jiný náklad)
-STR_GO_TO_TRAIN_DEPOT                                           :Jet do železničního depa v {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Údržba v železničním depu {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Jet bez zastavení do železničního depa {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Údržba bez zastavení v železničním depu {TOWN}
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Jet do (mimo jízdní řád)
 STR_TIMETABLE_TRAVEL_FOR                                        :Jet do {STRING}
 STR_TIMETABLE_STAY_FOR                                          :a zůstat {STRING}
@@ -2764,10 +2744,7 @@
 STR_8820_RENAME                                                 :{BLACK}Přejmenovat
 STR_8823_SKIP                                                   :{BLACK}Přeskočit
 STR_8824_DELETE                                                 :{BLACK}Smazat
-STR_8825_NON_STOP                                               :{BLACK}Nonstop
 STR_8826_GO_TO                                                  :{BLACK}Jet do
-STR_8827_FULL_LOAD                                              :{BLACK}Naložit
-STR_8828_UNLOAD                                                 :{BLACK}Vyložit
 STR_REFIT                                                       :{BLACK}Přestavět
 STR_REFIT_TIP                                                   :{BLACK}Vyber, na který druh nákladu přestavět. CTRL-klik odstraní přestavbu z příkazu.
 STR_REFIT_ORDER                                                 :(Přestavět na {STRING})
@@ -2775,7 +2752,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Přepnout na jízdní řád
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Příkazy)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Konec příkazů - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Údržba
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Nemohu koupit vagon nebo lokomotivu...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Koupeno: {LTBLUE}{NUM}{BLACK} Hodnota: {LTBLUE}{CURRENCY}
@@ -2825,10 +2801,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Seznam příkazů - stiskni příkaz pro označení. Kliknutím na příkaz se stisknutým CTRL se nastaví pohled na stanici
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Přeskočit příkaz a jít na další. Pomocí CTRL + kliknutí se přeskočí na vybraný příkaz
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Smazat označený příkaz
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Provést označený příkaz bez zastavení
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Vložit nový příkaz před označený příkaz nebo na konec seznamu
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Označený příkaz provádět do plného naložení
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Označený příkaz vyloží vozidlo
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Jízdní řád - příkaz vybereš kliknutím.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Změnit čas pro splnění jízdního příkazu
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Zrušit čas pro splnění jízdního příkazu
@@ -2852,8 +2825,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Nelze obrátit vlak...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Přejmenovat typ železničního vozidla
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Nemohu přejmenovat typ železničního vozidla...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}U označeného příkazu vozidlo musí vyložit náklad
-STR_TRANSFER                                                    :{BLACK}Překládka
 STR_CLEAR_TIME                                                  :{BLACK}Smazat čas
 STR_RESET_LATENESS                                              :{BLACK}Smazat ukazatel zpoždění
 
@@ -2941,8 +2912,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Přejmenovat typ silničního vozidla
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Přejmenovat typ silničního vozidla
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Nelze přejmenovat typ silničního vozidla...
-STR_GO_TO_ROADVEH_DEPOT                                         :Jet do garáže {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Údržba v garáži {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Přestavět silniční vozidlo, aby mohlo vozit jiný druh nákladu
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Přestavět silniční vozidlo
@@ -3018,8 +2987,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nová kapacita: {GOLD}{CARGO}{}{BLACK}Cena přestavby: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Nelze přestavět loď...
 STR_9842_REFITTABLE                                             :(lze přestavět)
-STR_GO_TO_SHIP_DEPOT                                            :Zajet do lodního depa {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Údržba v lodním depu {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Letiště
@@ -3090,8 +3057,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Zvolit typ nákladu pro prevážení:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nová kapacita: {GOLD}{STRING}{}{BLACK}Cena přestavby: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Nelze přestavět letadlo...
-STR_GO_TO_AIRPORT_HANGAR                                        :Poslat do hangáru {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Údržba v hangáru {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Jízdní řád)
 
--- a/src/lang/danish.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/danish.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1026,7 +1026,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Aktiver realistisk acceleration af tog: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Forbyd skibe og tog at dreje 90 grader: {ORANGE}{STRING} {LTBLUE} (skal bruge NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Foren togstationer der bygges ved siden af hinanden: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Forlad stationen hvis en slags last bliver fyldt, hvis 'fuld last': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Brug forbedret indlæsnings algoritme: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Last køretøjer gradvist: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflation: {ORANGE}{STRING}
@@ -2639,26 +2638,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Indbyggerne fester . . .{}Første tog ankommer til {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detaljer)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Tog i vejen
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Gå til {STATION}
-STR_GO_TO_TRANSFER                                              :Gå til {STATION} (Overfør og tag gods)
-STR_8807_GO_TO_UNLOAD                                           :Gå til {STATION} (Aflæs)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Gå til {STATION} (Overfør og efterlad tom)
-STR_8808_GO_TO_LOAD                                             :Gå til {STATION} (Fuld last)
-STR_GO_TO_TRANSFER_LOAD                                         :Gå til {STATION} (Overfør og vent på fuld last)
-STR_880A_GO_NON_STOP_TO                                         :Gå uden stop til {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Gå uden stop til {STATION} (Overfør og tag gods)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Gå uden stop til {STATION} (Aflæs)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Gå uden stop til {STATION} (Overfør og efterlad tom)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Gå uden stop til {STATION} (Fuld last)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Gå uden stop til {STATION} (Overfør og vent på fuld last)
-STR_GO_TO_TRAIN_DEPOT                                           :Gå til {TOWN} remise
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Service i {TOWN} remise
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Gå uden stop til {TOWN} remise
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Service uden stop i {TOWN} remise
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Rejs (ikke iflg. køreplan)
 STR_TIMETABLE_TRAVEL_FOR                                        :Rejs i {STRING}
 STR_TIMETABLE_STAY_FOR                                          :og vent i {STRING}
@@ -2699,10 +2679,7 @@
 STR_8820_RENAME                                                 :{BLACK}Omdøb
 STR_8823_SKIP                                                   :{BLACK}Spring over
 STR_8824_DELETE                                                 :{BLACK}Slet
-STR_8825_NON_STOP                                               :{BLACK}Uden stop
 STR_8826_GO_TO                                                  :{BLACK}Gå til
-STR_8827_FULL_LOAD                                              :{BLACK}Fuld last
-STR_8828_UNLOAD                                                 :{BLACK}Aflæs
 STR_REFIT                                                       :{BLACK}Ombyg
 STR_REFIT_TIP                                                   :{BLACK}Vælg hvilken lasttype der skal ombygges til i denne ordre. CTRL-klik for at fjerne ombygningsinstruktion
 STR_REFIT_ORDER                                                 :(Ombyg til {STRING})
@@ -2710,7 +2687,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Skift til køreplan-visning
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordrer)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Slut på ordrer - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Service
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Kan ikke bygge jernbanekøretøj...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Bygget: {LTBLUE}{NUM}{BLACK} Værdi: {LTBLUE}{CURRENCY}
@@ -2760,10 +2736,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Ordreliste - klik på en ordre for at markere den. CTRL-klik for at centrere skærmen over stationen
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Spring over nuværende ordre og start næste. CTRL + klik springer til den valgte ordre
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Slet den markerede ordre
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Lav den markerede ordre til en "uden stop" ordre
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Indsæt en ny ordre før den markerede eller ved slutningen af ordrelisten
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Få den markerede ordre til at tvinge toget til at vente på en fuld last
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Få den markerede ordre til at tvinge toget til at aflæsse
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Køreplan - klik på en ordre for at markere den.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Ændre hvor lang tid den markerede ordre skal tage
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Nulstil tiden for den markerede ordre
@@ -2787,8 +2760,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Kan ikke vende retningen af toget...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Omdøb tog-/togvognstypen
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Kan ikke omdøbe tog-/togvognstypen...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Få den valgte ordre til at tvinge køretøjet til at smide lasten
-STR_TRANSFER                                                    :{BLACK}Overfør
 STR_CLEAR_TIME                                                  :{BLACK}Nulstil tid
 STR_RESET_LATENESS                                              :{BLACK}Nulstil forsinkelse
 
@@ -2876,8 +2847,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Omdøb køretøjstypen
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Omdøb køretøjstypen
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Kan ikke omdøbe køretøjstypen...
-STR_GO_TO_ROADVEH_DEPOT                                         :Gå til {TOWN} værksted
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Service i {TOWN} værksted
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Ombyg vejkøretøj til at laste en anden type last
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Ombyg lastbil
@@ -2953,8 +2922,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ny kapacitet: {GOLD}{CARGO}{}{BLACK}Pris for ombyggelse: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Kan ikke ombygge skib...
 STR_9842_REFITTABLE                                             :(kan ombygges)
-STR_GO_TO_SHIP_DEPOT                                            :Sejl til {TOWN} skibsdok
-SERVICE_AT_SHIP_DEPOT                                           :Service i {TOWN} skibsdok
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Lufthavne
@@ -3025,8 +2992,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Vælg den type last der skal flyves med:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ny kapacitet: {GOLD}{STRING}{}{BLACK}Ombygningspris: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Kan ikke ombygge fly...
-STR_GO_TO_AIRPORT_HANGAR                                        :Flyv til {STATION} hangar
-SERVICE_AT_AIRPORT_HANGAR                                       :Service i {STATION} hangar
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Køreplan)
 
--- a/src/lang/dutch.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/dutch.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1026,7 +1026,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Realistische acceleratie van treinen: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Verbied schepen en treinen om 90 graden te draaien: {ORANGE}{STRING} {LTBLUE} (Vereist NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Stations samenvoegen als ze naast elkaar worden gebouwd: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Verlaat station wanneer één lading geladen is, met 'vol laden': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Gebruik verbeterde laad algorithme: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Voertuigen geleidelijk laden: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflatie: {ORANGE}{STRING}
@@ -2652,26 +2651,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Inwoners feesten... {}Eerste trein arriveert in {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Details)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Trein in de weg
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Ga naar {STATION}
-STR_GO_TO_TRANSFER                                              :Ga naar {STATION} (Overladen en neem goederen)
-STR_8807_GO_TO_UNLOAD                                           :Ga naar {STATION} (Uit laden)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Ga naar {STATION} (Overladen en leeg laten)
-STR_8808_GO_TO_LOAD                                             :Ga naar {STATION} (Laden)
-STR_GO_TO_TRANSFER_LOAD                                         :Ga naar {STATION} (Overladen en wacht tot vol geladen)
-STR_880A_GO_NON_STOP_TO                                         :Ga non-stop naar {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Ga non-stop naar {STATION} (Overladen en neem goederen)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Ga non-stop naar {STATION} (Uitladen)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Ga non-stop naar {STATION} (Overladen en leeg laten)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Ga non-stop naar {STATION} (Laden)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Ga non-stop naar {STATION} (Overladen en wacht tot vol geladen)
-STR_GO_TO_TRAIN_DEPOT                                           :Ga naar {TOWN} Trein Depot
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Reparatie in {TOWN} treindepot
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Ga zonder tussenstop naar {TOWN} Treindepot
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Reparatie zonder tussentop in {TOWN} treindepot
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Reis (geen dienstregeling)
 STR_TIMETABLE_TRAVEL_FOR                                        :Reis naar {STRING}
 STR_TIMETABLE_STAY_FOR                                          :en blijf voor {STRING}
@@ -2712,10 +2692,7 @@
 STR_8820_RENAME                                                 :{BLACK}Hernoemen
 STR_8823_SKIP                                                   :{BLACK}Sla over
 STR_8824_DELETE                                                 :{BLACK}Verwijder
-STR_8825_NON_STOP                                               :{BLACK}Non-stop
 STR_8826_GO_TO                                                  :{BLACK}Ga naar
-STR_8827_FULL_LOAD                                              :{BLACK}Vol laden
-STR_8828_UNLOAD                                                 :{BLACK}Uitladen
 STR_REFIT                                                       :{BLACK}Ombouwen
 STR_REFIT_TIP                                                   :{BLACK}Kies naar welk type vracht ombouwen in deze order. Ctrl-klik om ombouw instructie te verwijderen
 STR_REFIT_ORDER                                                 :(Ombouwen naar {STRING})
@@ -2725,7 +2702,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Ga naar het order scherm
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Orders)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Einde van orders - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Reparatie
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Kan spoorvoertuig niet bouwen...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Gebouwd: {LTBLUE}{NUM}{BLACK} Waarde: {LTBLUE}{CURRENCY}
@@ -2775,10 +2751,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Orderlijst - klik op een order om deze te selecteren. CTRL + klikken gaat naar het station
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Sla huidige order over, en begin met de volgende. CTRL + klik, begin direct met geselecteerde order
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Verwijder de geselecteerde order
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Maak de geselecteerde order non-stop
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Voeg een nieuwe order in voor de geselecteerde order, of voeg het toe aan de eind van de lijst
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Zorg dat de geselecteerde order het voertuig forceert te wachten voor een volledige belading
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Zorg dat de geselecteerde order het voertuig forceert uit te laden
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Dienstregeling - klik op een opdracht om het te selecteren
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Verander de hoeveelheid tijd die de geselecteerde opdracht mag innemen
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Verwijder de hoeveelheid tijd die de geselecteerde opdracht mag innemen
@@ -2802,8 +2775,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Kan de richting van de trein niet omdraaien...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Hernoem trein voertuig type
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Kan het trein voertuig type niet hernoemen...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Forceer het voertuig goederen te dumpen bij geselecteerde order
-STR_TRANSFER                                                    :{BLACK}Overladen
 STR_CLEAR_TIME                                                  :{BLACK}Reset de tijd
 STR_RESET_LATENESS                                              :{BLACK}Reset teller
 
@@ -2891,8 +2862,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Hernoem wegvoertuigtype
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Hernoem wegvoertuigtype
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Kan wegvoertuigtype niet hernoemen...
-STR_GO_TO_ROADVEH_DEPOT                                         :Ga naar {TOWN} Wegvoertuig Depot
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Repareren in {TOWN} wagendepot
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Verbouw het wegvoertuig om een andere lading the vervoeren
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Verbouw wegvoertuig
@@ -2968,8 +2937,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nieuwe capaciteit: {GOLD}{CARGO}{}{BLACK}Ombouwkosten: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Kan schip niet ombouwen...
 STR_9842_REFITTABLE                                             :(ombouwbaar)
-STR_GO_TO_SHIP_DEPOT                                            :Ga naar {TOWN} Scheepswerf
-SERVICE_AT_SHIP_DEPOT                                           :Reparatie in {TOWN} Scheepswerf
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Vliegvelden
@@ -3040,8 +3007,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Selecteer goederentype om te vervoeren:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nieuwe capaciteit: {GOLD}{STRING}{}{BLACK}Ombouwkosten: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Kan vliegtuig niet ombouwen...
-STR_GO_TO_AIRPORT_HANGAR                                        :Ga naar {STATION} hanger
-SERVICE_AT_AIRPORT_HANGAR                                       :Reparatie bij {STATION} hanger
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Dienstregeling)
 
--- a/src/lang/english.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/english.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1028,7 +1028,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Enable realistic acceleration for trains: {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Forbid trains and ships to make 90 deg turns: {ORANGE}{STRING1} {LTBLUE} (requires NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Join train stations built next to each other: {ORANGE}{STRING1}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Leave station when any cargo is full, if 'full load': {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Use improved loading algorithm: {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Load vehicles gradually: {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflation: {ORANGE}{STRING1}
@@ -2654,26 +2653,78 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Citizens celebrate . . .{}First train arrives at {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Details)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Train in the way
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING1} {STRING1}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING1} {STRING1}
-STR_8806_GO_TO                                                  :Go to {STATION}
-STR_GO_TO_TRANSFER                                              :Go to {STATION} (Transfer and take cargo)
-STR_8807_GO_TO_UNLOAD                                           :Go to {STATION} (Unload)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Go to {STATION} (Transfer and leave empty)
-STR_8808_GO_TO_LOAD                                             :Go to {STATION} (Load)
-STR_GO_TO_TRANSFER_LOAD                                         :Go to {STATION} (Transfer and wait for full load)
-STR_880A_GO_NON_STOP_TO                                         :Go non-stop to {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Go non-stop to {STATION} (Transfer and take cargo)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Go non-stop to {STATION} (Unload)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Go non-stop to {STATION} (Transfer and leave empty)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Go non-stop to {STATION} (Load)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Go non-stop to {STATION} (Transfer and wait for full load)
-STR_GO_TO_TRAIN_DEPOT                                           :Go to {TOWN} Train Depot
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Service at {TOWN} Train Depot
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Go non-stop to {TOWN} Train Depot
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Service non-stop at {TOWN} Train Depot
+STR_8804                                                        :{SETX 10}{COMMA}: {STRING4} {STRING2}
+STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING4} {STRING2}
+STR_ORDER_GO_TO                                                 :Go to
+STR_ORDER_GO_NON_STOP_TO                                        :Go non-stop to
+STR_ORDER_GO_VIA                                                :Go via
+STR_ORDER_GO_NON_STOP_VIA                                       :Go non-stop via
+STR_ORDER_DROP_LOAD_IF_POSSIBLE                                 :Load if available
+STR_ORDER_DROP_FULL_LOAD_ALL                                    :Full load all cargo
+STR_ORDER_DROP_FULL_LOAD_ANY                                    :Full load any cargo
+STR_ORDER_DROP_NO_LOADING                                       :No loading
+STR_ORDER_DROP_UNLOAD_IF_ACCEPTED                               :Unload if accepted
+STR_ORDER_DROP_UNLOAD                                           :Unload all
+STR_ORDER_DROP_TRANSFER                                         :Transfer
+STR_ORDER_DROP_NO_UNLOADING                                     :No unloading
+STR_ORDER_FULL_LOAD                                             :(Full load)
+STR_ORDER_FULL_LOAD_ANY                                         :(Full load any cargo)
+STR_ORDER_NO_LOAD                                               :(No loading)
+STR_ORDER_UNLOAD                                                :(Unload and take cargo)
+STR_ORDER_UNLOAD_FULL_LOAD                                      :(Unload and wait for full load)
+STR_ORDER_UNLOAD_FULL_LOAD_ANY                                  :(Unload and wait for any full load)
+STR_ORDER_UNLOAD_NO_LOAD                                        :(Unload and leave empty)
+STR_ORDER_TRANSFER                                              :(Transfer and take cargo)
+STR_ORDER_TRANSFER_FULL_LOAD                                    :(Transfer and wait for full load)
+STR_ORDER_TRANSFER_FULL_LOAD_ANY                                :(Transfer and wait for any full load)
+STR_ORDER_TRANSFER_NO_LOAD                                      :(Transfer and leave empty)
+STR_ORDER_NO_UNLOAD                                             :(No unload and take cargo)
+STR_ORDER_NO_UNLOAD_FULL_LOAD                                   :(No unload and wait for full load)
+STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY                               :(No unload and wait for any full load)
+STR_ORDER_TOOLTIP_NON_STOP                                      :{BLACK}Change the stopping behaviour of the highlighted order
+STR_ORDER_TOOLTIP_FULL_LOAD                                     :{BLACK}Change the loading behaviour of the highlighted order
+STR_ORDER_TOOLTIP_UNLOAD                                        :{BLACK}Change the unloading behaviour of the highlighted order
+STR_GO_TO_STATION                                               :{STRING} {STATION} {STRING}
 
-STR_TIMETABLE_GO_TO                                             :{STRING1} {STRING2}
+STR_ORDER_GO_TO_DROPDOWN_TOOLTIP                                :{BLACK}Insert an advanced order
+STR_ORDER_GO_TO_NEAREST_DEPOT                                   :Go to nearest depot
+STR_ORDER_GO_TO_NEAREST_HANGAR                                  :Go to nearest hangar
+STR_ORDER_NEAREST_DEPOT                                         :the nearest
+STR_ORDER_NEAREST_HANGAR                                        :the nearest Hangar
+STR_ORDER_SERVICE_AT                                            :Service at
+STR_ORDER_SERVICE_NON_STOP_AT                                   :Service non-stop at
+STR_ORDER_TRAIN_DEPOT                                           :Train Depot
+STR_ORDER_ROAD_DEPOT                                            :Road Vehicle Depot
+STR_ORDER_SHIP_DEPOT                                            :Ship Depot
+STR_GO_TO_DEPOT                                                 :{STRING} {TOWN} {STRING}
+STR_GO_TO_NEAREST_DEPOT                                         :{STRING} {STRING} {STRING}
+STR_GO_TO_HANGAR                                                :{STRING} {STATION} Hangar
+
+STR_ORDER_CONDITIONAL                                           :Conditional order jump
+STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP                          :{BLACK}Vehicle data to base jumping on
+STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP                        :{BLACK}How to compare the vehicle data to the given value
+STR_ORDER_CONDITIONAL_VALUE_TOOLTIP                             :{BLACK}The value to compare the vehicle data against
+STR_ORDER_CONDITIONAL_VALUE_CAPT                                :{WHITE}Enter value to compare against
+STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE                           :Load percentage
+STR_ORDER_CONDITIONAL_RELIABILITY                               :Reliability
+STR_ORDER_CONDITIONAL_MAX_SPEED                                 :Maximum speed
+STR_ORDER_CONDITIONAL_AGE                                       :Vehicle age (years)
+STR_ORDER_CONDITIONAL_REQUIRES_SERVICE                          :Requires service
+STR_ORDER_CONDITIONAL_UNCONDITIONALLY                           :Always
+STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS                         :is equal to
+STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS                     :is not equal to
+STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN                      :is less than
+STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS                    :is less or equal to
+STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN                      :is more than
+STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS                    :is more or equal to
+STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE                        :is true
+STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE                       :is false
+STR_CONDITIONAL_VALUE                                           :{SKIP}{BLACK}{COMMA}
+STR_CONDITIONAL_UNCONDITIONAL                                   :Jump to order {COMMA}
+STR_CONDITIONAL_NUM                                             :Jump to order {COMMA} when {STRING} {STRING} {COMMA}
+STR_CONDITIONAL_TRUE_FALSE                                      :Jump to order {COMMA} when {STRING} {STRING}
+
+STR_TIMETABLE_GO_TO                                             :{STRING4} {STRING2}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Travel (not timetabled)
 STR_TIMETABLE_TRAVEL_FOR                                        :Travel for {STRING1}
 STR_TIMETABLE_STAY_FOR                                          :and stay for {STRING1}
@@ -2714,10 +2765,7 @@
 STR_8820_RENAME                                                 :{BLACK}Rename
 STR_8823_SKIP                                                   :{BLACK}Skip
 STR_8824_DELETE                                                 :{BLACK}Delete
-STR_8825_NON_STOP                                               :{BLACK}Non-Stop
 STR_8826_GO_TO                                                  :{BLACK}Go To
-STR_8827_FULL_LOAD                                              :{BLACK}Full Load
-STR_8828_UNLOAD                                                 :{BLACK}Unload
 STR_REFIT                                                       :{BLACK}Refit
 STR_REFIT_TIP                                                   :{BLACK}Select what cargo type to refit to in this order. Control click to remove refit instruction
 STR_REFIT_ORDER                                                 :(Refit to {STRING})
@@ -2727,7 +2775,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Switch to the order view
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Orders)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - End of Orders - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Service
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Can't build railway vehicle...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Built: {LTBLUE}{NUM}{BLACK} Value: {LTBLUE}{CURRENCY}
@@ -2777,10 +2824,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Orders list - click on an order to highlight it. CTRL + click scrolls to the station
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Skip the current order, and start the next. CTRL + click skips to the selected order
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Delete the highlighted order
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Make the highlighted order non-stop
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Insert a new order before the highlighted order, or add to end of list
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Make the highlighted order force the vehicle to wait for a full load
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Make the highlighted order force the vehicle to unload
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Timetable - click on an order to highlight it.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Change the amount of time that the highlighted order should take
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Clear the amount of time for the highlighted order
@@ -2804,8 +2848,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Can't reverse direction of train...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Rename train vehicle type
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Can't rename train vehicle type...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Make the highlighted order force the vehicle to dump cargo
-STR_TRANSFER                                                    :{BLACK}Transfer
 STR_CLEAR_TIME                                                  :{BLACK}Clear Time
 STR_RESET_LATENESS                                              :{BLACK}Reset Late Counter
 
@@ -2893,8 +2935,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Rename road vehicle type
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Rename road vehicle type
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Can't rename road vehicle type...
-STR_GO_TO_ROADVEH_DEPOT                                         :Go to {TOWN} Road Vehicle Depot
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Service at {TOWN} Road Vehicle Depot
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Refit road vehicle to carry a different cargo type
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Refit road vehicle
@@ -2970,8 +3010,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}New capacity: {GOLD}{CARGO}{}{BLACK}Cost of refit: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Can't refit ship...
 STR_9842_REFITTABLE                                             :(refittable)
-STR_GO_TO_SHIP_DEPOT                                            :Go to {TOWN} Ship Depot
-SERVICE_AT_SHIP_DEPOT                                           :Service at {TOWN} Ship Depot
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Airports
@@ -3042,8 +3080,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Select cargo type to carry:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}New capacity: {GOLD}{STRING1}{}{BLACK}Cost of refit: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Can't refit aircraft...
-STR_GO_TO_AIRPORT_HANGAR                                        :Go to {STATION} Hangar
-SERVICE_AT_AIRPORT_HANGAR                                       :Service at {STATION} Hangar
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Timetable)
 
--- a/src/lang/english_US.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/english_US.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1023,7 +1023,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Enable realistic acceleration for trains: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Forbid trains and ships to make 90 deg turns: {ORANGE}{STRING} {LTBLUE} (requires NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Join train stations built next to each other: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Leave station when any cargo is full, if 'full load': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Use improved loading algorithm: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Load vehicles gradually: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflation: {ORANGE}{STRING}
@@ -2619,26 +2618,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Citizens celebrate . . .{}First train arrives at {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Details)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Train in the way
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Go to {STATION}
-STR_GO_TO_TRANSFER                                              :Go to {STATION} (Transfer and take cargo)
-STR_8807_GO_TO_UNLOAD                                           :Go to {STATION} (Unload)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Go to {STATION} (Transfer and leave empty)
-STR_8808_GO_TO_LOAD                                             :Go to {STATION} (Load)
-STR_GO_TO_TRANSFER_LOAD                                         :Go to {STATION} (Transfer and wait for full load)
-STR_880A_GO_NON_STOP_TO                                         :Go non-stop to {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Go non-stop to {STATION} (Transfer and take cargo)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Go non-stop to {STATION} (Unload)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Go non-stop to {STATION} (Transfer and leave empty)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Go non-stop to {STATION} (Load)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Go non-stop to {STATION} (Transfer and wait for full load)
-STR_GO_TO_TRAIN_DEPOT                                           :Go to {TOWN} Train Depot
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Service at {TOWN} Train Depot
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Go non-stop to {TOWN} Train Depot
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Service non-stop at {TOWN} Train Depot
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Travel (not timetabled)
 STR_TIMETABLE_TRAVEL_FOR                                        :Travel for {STRING}
 STR_TIMETABLE_STAY_FOR                                          :and stay for {STRING}
@@ -2679,10 +2659,7 @@
 STR_8820_RENAME                                                 :{BLACK}Rename
 STR_8823_SKIP                                                   :{BLACK}Skip
 STR_8824_DELETE                                                 :{BLACK}Delete
-STR_8825_NON_STOP                                               :{BLACK}Non-Stop
 STR_8826_GO_TO                                                  :{BLACK}Go To
-STR_8827_FULL_LOAD                                              :{BLACK}Full Load
-STR_8828_UNLOAD                                                 :{BLACK}Unload
 STR_REFIT                                                       :{BLACK}Refit
 STR_REFIT_TIP                                                   :{BLACK}Select what cargo type to refit to in this order. Control click to remove refit instruction
 STR_REFIT_ORDER                                                 :(Refit to {STRING})
@@ -2690,7 +2667,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Switch to the timetable view
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Orders)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - End of Orders - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Service
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Can't build railroad vehicle...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Built: {LTBLUE}{NUM}{BLACK} Value: {LTBLUE}{CURRENCY}
@@ -2740,10 +2716,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Orders list - click on order to highlight it
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Skip the current order, and start the next. CTRL + click skips to the selected order)
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Delete the highlighted order
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Make the highlighted order non-stop
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Insert a new order before the highlighted order, or add to end of list
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Make the highlighted order force the vehicle to wait for a full load
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Make the highlighted order force the vehicle to unload
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Timetable - click on an order to highlight it.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Change the amount of time that the highlighted order should take
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Clear the amount of time for the highlighted order
@@ -2767,8 +2740,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Can't reverse direction of train...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Rename train vehicle type
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Can't rename train vehicle type...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Make the highlighted order force the vehicle to dump cargo
-STR_TRANSFER                                                    :{BLACK}Transfer
 STR_CLEAR_TIME                                                  :{BLACK}Clear Time
 STR_RESET_LATENESS                                              :{BLACK}Reset Late Counter
 
@@ -2855,8 +2826,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Rename road vehicle type
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Rename road vehicle type
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Can't rename road vehicle type...
-STR_GO_TO_ROADVEH_DEPOT                                         :Go to {TOWN} Road Vehicle Depot
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Service at {TOWN} Road Vehicle Depot
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Refit road vehicle to carry a different cargo type
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Refit road vehicle
@@ -2932,8 +2901,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}New capacity: {GOLD}{CARGO}{}{BLACK}Cost of refit: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Can't refit ship...
 STR_9842_REFITTABLE                                             :(refittable)
-STR_GO_TO_SHIP_DEPOT                                            :Go to {TOWN} Ship Depot
-SERVICE_AT_SHIP_DEPOT                                           :Service at {TOWN} Ship Depot
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Airports
@@ -3004,8 +2971,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Select cargo type to carry:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}New capacity: {GOLD}{STRING}{}{BLACK}Cost of refit: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Can't refit aircraft...
-STR_GO_TO_AIRPORT_HANGAR                                        :Go to {STATION} Hangar
-SERVICE_AT_AIRPORT_HANGAR                                       :Service at {STATION} Hangar
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Timetable)
 
--- a/src/lang/esperanto.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/esperanto.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1019,7 +1019,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Permesu realecan rapidigon por trajnoj: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Trajnoj kaj ŝipoj ne ort-turniĝu: {ORANGE}{STRING} {LTBLUE} (bezonas NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Ligu stacidomojn konstruatajn unu apud la alia: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Ĉe 'plene ŝarĝu' ekiru se ajna ŝarĝo estas plena: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Uzu plibonigitan ŝarĝalgoritmon: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Laŭgrade ŝarĝu veturilojn: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflacio: {ORANGE}{STRING}
@@ -2491,24 +2490,6 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Enloĝantoj festas . . .{}Unua trajno alvenas ĉe {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detaloj)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Trajno okupas la lokon
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Iru al {STATION}
-STR_GO_TO_TRANSFER                                              :Iru al {STATION} (Transigu kaj prenu ŝarĝon)
-STR_8807_GO_TO_UNLOAD                                           :Iru al {STATION} (Deŝarĝu)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Iru al {STATION} (Transigu kaj lasu malplena)
-STR_8808_GO_TO_LOAD                                             :Iru al {STATION} (Ŝarĝu)
-STR_GO_TO_TRANSFER_LOAD                                         :Iru al {STATION} (Transigu kaj atendu ĝis plena ŝarĝo)
-STR_880A_GO_NON_STOP_TO                                         :Iru senhalte al {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Iru senhalte al {STATION} (Transigu kaj prenu ŝarĝon)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Iru senhalte al {STATION} (Deŝarĝu)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Iru senhalte al {STATION} (Transigu kaj lasu malplena)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Iru senhalte al {STATION} (Ŝarĝu)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Iru senhalte al {STATION} (Transigu kaj atendu ĝis plena ŝarĝo)
-STR_GO_TO_TRAIN_DEPOT                                           :Iru al {TOWN} Trajndeponejo
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Prizorgo ĉe {TOWN} Trajndeponejo
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Iru senhalte al {TOWN} Trajndeponejo
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Prizorgo senhalte ĉe {TOWN} Trajndeponejo
 
 STR_HEADING_FOR_TRAIN_DEPOT                                     :{ORANGE}Irante al {TOWN} Trajndeponejo
 STR_HEADING_FOR_TRAIN_DEPOT_VEL                                 :{ORANGE}Irante al {TOWN} Trajndeponejo, {VELOCITY}
@@ -2544,16 +2525,12 @@
 STR_8820_RENAME                                                 :{BLACK}Renomu
 STR_8823_SKIP                                                   :{BLACK}Plusaltu
 STR_8824_DELETE                                                 :{BLACK}Forviŝu
-STR_8825_NON_STOP                                               :{BLACK}Senhalte
 STR_8826_GO_TO                                                  :{BLACK}Iru al
-STR_8827_FULL_LOAD                                              :{BLACK}Plenigu
-STR_8828_UNLOAD                                                 :{BLACK}Deŝarĝu
 STR_REFIT                                                       :{BLACK}Transformu
 STR_REFIT_TIP                                                   :{BLACK}Elektu ŝarĝtipon por transformo en ĉi tiu ordeno. CTRL+klako por forigi instrukcion
 STR_REFIT_ORDER                                                 :(Transformu al {STRING})
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordenoj)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Fino de Ordenoj - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Prizorgo
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Ne povas krei relan veturilon...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Kreite: {LTBLUE}{NUM}{BLACK} Valoro: {LTBLUE}{CURRENCY}
@@ -2599,10 +2576,7 @@
 STR_SHOW_TOTAL_CARGO                                            :{BLACK}Montru tutan kapablon de trajno, dividite laŭ ŝarĝtipo
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Ordena listo - alklaku ordenon por elekti. CTRL + klako skrolas al la stacio
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Forviŝu la elektitan ordenon
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Senhaltigu elektitan ordenon
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Enigu novan ordenon antaŭ la elektita ordeno, aŭ aldonu fine de la listo
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}La elektita ordeno igu la veturilon atendi ĝis plena ŝarĝo
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}La elektita ordeno igu la veturilon deŝarĝi
 STR_SERVICE_HINT                                                :{BLACK}Transsaltu ordenon ĝis prizorgo necesos
 STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER                        :{BLACK}Kosto: {CURRENCY} Pezo: {WEIGHT_S}{}Rapideco: {VELOCITY}  Forto: {POWER}{}Irkosto: po {CURRENCY} jare{}Kapablo: {CARGO}
 STR_885C_BROKEN_DOWN                                            :{RED}Rompite
@@ -2622,8 +2596,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Ne povas inversigi direkton de trajno...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Renomu trajnan veturiltipon
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Ne povas renomi trajnan veturiltipon...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}La elektita ordeno igu la veturilon demeti la ŝarĝon
-STR_TRANSFER                                                    :{BLACK}Transigu
 
 STR_TRAIN_STOPPING                                              :{RED}Haltiĝas
 STR_TRAIN_STOPPING_VEL                                          :{RED}Haltiĝas, {VELOCITY}
@@ -2690,8 +2662,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Renomu vojveturilan tipon
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Renomu vojveturilan tipon
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Ne povas renomi vojveturilan tipon...
-STR_GO_TO_ROADVEH_DEPOT                                         :Iru al {TOWN} Vojveturila Deponejo
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Prizorgo ĉe {TOWN} Vojveturila Deponejo
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Transformu vojveturilon por porti alian ŝarĝon
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Transformu vojveturilon
@@ -2767,8 +2737,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova kapablo: {GOLD}{CARGO}{}{BLACK}Transformkosto: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Ne povas transformi ŝipon...
 STR_9842_REFITTABLE                                             :(transformebla)
-STR_GO_TO_SHIP_DEPOT                                            :Iru al {TOWN} Ŝipdeponejo
-SERVICE_AT_SHIP_DEPOT                                           :Prizorgo en la ŝipdeponejo de {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Flughavenoj
@@ -2839,8 +2807,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Elektu ŝarĝtipon por porti:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova kapablo: {GOLD}{STRING}{}{BLACK}Transformkosto: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Ne povas reformi aviadilon...
-STR_GO_TO_AIRPORT_HANGAR                                        :Iru al {STATION} Hangaro
-SERVICE_AT_AIRPORT_HANGAR                                       :Prizorgo en la hangaro de {STATION}
 
 ##id 0xB000
 STR_B000_ZEPPELIN_DISASTER_AT                                   :{BLACK}{BIGFONT}Zepelina katastrofo en {STATION}!
--- a/src/lang/estonian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/estonian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1126,7 +1126,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Aktiveeri realistlik rongide kiirendamine: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Keela rongidel ja laevadel 90 kraadised pöörded: {ORANGE}{STRING} {LTBLUE} (vajab NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Ühenda üksteise vastu ehitatud jaamad kokku: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Lahku jaamast, kui üks kaupadest on täis laetud: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Kasuta parandatud laadimisalgoritmi: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Laadi veovahendeid järkjärguliselt: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflatsioon: {ORANGE}{STRING}
@@ -2739,26 +2738,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Rahvas rõõmustab. . .{}{STATION} jaama saabus esimene rong!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (üksikasjad)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Rong on ees
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Mine {STATION}
-STR_GO_TO_TRANSFER                                              :Mine {STATION} (laadi ümber ja võta laadung peale)
-STR_8807_GO_TO_UNLOAD                                           :Mine {STATION} (laadi maha)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Mine {STATION} (laadi ümber ja jäta tühjaks)
-STR_8808_GO_TO_LOAD                                             :Mine {STATION} (laadi)
-STR_GO_TO_TRANSFER_LOAD                                         :Mine {STATION} (laadi ümber ja oota täislaadungit)
-STR_880A_GO_NON_STOP_TO                                         :Sõida läbi {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Sõida läbi {STATION} (laadi ümber ja oota täislaadungit)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Sõida läbi {STATION} (laadi maha)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Sõida läbi {STATION} (laadi ümber ja jäta tühjaks)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Sõida läbi {STATION} (laadi)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Sõida läbi {STATION} (laadi ümber ja oota täislaadungit)
-STR_GO_TO_TRAIN_DEPOT                                           :Mine linna {TOWN} rongidepoosse
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Hoolda linna {TOWN} rongidepoos
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Sõida läbi linna {TOWN} rongidepoo
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Hooldus linna {TOWN} rongidepoost läbisõidul
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Sõitmine (sõiduplaanita)
 STR_TIMETABLE_TRAVEL_FOR                                        :Sõida {STRING}
 STR_TIMETABLE_STAY_FOR                                          :ja oota {STRING}
@@ -2799,10 +2779,7 @@
 STR_8820_RENAME                                                 :{BLACK}Nime muutmine
 STR_8823_SKIP                                                   :{BLACK}Jäta vahele
 STR_8824_DELETE                                                 :{BLACK}Kustuta
-STR_8825_NON_STOP                                               :{BLACK}Peatusteta
 STR_8826_GO_TO                                                  :{BLACK}Mine
-STR_8827_FULL_LOAD                                              :{BLACK}Laadi täis
-STR_8828_UNLOAD                                                 :{BLACK}Laadi maha
 STR_REFIT                                                       :{BLACK}Taasseadista
 STR_REFIT_TIP                                                   :{BLACK}Vali, millist laadungit ümber seadistada selles järjestuses. Ümberseadistuse käsu eemaldamiseks hoia klõpsamise ajal all Control nuppu
 STR_REFIT_ORDER                                                 :(Taasseadista {STRING})
@@ -2810,7 +2787,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Näita sõiduplaani
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (käsud)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Sihtpunktide lõpp - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Hooldus
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Rööbassõidukit ei saa ehitada...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Ehitatud: {LTBLUE}{NUM}{BLACK} Väärtus: {LTBLUE}{CURRENCY}
@@ -2860,10 +2836,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Sihtpunktide nimekiri - vajuta käsul et see valida. CTRL + klik kerib jaama juurde
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Jäta praegune järjestus vahele ja alusta järgmisega. CTRL + klõps jätab vahele kuni valitud järjestuseni
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Kustuta valitud käsk
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Muuda valitud käsk peatuseta sihtpunktiks
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Lisa uus käsk nimekirja lõppu, või enne valitud käsku
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Käsi valitud sihtpunktis sõiduk täis laadida
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Käsi valitud sihtpunktis sõiduk tühjaks laadida
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Sõiduplaan - esiletõstmiseks klõpsa sihtpunktil
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Muuda, kaua esile tõstetud sihtpunkti peale aega peaks kuluma
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Tühista esile tõstetud sihtpunkti ajaperiood
@@ -2887,8 +2860,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Ei saa rongi ümber pöörata.
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Muuda rongivaguni tüübinime
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Raudteesõiduki tüübinime ei saa muuta...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Käsi valitud sihtpunktis sõiduki laadung kõrvaldada
-STR_TRANSFER                                                    :{BLACK}Laadi ümber
 STR_CLEAR_TIME                                                  :{BLACK}Tühista aeg
 STR_RESET_LATENESS                                              :{BLACK}Tühista hilinemisloendur
 
@@ -2976,8 +2947,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Muuda mootorsõiduki tüübinime
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Muuda mootorsõiduki tüübinime
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Mootorsõiduki tüübinime ei saa muuta...
-STR_GO_TO_ROADVEH_DEPOT                                         :Mine linna {TOWN} garaaži
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Hoolda linna {TOWN} mootorsõidukidepoos
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Seadista mootorsõidukit kandmaks teist tüüpi veost
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Muuda mootorsõiduki seadistust
@@ -3053,8 +3022,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Uus kandevõime: {GOLD}{CARGO}{}{BLACK}Laeva ümberseadistamise hind: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Ei saa laeva ümber seadistada...
 STR_9842_REFITTABLE                                             :(ümberseadistatav)
-STR_GO_TO_SHIP_DEPOT                                            :Mine {TOWN} paadikuuri
-SERVICE_AT_SHIP_DEPOT                                           :Hooldus {TOWN} laevaangaaris
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Lennuväljad
@@ -3125,8 +3092,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Vali kaubatüüp, mida kanda:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Uus kandevõime: {GOLD}{STRING}{}{BLACK}Ümberseadistamise hind: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Ei saa lennukit ümber seadistada...
-STR_GO_TO_AIRPORT_HANGAR                                        :Mine {STATION} angaari
-SERVICE_AT_AIRPORT_HANGAR                                       :Hooldus {STATION} angaaris
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Sõiduplaan)
 
--- a/src/lang/finnish.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/finnish.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1018,7 +1018,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Junat kiihdyttävät realistisesti: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Junat ja laivat: ei 90-asteen käännöksiä: {ORANGE}{STRING} {LTBLUE} (vaatii: NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Yhdistä vierekkäiset rautatieasemat: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Jätä asema, kun mikä tahansa rahti on täysi, jos 'täysi lastaus': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Käytä kehittyneempää lastausalgoritmia: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Lataa kulkuneuvot vähitellen: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflaatio: {ORANGE}{STRING}
@@ -2599,26 +2598,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Kaupunkilaiset juhlivat . . .{}Ensimmäinen juna saapuu asemalle ({STATION})!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (yksityiskohdat)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Juna on tiellä.
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Asemalle {STATION}
-STR_GO_TO_TRANSFER                                              :Mene asemalle {STATION} (Siirrä ja ota rahti)
-STR_8807_GO_TO_UNLOAD                                           :Mene asemalle {STATION} (Pura rahti)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Mene asemalle {STATION} (Siirrä ja jätä tyhjäksi)
-STR_8808_GO_TO_LOAD                                             :Mene asemalle {STATION} (Lastaa)
-STR_GO_TO_TRANSFER_LOAD                                         :Mene asemalle {STATION} (Siirrä ja odota täyttä rahtia)
-STR_880A_GO_NON_STOP_TO                                         :Mene tauotta asemalle {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Mene tauotta asemalle {STATION} (Siirrä ja ota rahti)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Mene tauotta asemalle {STATION} (Pura rahti)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Mene tauotta asemalle {STATION} (Siirrä ja jätä tyhjäksi)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Mene tauotta asemalle {STATION} (Lastaa)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Mene tauotta asemalle {STATION} (Siirrä ja odota täyttä rahtia)
-STR_GO_TO_TRAIN_DEPOT                                           :Mene kaupungin {TOWN} veturitalliin
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Huolto veturitallilla ({TOWN})
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Mene pysähtymättä veturitalliin ({TOWN})
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Huolto pysähtymättä veturitallilla ({TOWN})
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Kiertävä (ei aikataulua)
 STR_TIMETABLE_TRAVEL_FOR                                        :Kulje kohteeseen {STRING}
 STR_TIMETABLE_STAY_FOR                                          :ja odota {STRING}
@@ -2659,10 +2639,7 @@
 STR_8820_RENAME                                                 :{BLACK}Nimeä
 STR_8823_SKIP                                                   :{BLACK}Ohita
 STR_8824_DELETE                                                 :{BLACK}Poista
-STR_8825_NON_STOP                                               :{BLACK}Tauotta
 STR_8826_GO_TO                                                  :{BLACK}Mene
-STR_8827_FULL_LOAD                                              :{BLACK}Täysi lasti
-STR_8828_UNLOAD                                                 :{BLACK}Pura lasti
 STR_REFIT                                                       :{BLACK}Sovita
 STR_REFIT_TIP                                                   :{BLACK}Valitse rahdin tyyppi jolla tämä käsky uudistetaan. CTRL+klikkaus poistaa uudistuksen
 STR_REFIT_ORDER                                                 :(Sovita {STRING})
@@ -2670,7 +2647,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Näytä aikataulu
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (aikataulu)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - aikataulun loppu - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Huolto
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Yksikköä ei voi rakentaa...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Rakennettu: {LTBLUE}{NUM}{BLACK} Arvo: {LTBLUE}{CURRENCY}
@@ -2720,10 +2696,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Aikataulu - napsauta määräystä korostaaksesi.
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Ohita nykyinen pysähdys ja aloita seuraava.
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Poista korostettu määräys.
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Tee korostetusta pysäkistä pysähtymätön.
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Lisää uusi pysähdys ennen valittua, tai lisää listan viimeiseksi.
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Aseta korostettu pysähdys pakottamaan ajoneuvon odottamaan täyttä lastausta.
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Aseta korostettu pysähdys pakottamaan ajoneuvo odottamaan purkua.
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Aikataulu - valitse rivi
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Aseta kuinka kauan käskyn tulisi kestää
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Nollaa tämän rivin aika
@@ -2747,8 +2720,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Junan suuntaa ei voi kääntää...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Nimeä juna(vaunu)n tyyppi uudelleen.
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Juna(vaunu)n tyyppiä ei voi uudelleennimetä...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Pakottaa tyhjentämään rahdin valitulla pysäkillä
-STR_TRANSFER                                                    :{BLACK}Siirrä
 STR_CLEAR_TIME                                                  :{BLACK}Nollaa aika
 STR_RESET_LATENESS                                              :{BLACK}Nollaa myöhästymislaskuri
 
@@ -2833,8 +2804,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Nimeä ajoneuvon tyyppi uudelleen
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Nimeä ajoneuvon tyyppi uudelleen
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Ajoneuvotyyppiä ei voi uudelleennimetä...
-STR_GO_TO_ROADVEH_DEPOT                                         :Aseta kohteeksi huoltoasema, {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Huolto, kohteena huoltoasema, {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Muuta ajoneuvo rahtaamaan muuta rahtityyppiä.
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Korjaa ajoneuvo.
@@ -2910,8 +2879,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Uusi kapasiteetti: {GOLD}{CARGO}{}{BLACK}Sovituksen kustannus: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Laivaa ei voi sovittaa...
 STR_9842_REFITTABLE                                             :(sovitettava)
-STR_GO_TO_SHIP_DEPOT                                            :Aseta kohteeksi telakka, {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Huolto, kohteena telakka, {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Lentokentät
@@ -2982,8 +2949,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Valitse kuljetettava rahtityyppi:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Uusi kapasiteetti: {GOLD}{STRING}{}{BLACK}Sovituksen kustannus: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Lentokonetta ei voi sovittaa...
-STR_GO_TO_AIRPORT_HANGAR                                        :Aseta kohteeksi lentokonehalli, {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Huolto, kohteena lentokonehalli, {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Aikataulu)
 
--- a/src/lang/french.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/french.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1027,7 +1027,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Permettre les accélérations réalistes pour les trains: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Interdire aux trains et navires les virages à 90° : {ORANGE}{STRING} {LTBLUE} (Nécessite le NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Joindre les gares juxtaposées: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Pleine cargaison par un seul type, si 'chargement complet': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Utiliser l'algorithme amélioré de chargement : {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Charger les véhicules graduellement: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflation: {ORANGE}{STRING}
@@ -2653,26 +2652,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Les habitants célèbrent{}l'arrivée du premier train à {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Détails)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Train présent
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Aller à {STATION}
-STR_GO_TO_TRANSFER                                              :Aller à {STATION} (Transférer et charger)
-STR_8807_GO_TO_UNLOAD                                           :Aller à {STATION} (Décharger)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Aller à {STATION} (Transférer et laisser vide)
-STR_8808_GO_TO_LOAD                                             :Aller à {STATION} (Charger)
-STR_GO_TO_TRANSFER_LOAD                                         :Aller à {STATION} (Transférer et attendre pleine charge)
-STR_880A_GO_NON_STOP_TO                                         :Aller sans s'arrêter à {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Aller sans s'arrêter à {STATION} (Transférer et charger)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Aller sans s'arrêter à {STATION} (Décharger)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Aller sans s'arrêter à {STATION} (Transférer et laisser vide)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Aller sans s'arrêter à {STATION} (Charger)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Aller sans s'arrêter à {STATION} (Transférer et attendre pleine charge)
-STR_GO_TO_TRAIN_DEPOT                                           :Aller au dépot de {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Entretien au dépôt de {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Aller sans s'arrêter au dépôt de {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Aller faire l'entretien sans s'arrêter au dépôt de {TOWN}
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Voyager (sans horaires)
 STR_TIMETABLE_TRAVEL_FOR                                        :Voyager pendant {STRING}
 STR_TIMETABLE_STAY_FOR                                          :et rester pendant {STRING}
@@ -2713,10 +2693,7 @@
 STR_8820_RENAME                                                 :{BLACK}Renommer
 STR_8823_SKIP                                                   :{BLACK}Suivant
 STR_8824_DELETE                                                 :{BLACK}Supprimer
-STR_8825_NON_STOP                                               :{BLACK}Sans-arrêt
 STR_8826_GO_TO                                                  :{BLACK}Aller à
-STR_8827_FULL_LOAD                                              :{BLACK}Charger
-STR_8828_UNLOAD                                                 :{BLACK}Décharger
 STR_REFIT                                                       :{BLACK}Réaménager
 STR_REFIT_TIP                                                   :{BLACK}Choisir pour quelle cargaison réaménager pour cet ordre. Ctrl-clic pour retirer l'instruction de réaménagement
 STR_REFIT_ORDER                                                 :(Réaménager pour {STRING})
@@ -2726,7 +2703,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Basculer vers la vue ordres
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordres)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Fin des ordres - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Entretien
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Impossible de construire le véhicule ferroviaire...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Construit en: {LTBLUE}{NUM}{BLACK} Valeur: {LTBLUE}{CURRENCY}
@@ -2776,10 +2752,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Liste des ordres - Cliquer sur un ordre pour le sélectionner. Ctrl-clic pour déplacer la vue sur la station
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Sauter l'ordre courant, et enchaîner sur le suivant. Ctrl-clic pour sauter l'ordre sélectionné
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Supprime l'ordre sélectionné
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Transformer l'ordre sélectionné en Sans-Arrêt
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Insérer un nouvel ordre
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Forcer le véhicule à attendre un chargement complet pour l'ordre sélectionné
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Forcer le véhicule à attendre un déchargement complet pour l'ordre sélectionné
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Horaire - cliquer sur un ordre pour le séléctionner.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Modifier la durée de l'ordre séléctionné
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Annuler la durée de l'ordre séléctionné
@@ -2803,8 +2776,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Impossible de faire faire demi-tour...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Renommer le type de train
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Impossible de renommer le type de train...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Forcer le véhicule à vider sa cargaison pour l'ordre sélectionné
-STR_TRANSFER                                                    :{BLACK}Transfert
 STR_CLEAR_TIME                                                  :{BLACK}Annuler durée
 STR_RESET_LATENESS                                              :{BLACK}RAZ compteur de retard
 
@@ -2892,8 +2863,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Renommer type de véhicule routier
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Renommer type de véhicule routier
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Impossible de renommer type de véhicule routier...
-STR_GO_TO_ROADVEH_DEPOT                                         :Aller à {TOWN} Dépôt Routier
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Entretien au dépôt de {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Réaménager le véhicule routier pour transporter une cargaison différente
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Réaménager le véhicule routier
@@ -2969,8 +2938,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nouvelle capacité: {GOLD}{CARGO}{}{BLACK}Prix du réaménagement: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Impossible de réaménager le navire...
 STR_9842_REFITTABLE                                             :(réaménageable)
-STR_GO_TO_SHIP_DEPOT                                            :Aller au dépôt naval de {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Entretien au dépôt naval de {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Aéroports
@@ -3041,8 +3008,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Choisir le type de cargaison à transporter:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nouvelle capacité: {GOLD}{STRING}{}{BLACK}Prix du réaménagement: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Impossible de réaménager l'aéronef...
-STR_GO_TO_AIRPORT_HANGAR                                        :Aller au hangar {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Entretien au hangar {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Horaire)
 
--- a/src/lang/galician.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/galician.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -994,7 +994,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Habilita-la aceleración realista nos trens: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Prohibir os trens e os barcos facer xiros de 90 graos: {ORANGE}{STRING} {LTBLUE} (require NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Xunta-las estacións construídas xuntas: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Saír se calquera carga está chea,cando 'Carga chea': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Usa-lo algoritmo de carga mellorado: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflación: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_SELECTGOODS                                  :{LTBLUE}Descarga-la carga só cando haxa demanda: {ORANGE}{STRING}
@@ -2427,24 +2426,6 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Celebración cidadá . . .{}Chega o primeiro tren a {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detalles)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Hai un tren no camiño
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Ir a {STATION}
-STR_GO_TO_TRANSFER                                              :Ir a {STATION} (Transferir e coller carga)
-STR_8807_GO_TO_UNLOAD                                           :Ir a {STATION} (Descargar)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Ir a {STATION} (Transferir e sair valeiro)
-STR_8808_GO_TO_LOAD                                             :Ir a {STATION} (Cargar)
-STR_GO_TO_TRANSFER_LOAD                                         :Ir a {STATION} (Transferir e esperar a cargar)
-STR_880A_GO_NON_STOP_TO                                         :Ir sen parar a {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Ir sen parar a {STATION} (Transferir e coller carga)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Ir sen parar a {STATION} (Descargar)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Ir sen parar a {STATION} (Descargar e saír baleiro)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Ir sen parar a {STATION} (Cargar)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Ir sen parar a {STATION} (Transferir e esperar a cargar)
-STR_GO_TO_TRAIN_DEPOT                                           :Ir o Depósito De Trens de {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Face-lo servicio no Depósito de Trens de {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Ir sen paradas o Depósito de Trens de {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Face-lo servicio sen paradas no Depósito de Trens de {TOWN}
 
 
 STR_HEADING_FOR_TRAIN_DEPOT                                     :{ORANGE}En camiño ó Depósito de {TOWN}
@@ -2479,14 +2460,10 @@
 STR_8820_RENAME                                                 :{BLACK}Renomear
 STR_8823_SKIP                                                   :{BLACK}Saltar
 STR_8824_DELETE                                                 :{BLACK}Borrar
-STR_8825_NON_STOP                                               :{BLACK}Non Parar
 STR_8826_GO_TO                                                  :{BLACK}Ir a
-STR_8827_FULL_LOAD                                              :{BLACK}Cargar
-STR_8828_UNLOAD                                                 :{BLACK}Descarga
 STR_TIMETABLE_VIEW                                              :{BLACK}Táboa de tempo
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordes)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Fin das Ordes - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Servicio
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}No se pode construí-lo vehículo de ferrocarril...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Construído: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY}
@@ -2531,10 +2508,7 @@
 STR_SHOW_TOTAL_CARGO                                            :{BLACK}Mostra-la capacidade total do tren, dividida por tipos de carga
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Lista de Ordes - Pincha nunha orde para seleccionala
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Borra-la orde seleccionada
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Facer que a orde seleccionada sexa de Non Parar
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Insertar unha nova orde despois da seleccionada, o insertar unha nova orde ó final da lista
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A orde seleccionada forzará o vehículo a esperar ata que a carga estea completa
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A orde seleccionada forzará o vehículo a descargar
 STR_SERVICE_HINT                                                :{BLACK}saltar esta orde a non ser que sexa necesario o servicio
 STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER                        :{BLACK}Coste: {CURRENCY} Peso: {WEIGHT_S}{}Velocidade: {VELOCITY}  Potencia: {POWER}{}Coste de Mantemento: {CURRENCY}/ano{}Capacidade: {CARGO}
 STR_885C_BROKEN_DOWN                                            :{RED}Roto
@@ -2554,7 +2528,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}No se pode cambia-lo sentido do tren...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Renomea-lo tipo de vehículo de ferrocarril
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Non se pode renome-lo tipo de vehículo de ferrocarril...
-STR_TRANSFER                                                    :{BLACK}Transferir
 
 STR_TRAIN_STOPPING                                              :{RED}Parando
 STR_TRAIN_STOPPING_VEL                                          :{RED}Parando, {VELOCITY}
@@ -2627,8 +2600,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Renomea-lo tipo de vehículo de estrada
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Renomea-lo tipo de vehículo de estrada
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Non se pode renomea-lo tipo de vehículo de estrada...
-STR_GO_TO_ROADVEH_DEPOT                                         :Ir ó Depósito de Vehículos de Estrada de {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Servicio no Depósito de Vehículos de Estrada de {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Reaxustar vehículo para levar un tipo diferente de carga
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Reparar vehículo
@@ -2703,8 +2674,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova Capacidade: {GOLD}{CARGO}{}{BLACK}Coste do reaxuste: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Non se pode reaxusta-lo barco...
 STR_9842_REFITTABLE                                             :(reax.)
-STR_GO_TO_SHIP_DEPOT                                            :Ir ó Depósito de Barcos de {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Face-lo servicio no Depósito de Barcos de {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Aeroportos
@@ -2775,8 +2744,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Selecciona o tipo de carga a levar:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova capacidade: {GOLD}{STRING}{}{BLACK}Cose do reaxuste: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Non se pode reaxusta-la aeronave...
-STR_GO_TO_AIRPORT_HANGAR                                        :Ir ó hangar de {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Face-lo servicio no hangar de {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Táboa de tempo)
 
--- a/src/lang/german.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/german.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1027,7 +1027,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Realistische Zugbeschleunigung aktivieren: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Verbiete Zügen und Schiffen 90 Grad Kurven: {ORANGE}{STRING} {LTBLUE} (erfordert NWF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Bahnhöfe vereinigen, die nebeneinander gebaut werden: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Verlasse die Station, wenn eine Fracht vollgeladen ist: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Verbessertes Beladeverfahren nutzen: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Fahrzeuge schrittweise beladen: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflation: {ORANGE}{STRING}
@@ -2640,26 +2639,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Der erste Zug erreicht {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Details)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Zug ist im Weg
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Fahre nach {STATION}
-STR_GO_TO_TRANSFER                                              :Fahre nach {STATION} (Umladen und beladen)
-STR_8807_GO_TO_UNLOAD                                           :Fahre nach {STATION} (Entladen)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Fahre nach {STATION} (Umladen und leer verlassen)
-STR_8808_GO_TO_LOAD                                             :Fahre nach {STATION} (Beladen)
-STR_GO_TO_TRANSFER_LOAD                                         :Fahre nach {STATION} (Umladen und voll beladen)
-STR_880A_GO_NON_STOP_TO                                         :Fahre ohne Halt nach {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Fahre ohne Halt nach {STATION} (Umladen und beladen)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Fahre ohne Halt nach {STATION} (Entladen)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Fahre nach {STATION} (Umladen und leer verlassen)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Fahre ohne Halt nach {STATION} (Beladen)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Fahre ohne Halt nach {STATION} (Umladen und voll beladen)
-STR_GO_TO_TRAIN_DEPOT                                           :Fahre zum {TOWN} Zugdepot
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Wartung bei {TOWN} Zugdepot
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Fahre ohne Halt zu {TOWN} Zugdepot
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Wartung (ohne Halt) bei {TOWN} Zugdepot
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Fahren (ohne Fahrplan)
 STR_TIMETABLE_TRAVEL_FOR                                        :{STRING} lang fahren
 STR_TIMETABLE_STAY_FOR                                          :und {STRING} lang bleiben
@@ -2700,10 +2680,7 @@
 STR_8820_RENAME                                                 :{BLACK}Umbenennen
 STR_8823_SKIP                                                   :{BLACK}Überspringen
 STR_8824_DELETE                                                 :{BLACK}Löschen
-STR_8825_NON_STOP                                               :{BLACK}ohne Halt
 STR_8826_GO_TO                                                  :{BLACK}Nach
-STR_8827_FULL_LOAD                                              :{BLACK}Beladen
-STR_8828_UNLOAD                                                 :{BLACK}Entladen
 STR_REFIT                                                       :{BLACK}Umrüsten
 STR_REFIT_TIP                                                   :{BLACK}Frachtart auswählen, auf die umgerüstet werden soll. Strg+Klick, um einen Umrüstungsauftrag wieder zu entfernen
 STR_REFIT_ORDER                                                 :(umrüsten auf {STRING})
@@ -2711,7 +2688,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Zur Fahrplanansicht wechseln
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Aufträge)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Ende der Aufträge - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Wartung
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Schienenfahrzeug kann nicht gebaut werden...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Gebaut: {LTBLUE}{NUM}{BLACK}  Wert: {LTBLUE}{CURRENCY}
@@ -2761,10 +2737,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Auftragsliste - zum Markieren hier anklicken
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Übergehe den laufenden Auftrag, und starte den nächsten
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Lösche den markierten Auftrag
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Führe den markierten Auftrag ohne Halt durch
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Füge einen neuen Auftrag vor dem markierten Auftrag ein, oder setze ihn ans Ende der Liste
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Der markierte Auftrag wird nur nach voller Beladung ausgeführt
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Beim markierten Auftrag wird die volle Entladung veranlasst
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Fahrplan - Einträge anklicken um sie zu markieren.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Zeitrahmen für den markierten Auftrag ändern
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Zeitrahmen für den markierten Auftrag löschen
@@ -2788,8 +2761,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Die Zugbewegung kann nicht umgekehrt werden...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Zugtyp umbenennen
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Zugtyp kann nicht umbenannt werden...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Beim markierten Eintrag wird die Ladung in den Bahnhof entladen (für späteren Weitertransport)
-STR_TRANSFER                                                    :{BLACK}Umladen
 STR_CLEAR_TIME                                                  :{BLACK}Zeit löschen
 STR_RESET_LATENESS                                              :{BLACK}Verspätungszähler zurücksetzen
 
@@ -2877,8 +2848,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Fahrzeug umbenennen
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Fahrzeug umbenennen
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Fahrzeug kann nicht umbenannt werden...
-STR_GO_TO_ROADVEH_DEPOT                                         :Fahre zum Fahrzeugdepot {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Wartung im Fahrzeugdepot {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Straßenfahrzeug für den Transport anderer Güter umrüsten
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Straßenfahrzeug erneuern
@@ -2954,8 +2923,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Neue Kapazität: {GOLD}{CARGO}{}{BLACK}Kosten der Umrüstung: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Schiff kann nicht umgerüstet werden...
 STR_9842_REFITTABLE                                             :(umrüstbar)
-STR_GO_TO_SHIP_DEPOT                                            :Fahre zu {TOWN} Schiffswerft
-SERVICE_AT_SHIP_DEPOT                                           :Wartung in der {TOWN} Schiffswerft
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Flughäfen
@@ -3026,8 +2993,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Wähle Frachtart für Umrüstung aus:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Neue Kapazität: {GOLD}{STRING}{}{BLACK}Kosten der Umrüstung: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Flugzeug kann nicht umgerüstet werden...
-STR_GO_TO_AIRPORT_HANGAR                                        :Flug zum Hangar von {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Wartung im Hangar von {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Fahrplan)
 
--- a/src/lang/hungarian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/hungarian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1091,7 +1091,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Vonatok valósághű gyorsulása: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}A vonatok és a hajók nem tesznek 90 fokos kanyart: {ORANGE}{STRING} {LTBLUE} (csak NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Egymás mellé építhető vonatállomások: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Bármelyik rakomány telipakolása esetén induljon a jármű: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}A továbbfejlesztett betöltés használata: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Járművek fokozatos rakodása: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Infláció: {ORANGE}{STRING}
@@ -2754,26 +2753,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Az emberek ünnepelnek . . .{}Megérkezett az első vonat {STATION} állomásra!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} adatai
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Vonat van az útban
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING}{STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING}{STRING}
-STR_8806_GO_TO                                                  :Menj {STATION} állomásra
-STR_GO_TO_TRANSFER                                              :Menj {STATION} (odaszállít és felvesz rakományt)
-STR_8807_GO_TO_UNLOAD                                           :Menj {STATION} (lepakol)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Menj {STATION} (odaszállít és üresen továbbmegy)
-STR_8808_GO_TO_LOAD                                             :Menj {STATION} (felpakol)
-STR_GO_TO_TRANSFER_LOAD                                         :Menj {STATION} (odaszállít és teljes rakományra vár)
-STR_880A_GO_NON_STOP_TO                                         :Megállás nélkül menj {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Megállás nélkül menj {STATION} (odaszállít és felvesz rakományt)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Megállás nélkül menj {STATION} (lepakol)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Megállás nélkül menj {STATION} (odaszállít és üresen távozik)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Megállás nélkül menj {STATION} (felpakol)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Megállás nélkül menj {STATION} (odaszállít és teljes rakományra vár)
-STR_GO_TO_TRAIN_DEPOT                                           :Menj {TOWN} jármütelepre
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Javítsd a vonatot a {TOWN}i járműtelepen
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Menj megállás nélkül {TOWN}i járműtelepre
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Mindig javítsd a vonatot a {TOWN}i járműtelepen
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Útipont (időzítetlen)
 STR_TIMETABLE_TRAVEL_FOR                                        :Menjen {STRING} állomásra
 STR_TIMETABLE_STAY_FOR                                          :és maradjon {STRING.t}
@@ -2814,10 +2794,7 @@
 STR_8820_RENAME                                                 :{BLACK}Átnevez
 STR_8823_SKIP                                                   :{BLACK}Kihagy
 STR_8824_DELETE                                                 :{BLACK}Töröl
-STR_8825_NON_STOP                                               :{BLACK}Non-stop
 STR_8826_GO_TO                                                  :{BLACK}Új cél
-STR_8827_FULL_LOAD                                              :{BLACK}Telepakol
-STR_8828_UNLOAD                                                 :{BLACK}Lepakol
 STR_REFIT                                                       :{BLACK}Átalakít
 STR_REFIT_TIP                                                   :{BLACK}Válaszd ki minek a szállítására álljunk át. Ctrl+kattintással eltávolítod az átalakítási utasítást.
 STR_REFIT_ORDER                                                 :(Átalakít erre: {STRING})
@@ -2825,7 +2802,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Átkapcsolás menetrendi nézetre
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} menetrendje
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Menetrend vége - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Javítás
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Nem veheted meg a vasúti járművet...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK} Vásárlás éve: {LTBLUE}{NUM}{BLACK} Érték: {LTBLUE}{CURRENCY}
@@ -2875,10 +2851,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Menetrend - kattints egy célpontra a kijelöléséhez
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Jelenlegi úticél átugrása, és a következő aktiválása. CTRL + kattintásra a kiválasztott úticélra ugrik
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}A kijelölt célpont törlése
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A kijelölt célpont felé megállás nélkül kell haladni
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Új célpont beillesztése a kijelölt elé vagy a lista végére
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A kijelölt célponton meg kell várni, amíg telerakják a járművet
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A kijelölt célponton le kell pakolni a rakományt
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Menetrend - kijelöléshez kattints egy elemére
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}A kijelölt menetrend-sor végrehajtási idejét változtatja meg
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}A kijelölt menetrendi sorhoz tartozó végrehajtási idő törlése
@@ -2902,8 +2875,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Nem fordíthatod meg a vonatot...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Márkanév megváltoztatása
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Nem változtathatod meg a márkanevet...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}A kiválasztott állomásnál a jármű a rakományt leteszi
-STR_TRANSFER                                                    :{BLACK}Elszállít
 STR_CLEAR_TIME                                                  :{BLACK}Idő törlése
 STR_RESET_LATENESS                                              :{BLACK}Késés nullázása
 
@@ -2991,8 +2962,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}A közúti jármű márkanevének megváltoztatása
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Márkanév megváltoztatása
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Nem változtathatod meg a márkanevet...
-STR_GO_TO_ROADVEH_DEPOT                                         :Menj a  {TOWN}i garázsba
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Javítsd a járművet a {TOWN}i garázsban
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Teherautó átalakítása hogy mást is tudjon szállítani
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Teherautó átalakítása
@@ -3068,8 +3037,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Új kapacitás: {GOLD}{CARGO}{}{BLACK}Átalakítás költsége: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Nem alakíthatod át a hajót...
 STR_9842_REFITTABLE                                             :(átalakítható)
-STR_GO_TO_SHIP_DEPOT                                            :Menj a {TOWN}i kikötőbe
-SERVICE_AT_SHIP_DEPOT                                           :Javítás a(z) {TOWN} hajókikötőben
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Repterek
@@ -3140,8 +3107,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Átalakítás, hogy szállíthasson:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Új kapacitás: {GOLD}{STRING}{}{BLACK}Átalakítás költsége: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Nem alakíthatod át a repülőgépet...
-STR_GO_TO_AIRPORT_HANGAR                                        :Menj a {STATION} repülőtér hangárjába
-SERVICE_AT_AIRPORT_HANGAR                                       :Javítás a(z) {STATION} hangárban
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Menetrendesítve)
 
--- a/src/lang/icelandic.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/icelandic.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1027,7 +1027,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Raunveruleg hröðun lesta: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Banna lestum og skipum að taka 90°  beygjur: {ORANGE}{STRING} {LTBLUE} (þarfnast NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Sameina lestarstöðvar sem byggðar eru samsíða: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}'Fullferma' á við um frysta farm sem fullfermist: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Nota endurbættan algóriþma við hleðslu: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Ferma farartæki smám saman: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Verðbólga: {ORANGE}{STRING}
@@ -2652,26 +2651,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Bæjarbúar fagna . . .{}Fyrsta lest kemur við á {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Upplýsingar)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Lest fyrir
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Fer til {STATION}
-STR_GO_TO_TRANSFER                                              :Fer til {STATION} (Yfirfæra og ferma)
-STR_8807_GO_TO_UNLOAD                                           :Fer til {STATION} (Afferma)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Fer til {STATION} (Yfirfæra og yfirgefa tóm)
-STR_8808_GO_TO_LOAD                                             :Fer til {STATION} (Fullferma)
-STR_GO_TO_TRANSFER_LOAD                                         :Fer til {STATION} (Yfirfæra og fullferma)
-STR_880A_GO_NON_STOP_TO                                         :Fer viðstöðulaust til {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Fer viðstöðulaust til {STATION} (Yfirfæra og ferma)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Fer viðstöðulaust til {STATION} (Afferma)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Fer viðstöðulaust til {STATION} (Yfirfæra og yfirgefa tóm)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Fer viðstöðulaust til {STATION} (Fullferma)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Fer viðstöðulaust til {STATION} (Yfirfæra og fullferma)
-STR_GO_TO_TRAIN_DEPOT                                           :Fer til {TOWN} Lestaskýli
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Viðgerð í {TOWN} Lestar Byggingu
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Fer viðstöðulaust til {TOWN} Lestar Byggingar
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Viðgerð viðstöðulaust í {TOWN} Lestar Byggingu
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Ferðalag (ekki sett í áætlun)
 STR_TIMETABLE_TRAVEL_FOR                                        :Ferðast í {STRING}
 STR_TIMETABLE_STAY_FOR                                          :og bíða í {STRING}
@@ -2712,10 +2692,7 @@
 STR_8820_RENAME                                                 :{BLACK}Endurnefna
 STR_8823_SKIP                                                   :{BLACK}Sleppa
 STR_8824_DELETE                                                 :{BLACK}Eyða
-STR_8825_NON_STOP                                               :{BLACK}Viðstöðulaust
 STR_8826_GO_TO                                                  :{BLACK}Fara að
-STR_8827_FULL_LOAD                                              :{BLACK}Fullferma
-STR_8828_UNLOAD                                                 :{BLACK} Afferma
 STR_REFIT                                                       :{BLACK}Breyta
 STR_REFIT_TIP                                                   :{BLACK}Veldu farm til að breyta í. CTRL smelltu til að fjarlægja breytiskipun
 STR_REFIT_ORDER                                                 :(Breyta í {STRING})
@@ -2725,7 +2702,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Skipta yfir í skipanasýn
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Skipanir)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Endi skipana - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Skoðun
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Get ekki byggt lest...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Framleitt: {LTBLUE}{NUM}{BLACK} Virði: {LTBLUE}{CURRENCY}
@@ -2775,10 +2751,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Áætlun - smelltu til að velja stöð. CTRL + músartakki færir sjónarhorn að stöðinni
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Sleppa núverandi skipun og fara í þá næstu. CTRL + smella sleppir valdri skipun
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Eyða valdri skipun
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Gera valda skipun viðstöðulausa
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Skeyta inn nýrri skipun á undan valdri skipun, eða bæta við á enda listans
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Neyða lest til að bíða eftir fullum farmi í valdri skipun
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Neyða lest til að afferma sig í valdri skipun
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Áætlun - smelltu á skipun til að velja hana.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Breyta tímanum sem valin skipun ætti að taka
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Hreinsa tímann fyrir valda skipun
@@ -2802,8 +2775,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Get ekki snúið lest við...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Endurskíra lestargerð
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Get ekki endurskírt lestargerð...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Lætur lestina losa farminn á valinni skipun
-STR_TRANSFER                                                    :{BLACK}Yfirfæra
 STR_CLEAR_TIME                                                  :{BLACK}Hreinsa tíma
 STR_RESET_LATENESS                                              :{BLACK}Endurstilla seinkunnarteljara
 
@@ -2891,8 +2862,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Endurnefna tegund bifreiðar
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Endurnefna tegund bifreiðar
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE} Get ekki endurnefnat tegund bifreiðar...
-STR_GO_TO_ROADVEH_DEPOT                                         :Fara í {TOWN} bifreiðaskýli
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Skoða í  {TOWN} bifreiðaskýli
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Breyta bifreið svo hún flytji annan farm
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Breyta bifreið
@@ -2968,8 +2937,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ný burðargeta: {GOLD}{CARGO}{}{BLACK}Breytingarkostnaður: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Get ekki breytt skipi...
 STR_9842_REFITTABLE                                             :(breytanlegt)
-STR_GO_TO_SHIP_DEPOT                                            :Fara í {TOWN} Skipaskýli
-SERVICE_AT_SHIP_DEPOT                                           :Skoða í {TOWN} Skipaskýli
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Flugvellir
@@ -3040,8 +3007,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Veldu farm sem á að flytja:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ný burðargeta: {GOLD}{STRING}{}{BLACK}Breytingarkostnaður: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Get ekki breytt flugvél...
-STR_GO_TO_AIRPORT_HANGAR                                        :Fara í {STATION} flugskýli
-SERVICE_AT_AIRPORT_HANGAR                                       :Skoða í {STATION} flugskýli
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Áætlun)
 
--- a/src/lang/italian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/italian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1028,7 +1028,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Abilita accelerazione realistica per i treni: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Impedisci a treni e navi di curvare a 90°: {ORANGE}{STRING} {LTBLUE} (richiede NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Unisci le stazioni ferroviarie costruite una accanto all'altra: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Lascia stazione quando una qualsiasi merce è a pieno carico: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Usa l'algoritmo di caricamento migliorato: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Carica i veicoli gradualmente: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflazione: {ORANGE}{STRING}
@@ -2654,26 +2653,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}I cittadini festeggiano . . .{}Il primo treno arriva a {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Dettagli)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Treno di mezzo
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Vai a {STATION}
-STR_GO_TO_TRANSFER                                              :Vai a {STATION} (Trasferisci e carica merce)
-STR_8807_GO_TO_UNLOAD                                           :Vai a {STATION} (Scarica)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Vai a {STATION} (Trasferisci e parti vuoto)
-STR_8808_GO_TO_LOAD                                             :Vai a {STATION} (Carica)
-STR_GO_TO_TRANSFER_LOAD                                         :Vai a {STATION} (Trasferisci e aspetta carico completo)
-STR_880A_GO_NON_STOP_TO                                         :Vai non-stop a {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Vai non-stop a {STATION} (Trasferisci e carica merce)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Vai non-stop a {STATION} (Scarica)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Vai non-stop a {STATION} (Trasferisci e parti vuoto)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Vai non-stop a {STATION} (Carica)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Vai non-stop a {STATION} (Trasferisci e aspetta carico completo)
-STR_GO_TO_TRAIN_DEPOT                                           :Vai al Deposito ferroviario di {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Manutenzione al Deposito di {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Vai non-stop al Deposito ferroviario di {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Manutenzione non-stop al Deposito di {TOWN}
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Viaggia senza orario
 STR_TIMETABLE_TRAVEL_FOR                                        :Viaggia per {STRING}
 STR_TIMETABLE_STAY_FOR                                          :e sosta per {STRING}
@@ -2714,10 +2694,7 @@
 STR_8820_RENAME                                                 :{BLACK}Rinomina
 STR_8823_SKIP                                                   :{BLACK}Salta
 STR_8824_DELETE                                                 :{BLACK}Elimina
-STR_8825_NON_STOP                                               :{BLACK}Non-stop
 STR_8826_GO_TO                                                  :{BLACK}Vai a
-STR_8827_FULL_LOAD                                              :{BLACK}Carica
-STR_8828_UNLOAD                                                 :{BLACK}Scarica
 STR_REFIT                                                       :{BLACK}Riadatta
 STR_REFIT_TIP                                                   :{BLACK}Selezionare il tipo di carico per il quale riadattare in questo ordine.  Premere CTRL+clic per rimuovere l'istruzione di riadattamento
 STR_REFIT_ORDER                                                 :(Riadatta per {STRING})
@@ -2727,7 +2704,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Passa alla visualizzazione degli ordini
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordini)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Fine degli ordini - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Manutieni
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Impossibile costruire il veicolo ferroviario...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Costruito nel: {LTBLUE}{NUM}{BLACK} Valore: {LTBLUE}{CURRENCY}
@@ -2777,10 +2753,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Lista degli ordini - fare clic su un ordine per selezionarlo e CTRL+clic per portarsi sulla stazione corrispondente
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Salta l'ordine corrente e inizia il successivo. Tenere premuto CTRL per saltare all'ordine selezionato
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Elimina l'ordine selezionato
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Fa diventare l'ordine selezionato 'non-stop'
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Inserisce un nuovo ordine prima di quello selezionato, o lo aggiunge alla fine della lista
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Fa in modo che l'ordine selezionato forzi il veicolo ad aspettare il carico completo
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Fa in modo che l'ordine selezionato forzi il veicolo a scaricare
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Tabella oraria - fare clic su un ordine per selezionarlo
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Cambia la quantità di tempo che dovrebbe essere impiegata per l'ordine selezionato
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Elimina l'impostazione della quantità di tempo per l'ordine selezionato
@@ -2804,8 +2777,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Impossibile invertire la direzione del treno...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Rinomina tipo di veicolo ferroviario
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Impossibile rinominare il tipo di veicolo ferroviario...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Fa in modo che l'ordine selezionato forzi il veicolo a trasferire il carico
-STR_TRANSFER                                                    :{BLACK}Trasferisci
 STR_CLEAR_TIME                                                  :{BLACK}Elimina tempo
 STR_RESET_LATENESS                                              :{BLACK}Azzera ritardo
 
@@ -2893,8 +2864,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Rinomina il tipo di automezzo
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Rinomina tipo automezzo
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Impossibile rinominare il tipo di automezzo...
-STR_GO_TO_ROADVEH_DEPOT                                         :Vai al Deposito automezzi di {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Manutenzione al Deposito di {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Riadatta l'automezzo per trasportare un tipo di carico differente
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Riadatta l'automezzo
@@ -2970,8 +2939,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nuova capacità: {GOLD}{CARGO}{}{BLACK}Costo riadattamento: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Impossibile riadattare la nave...
 STR_9842_REFITTABLE                                             :(riadattabile)
-STR_GO_TO_SHIP_DEPOT                                            :Vai al Deposito navale di {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Manutenzione al Deposito navale di {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Aeroporti
@@ -3042,8 +3009,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Seleziona il tipo di carico da trasportare:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nuova capacità: {GOLD}{STRING}{}{BLACK}Costo riadattamento: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Impossibile riadattare l'aeromobile...
-STR_GO_TO_AIRPORT_HANGAR                                        :Vai all'Hangar di {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Manutenzione all'Hangar di {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Tabella oraria)
 
--- a/src/lang/japanese.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/japanese.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1026,7 +1026,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}列車の現実的な加速を使用:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}列車/船舶が直角で曲げれないようにする:{ORANGE}{STRING}{LTBLUE}(NPF が必要)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}隣接した駅を一つの駅に統合:{ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}全負荷が入の場合、何でもの貨物が「全負荷」となるときに出発:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}改良した読み込むアルゴリズムを使用:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}車両を次第に読み込む:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}インフレ:{ORANGE}{STRING}
@@ -2637,26 +2636,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}町民の祝賀{}初列車が{STATION}駅に到着!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE}(詳細)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}列車があります
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :{STATION}へ行く
-STR_GO_TO_TRANSFER                                              :{STATION}へ行く(運搬して貨物を積む)
-STR_8807_GO_TO_UNLOAD                                           :{STATION}へ行く(貨物を降ろす)
-STR_GO_TO_TRANSFER_UNLOAD                                       :{STATION}へ行く(運搬して空そのまま次へ行く)
-STR_8808_GO_TO_LOAD                                             :{STATION}へ行く(全負荷)
-STR_GO_TO_TRANSFER_LOAD                                         :{STATION}へ行く(運搬して全負荷まで待つ)
-STR_880A_GO_NON_STOP_TO                                         :{STATION}へ直行で行く
-STR_GO_TO_NON_STOP_TRANSFER                                     :{STATION}へ直行で行く(運搬して貨物を積む)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :{STATION}へ直行で行く(貨物を降ろす)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :{STATION}へ直行で行く(運搬して空そのまま次へ行く)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :{STATION}へ直行で行く(全負荷)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :{STATION}へ直行で行く(運搬して全負荷まで待つ)
-STR_GO_TO_TRAIN_DEPOT                                           :{TOWN}電車庫へ回送
-STR_SERVICE_AT_TRAIN_DEPOT                                      :{TOWN}電車庫で修理
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :{TOWN}電車庫へ直行で回送
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :{TOWN}電車庫へ直行で回送して修理
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :運行(未計画)
 STR_TIMETABLE_TRAVEL_FOR                                        :{STRING}運行
 STR_TIMETABLE_STAY_FOR                                          :{STRING}停車
@@ -2697,10 +2677,7 @@
 STR_8820_RENAME                                                 :{BLACK}名称を変更
 STR_8823_SKIP                                                   :{BLACK}スキップ
 STR_8824_DELETE                                                 :{BLACK}削除
-STR_8825_NON_STOP                                               :{BLACK}直行便
 STR_8826_GO_TO                                                  :{BLACK}駅を選択
-STR_8827_FULL_LOAD                                              :{BLACK}全負荷
-STR_8828_UNLOAD                                                 :{BLACK}降ろす
 STR_REFIT                                                       :{BLACK}再装備
 STR_REFIT_TIP                                                   :{BLACK}貨物の種類を選択してください。Control+クリックすると、再装備をキャンセルします。
 STR_REFIT_ORDER                                                 :({STRING}に再装備)
@@ -2708,7 +2685,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}時刻表を表示します
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE}(指令)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - 指令終了 - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}修理
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}鉄道車両が購入できません...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK} 購入日付:{LTBLUE}{NUM}{BLACK} 価値:{LTBLUE}{CURRENCY}
@@ -2758,10 +2734,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}指令リスト - 指令を選択するにはクリックします
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}実行中の指令をスキップして、次へ移動します。Control クリックすると、選択した指令へ移動します。
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}選択した指令を削除します
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}選択した指令を「直行便」にします
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}選択した指令の前/リストの終わりに新規指令を挿入します
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}選択した指令に全負荷まで待つことを強制します
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}選択した指令に降ろすことを強制します
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}時刻表 - 指令を選択するにはクリックします。
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}選択した指令の実行時間を変更します
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}選択した指令の実行時間を消去します
@@ -2785,8 +2758,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}列車が逆転されられません...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}鉄道車両の名称を変更
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}鉄道車両の名称が変更できません...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}選択した指令に貨物の降ろすことを含みます
-STR_TRANSFER                                                    :{BLACK}運搬
 STR_CLEAR_TIME                                                  :{BLACK}時間を消去
 STR_RESET_LATENESS                                              :{BLACK}遅刻回数をリセット
 
@@ -2874,8 +2845,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}道路車両の名称を変更
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}道路車両の名称を変更
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}道路車両の名称が変更できません...
-STR_GO_TO_ROADVEH_DEPOT                                         :{TOWN}車庫へ回送
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :{TOWN}車庫で修理
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}他の貨物の種類を運送するに道路車両を再装備します
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}道路車両を再装備
@@ -2951,8 +2920,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}再装備後の容量:{GOLD}{CARGO}{}{BLACK}再装備の価格:{GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}船舶が再装備できません...
 STR_9842_REFITTABLE                                             :(再装備可)
-STR_GO_TO_SHIP_DEPOT                                            :{TOWN}造船所へ行く
-SERVICE_AT_SHIP_DEPOT                                           :{TOWN}の造船所でサービスします
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}空港
@@ -3023,8 +2990,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}運送する貨物種類を選択:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}再装備後の容量:{GOLD}{STRING}{}{BLACK}再装備価格:{GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}飛行機が再装備できません...
-STR_GO_TO_AIRPORT_HANGAR                                        :{STATION}格納庫へ行く
-SERVICE_AT_AIRPORT_HANGAR                                       : {STATION}のハンガーでサービスします
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE}(時刻表)
 
--- a/src/lang/korean.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/korean.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1027,7 +1027,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}사실감있는 열차 가속 사용 : {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}열차/선박의 90도 회전을 금지함: {ORANGE}{STRING} {LTBLUE} (requires NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}바로 옆에 역이 있으면 그 역의 이름으로 건설 (새로운 이름X) : {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}'전체 싣기'인 경우, 단 하나의 화물이라도 차면 역을 떠남 : {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}향상된 수송 알고리즘 사용 : {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}점차적으로 차량 싣기 : {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}인플레이션 (화폐가치하락) : {ORANGE}{STRING}
@@ -2652,26 +2651,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}{STATION}에 처음으로 기차가 도착했습니다!{}사람들이 환호성을 지릅니다!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (상세정보)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}중간에 기차가 있습니다
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :{STATION} 행
-STR_GO_TO_TRANSFER                                              :{STATION} 행 (환승시키고 화물 싣기)
-STR_8807_GO_TO_UNLOAD                                           :{STATION} 행 (모두 내림)
-STR_GO_TO_TRANSFER_UNLOAD                                       :{STATION} 행 (환승시키고 화물을 모두 내림)
-STR_8808_GO_TO_LOAD                                             :{STATION} 행 (모두 싣기)
-STR_GO_TO_TRANSFER_LOAD                                         :{STATION} 행 (환승시키고 화물을 가득 실음)
-STR_880A_GO_NON_STOP_TO                                         :{STATION} 급행
-STR_GO_TO_NON_STOP_TRANSFER                                     :{STATION} 급행 (환승시키고 화물 싣기)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :{STATION} 급행 (모두 내림)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :{STATION} 급행 (환승시키고 화물을 모두 내림)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :{STATION} 급행 (모두 싣기)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :{STATION} 급행 (환승시키고 화물을 가득 실음)
-STR_GO_TO_TRAIN_DEPOT                                           :{TOWN} 차량기지행
-STR_SERVICE_AT_TRAIN_DEPOT                                      :{TOWN} 차량기지행 (점검)
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :{TOWN} 차량기지 급행
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :{TOWN} 차량기지 급행 (점검)
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :여행 (시간표 없음)
 STR_TIMETABLE_TRAVEL_FOR                                        :{STRING}로 여행
 STR_TIMETABLE_STAY_FOR                                          :그리고 {STRING}에 머무름
@@ -2712,10 +2692,7 @@
 STR_8820_RENAME                                                 :{BLACK}이름
 STR_8823_SKIP                                                   :{BLACK}건너뛰기
 STR_8824_DELETE                                                 :{BLACK}삭제
-STR_8825_NON_STOP                                               :{BLACK}급행
 STR_8826_GO_TO                                                  :{BLACK}행선지
-STR_8827_FULL_LOAD                                              :{BLACK}모두 싣기
-STR_8828_UNLOAD                                                 :{BLACK}모두 내리기
 STR_REFIT                                                       :{BLACK}개조
 STR_REFIT_TIP                                                   :{BLACK}이 경로에서 어떤 화물을 받을 것인지 선택하십시오. CTRL+클릭은 제거입니다.
 STR_REFIT_ORDER                                                 :({STRING}(으)로 개조)
@@ -2725,7 +2702,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}순서 보기로 변경
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (경로)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - 경로의 끝 - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}점검
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}기차를 생성할 수 없습니다...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   생산: {LTBLUE}{NUM}{BLACK} 가격: {LTBLUE}{CURRENCY}
@@ -2775,10 +2751,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}이 열차의 경로 - 선택하려면 클릭하세요. CTRL+클릭하시면 그 역이 있는 장소로 이동합니다.
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}현재 경로를 건너 뜁니다, 그리고 다음 경로를 시작합니다. Ctrl + 클릭은 선택된 경로로 건너 뜁니다.
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}선택된 경로를 삭제합니다.
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}선택된 경로를 급행으로 변경합니다.
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}선택된 경로 바로 전이나 목록 맨 끝에 새로운 경로를 삽입합니다.
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}선택된 경로에서 모든 화물을 가득 싣도록 변경합니다.
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}선택된 경로에서 모든 화물을 전부 내리도록 변경합니다.
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}시간표 - 경로를 클릭하면 선택합니다.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}선택한 경로가 대기하고 있을 시간 변경
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}선택한 경로의 시간 초기화
@@ -2802,8 +2775,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}열차를 회차시킬 수 없습니다...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}열차 차량 타입 이름 재지정
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}차량 타입의 이름을 다시 지정할 수 없습니다...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}선택된 경로에서 모든 화물을 내려서 쌓아놓도록 변경합니다.
-STR_TRANSFER                                                    :{BLACK}환승
 STR_CLEAR_TIME                                                  :{BLACK}시간 초기화
 STR_RESET_LATENESS                                              :{BLACK}지연 카운터 초기화
 
@@ -2891,8 +2862,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}자동차 타입의 이름 지정
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}자동차 타입의 이름 지정
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}자동차 타입의 이름을 지정할 수 없습니다...
-STR_GO_TO_ROADVEH_DEPOT                                         :{TOWN} 차고로 가는 중
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :{TOWN} 차고로 점검하러 가는 중
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}자동차가 다른 종류의 화물을 싣도록 개조
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}자동차 개조
@@ -2968,8 +2937,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}새 수송량: {GOLD}{CARGO}{}{BLACK}개조 가격: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}선박을 개조할 수 없습니다...
 STR_9842_REFITTABLE                                             :(개조 가능)
-STR_GO_TO_SHIP_DEPOT                                            :{TOWN} 정박소로 가는 중
-SERVICE_AT_SHIP_DEPOT                                           :{TOWN} 정박소로 점검하러 가는 중
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}공항
@@ -3040,8 +3007,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}수송할 화물 종류 선택:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}새 수송량: {GOLD}{STRING}{}{BLACK}개조 가격: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}항공기를 개조할 수 없습니다...
-STR_GO_TO_AIRPORT_HANGAR                                        :{STATION}공항 격납고로 가는 중
-SERVICE_AT_AIRPORT_HANGAR                                       :{STATION}공항 격납고로 점검하러 가는 중
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (시간표)
 
--- a/src/lang/lithuanian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/lithuanian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1050,7 +1050,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Realistiska traukiniu akseleracija: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Drausti traukiniams/laivams suktis 90 laips.kampu: {ORANGE}{STRING} {LTBLUE} (reik. NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Leisti sujungti greta pastatytas stoteles: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Palikti stotele, jei nors 1 krovinys pilnai pakrautas: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Naudoti patobulinta krovimo algoritma: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Pakrauti tr. priemones paeiliui: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Infliacija: {ORANGE}{STRING}
@@ -2499,24 +2498,6 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Gyventojai džiūgauja. . .{}Pirmas traukinys atvažiavo į {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detales)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Traukinys kelyje
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Vaziuoja i {STATION}
-STR_GO_TO_TRANSFER                                              :Vykti i {STATION} (Perkelti ir pakrauti krovinius)
-STR_8807_GO_TO_UNLOAD                                           :Vykti i {STATION} (Issikrauti)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Vykti i {STATION} (Perkrauti ir palikti tuscia)
-STR_8808_GO_TO_LOAD                                             :Vykti i {STATION} (Pasikrauti)
-STR_GO_TO_TRANSFER_LOAD                                         :Vykti i {STATION} (Perkrauti ir palaukti pilno pakrovimo)
-STR_880A_GO_NON_STOP_TO                                         :Vykti be sustojimo i {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Vykti be sustojimo i {STATION} (Perkrauti ir paimti krovini)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Vykti be sustojimo i {STATION} (Issikrauti)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Vykti be sustojimo i {STATION} (Perkrauti ir palikti tuscia)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Vykti be sustojimo i {STATION} (Pasikrauti)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Vykti be sustojimo i {STATION} (Perkrauti ir palaukti pilno pakrovimo)
-STR_GO_TO_TRAIN_DEPOT                                           :Vaziuoti i {TOWN} Traukinio Depa
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Remontas {TOWN} traukiniu depe
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Važiuoti nestojant į {TOWN} traukinių depą
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Remontas nestojant {TOWN} traukiniu depe
 
 
 STR_HEADING_FOR_TRAIN_DEPOT                                     :{ORANGE}Kursas i {TOWN} depa
@@ -2553,16 +2534,12 @@
 STR_8820_RENAME                                                 :{BLACK}Pervardinti
 STR_8823_SKIP                                                   :{BLACK}Praleisti
 STR_8824_DELETE                                                 :{BLACK}Istrinti
-STR_8825_NON_STOP                                               :{BLACK}Nestoti
 STR_8826_GO_TO                                                  :{BLACK}Vaziuoti
-STR_8827_FULL_LOAD                                              :{BLACK}Pakrauti
-STR_8828_UNLOAD                                                 :{BLACK}Iskrauti
 STR_REFIT                                                       :{BLACK}Naujinti
 STR_REFIT_TIP                                                   :{BLACK}Pasirinkite kurį vagonų tipą kuriuo tipu pakeisti (eilės tvarka). Spragtelėjus laikant VALD (CTRL) nurodymas pašalinamas
 STR_REFIT_ORDER                                                 :(Keisti į {STRING})
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Uzduotys)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Uzduociu pabaiga- -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Remontas
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Gelezinkelio transporto priemones nupirkti negalima...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Pastatyta: {LTBLUE}{NUM}{BLACK} Verte: {LTBLUE}{CURRENCY}
@@ -2608,10 +2585,7 @@
 STR_SHOW_TOTAL_CARGO                                            :{BLACK}Rodyti bendra traukinio talpos informacija pagal kroviniu tipa
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Nurodymų sąrašas - nurodymas pažymimas ant jo spragtelėjus. Spregtelėjimas laikant VALD (CTRL) nukelia į stotį
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Istrinti pazymeta uzduoti
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Nestoti pazymetoje stoteleje
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Iterpti nauja uzduoti pries pazymeta, arba iterpti saraso pabaigoje
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Pazymetoje stoteleje laukti, kol transporto priemone pilnai pasikraus
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Iskrauti krovini pazymetoje stoteleje
 STR_SERVICE_HINT                                                :{BLACK}Nevykdyti sios uzduoties iki tol, kol nereikes remonto
 STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER                        :{BLACK}Kaina: {CURRENCY} Svoris: {WEIGHT_S}{}Greitis: {VELOCITY}  Galia: {POWER}{}Eksplotacijos išlaidos: {CURRENCY}/metus{}Talpa: {CARGO}
 STR_885C_BROKEN_DOWN                                            :{RED}Sugedo
@@ -2631,8 +2605,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Traukinio vaziavimo krypties pakeisti negalima...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Pervardinti traukinio tipa
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Neimanoma pervardinti traukinio tipo...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Priversti iškrauti krovinius pažymėta tvarka
-STR_TRANSFER                                                    :{BLACK}Perkelti
 
 STR_TRAIN_STOPPING                                              :{RED}Stabdoma
 STR_TRAIN_STOPPING_VEL                                          :{RED}Stabdomas, {VELOCITY}
@@ -2698,8 +2670,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Pervardinti automobiliu tipa
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Pervardinti automobiliu tipa
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Negali pervardinti automobliu tipo...
-STR_GO_TO_ROADVEH_DEPOT                                         :Kursas: {TOWN} automobiliu garazas
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Remontas: {TOWN} garaze
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Perkomplektuoti transporto priemone kad galetu vezti kitoki krovinio tipa
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Perkomplektuoti
@@ -2775,8 +2745,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nauja talpa: {GOLD}{CARGO}{}{BLACK}Remonto kaina: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Negalima perorientuotilaivo...
 STR_9842_REFITTABLE                                             :(perorientuotinas)
-STR_GO_TO_SHIP_DEPOT                                            :Uzduotis: laivu depas {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Remontas {TOWN} miesto laivų depe
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Oro uostai
@@ -2847,8 +2815,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Pasirink nauja kroviniu tipa:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nauja talpa: {GOLD}{STRING}{}{BLACK}Pakeitimo kaina: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Negalima pakeisti krovinio tipo...
-STR_GO_TO_AIRPORT_HANGAR                                        :Kursas: {STATION} angaras
-SERVICE_AT_AIRPORT_HANGAR                                       :Remontas {STATION} angare
 
 
 ##id 0xB000
--- a/src/lang/norwegian_bokmal.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/norwegian_bokmal.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1025,7 +1025,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Realistisk akslerasjon for tog: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Forby tog og skip å gjøre 90-graders svinger: {ORANGE}{STRING} {LTBLUE} (trenger NGR)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Slå sammen stasjoner som bygges ved siden av hverandre: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Forlat stasjonen når én type varevogn er full, hvis 'full last' er på: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Bruk forbedret lastingsalgoritme: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Last kjøretøy gradvis: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflasjon: {ORANGE}{STRING}
@@ -2621,26 +2620,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Innbyggerne jubler . . .{}Første tog ankommer {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detaljer)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Tog i veien
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Kjør til {STATION}
-STR_GO_TO_TRANSFER                                              :Gå til {STATION} (overfør og ta last)
-STR_8807_GO_TO_UNLOAD                                           :Gå til {STATION} (last av)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Gå til {STATION} (overfør og forlat som tom)
-STR_8808_GO_TO_LOAD                                             :Gå til {STATION} (last)
-STR_GO_TO_TRANSFER_LOAD                                         :Gå til {STATION} (overfør og vent på full last)
-STR_880A_GO_NON_STOP_TO                                         :Gå uten stopp til {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Gå uten stopp til {STATION} (overfør og ta last)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Gå uten stopp til {STATION} (last av)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Gå uten stopp {STATION} (overfør og forlat som tom)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Gå uten stopp til {STATION} (last)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Gå uten stopp til {STATION} (overfør og vent på full last)
-STR_GO_TO_TRAIN_DEPOT                                           :Gå til {TOWN} togdepot
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Velikehold ved {TOWN} togstall
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Kjør uten å stoppe til {TOWN} togstall
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Vedlikehold (uten å stoppe) ved {TOWN} togstall
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Reise (uten tidstabell)
 STR_TIMETABLE_TRAVEL_FOR                                        :Reise for {STRING}
 STR_TIMETABLE_STAY_FOR                                          :og bli værende i {STRING}
@@ -2681,10 +2661,7 @@
 STR_8820_RENAME                                                 :{BLACK}Endre navn
 STR_8823_SKIP                                                   :{BLACK}Hopp over
 STR_8824_DELETE                                                 :{BLACK}Slett
-STR_8825_NON_STOP                                               :{BLACK}Uten stopp
 STR_8826_GO_TO                                                  :{BLACK}Kjør til
-STR_8827_FULL_LOAD                                              :{BLACK}Last fullt
-STR_8828_UNLOAD                                                 :{BLACK}Last av
 STR_REFIT                                                       :{BLACK}Bygg om
 STR_REFIT_TIP                                                   :{BLACK}Velg varetypen det skal endres til. CTRL-klikk for å omgjøre.
 STR_REFIT_ORDER                                                 :(Bygg om til {STRING})
@@ -2692,7 +2669,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Bytt til tidstabellvisning
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordre)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Slutt på ordre - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Vedlikehold
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Kan ikke bygge jernbanekjøretøy...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Bygget: {LTBLUE}{NUM}{BLACK} Verdi: {LTBLUE}{CURRENCY}
@@ -2742,10 +2718,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Ordreliste - trykk på en ordre for å velge den
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Hopp over den nåværende ordren og begynn på neste. CTRL + klikk hopper fram til valgte ordre
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Slett den valgte ordren
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Gjør den valgte ordren om til en
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Sett inn en ordre før den valgte ordren, eller i slutten av listen.
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Fyll alltid kjøretøyet ved valgte stasjon
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Tøm alltid kjøretøyet ved valgte stasjon
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Tidstabell - klikk en ordre for å merke den.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Endre varigheten for valgte ordre
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Fjern varigheten for valgte ordre
@@ -2769,8 +2742,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Kan ikke snu toget...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Gi tog/vogn nytt navn
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Kan ikke gi tog/vogn nytt navn...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Få den merkede ordren til å tvinge kjøretøyet til å dumpe lasten
-STR_TRANSFER                                                    :{BLACK}Overfør
 STR_CLEAR_TIME                                                  :{BLACK}Nullstill tid
 STR_RESET_LATENESS                                              :{BLACK}Nullstill senhetsteller
 
@@ -2858,8 +2829,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Endre navnet til kjøretøytypen
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Endre navnet til kjøretøytypen
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Kan ikke endre navnet til kjøretøytypen...
-STR_GO_TO_ROADVEH_DEPOT                                         :Kjør til {TOWN} garasje
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Vedlikehold ved {TOWN} garasje
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Bygg om kjøretøyet til å ta en annen type last
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Bygg om bil
@@ -2935,8 +2904,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ny kapasitet: {GOLD}{CARGO}{}{BLACK}Kostnad for ombygging: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Kan ikke bygge om skip...
 STR_9842_REFITTABLE                                             :(ombyggbart)
-STR_GO_TO_SHIP_DEPOT                                            :Seil til {TOWN} skipsdepot
-SERVICE_AT_SHIP_DEPOT                                           :Vedlikehold ved {TOWN} skipsdepot
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Flyplasser
@@ -3007,8 +2974,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Velg varetype:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ny kapasitet: {GOLD}{STRING}{}{BLACK}Kostnad for ombygging: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Kan ikke bygge om flyet...
-STR_GO_TO_AIRPORT_HANGAR                                        :Fly til {STATION} hangar
-SERVICE_AT_AIRPORT_HANGAR                                       :Vedlikehold ved {STATION} hangar
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Tidstabell)
 
--- a/src/lang/norwegian_nynorsk.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/norwegian_nynorsk.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1024,7 +1024,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Realistisk akslerasjon for tog: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Forby tog og skip mot å gjere 90-graderssvingar: {ORANGE}{STRING} {LTBLUE} (treng NGR)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Slå saman stasjoner som vert bygde på sida av einannan: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Forlat stasjonen når éin type varevogn er full, dersom 'full last' er på: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Bruk forbetra lastingsalgoritme: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Last køyretøy gradvis: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflasjon: {ORANGE}{STRING}
@@ -2620,26 +2619,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Innbyggjarane jublar . . .{}Første tog kjem til {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detaljar)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Tog i vegen
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Køyr til {STATION}
-STR_GO_TO_TRANSFER                                              :Køyr til {STATION} (overfør og ta last)
-STR_8807_GO_TO_UNLOAD                                           :Køyr til {STATION} (last av)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Køyr til {STATION} (overfør og forlat som tom)
-STR_8808_GO_TO_LOAD                                             :Køyr til {STATION} (last)
-STR_GO_TO_TRANSFER_LOAD                                         :Køyr til {STATION} (overfør og vent på full last)
-STR_880A_GO_NON_STOP_TO                                         :Køyr utan stopp til {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Køyr utan stopp til {STATION} (overfør og ta last)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Køyr utan stopp til {STATION} (last av)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Køyr utan stopp til {STATION} (overfør og forlat som tom)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Køyr utan stopp til {STATION} (last)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Køyr utan stopp til {STATION} (overfør og vent på full last)
-STR_GO_TO_TRAIN_DEPOT                                           :Køyr til {TOWN} togstall
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Velikehald ved {TOWN} togstall
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Køyr utan stopp til togstallen i {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Vedlikehald (utan å stoppe) ved {TOWN} togstall
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Reis (ikke på rutetabell)
 STR_TIMETABLE_TRAVEL_FOR                                        :Reis i  {STRING}
 STR_TIMETABLE_STAY_FOR                                          :stå i {STRING}
@@ -2680,10 +2660,7 @@
 STR_8820_RENAME                                                 :{BLACK}Gje nytt namn
 STR_8823_SKIP                                                   :{BLACK}Hopp over
 STR_8824_DELETE                                                 :{BLACK}Slett
-STR_8825_NON_STOP                                               :{BLACK}Utan stopp
 STR_8826_GO_TO                                                  :{BLACK}Køyr til
-STR_8827_FULL_LOAD                                              :{BLACK}Last fullt
-STR_8828_UNLOAD                                                 :{BLACK}Last av
 STR_REFIT                                                       :{BLACK}Bygg om
 STR_REFIT_TIP                                                   :{BLACK}Vel varetypen det skal skiftast til. CTRL-klikk for å fjerne ombyggingsinstruksjonar
 STR_REFIT_ORDER                                                 :(Bygg om til {STRING})
@@ -2691,7 +2668,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Bytt til rutetabellvinauge
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordre)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Slutt på ordre - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Vedlikehald
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Kan ikkje byggje jernbanekøyretøy...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Bygd: {LTBLUE}{NUM}{BLACK} Verdi: {LTBLUE}{CURRENCY}
@@ -2741,10 +2717,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Ordreliste - trykk på ein ordre for å velje han
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Hopp over gjedande ordre, og start neste.  CTRL + klikk hopper til valde ordre
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Slett den valde ordren
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Gjer den valde ordren om til ein
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Sett inn ein ordre før den valde ordren, eller i slutten av lista
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Alltid fyll køyretøyet ved den valde stasjonen
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Alltid tøm køyretøyet ved den valde stasjonen
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Rutetabell - klikk på ei ordre for å merka den
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Bytt tida den merka ordra skal bruke
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Fjern tida den merka ordra skal bruke
@@ -2768,8 +2741,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Kan ikkje snu toget...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Gje tog/vogn nytt namn
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Kan ikkje gje tog/vogn nytt namn...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Få den merka ordren til å tvinge køyretøyet til å dumpe lasta
-STR_TRANSFER                                                    :{BLACK}Overfør
 STR_CLEAR_TIME                                                  :{BLACK}Fjern Tid
 STR_RESET_LATENESS                                              :{BLACK}Still attende teljaren for forseining
 
@@ -2856,8 +2827,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Endre namnet til køyretøytypen
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Endre namnet til køyretøytypen
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Kan ikkje endre namnet til køyretøytypen...
-STR_GO_TO_ROADVEH_DEPOT                                         :Køyr til {TOWN} garasje
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Vedlikehald ved {TOWN} garasje
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Bygg om køyretøyet til å ta ein annan type last
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Bygg om bil
@@ -2933,8 +2902,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ny kapasitet: {GOLD}{CARGO}{}{BLACK}Ombyggingskostnader: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Kan ikkje bygge om skip...
 STR_9842_REFITTABLE                                             :(ombyggbart)
-STR_GO_TO_SHIP_DEPOT                                            :Seil til {TOWN} skipsdepot
-SERVICE_AT_SHIP_DEPOT                                           :Vedlikehald ved {TOWN} Skipsdepot
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Flyplassar
@@ -3005,8 +2972,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Vel varetype:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ny kapasitet: {GOLD}{STRING}{}{BLACK}Ombyggingskostnader: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Kan ikkje byggje om flyet...
-STR_GO_TO_AIRPORT_HANGAR                                        :Fly til {STATION} hangar
-SERVICE_AT_AIRPORT_HANGAR                                       :Service ved {STATION} Hangar.
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Rutetabell)
 
--- a/src/lang/piglatin.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/piglatin.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1018,7 +1018,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Enableway ealisticray accelerationway orfay ainstray: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Orbidfay ainstray andway ipsshay otay akemay 90 egday urnstay: {ORANGE}{STRING} {LTBLUE} (equiresray NPFay)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Oinjay aintray ationsstay uiltbay extnay otay eachway otherway: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Eavelay ationstay enwhay anyway argocay isway ullfay, ifway 'ullfay oad'lay: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Useway improvedway oadinglay algorithmway: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Oadlay ehiclesvay aduallygray: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflationway: {ORANGE}{STRING}
@@ -2610,26 +2609,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Itizenscay elebratecay . . .{}Irstfay aintray arrivesway atway {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Etailsday)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Aintray inway ethay ayway
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Ogay otay {STATION}
-STR_GO_TO_TRANSFER                                              :Ogay otay {STATION} (Ansfertray andway aketay argocay)
-STR_8807_GO_TO_UNLOAD                                           :Ogay otay {STATION} (Unloadway)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Ogay otay {STATION} (Ansfertray andway eavelay emptyway)
-STR_8808_GO_TO_LOAD                                             :Ogay otay {STATION} (Oadlay)
-STR_GO_TO_TRANSFER_LOAD                                         :Ogay otay {STATION} (Ansfertray andway aitway orfay ullfay oadlay)
-STR_880A_GO_NON_STOP_TO                                         :Ogay onnay-opstay otay {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Ogay onnay-opstay otay {STATION} (Ansfertray andway aketay argocay)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Ogay onnay-opstay otay {STATION} (Unloadway)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Ogay onnay-opstay otay {STATION} (Ansfertray andway eavelay emptyway)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Ogay onnay-opstay otay {STATION} (Oadlay)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Ogay onnay-opstay otay {STATION} (Ansfertray andway aitway orfay ullfay oadlay)
-STR_GO_TO_TRAIN_DEPOT                                           :Ogay otay {TOWN} Aintray Epotday
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Ervicesay atway {TOWN} Aintray Epotday
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Ogay onnay-opstay otay {TOWN} Aintray Epotday
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Ervicesay onnay-opstay atway {TOWN} Aintray Epotday
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Aveltray (otnay imetabledtay)
 STR_TIMETABLE_TRAVEL_FOR                                        :Aveltray orfay {STRING}
 STR_TIMETABLE_STAY_FOR                                          :andway aystay orfay {STRING}
@@ -2670,10 +2650,7 @@
 STR_8820_RENAME                                                 :{BLACK}Enameray
 STR_8823_SKIP                                                   :{BLACK}Ipskay
 STR_8824_DELETE                                                 :{BLACK}Eleteday
-STR_8825_NON_STOP                                               :{BLACK}Onnay-Opstay
 STR_8826_GO_TO                                                  :{BLACK}Ogay Otay
-STR_8827_FULL_LOAD                                              :{BLACK}Ullfay Oadlay
-STR_8828_UNLOAD                                                 :{BLACK}Unloadway
 STR_REFIT                                                       :{BLACK}Efitray
 STR_REFIT_TIP                                                   :{BLACK}Electsay atwhay argocay ypetay otay efitray otay inway isthay orderway. Ontrolcay ickclay otay emoveray efitray instructionway
 STR_REFIT_ORDER                                                 :(Efitray otay {STRING})
@@ -2681,7 +2658,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Itchsway otay ethay imetabletay iewvay
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordersway)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Endway ofway Ordersway - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Ervicesay
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}An'tcay uildbay ailwayray ehiclevay...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Uiltbay: {LTBLUE}{NUM}{BLACK} Aluevay: {LTBLUE}{CURRENCY}
@@ -2731,10 +2707,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Ordersway istlay - ickclay onway anway orderway otay ighlighthay itway. CTRLay + ickclay ollsscray otay ethay ationstay
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Ipskay ethay urrentcay orderway, andway artstay ethay extnay. CTRLay + ickclay ipsskay otay ethay electedsay orderway
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Eleteday ethay ighlightedhay orderway
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Akemay ethay ighlightedhay orderway onnay-opstay
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Insertway away ewnay orderway eforebay ethay ighlightedhay orderway, orway addway otay endway ofway istlay
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Akemay ethay ighlightedhay orderway orcefay ethay ehiclevay otay aitway orfay away ullfay oadlay
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Akemay ethay ighlightedhay orderway orcefay ethay ehiclevay otay unloadway
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Imetabletay - ickclay onway anway orderway otay ighlighthay itway.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Angechay ethay amountway ofway imetay atthay ethay ighlightedhay orderway ouldshay aketay
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Earclay ethay amountway ofway imetay orfay ethay ighlightedhay orderway
@@ -2758,8 +2731,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}An'tcay everseray irectionday ofway aintray...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Enameray aintray ehiclevay ypetay
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}An'tcay enameray aintray ehiclevay ypetay...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Akemay ethay ighlightedhay orderway orcefay ethay ehiclevay otay umpday argocay
-STR_TRANSFER                                                    :{BLACK}Ansfertray
 STR_CLEAR_TIME                                                  :{BLACK}Angechay Imetay
 STR_RESET_LATENESS                                              :{BLACK}Esetray Atelay Ountercay
 
@@ -2847,8 +2818,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Enameray oadray ehiclevay ypetay
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Enameray oadray ehiclevay ypetay
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}An'tcay enameray oadray ehiclevay ypetay...
-STR_GO_TO_ROADVEH_DEPOT                                         :Ogay otay {TOWN} Oadray Ehiclevay Epotday
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Ervicesay atway {TOWN} Oadray Ehiclevay Epotday
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Efitray oadray ehiclevay otay arrycay away ifferentday argocay ypetay
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Efitray oadray ehiclevay
@@ -2924,8 +2893,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ewnay apacitycay: {GOLD}{CARGO}{}{BLACK}Ostcay ofway efitray: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}An'tcay efitray ipshay...
 STR_9842_REFITTABLE                                             :(efittableray)
-STR_GO_TO_SHIP_DEPOT                                            :Ogay otay {TOWN} Ipshay Epotday
-SERVICE_AT_SHIP_DEPOT                                           :Ervicesay atway {TOWN} Ipshay Epotday
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Airportsway
@@ -2996,8 +2963,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Electsay argocay ypetay otay arrycay:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ewnay apacitycay: {GOLD}{STRING}{}{BLACK}Ostcay ofway efitray: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}An'tcay efitray aircraftway...
-STR_GO_TO_AIRPORT_HANGAR                                        :Ogay otay {STATION} Angarhay
-SERVICE_AT_AIRPORT_HANGAR                                       :Ervicesay atway {STATION} Angarhay
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Imetabletay)
 
--- a/src/lang/polish.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/polish.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1110,7 +1110,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Realistyczne przyspieszenie pociągów: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Zabroń pociągom i statkom skręcać o 90st: {ORANGE}{STRING} {LTBLUE} (wymaga NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Połącz stacje budowane jedna obok drugiej: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Opuść stację gdy dowolny ładunek jest pełny, przy 'Załadunku': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Użyj ulepszonego algorytmu załadunku: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Stopniowy załadunek pojazdów: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflacja: {ORANGE}{STRING}
@@ -2748,26 +2747,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Mieszkańcy świętują . . .{}Pierwszy pociąg przybył do {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Szczegóły)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Pociąg na drodze
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Idź do {STATION}
-STR_GO_TO_TRANSFER                                              :Idź do {STATION} (Przewieź i weź ładunek)
-STR_8807_GO_TO_UNLOAD                                           :Idź do {STATION} (Wyładunek)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Idź do {STATION} (Przewieź i nie bierz ładunku)
-STR_8808_GO_TO_LOAD                                             :Idź do {STATION} (Załadunek)
-STR_GO_TO_TRANSFER_LOAD                                         :Idź do {STATION} (Przewieź i czekaj na pełen załadunek)
-STR_880A_GO_NON_STOP_TO                                         :Idź bez zatrzymywania do {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Idź bez zatrzymywania do {STATION} (Przewieź i weź ładunek)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Idź bez zatrzymywania do {STATION} (Wyładunek)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Idź bez zatrzymywania do {STATION} (Przewieź i nie bierz ładunku)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Idź bez zatrzymywania do {STATION} (Załadunek)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Idź bez zatrzymywania do {STATION} (Przewieź i czekaj na pełen załadunek)
-STR_GO_TO_TRAIN_DEPOT                                           :Idź do zajezdni w {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Serwisuj w zajezdni w {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Idź bez zatrzymywania do zajezdni w {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Idź bez zatrzymywania do serwisu w zajezdni w {TOWN}
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Przejazd (bez ustalonego czasu)
 STR_TIMETABLE_TRAVEL_FOR                                        :Przejazd przez {STRING}
 STR_TIMETABLE_STAY_FOR                                          :i zostań tam przez {STRING}
@@ -2808,10 +2788,7 @@
 STR_8820_RENAME                                                 :{BLACK}Zmień nazwę
 STR_8823_SKIP                                                   :{BLACK}Pomiń
 STR_8824_DELETE                                                 :{BLACK}Usuń
-STR_8825_NON_STOP                                               :{BLACK}Non-Stop
 STR_8826_GO_TO                                                  :{BLACK}Idź do
-STR_8827_FULL_LOAD                                              :{BLACK}Załadunek
-STR_8828_UNLOAD                                                 :{BLACK}Wyładunek
 STR_REFIT                                                       :{BLACK}Przebuduj
 STR_REFIT_TIP                                                   :{BLACK}Wybierz do przewozu jakiego ładunku przebudować pojazd w tym zadaniu. CTRL+klik usuwa polecenie przebudowy
 STR_REFIT_ORDER                                                 :(Przebuduj na {STRING})
@@ -2819,7 +2796,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Otwórz widok rozkładu jazdy
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Polecenia)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Koniec poleceń - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Serwis
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Nie można wybudować lokomotywy...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Budowa: {LTBLUE}{NUM}{BLACK} Wartość: {LTBLUE}{CURRENCY}
@@ -2869,10 +2845,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Lista poleceń - klik na poleceniu aby zaznaczyć. CTRL + klik przenosi do stacji
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Pomiń obecne zadanie, i rozpocznij kolejne. CTRL + klik pomija aż do zaznaczonego zadania
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Usuń podświetlone polecenie
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Zrób z tego polecenia 'non-stop'
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Wstaw nowe polecenie na końcu listy lub przed zaznaczonym poleceniem
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Spraw aby zaznaczone polecenie zmusiło pojazd do czekania na pełny załadunek
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Spraw aby zaznaczone polecenie zmusiło pojazd do wyładunku
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Rozkład jazdy - kliknij na zadaniu aby je zaznaczyć.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Zmień ilość czasu którą zaznaczone zadanie powinno zająć
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Usuń ilość czas przeznaczoną na zaznaczone zadanie
@@ -2896,8 +2869,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Nie można odwrócić kierunku jazdy pociągu...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Zmiana nazwy typu pociągu
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Nie można zmienić nazwy typu pojazdu...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Spraw by w zaznaczonym poleceniu pojazd był zmuszony do pozostawienia ładunku dla kolejnego pojazdu
-STR_TRANSFER                                                    :{BLACK}Przewieź
 STR_CLEAR_TIME                                                  :{BLACK}Usuń czas
 STR_RESET_LATENESS                                              :{BLACK}Wyzeruj spóźnienia
 
@@ -2985,8 +2956,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Zmień nazwę typu samochodu
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Zmień nazwę typu samochodu
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Nie można zmienić nazwy typu samochodu...
-STR_GO_TO_ROADVEH_DEPOT                                         :Idź do zajezdni sam. w {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Serwisuj w zajezdni sam. w {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Przebudowa samochodu do przewozu innego typu ładunku
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Przebudowa samochodu
@@ -3062,8 +3031,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nowa pojemność: {GOLD}{CARGO}{}{BLACK}Koszt przebudowy: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Nie można przebudować statku...
 STR_9842_REFITTABLE                                             :(przebudowalny)
-STR_GO_TO_SHIP_DEPOT                                            :Idź do stoczni w {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Serwisuj w stoczni w {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Lotniska
@@ -3134,8 +3101,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Wybierz typ ładunku do przewozu:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nowa pojemność: {GOLD}{STRING}{}{BLACK}Koszt przebudowy: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Nie można przebudować samolotu...
-STR_GO_TO_AIRPORT_HANGAR                                        :Idź do hangaru na {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Serwisuj w hangarze na {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Rozkład jazdy)
 
--- a/src/lang/portuguese.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/portuguese.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1026,7 +1026,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Activar aceleração realista para comboios: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Proibir comboios e barcos de virar a 90 graus: {ORANGE}{STRING} {LTBLUE} (req. NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Juntar estações ferroviárias construídas pegadas: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Deixar estação quando uma das cargas esteja completa: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Usar algoritmo de carregamento melhorado: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Carregar veículos gradualmente: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflação: {ORANGE}{STRING}
@@ -2639,26 +2638,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Cidadãos celebram . . .{}Primeiro comboio chega a {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detalhes)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Comboio no caminho
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Ir para {STATION}
-STR_GO_TO_TRANSFER                                              :Ir para {STATION} (Transferir e levar carga)
-STR_8807_GO_TO_UNLOAD                                           :Ir para {STATION} (Descarregar)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Ir para {STATION} (Transferir e deixar vazio)
-STR_8808_GO_TO_LOAD                                             :Ir para {STATION} (Carregar)
-STR_GO_TO_TRANSFER_LOAD                                         :Ir para {STATION} (Transferir e aguardar carga completa)
-STR_880A_GO_NON_STOP_TO                                         :Ir sem parar para {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Ir sem parar para {STATION} (Transfer ir e levar carga)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Ir sem parar para {STATION} (Descarregar)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Ir sem parar para {STATION} (Transferir e deixar vazio)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Ir sem parar para {STATION} (Carregar)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Ir sem parar para {STATION} (Transferir e aguardar carga completa)
-STR_GO_TO_TRAIN_DEPOT                                           :Ir para o depósito de {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Manutenção no depósito de {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Ir sem parar para o depósito de {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Manutenção no depósito de {TOWN} sem parar
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Viagem (sem programação)
 STR_TIMETABLE_TRAVEL_FOR                                        :Viajar durante {STRING}
 STR_TIMETABLE_STAY_FOR                                          :e ficar durante {STRING}
@@ -2699,10 +2679,7 @@
 STR_8820_RENAME                                                 :{BLACK}Renomear
 STR_8823_SKIP                                                   :{BLACK}Saltar
 STR_8824_DELETE                                                 :{BLACK}Eliminar
-STR_8825_NON_STOP                                               :{BLACK}Sem parar
 STR_8826_GO_TO                                                  :{BLACK}Ir Para
-STR_8827_FULL_LOAD                                              :{BLACK}Carga
-STR_8828_UNLOAD                                                 :{BLACK}Descarga
 STR_REFIT                                                       :{BLACK}Converter
 STR_REFIT_TIP                                                   :{BLACK}Seleccionar o tipo de carga a converter nesta ordem. Pressionar Ctrl e botão-esquerdo do rato para remover instrução de conversão
 STR_REFIT_ORDER                                                 :(Converter para {STRING})
@@ -2710,7 +2687,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Mudar para a vista de horário
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ordens)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Fim de Ordens - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Manutenção
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Não é possível construir veículo ferroviário...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Construído: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY}
@@ -2760,10 +2736,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Lista de ordens - clique numa ordem para a seleccionar
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Salta a ordem actual, e inicia a próxima. CTRL + clique salta para a ordem seleccionada
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Eliminar a ordem seleccionada
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A ordem seleccionada fará com que o veículo não para noutras estações pelo caminho
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Inserir nova ordem antes da ordem seleccionada, ou adicionar ao fim da lista
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A ordem seleccionada fará com que o veículo espere carregar completamente
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}A ordem seleccionada forçará o veículo a descarregar
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Horário - clique numa ordem para a seleccionar.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Muda o espaço de tempo que a ordem seleccionada deve durar
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Apagar o tempo que dura a ordem seleccionada
@@ -2787,8 +2760,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Não é possível inverter a direcção do comboio...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Renomear tipo de veículo ferroviário
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Não é possível renomear tipo de veículo ferroviário...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}A ordem seleccionada forçará o veículo a largar a carga
-STR_TRANSFER                                                    :{BLACK}Transferir
 STR_CLEAR_TIME                                                  :{BLACK}Apagar Tempo
 STR_RESET_LATENESS                                              :{BLACK}Apagar Contad. Atraso
 
@@ -2876,8 +2847,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Renomear tipo de veículo de estrada
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Renomear tipo de veículo de estrada
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Não é possível renomear tipo de veículo de estrada...
-STR_GO_TO_ROADVEH_DEPOT                                         :Ir para o depósito de {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Manutenção no depósito de {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Reconverter veículo para transportar outro tipo de carga
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Reconverter veículo
@@ -2953,8 +2922,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova capacidade: {GOLD}{CARGO}{}{BLACK}Custo da adaptação: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Não é possível adaptar barco...
 STR_9842_REFITTABLE                                             :(adaptável)
-STR_GO_TO_SHIP_DEPOT                                            :Ir para o depósito naval de {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Manutenção no estaleiro de {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Aeroportos
@@ -3025,8 +2992,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Seleccionar tipo de carga:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova capacidade: {GOLD}{STRING}{}{BLACK}Custo da conversão: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Não é possível converter aeronave...
-STR_GO_TO_AIRPORT_HANGAR                                        :Ir para o hangar de {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Manutenção no hangar de {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Horário)
 
--- a/src/lang/romanian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/romanian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1024,7 +1024,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Permite acceleratie realisticã pentru trenuri: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Interzice trenurilor si navelor sa faca intoarceri de 90 de grade: {ORANGE}{STRING} {LTBLUE} (necesita NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Uneste gãrile alãturate: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Pãrãseste statia când orice tip de marfã este 'full load': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Foloseste algoritm incarcare imbunatatit: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Incarca vehiculele gradual: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflatia: {ORANGE}{STRING}
@@ -2620,26 +2619,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Cetăţenii sărbătoresc {}sosirea primului tren la {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detalii)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Tren în drum
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Mergi la {STATION}
-STR_GO_TO_TRANSFER                                              :Mergi la {STATION} (Preia încărcătura pentru transfer)
-STR_8807_GO_TO_UNLOAD                                           :Mergi la {STATION} (Descarcă)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Mergi la {STATION} (Descarcă încărcătura pentru transfer)
-STR_8808_GO_TO_LOAD                                             :Mergi la {STATION} (Încarcă)
-STR_GO_TO_TRANSFER_LOAD                                         :Mergi la {STATION} (Aşteaptă 100% încărcătură pentru transfer)
-STR_880A_GO_NON_STOP_TO                                         :Mergi fără oprire la {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Mergi fără oprire la {STATION} (Preia încărcătura pentru transfer)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Mergi fără oprire la {STATION} (Descarcă)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Mergi fără oprire la {STATION} (Descarcă încărcătura pentru transfer)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Mergi fără oprire la {STATION} (Încarcă)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Mergi fără oprire la {STATION} (Aşteaptă 100% încărcătură pentru transfer)
-STR_GO_TO_TRAIN_DEPOT                                           :Mergi la depoul {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Service la Depoul {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Mergi fără oprire la Depoul {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Non-stop pt. service la Depoul {TOWN}
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Calatorie (fara orar)
 STR_TIMETABLE_TRAVEL_FOR                                        :Calatorii pentru {STRING}
 STR_TIMETABLE_STAY_FOR                                          :si opriri pentru {STRING}
@@ -2680,10 +2660,7 @@
 STR_8820_RENAME                                                 :{BLACK}Redenumeşte
 STR_8823_SKIP                                                   :{BLACK}Sãri peste
 STR_8824_DELETE                                                 :{BLACK}Şterge
-STR_8825_NON_STOP                                               :{BLACK}Fără oprire
 STR_8826_GO_TO                                                  :{BLACK}Mergi la
-STR_8827_FULL_LOAD                                              :{BLACK}Încarcă 100%
-STR_8828_UNLOAD                                                 :{BLACK}Descarcă
 STR_REFIT                                                       :{BLACK}Rearanjeaza
 STR_REFIT_TIP                                                   :{BLACK}Alege tipul de marfa pentru rearanjare. Control+click pt a anula rearanjarea
 STR_REFIT_ORDER                                                 :(Rearanjeaza in {STRING})
@@ -2691,7 +2668,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Comuta in modul de vizualizare orar
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Comenzi)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Sfârşitul comenzilor - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Service
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Nu pot construi vehiculul...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Cumpărat: {LTBLUE}{NUM}{BLACK} Valoare: {LTBLUE}{CURRENCY}
@@ -2741,10 +2717,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Lista de comenzi - clic pe comandã pentru a o selecta
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Renunta la comanta acruala si preia-o pe urmatoarea. CTRL + click face salt la comanda selectata
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Sterge comanda selectatã
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Circulă fără oprire până la destinaţia selectată
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Introdu o comandã înaintea celei selectate sau adaugã o comandã la sfârsitul listei
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Forteazã trenul sã astepte la destinatia selectatã pânã la umplerea la capacitate maximã
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Forteazã trenul sã descarce marfa la destinatia selectatã
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Orar - click on an order to highlight it.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Modifica durata de timp alocata pentru comanda selectata
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Elimina durata de timp pentru comanda selectata
@@ -2768,8 +2741,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Nu pot schimba sensul de mers al trenului...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Redenumeste modelul vehiculului feroviar
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Nu pot redenumi modelul acestui vehicul...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Comanda selectatã forteazã vehiculul sã arunce încãrcãtura
-STR_TRANSFER                                                    :{BLACK}Transferă
 STR_CLEAR_TIME                                                  :{BLACK}Curata timp
 STR_RESET_LATENESS                                              :{BLACK}Reinitializeaza contorul de intarziere
 
@@ -2857,8 +2828,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Redenumeste modelul de autovehicul
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Redenumeste modelul autovehiculului
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Nu pot redenumi modelul acestui autovehicul...
-STR_GO_TO_ROADVEH_DEPOT                                         :Mergi la Autobaza {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Service la Autobaza {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Adapteaza autovehiculul pentru o incarcatura diferita
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Adaptare autovehicul
@@ -2934,8 +2903,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Noua capacitate: {GOLD}{CARGO}{}{BLACK}Costul transformãrii: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Nu pot schimba tipul navei...
 STR_9842_REFITTABLE                                             :(suportã alte mãrfuri)
-STR_GO_TO_SHIP_DEPOT                                            :Mergi la Santierul Naval {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Întreţinere la şantierul naval {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Airoporturi
@@ -3006,8 +2973,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Alege marfa de transportat:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Noua capacitate: {GOLD}{STRING}{}{BLACK}Costul transformãrii: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Nu pot schimba tipul de încãrcãturã...
-STR_GO_TO_AIRPORT_HANGAR                                        :Mergi la Hangarul {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Întreţinere la hangarul {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Orar)
 
--- a/src/lang/russian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/russian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1028,7 +1028,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Включить реалистичное ускорение для поездов: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Запретить 90-градусные повороты на ж/д и море: {ORANGE}{STRING} {LTBLUE} (NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Объединять рядом построенные ж/д станции: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Покидать станцию, когда любой груз полностью загружен: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Использовать улучшенный алгоритм загрузки: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Постепенная загрузка транспорта: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Включить инфляцию: {ORANGE}{STRING}
@@ -2660,26 +2659,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Жители празднуют!{}Первый поезд прибыл на станцию {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Детали)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Поезд мешает
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Ехать к ст. {STATION}
-STR_GO_TO_TRANSFER                                              :Ехать к ст. {STATION} (Трансфер)
-STR_8807_GO_TO_UNLOAD                                           :Ехать к ст. {STATION} (Не грузиться)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Ехать к ст. {STATION} (Трансфер и не грузиться)
-STR_8808_GO_TO_LOAD                                             :Ехать к ст. {STATION} (Полная загрузка)
-STR_GO_TO_TRANSFER_LOAD                                         :Ехать к ст. {STATION} (Трансфер и полная загрузка)
-STR_880A_GO_NON_STOP_TO                                         :Ехать к ст. {STATION} без остановки
-STR_GO_TO_NON_STOP_TRANSFER                                     :Ехать к ст. {STATION} без остановки (Трансфер)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Ехать к ст. {STATION} без остановки (Не грузиться)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Ехать к ст. {STATION} без остановки (Трансфер и не грузиться)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Ехать к ст. {STATION} без остановки (Полная загрузка)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Ехать к ст. {STATION} без остановки (Трансфер и полная загрузка)
-STR_GO_TO_TRAIN_DEPOT                                           :Ехать в депо {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Обслужиться в депо {TOWN}
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Ехать в депо {TOWN} без остановки
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Обслужиться в депо {TOWN} без остановки
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Путешествует (не учитывается)
 STR_TIMETABLE_TRAVEL_FOR                                        :Идти до {STRING}
 STR_TIMETABLE_STAY_FOR                                          :и ждать {STRING}
@@ -2720,10 +2700,7 @@
 STR_8820_RENAME                                                 :{BLACK}Переимен.
 STR_8823_SKIP                                                   :{BLACK}Пропуск
 STR_8824_DELETE                                                 :{BLACK}Удалить
-STR_8825_NON_STOP                                               :{BLACK}Без ост.
 STR_8826_GO_TO                                                  :{BLACK}Ехать
-STR_8827_FULL_LOAD                                              :{BLACK}Полный
-STR_8828_UNLOAD                                                 :{BLACK}Без груза
 STR_REFIT                                                       :{BLACK}Переоб.
 STR_REFIT_TIP                                                   :{BLACK}Выберите тип грузов для переоборудования. CTRL+клик - для удаления.
 STR_REFIT_ORDER                                                 :(Переоборуд. для {STRING})
@@ -2731,7 +2708,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Просмотр расписания
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Задания)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Конец заданий - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Обслуж.
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Невозможно построить ж/д транспорт...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Построен: {LTBLUE}{NUM}{BLACK} Стоимость: {LTBLUE}{CURRENCY}
@@ -2781,10 +2757,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Показ списка заданий - щелкните для выделения. Если зажать CTRL - обзор станции.
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Пропустить данное задание и начать следующее. CTRL + клик пропускает выделенное задание.
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Удалить выделенное задание
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Ехать по выбранному заданию без остановок
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Вставить новое задание перед выделенным, или в конец списка
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Задать ожидание полной загрузки
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Задать ожидание полной разгрузки
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Расписание - выберите задание.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Изменить время для выделенного задания
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Очистить время в выделенном задании
@@ -2808,8 +2781,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Невозможно развернуть поезд...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Переименовать тип вагона
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Невозможно переименовать тип вагона ...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}По выделенному приказу произойдет принудительная разгрузка транспортного средства
-STR_TRANSFER                                                    :{BLACK}Трансфер
 STR_CLEAR_TIME                                                  :{BLACK}Сбросить Время
 STR_RESET_LATENESS                                              :{BLACK}Сброс счетчика
 
@@ -2897,8 +2868,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Переименовать автомобиль
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Переименовать автомобиль
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Невозможно переименовать автомобиль...
-STR_GO_TO_ROADVEH_DEPOT                                         :Ехать в гараж {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Обслуж. в гараже {TOWN}
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Переоборуд. авто для доставки разных видов грузов.
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Переоборуд. авто
@@ -2974,8 +2943,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Новая емкость: {GOLD}{CARGO}{}{BLACK}Стоимость переоборудования: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Не могу переоборудовать корабль......
 STR_9842_REFITTABLE                                             :(переоб.)
-STR_GO_TO_SHIP_DEPOT                                            :Плыть в Док {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Обслуживание в доке {TOWN}
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Аэропорты
@@ -3046,8 +3013,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Выберите тип груза для перевозки:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Новая емкость: {GOLD}{STRING}{}{BLACK}Стоимость переоборуд.: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Невозможно переоборудовать...
-STR_GO_TO_AIRPORT_HANGAR                                        :Лететь в Ангар {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Сервис в ангаре {STATION}
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Расписание)
 
--- a/src/lang/simplified_chinese.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/simplified_chinese.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1018,7 +1018,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}打开仿真的列车加速模式:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}禁止列车和轮船 90 度转弯:{ORANGE}{STRING} {LTBLUE} (需要 NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}将相邻的火车站进行整合:{ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}在“装货”模式时,只要装满任意一种即可:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}使用进阶的装货算法:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}装货时循序渐进:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}通货膨胀:{ORANGE}{STRING}
@@ -2479,26 +2478,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}市民举行庆祝仪式……{}第一列火车抵达 {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (详细信息)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}指定位置有列车
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :前往 {STATION}
-STR_GO_TO_TRANSFER                                              :前往 {STATION} (转运并装货)
-STR_8807_GO_TO_UNLOAD                                           :前往 {STATION} (全部卸货)
-STR_GO_TO_TRANSFER_UNLOAD                                       :前往 {STATION} (转运且不装货)
-STR_8808_GO_TO_LOAD                                             :前往 {STATION} (等待装满)
-STR_GO_TO_TRANSFER_LOAD                                         :前往 {STATION} (转运并等待装满)
-STR_880A_GO_NON_STOP_TO                                         :前往(不停) {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :前往(不停) {STATION} (转运并装货)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :前往(不停) {STATION} (全部卸货)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :前往(不停) {STATION} (转运且不装货)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :前往(不停) {STATION} (等待装满)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :前往(不停) {STATION} (转运并等待装满)
-STR_GO_TO_TRAIN_DEPOT                                           :前往 {TOWN} 车库
-STR_SERVICE_AT_TRAIN_DEPOT                                      :在 {TOWN} 车库保养
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :前往(不停) {TOWN} 车库
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :在 {TOWN} 车库保养(不停)
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :旅行 (无时间表)
 STR_TIMETABLE_TRAVEL_FOR                                        :前往 {STRING} 旅行
 STR_TIMETABLE_STAY_FOR                                          :并且在 {STRING} 停留
@@ -2539,10 +2519,7 @@
 STR_8820_RENAME                                                 :{BLACK}重命名
 STR_8823_SKIP                                                   :{BLACK}跳过
 STR_8824_DELETE                                                 :{BLACK}删除
-STR_8825_NON_STOP                                               :{BLACK}不停
 STR_8826_GO_TO                                                  :{BLACK}前往
-STR_8827_FULL_LOAD                                              :{BLACK}装货
-STR_8828_UNLOAD                                                 :{BLACK}卸货
 STR_REFIT                                                       :{BLACK}改装
 STR_REFIT_TIP                                                   :{BLACK}选择要在调度计划中改装的货物类型。CTRL+单击可以去掉说明。
 STR_REFIT_ORDER                                                 :(改装为 {STRING})
@@ -2550,7 +2527,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}切换到时间表视图
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (调度计划)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}-- 调度计划结束 --
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}保养
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}不能购买列车……
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   建造时间:{LTBLUE}{NUM}{BLACK} 价值:{LTBLUE}{CURRENCY}
@@ -2600,10 +2576,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}调度列表 - 单击一个调度指令可以使之高亮化. CTRL + 单击可以将视点移动到相应的车站
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}跳过当前命令并执行下一条命令。CTRL并单击可以跳过选定的命令
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}删除高亮的调度命令
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}命令铁车在高亮的指令对应的车站不停车
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}在调度列表的结尾或高亮项目的前面增加一条新指令
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}命令列车在高亮项目对应的车站装满货物
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}命令列车在高亮项目对应的车站卸载货物
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}时间表 - 单击一个命令可以使其高亮。
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}改变高亮选择的命令执行的时间
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}清除高亮选择的命令的执行时间
@@ -2627,8 +2600,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}不能命令列车调头...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}重命名车辆的类型
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}不能重命名车辆的类型...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}命令列车在高亮指令对应的车站寄存货物
-STR_TRANSFER                                                    :{BLACK}联运
 STR_CLEAR_TIME                                                  :{BLACK}清除时间
 STR_RESET_LATENESS                                              :{BLACK}清除晚点计数器
 
@@ -2710,8 +2681,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}重命名汽车型号
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}重命名汽车型号
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}不能重命名汽车型号……
-STR_GO_TO_ROADVEH_DEPOT                                         :前往 {TOWN} 车库
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :在 {TOWN} 车库进行保养
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}改装汽车以装载其他货物
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}改装汽车
@@ -2787,8 +2756,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}新的装载能力:{GOLD}{CARGO}{}{BLACK}改装费用:{GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}不能改装船只……
 STR_9842_REFITTABLE                                             :(可改装)
-STR_GO_TO_SHIP_DEPOT                                            :前往 {TOWN} 船坞
-SERVICE_AT_SHIP_DEPOT                                           :在 {TOWN} 船坞保养
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}机场
@@ -2859,8 +2826,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}选择要运输的货物类型:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}新的装载能力:{GOLD}{STRING}{}{BLACK}改装费用:{GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}不能改装飞机……
-STR_GO_TO_AIRPORT_HANGAR                                        :前往 {STATION} 机库
-SERVICE_AT_AIRPORT_HANGAR                                       :在 {STATION} 机库保养
 
 
 ##id 0xB000
--- a/src/lang/slovak.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/slovak.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1090,7 +1090,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Zapnut realnu akceleraciu vlakov: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Zakázat vlakom a lodiam otácanie o 90 st.: {ORANGE}{STRING} {LTBLUE} (vyžaduje NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Umoznit spajanie stanic: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Opustit stanicu ked jeden z nakladov je plny, pri 'plne naloz': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Pouzit vylepseny algoritmus nakladania: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Postupné nakladanie vozidiel: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflácia: {ORANGE}{STRING}
@@ -2715,26 +2714,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Mesto oslavuje . . .{}Prvy vlak dorazil do stanice {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detaily)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Vlak v ceste
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Chod do {STATION}
-STR_GO_TO_TRANSFER                                              :Chod do {STATION} (prelozit a nalozit iny naklad)
-STR_8807_GO_TO_UNLOAD                                           :Chod do {STATION} (vylozit)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Chod do {STATION} (prelozit a nechat prazdne)
-STR_8808_GO_TO_LOAD                                             :Chod do {STATION} (nalozit)
-STR_GO_TO_TRANSFER_LOAD                                         :Chod do {STATION} (prelozit a plne nalozit)
-STR_880A_GO_NON_STOP_TO                                         :Chod bez zastavenia do {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Chod bez zastavenia do {STATION} (prelozit a nalozit iny naklad)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Chod bez zastavenia do {STATION} (vylozit)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Chod bez zastavenia do {STATION} (prelozit a nechat prazdne)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Chod bez zastavenia do {STATION} (nalozit)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Chod bez zastavenia do {STATION} (prelozit a plne nalozit)
-STR_GO_TO_TRAIN_DEPOT                                           :Chod do depa {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Opravit v {TOWN} Vlakovom Depe
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Chod bez zastavenia do depa {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Opravovat bez zastavenia v depe {TOWN}
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Cesta (neurcený cas)
 STR_TIMETABLE_TRAVEL_FOR                                        :Cesta do {STRING}
 STR_TIMETABLE_STAY_FOR                                          :prestávka {STRING}
@@ -2775,10 +2755,7 @@
 STR_8820_RENAME                                                 :{BLACK}Premenovat
 STR_8823_SKIP                                                   :{BLACK}Preskocit
 STR_8824_DELETE                                                 :{BLACK}Vynechat
-STR_8825_NON_STOP                                               :{BLACK}Non-Stop
 STR_8826_GO_TO                                                  :{BLACK}Chod do
-STR_8827_FULL_LOAD                                              :{BLACK}Plne naloz
-STR_8828_UNLOAD                                                 :{BLACK}Vylozit
 STR_REFIT                                                       :{BLACK}Prestavba
 STR_REFIT_TIP                                                   :{BLACK}Vyberte typ nákladu na prestavbu v tomto poradí. CTRL+klik na odstránenie príkazu prestavby
 STR_REFIT_ORDER                                                 :(Prestavba na {STRING})
@@ -2788,7 +2765,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Prepnút na zobrazenie príkazov
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Prikazy)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Koniec prikazov - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Oprava
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Nemozno kupit vlak...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Vyrobene: {LTBLUE}{NUM}{BLACK} Hodnota: {LTBLUE}{CURRENCY}
@@ -2838,10 +2814,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Zoznam prikazov - kliknut na prikaz pre oznacenie
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Preskocit aktuálny príkaz a zacat další. Podržte CTRL pre skok na oznacený príkaz
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Vymazat oznaceny prikaz
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Oznaceny prikaz bude prevedeny bez zastavenia
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Vlozit novy prikaz pred oznaceny prikaz, alebo na koniec zoznamu
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Na oznacenom prikaze bude vozidlo cakat na plne nalozenie
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Na oznacenom prikaze bude vozidlo uplne vylozene
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Cestovný poriadok - kliknite na príkaz pre jeho oznacenie
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Zmenit dlžku trvania oznaceného príkazu
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Vymazat dlžku trvania oznaceného príkazu
@@ -2865,8 +2838,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Nemozno zmenit smer vlaku ...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Premenovat typ vlaku
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Typ vlaku nemoze byt premenovany ...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}U vyznaceneho prikazu musi vozidlo vylozit naklad
-STR_TRANSFER                                                    :{BLACK}Prekladka
 STR_CLEAR_TIME                                                  :{BLACK}Vymazat cas
 STR_RESET_LATENESS                                              :{BLACK}Reset meskania
 
@@ -2954,8 +2925,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Premenovat typ automobilu
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Premenovat typ automobilu
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Nemozno premenovat typ automobilu ...
-STR_GO_TO_ROADVEH_DEPOT                                         :Chod do {TOWN} garaze
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Opravit v {TOWN} garazi
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Prestavat vozidlo na prepravu ineho druhu nakladu
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Prestavat vozidlo
@@ -3031,8 +3000,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nová kapacita: {GOLD}{CARGO}{}{BLACK}Cena prestavby: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Nemozno prestavat lod...
 STR_9842_REFITTABLE                                             :(mozna prestavba)
-STR_GO_TO_SHIP_DEPOT                                            :Chod do {TOWN} Lodenice
-SERVICE_AT_SHIP_DEPOT                                           :Opravit v {TOWN} lodenici
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Letiska
@@ -3103,8 +3070,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Vybrat typ noveho nakladu:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nová kapacita: {GOLD}{STRING}{}{BLACK}Náklady na prestavbu: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Nie je mozne prestavat na novy typ nakladu ...
-STR_GO_TO_AIRPORT_HANGAR                                        :Chod do {STATION} Hangaru
-SERVICE_AT_AIRPORT_HANGAR                                       :Opravit v {STATION} hangári
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Cestovný poriadok)
 
--- a/src/lang/slovenian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/slovenian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1068,7 +1068,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Omogoči bolj resnične pospeške vlakov: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Prepreči vlakom in ladjam 90-stopinjske zavoje: {ORANGE}{STRING} {LTBLUE} (potrebuje NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Združi železniške postaje, ki si stojijo blizu: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Zapusti postajo ko je ves tovor napolnjen ob podukazu 'napolni do vrha': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Uporabi izboljšan algoritem polnjenja: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Postopno polni vozila: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflacija: {ORANGE}{STRING}
@@ -2732,26 +2731,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Prebivalci praznujejo . . .{}Prvi vlak je slovesno pripeljal{}na postajo {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Podrobnosti)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Vlak v napoto
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING}{STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING}{STRING}
-STR_8806_GO_TO                                                  :Pojdi do {STATION}
-STR_GO_TO_TRANSFER                                              :Pojdi do {STATION} (Pretovori in vzemi tovor)
-STR_8807_GO_TO_UNLOAD                                           :Pojdi do {STATION} (Raztovori)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Pojdi do {STATION} (Pretovori in pusti prazno)
-STR_8808_GO_TO_LOAD                                             :Pojdi do  {STATION} (Naloži)
-STR_GO_TO_TRANSFER_LOAD                                         :Pojdi do {STATION} (Prenesi in počakaj na polno breme)
-STR_880A_GO_NON_STOP_TO                                         :Pojdi brez postanka do {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Pojdi brez postanka do {STATION} (Prenesi in vzemi tovor)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Pojdi brez postanka do {STATION} (Raztovori)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Pojdi brez postanka do {STATION} (Pretovori in pusti prazno)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Pojdi brez postanka do {STATION} (Naloži)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Pojdi brez postanka do {STATION} (Prenesi in počakaj na polno breme)
-STR_GO_TO_TRAIN_DEPOT                                           :Pojdi v {TOWN} železniško garažo
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Na servis v {TOWN} železniško garažo
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Pojdi brez postanka do garaže {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Non stop na servis v {TOWN} železniško garažo
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Potovanje (brez časovnih tabel)
 STR_TIMETABLE_TRAVEL_FOR                                        :Potuj za {STRING}
 STR_TIMETABLE_STAY_FOR                                          :in ostani za {STRING}
@@ -2792,10 +2772,7 @@
 STR_8820_RENAME                                                 :{BLACK}Preimenuj
 STR_8823_SKIP                                                   :{BLACK}Preskoči
 STR_8824_DELETE                                                 :{BLACK}Izbriši
-STR_8825_NON_STOP                                               :{BLACK}Brez postanka
 STR_8826_GO_TO                                                  :{BLACK}Pojdi do
-STR_8827_FULL_LOAD                                              :{BLACK}Naloži polno
-STR_8828_UNLOAD                                                 :{BLACK}Raztovori
 STR_REFIT                                                       :{BLACK}Predelaj
 STR_REFIT_TIP                                                   :{BLACK}Izberi predelavo za vrsto tovora, ki ga želiš. CTRL + klik za odstranitev ukaza predelave
 STR_REFIT_ORDER                                                 :(Predelaj za {STRING})
@@ -2805,7 +2782,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Preklop na pogled ukazov
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Ukazi)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Konec ukazov - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Servis
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Ni mogoče kupiti vozila ...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Zgrajeno: {LTBLUE}{NUM}{BLACK} Vrednost: {LTBLUE}{CURRENCY}
@@ -2855,10 +2831,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Seznam navodil - klikni na ukaz, da ga izbereš. CTRL+klik prikaže postajo
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Preskoči trenutni ukaz in začni naslednjega. CTRL + klik preskoči na izbran ukaz
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Zbriši izbran ukaz
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Označi izbran ukaz kot brez-postanka
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Vstavi nov ukaz pred izbranega ali pa ga dodaj na koncu seznama
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Označi izbran ukaz, naj vozilo čaka na polno obremenitev
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Označi izbran ukaz, naj se vozilo v celoti raztovori
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Časovna tabela - clikni na ukaz za ga označit.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Spremeni čas, ki naj bi ga označeni ukaz porabil
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Počisti čas za označen ukaz
@@ -2882,8 +2855,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Ni mogoče spremeniti smeri vlaka ...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Preimenuj železniško vozilo
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Ni mogoče preimenovati železniškega vozila ...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Nastavi označen ukaz, naj prisili vozilo, da se raztovori
-STR_TRANSFER                                                    :{BLACK}Pretovori
 STR_CLEAR_TIME                                                  :{BLACK}Počisti čas
 STR_RESET_LATENESS                                              :{BLACK}Resetiraj  Late Counter
 
@@ -2971,8 +2942,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Preimenuj cestno vozilo
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Preimenuj cestno vozilo
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Ni mogoče preimenovati cestnega vozila ...
-STR_GO_TO_ROADVEH_DEPOT                                         :Pojdi v garažo v mestu {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Na servis v {TOWN} cestno garažo
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Predelaj vozilo za prevoz druge vrste tovora
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Predelaj cestno vozilo
@@ -3048,8 +3017,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova zmogljivost: {GOLD}{CARGO}{}{BLACK}Cena predelave: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Ni mogoče preurediti ladje ...
 STR_9842_REFITTABLE                                             :(spremenljivo)
-STR_GO_TO_SHIP_DEPOT                                            :Pojdi v {TOWN} ladijsko garažo
-SERVICE_AT_SHIP_DEPOT                                           :Na servis v {TOWN} dok
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Letališča
@@ -3120,8 +3087,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Izberi tip tovora:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nova zmogljivost: {GOLD}{STRING}{}{BLACK}Cena predelave: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Ni mogoča predelava letala ...
-STR_GO_TO_AIRPORT_HANGAR                                        :Pojdi v {STATION} hangar
-SERVICE_AT_AIRPORT_HANGAR                                       :Na servisiranje v {STATION} Hangar
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Časovna tabela)
 
--- a/src/lang/spanish.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/spanish.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1027,7 +1027,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Activar aceleración realista de trenes: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Prohibir a trenes/barcos giros de 90 grados: {ORANGE}{STRING} {LTBLUE} (requiere NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Unir estaciones de tren unas junto a otras: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Abandona est. con alguna carga completa, en 'carga completa': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Usar algoritmo mejorado de carga: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Cargar vehículos gradualmente: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflacción: {ORANGE}{STRING}
@@ -2640,26 +2639,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Los ciudadanos celebran . . .{}¡Primer tren llega a {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detalles)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Tren en camino
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING}{STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING}{STRING}
-STR_8806_GO_TO                                                  :Ir a {STATION}
-STR_GO_TO_TRANSFER                                              :Ir a {STATION} (Transferir y cargar)
-STR_8807_GO_TO_UNLOAD                                           :Ir a {STATION} (Descargar)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Ir a {STATION} (Transferir y dejar vacío)
-STR_8808_GO_TO_LOAD                                             :Ir a {STATION} (Cargar)
-STR_GO_TO_TRANSFER_LOAD                                         :Ir a {STATION} (Transferir y esperar a carga completa)
-STR_880A_GO_NON_STOP_TO                                         :Ir sin paradas a {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Ir sin paradas a {STATION} (Transferir y cargar)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Ir sin paradas a {STATION} (Descargar)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Ir sin paradas a {STATION} (Transferir y dejar vacío)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Ir sin paradas a  {STATION} (Cargar)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Ir sin paradas a {STATION} (Transferir y esperar a carga completa)
-STR_GO_TO_TRAIN_DEPOT                                           :Ir al depósito del tren de {TOWN}
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Ir al depósito de {TOWN} para mantenimiento
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Ir sin parar al depósito de {TOWN}
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Ir sin parar al depósito de {TOWN} para mantenimiento
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Viaje (sin horarios)
 STR_TIMETABLE_TRAVEL_FOR                                        :Viaje para {STRING}
 STR_TIMETABLE_STAY_FOR                                          :y estancia en {STRING}
@@ -2700,10 +2680,7 @@
 STR_8820_RENAME                                                 :{BLACK}Renombrar
 STR_8823_SKIP                                                   :{BLACK}Saltarse
 STR_8824_DELETE                                                 :{BLACK}Borrar
-STR_8825_NON_STOP                                               :{BLACK}Sin parar
 STR_8826_GO_TO                                                  :{BLACK}Ir a
-STR_8827_FULL_LOAD                                              :{BLACK}Carga
-STR_8828_UNLOAD                                                 :{BLACK}Descarga
 STR_REFIT                                                       :{BLACK}Recargar
 STR_REFIT_TIP                                                   :{BLACK}Selecciona el tipo de carga a recargar en esta orden. Control+click para quitar la orden de recargar
 STR_REFIT_ORDER                                                 :(Recargar en {STRING})
@@ -2711,7 +2688,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Cambiar a la vista de horarios
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Órdenes)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Fin de pedidos - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Servicio
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}No se puede construir vehículo...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Construido: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY}
@@ -2761,10 +2737,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Lista de órdenes - click en orden para resaltarla
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Saltar orden actual y comenzar la siguiente
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Borrar orden resaltada
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Hacer la orden resaltada sin parada
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Añadir nueva orden antes de la orden resaltada, o añadirla al final de la lista
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Hacer que en la orden resaltada, el vehículo espere a carga completa
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Hacer que en la orden resaltada, el vehículo espere a descargar completamente
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Horarios - pulse en una orden para marcarla.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Cambia la cantidad de tiempo que debe tomar una orden marcada
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Limpiar la cantidad de tiempo para la orden seleccionada
@@ -2788,8 +2761,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}No se puede revertir la dirección...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Renombrar tipo de vehículo
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}No se puede renombrar tipo de vehículo...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Hacer que la orden marcada fuerce al vehículo a descargar
-STR_TRANSFER                                                    :{BLACK}Transferir
 STR_CLEAR_TIME                                                  :{BLACK}Limpiar Horario
 STR_RESET_LATENESS                                              :{BLACK}Resetear Retrasos
 
@@ -2877,8 +2848,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Renombrar tipo de vehículo
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Renombrar tipo de vehículo
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}No se puede renombrar tipo de vehículo....
-STR_GO_TO_ROADVEH_DEPOT                                         :Ir al depósito de {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Ir al depósito de {TOWN} para mantenimiento
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Reparar vehículo de carretera para transportar otro tipo de cargas
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Reparar vehículo de carretera
@@ -2954,8 +2923,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nueva capacidad: {GOLD}{CARGO}{}{BLACK}Coste de reforma: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}No se puede reformar barco...
 STR_9842_REFITTABLE                                             :(reformable)
-STR_GO_TO_SHIP_DEPOT                                            :Ir al astillero de {TOWN}
-SERVICE_AT_SHIP_DEPOT                                           :Ir al astillero de {TOWN} para mantenimiento
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Aeropuertos
@@ -3026,8 +2993,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Elige tipo de carga para llevar:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Nueva capacidad: {GOLD}{STRING}{}{BLACK}Coste de reforma: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}No se puede reformar aeronave...
-STR_GO_TO_AIRPORT_HANGAR                                        :Ir al hangar de {STATION}
-SERVICE_AT_AIRPORT_HANGAR                                       :Ir al hangar de {STATION} para mantenimiento
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Horarios)
 
--- a/src/lang/swedish.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/swedish.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1026,7 +1026,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Aktivera realistisk acceleration för tåg: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Förbjud tåg och skepp att göra 90° svängar: {ORANGE}{STRING} {LTBLUE} (kräver NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Kombinera tågstationer som byggs bredvid varandra: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Lämna stationen när något gods är fullt, om 'full load': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Använd förbättrad algoritm: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Lasta fordon gradvis: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Inflation: {ORANGE}{STRING}
@@ -2651,26 +2650,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Invånarna firar . . .{}Första tåget ankommer till {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Details)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Tåg i vägen
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Åk till {STATION}
-STR_GO_TO_TRANSFER                                              :Åk till {STATION} (Lasta om och på)
-STR_8807_GO_TO_UNLOAD                                           :Åk till {STATION} (Lasta av)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Åk till {STATION} (Lasta om men inte på)
-STR_8808_GO_TO_LOAD                                             :Åk till {STATION} (Lasta på)
-STR_GO_TO_TRANSFER_LOAD                                         :Åk till {STATION} (Lasta om och vänta på full last)
-STR_880A_GO_NON_STOP_TO                                         :Åk nonstop till {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Åk nonstop till {STATION} (Lasta om och på)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Åk nonstop till {STATION} (Lasta av)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Åk nonstop till {STATION} (Lasta om men inte på)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Åk nonstop till {STATION} (Lasta på)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Åk nonstop till {STATION} (Lasta om och vänta på full last)
-STR_GO_TO_TRAIN_DEPOT                                           :Åk till {TOWN}s tågdepå
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Servning vid {TOWN} tågdepå
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Åk non-stop till {TOWN}s tågdepå
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Servning non-stop {TOWN} tågdepå
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Avres (Inte tillagd i tidtabell)
 STR_TIMETABLE_TRAVEL_FOR                                        :Res till {STRING}
 STR_TIMETABLE_STAY_FOR                                          :och stanna i {STRING}
@@ -2711,10 +2691,7 @@
 STR_8820_RENAME                                                 :{BLACK}Byt namn på
 STR_8823_SKIP                                                   :{BLACK}Skippa
 STR_8824_DELETE                                                 :{BLACK}Ta bort
-STR_8825_NON_STOP                                               :{BLACK}Non-stop
 STR_8826_GO_TO                                                  :{BLACK}Gå Till
-STR_8827_FULL_LOAD                                              :{BLACK}Lasta
-STR_8828_UNLOAD                                                 :{BLACK}Lasta av
 STR_REFIT                                                       :{BLACK}Anpassa
 STR_REFIT_TIP                                                   :{BLACK}Välj vilken godstyp anpassningen ska göras i denna order. CTRL+ klicka för att ta bort anpassningsordern
 STR_REFIT_ORDER                                                 :(Anpassa för {STRING})
@@ -2724,7 +2701,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Byt till  ordervyn
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Order)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Slut på order - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Servning
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Kan inte bygga järnvägfordon...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Byggt: {LTBLUE}{NUM}{BLACK} Värde: {LTBLUE}{CURRENCY}
@@ -2774,10 +2750,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Orderlista - klicka på order för att markera det
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Hoppa över nuvarande order och starta nästa. CTRL + klick hoppar över till vald order
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Ta bort markerad order
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Gör markerad order non-stop
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Infoga ny order före markerad order, eller lägg till i slutet av listan
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Gör markerad order att tvinga fordonet att vänta på full last
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Gör markerad order att tvinga fordonet att vänta på tom last
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Tidstabell - klicka på en order för att markera den.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Ändra tid som den markerade ordern bör ta
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Rensa tiden för markerad order
@@ -2801,8 +2774,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Kan inte byta tågets riktning...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Byt namn på tågets fordonstyp
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Kan inte byta namn på tågets fordonstyp...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Gör så att den markerade ordern tvingar fordonet att lasta av
-STR_TRANSFER                                                    :{BLACK}Lasta om
 STR_CLEAR_TIME                                                  :{BLACK}Rensa tid
 STR_RESET_LATENESS                                              :{BLACK}Rensa räknaren för sen ankomst
 
@@ -2890,8 +2861,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Byt namn på vägfordon typ
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Byt namn på vägfordon typ
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Kan inte byta namn på vägfordon typ...
-STR_GO_TO_ROADVEH_DEPOT                                         :Gå till {TOWN} vägfordonsdepå
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Servning vid {TOWN} vägfordonsdepå Depot
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Anpassa vägfordon till att bära en annan sorts last
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Anpassa Vägfordon
@@ -2967,8 +2936,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ny kapacitet: {GOLD}{CARGO}{}{BLACK}Anpassningens kostnad: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Kan inte anpassa skepp...
 STR_9842_REFITTABLE                                             :(anpassningsbart)
-STR_GO_TO_SHIP_DEPOT                                            :Åk till {TOWN}s båtdepå
-SERVICE_AT_SHIP_DEPOT                                           :Service vid {TOWN} båtdepå
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Flygplatser
@@ -3039,8 +3006,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Välj godstyp att frakta:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Ny kapacitet: {GOLD}{STRING}{}{BLACK}Kostnad av anpassning: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Kan inte anpassa flygplan...
-STR_GO_TO_AIRPORT_HANGAR                                        :Gå till {STATION}s hangar
-SERVICE_AT_AIRPORT_HANGAR                                       :Service vid {STATION} hangar
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Tidtabell)
 
--- a/src/lang/traditional_chinese.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/traditional_chinese.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1020,7 +1020,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}真實的列車加速:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}禁止列車直角轉向:{ORANGE}{STRING} {LTBLUE} (需要啟用 NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}合併建在一起的車站:{ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}其中一種貨物滿載,列車即可離開車站:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}使用改善過的載貨演算法:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}逐步載貨:{ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}通貨膨脹:{ORANGE}{STRING}
@@ -2616,26 +2615,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}市民慶賀 . . .{}首輛列車抵達 {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (詳細資料)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}前方有列車
-STR_8804                                                        :{SETX 10}{COMMA}:{STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}:{STRING} {STRING}
-STR_8806_GO_TO                                                  :前往 {STATION}
-STR_GO_TO_TRANSFER                                              :前往 {STATION} (轉運,僅載不卸)
-STR_8807_GO_TO_UNLOAD                                           :前往 {STATION} (卸客貨)
-STR_GO_TO_TRANSFER_UNLOAD                                       :前往 {STATION} (轉運,卸客貨清空離站)
-STR_8808_GO_TO_LOAD                                             :前往 {STATION} (滿載)
-STR_GO_TO_TRANSFER_LOAD                                         :前往 {STATION} (轉運,等待滿載)
-STR_880A_GO_NON_STOP_TO                                         :前往 {STATION} 不停靠/中途不停
-STR_GO_TO_NON_STOP_TRANSFER                                     :前往 {STATION} (轉運 [僅載不卸]) 中途不停
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :前往 {STATION} (卸載) 中途不停
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :前往 {STATION} (轉運 [卸載清空離站]) 中途不停
-STR_880C_GO_NON_STOP_TO_LOAD                                    :前往 {STATION} (滿載) 中途不停
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :前往 {STATION} (轉運 [等待滿載]) 中途不停
-STR_GO_TO_TRAIN_DEPOT                                           :前往 {TOWN} 機廠
-STR_SERVICE_AT_TRAIN_DEPOT                                      :在 {TOWN} 機廠維護
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :前往 {TOWN} 機廠 中途不停
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :在 {TOWN} 機廠維護 中途不停
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :漫遊 (無時刻表)
 STR_TIMETABLE_TRAVEL_FOR                                        :通行於 {STRING}
 STR_TIMETABLE_STAY_FOR                                          :並等待 {STRING}
@@ -2676,10 +2656,7 @@
 STR_8820_RENAME                                                 :{BLACK}更名
 STR_8823_SKIP                                                   :{BLACK}跳過
 STR_8824_DELETE                                                 :{BLACK}刪除
-STR_8825_NON_STOP                                               :{BLACK}中途不停
 STR_8826_GO_TO                                                  :{BLACK}前往
-STR_8827_FULL_LOAD                                              :{BLACK}滿載
-STR_8828_UNLOAD                                                 :{BLACK}卸載
 STR_REFIT                                                       :{BLACK}改裝
 STR_REFIT_TIP                                                   :{BLACK}選擇這個指令要改裝的酬載種類。按住 CTRL 點選可移除改裝指令
 STR_REFIT_ORDER                                                 :(改裝成 {STRING})
@@ -2687,7 +2664,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}切換至時刻表檢視模式
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (指令)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - 指令結束 - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}維護
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}無法購買鐵道車輛...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   購於:{LTBLUE}{NUM}{BLACK} 價值:{LTBLUE}{CURRENCY}
@@ -2737,10 +2713,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}指令清單 - 點選指令可選擇。按住 CTRL 點選可跳到車站位置
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}跳過目前的命令,從下一個開始。CTRL + 左鍵 可直接跳至所選的命令
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}刪除選定指令
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}使選定的指令中途不停
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}在選定的指令前插入新指令,或在最後新增指令
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}讓列車在選定的指令等待載滿
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}讓列車在選定的指令強制卸載
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}時刻表 - 點一個命令來標記它。
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}改變目前選定命令所需花費的時間
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}清除目前選定命令所設定的時間
@@ -2764,8 +2737,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}無法到轉列車方向...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}重新命名鐵道車輛
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}無法修改鐵道車輛名稱...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}讓列車在選定的指令強制卸載
-STR_TRANSFER                                                    :{BLACK}轉運
 STR_CLEAR_TIME                                                  :{BLACK}清除時刻
 STR_RESET_LATENESS                                              :{BLACK}歸零誤點/慢分
 
@@ -2852,8 +2823,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}為車輛類型更名
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}為車輛類型更名
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}無法為車輛類型更名...
-STR_GO_TO_ROADVEH_DEPOT                                         :前往 {TOWN} 車庫
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :在 {TOWN} 車庫維護
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}改裝車輛以運送不同的酬載
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}改裝車輛
@@ -2929,8 +2898,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}新容量:{GOLD}{CARGO}{}{BLACK}改裝費用:{GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}無法改裝船舶...
 STR_9842_REFITTABLE                                             :(可改裝)
-STR_GO_TO_SHIP_DEPOT                                            :前往 {TOWN} 船塢
-SERVICE_AT_SHIP_DEPOT                                           :在{TOWN}船塢進行維修
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}機場
@@ -3001,8 +2968,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}選擇要運送的酬載種類:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}新容量:{GOLD}{STRING}{}{BLACK}改裝費用:{GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}無法改裝飛機...
-STR_GO_TO_AIRPORT_HANGAR                                        :前往 {STATION} 機棚
-SERVICE_AT_AIRPORT_HANGAR                                       :在{STATION}機棚進行檢修
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (時刻表)
 
--- a/src/lang/turkish.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/turkish.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1025,7 +1025,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Gerçekçi tren hızlanması: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Tren ve gemilerin 90 derece dönmesini yasakla: {ORANGE}{STRING} {LTBLUE} (NPF gerektirir)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Yan yana yapılan tren istasyonlarını birleştir: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}'tam doldur' etkinse istasyonu tam dolunca terket: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Geliştirilmiş yükleme algoritması kullan: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Araçlar yavaş yavaş dolsun: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Enflasyon: {ORANGE}{STRING}
@@ -2650,26 +2649,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Kutlama Yapıldı . . .{} {STATION} istasyonuna ilk kez tren geldi!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Detaylar)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Yolda tren var
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8806_GO_TO                                                  :Git: {STATION}
-STR_GO_TO_TRANSFER                                              :Aktar: {STATION} (Kargoyu al)
-STR_8807_GO_TO_UNLOAD                                           :Git: {STATION} (Boşalt)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Aktar: {STATION} (Boş dön)
-STR_8808_GO_TO_LOAD                                             :Git: {STATION} (Doldur)
-STR_GO_TO_TRANSFER_LOAD                                         :Aktar: {STATION} (Tam doldur)
-STR_880A_GO_NON_STOP_TO                                         :Durmadan git: {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Durmadan aktar: {STATION} (Kargoyu al)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Durmadan git: {STATION} (Boşalt)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Durmadan aktar: {STATION} (Boş dön)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Durmadan git: {STATION} (Doldur)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Durmadan aktar: {STATION} (Tam doldur)
-STR_GO_TO_TRAIN_DEPOT                                           :Git: {TOWN} Tren Garı
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Bakıma git: {TOWN} Tren Garı
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Durmadan git: {TOWN} Tren Garı
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Durmadan bakıma git: {TOWN} Tren Garı
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Gezi (zamanlı değil)
 STR_TIMETABLE_TRAVEL_FOR                                        :{STRING} için gezi
 STR_TIMETABLE_STAY_FOR                                          :{STRING} için bekle
@@ -2710,10 +2690,7 @@
 STR_8820_RENAME                                                 :{BLACK}Yeni isim
 STR_8823_SKIP                                                   :{BLACK}Atla
 STR_8824_DELETE                                                 :{BLACK}Sil
-STR_8825_NON_STOP                                               :{BLACK}Durmadan
 STR_8826_GO_TO                                                  :{BLACK}Git
-STR_8827_FULL_LOAD                                              :{BLACK}Doldur
-STR_8828_UNLOAD                                                 :{BLACK}Boşalt
 STR_REFIT                                                       :{BLACK}Modifiye
 STR_REFIT_TIP                                                   :{BLACK}Bu talimatta değiştirilecek kargo türünü seçin. Değiştirmeyi kaldırmak için CTRL ile tıklayın
 STR_REFIT_ORDER                                                 :(Moifiye ile > {STRING})
@@ -2721,7 +2698,6 @@
 STR_TIMETABLE_VIEW_TOOLTIP                                      :{BLACK}Zaman tablosu görünümüne geç
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Talimatlar)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Talimatların Sonu - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Bakım
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Tren satın alınamaz...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Tarih: {LTBLUE}{NUM}{BLACK} Değeri: {LTBLUE}{CURRENCY}
@@ -2771,10 +2747,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Talimat listesi - seçmek için komutu tıklayın. CTRL + tıklama istasyona kaydırir
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Şimdiki talimatı atla ve sonrakine geç. CTRL ile tıklanırsa seçili talimata geçilir
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Seçili talimatı sil
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Seçili talimatı durmadan yap
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Seçili talimatın önüne ya da listenin sonuna komut ekle
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Seçili talimatı yaparken tren dolana kadar beklesin
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Seçili talimatı yaparken tren mutlaka yükünü boşaltsın
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Zaman çizelgesi - işaretlemek için bir talimata tıklayın.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Seçili talimatın harcaması gereken süreyi değiştir
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Seçili talimatın harcaması gereken süreyi sil
@@ -2798,8 +2771,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Tren çevrilemez...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Tren yeniden adlandırılamaz
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Tren yeniden adlandırılamaz...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Seçili talimatta aracı kargoyu boşaltmaya zorla
-STR_TRANSFER                                                    :{BLACK}Aktar
 STR_CLEAR_TIME                                                  :{BLACK}Zamanı Temizle
 STR_RESET_LATENESS                                              :{BLACK}Gecikme sayacını sıfırla
 
@@ -2887,8 +2858,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Araç türünü yeniden adlandır
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Araç türünü yeniden adlandır
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Araç türü yeniden adlandırılamıyor...
-STR_GO_TO_ROADVEH_DEPOT                                         :Garaja git: {TOWN}
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Servise git: {TOWN} Garaji
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Kamyonu başka türde kargo taşıyabilmesi için modifiye et
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Kamyonu modifiye et
@@ -2964,8 +2933,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Yeni kapasite: {GOLD}{CARGO}{}{BLACK}Modifiye fiyatı: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Modifiye edilemez...
 STR_9842_REFITTABLE                                             :(modifiyeli)
-STR_GO_TO_SHIP_DEPOT                                            :Git: {TOWN} Tersanesi
-SERVICE_AT_SHIP_DEPOT                                           :Servis: {TOWN} Tersanesi
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Havalimanları
@@ -3036,8 +3003,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Tasinacak kargoyu seçin:
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Yeni kapasite: {GOLD}{STRING}{}{BLACK}Modifiye fiyatı: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Modifiye edilemez...
-STR_GO_TO_AIRPORT_HANGAR                                        :{STATION} Hangarına git
-SERVICE_AT_AIRPORT_HANGAR                                       :Servis: {STATION} Hangarı
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (Zaman çizelgesi)
 
--- a/src/lang/ukrainian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/ukrainian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1151,7 +1151,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Реалістичне прискорення поїздів: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Поїздам і кораблям не повертати на 90 град.: {ORANGE}{STRING} {LTBLUE} (треба NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Будувати суміжні залізничні станції: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Від'їжджати при повному завантаженні будь-якого вантажу: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Використовувати покращений алгоритм завантаження: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Завантажувати поступово: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Інфляція: {ORANGE}{STRING}
@@ -2813,26 +2812,7 @@
 STR_8801_CITIZENS_CELEBRATE_FIRST                               :{BLACK}{BIGFONT}Жителі святкують . . .{}Перший поїзд з'явився на {STATION}!
 STR_8802_DETAILS                                                :{WHITE}{VEHICLE} (Детально)
 STR_8803_TRAIN_IN_THE_WAY                                       :{WHITE}Поїзд на шляху
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING}{STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING}{STRING}
-STR_8806_GO_TO                                                  :Прямувати до {STATION}
-STR_GO_TO_TRANSFER                                              :Прямувати до {STATION} (Пересадити і забрати вантаж)
-STR_8807_GO_TO_UNLOAD                                           :Прямувати до {STATION} (розвантажитися)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Прямувати до {STATION} (Пересадити і залишити вантаж)
-STR_8808_GO_TO_LOAD                                             :Прямувати до {STATION} (Завантажитися)
-STR_GO_TO_TRANSFER_LOAD                                         :Прямувати до {STATION} (Пересадити і завантажити повністю)
-STR_880A_GO_NON_STOP_TO                                         :Прямувати без зупинок до {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Прямувати без зупинок до {STATION} (Пересадити і забрати вантаж)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Прямувати без зупинок до {STATION} (розвантажитися)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Прямувати без зупинок до {STATION} (Пересадити і залишити вантаж)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Прямувати без зупинок до {STATION} (Завантажити)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Прямувати без зупинок до {STATION} (Пересадити і завантажити повністю)
-STR_GO_TO_TRAIN_DEPOT                                           :Прямувати до {TOWN} депо
-STR_SERVICE_AT_TRAIN_DEPOT                                      :Ремонтуватись в {TOWN} депо
-STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT                             :Прямувати без зупинок до {TOWN} депо
-STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT                             :Ремонтуватись без зупинок в {TOWN} депо
 
-STR_TIMETABLE_GO_TO                                             :{STRING} {STRING}
 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED                             :Прямує (не за розкладом)
 STR_TIMETABLE_TRAVEL_FOR                                        :Прямує до {STRING}
 STR_TIMETABLE_STAY_FOR                                          :і стояти {STRING}
@@ -2873,10 +2853,7 @@
 STR_8820_RENAME                                                 :{BLACK}Назва
 STR_8823_SKIP                                                   :{BLACK}Пропуск
 STR_8824_DELETE                                                 :{BLACK}Видалити
-STR_8825_NON_STOP                                               :{BLACK}Беззупн
 STR_8826_GO_TO                                                  :{BLACK}Прямувати
-STR_8827_FULL_LOAD                                              :{BLACK}Повністю
-STR_8828_UNLOAD                                                 :{BLACK}Розвант
 STR_REFIT                                                       :{BLACK}Переобладнати
 STR_REFIT_TIP                                                   :{BLACK}Оберіть на який тип вантажу переобладнати це завдання. Control+клік видалити команду переобладнання
 STR_REFIT_ORDER                                                 :(Переобладнати до {STRING})
@@ -2886,7 +2863,6 @@
 STR_ORDER_VIEW_TOOLTIP                                          :{BLACK}Переключитись до вікна завдань
 STR_8829_ORDERS                                                 :{WHITE}{VEHICLE} (Накази)
 STR_882A_END_OF_ORDERS                                          :{SETX 10}- - Кінець наказів - -
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Техогляд
 STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE                           :{WHITE}Неможливо збудувати поїзд...
 STR_882C_BUILT_VALUE                                            :{LTBLUE}{ENGINE}{BLACK}   Рік випуску: {LTBLUE}{NUM}{BLACK} Ціна: {LTBLUE}{CURRENCY}
@@ -2936,10 +2912,7 @@
 STR_8852_ORDERS_LIST_CLICK_ON_ORDER                             :{BLACK}Маршрутний лист - клікніть на завданні для його вибору. CTRL + клік показати станцію
 STR_8853_SKIP_THE_CURRENT_ORDER                                 :{BLACK}Пропустити поточний наказ, і виконувати наступний. CTRL + клік переходить до вибраного наказу
 STR_8854_DELETE_THE_HIGHLIGHTED                                 :{BLACK}Видалити виділене завдання
-STR_8855_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Не зупинятися на відміченій станції
 STR_8856_INSERT_A_NEW_ORDER_BEFORE                              :{BLACK}Вставити новий пункт перед відміченим або додати в кінець
-STR_8857_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Чекати повного завантаження на цій станції
-STR_8858_MAKE_THE_HIGHLIGHTED_ORDER                             :{BLACK}Лише розвантажитися на цій станції
 STR_TIMETABLE_TOOLTIP                                           :{BLACK}Розклад - клікніть на наказі, щоб виділити.
 STR_TIMETABLE_WAIT_TIME_TOOLTIP                                 :{BLACK}Змінити час, впродовж якого має виконуватись наказ
 STR_TIMETABLE_CLEAR_TIME_TOOLTIP                                :{BLACK}Очистити час для виділеного наказу
@@ -2963,8 +2936,6 @@
 STR_8869_CAN_T_REVERSE_DIRECTION                                :{WHITE}Неможливо розвернути поїзд...
 STR_886A_RENAME_TRAIN_VEHICLE_TYPE                              :{WHITE}Перейменувати тип поїзду
 STR_886B_CAN_T_RENAME_TRAIN_VEHICLE                             :{WHITE}Неможливо перейменувати тип поїзду...
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Наказати транспорту примусово відвантажити вантаж
-STR_TRANSFER                                                    :{BLACK}Пересадка
 STR_CLEAR_TIME                                                  :{BLACK}Очистити час
 STR_RESET_LATENESS                                              :{BLACK}Очистити лічильник запізнення
 
@@ -3052,8 +3023,6 @@
 STR_9035_RENAME_ROAD_VEHICLE_TYPE                               :{BLACK}Перейменувати тип авто
 STR_9036_RENAME_ROAD_VEHICLE_TYPE                               :{WHITE}Перейменувати тип авто
 STR_9037_CAN_T_RENAME_ROAD_VEHICLE                              :{WHITE}Неможливо перейменувати тип авто...
-STR_GO_TO_ROADVEH_DEPOT                                         :Їхати в {TOWN} депо
-STR_SERVICE_AT_ROADVEH_DEPOT                                    :Ремонтуватись в {TOWN} депо
 
 STR_REFIT_ROAD_VEHICLE_TO_CARRY                                 :{BLACK}Переобладнати авто для перевезення інших вантажів
 STR_REFIT_ROAD_VEHICLE                                          :{BLACK}Переобладнати авто
@@ -3129,8 +3098,6 @@
 STR_9840_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Нова місткість: {GOLD}{CARGO}{}{BLACK}Вартість переобладнання: {GOLD}{CURRENCY}
 STR_9841_CAN_T_REFIT_SHIP                                       :{WHITE}Неможливо переобладнати корабель...
 STR_9842_REFITTABLE                                             :(змінюється)
-STR_GO_TO_SHIP_DEPOT                                            :Пливти в {TOWN} депо
-SERVICE_AT_SHIP_DEPOT                                           :Ремонтуватись в {TOWN} депо
 
 ##id 0xA000
 STR_A000_AIRPORTS                                               :{WHITE}Аеропорти
@@ -3201,8 +3168,6 @@
 STR_A040_SELECT_CARGO_TYPE_TO_CARRY                             :{GOLD}Виберіть вид вантажу для перевезення:-
 STR_A041_NEW_CAPACITY_COST_OF_REFIT                             :{BLACK}Нова місткість: {GOLD}{STRING}{}{BLACK}Вартість переобладнання: {GOLD}{CURRENCY}
 STR_A042_CAN_T_REFIT_AIRCRAFT                                   :{WHITE}Неможливо переобладнати літак...
-STR_GO_TO_AIRPORT_HANGAR                                        :Летіти в {STATION} ангар
-SERVICE_AT_AIRPORT_HANGAR                                       :Ремонтуватись в {STATION} ангарі
 
 STR_TIMETABLE_TITLE                                             :{WHITE}{VEHICLE} (розклад)
 
--- a/src/lang/unfinished/frisian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/unfinished/frisian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1229,11 +1229,9 @@
 
 ##id 0x9800
 
-SERVICE_AT_SHIP_DEPOT                                           :Underhâld yn {TOWN} Skipswerf
 
 ##id 0xA000
 
-SERVICE_AT_AIRPORT_HANGAR                                       :Underhâld yn {STATION} Hangar
 
 ##id 0xB000
 
--- a/src/lang/unfinished/greek.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/unfinished/greek.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1013,7 +1013,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Ενεργοποίηση ρεαλιστικής επιτάχυνσης για τα τρένα: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Απαγόρευση στροφών 90 μοιρών για τρένα και πλοία: {ORANGE}{STRING} {LTBLUE} (απαιτεί NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Σύνδεση σταθμών τρένων χτισμένων κοντά: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Αναχώρηση από το σταθμό όταν οποιοδήποτε φορτίο είναι πλήρες, όταν 'πλήρης φόρτος': {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Χρησιμοποίηση βελτιωμένου αλγόριθμου φόρτωσης: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_GRADUAL_LOADING                              :{LTBLUE}Φόρτωση οχημάτων σταδιακά: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Πληθωρισμός: {ORANGE}{STRING}
@@ -1943,11 +1942,9 @@
 
 ##id 0x9800
 
-SERVICE_AT_SHIP_DEPOT                                           :Επισκευή στη Λιμεναποθήκη της πόλης {TOWN}
 
 ##id 0xA000
 
-SERVICE_AT_AIRPORT_HANGAR                                       :Επισκευή στο υπόστεγο {STATION}
 
 ##id 0xB000
 
--- a/src/lang/unfinished/latvian.txt	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/lang/unfinished/latvian.txt	Sat Apr 12 21:38:49 2008 +0000
@@ -1007,7 +1007,6 @@
 STR_CONFIG_PATCHES_REALISTICACCEL                               :{LTBLUE}Atl'aut rea'lu vilcienu pa'atrina'jumu: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_FORBID_90_DEG                                :{LTBLUE}Aizliedz vilcieniem un kug'iem taisi't 90 gra'du pagriezienus: {ORANGE}{STRING} {LTBLUE} (nepiecies'ams NPF)
 STR_CONFIG_PATCHES_JOINSTATIONS                                 :{LTBLUE}Savienot vilciena stacijas kas celtas blakus: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY                                  :{LTBLUE}Izbraukt no stacijas ja jebkura krava ir uzpildi'ta un "pilna krava" ir iesle'gta: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_IMPROVEDLOAD                                 :{LTBLUE}Lietot uzlabotu uzla'de's'anas algoritmu: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_INFLATION                                    :{LTBLUE}Infla'cija: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_SELECTGOODS                                  :{LTBLUE}Transporte't kravu uz staciju tikai tad ja ir pieprasijums: {ORANGE}{STRING}
@@ -1773,20 +1772,6 @@
 STR_8104_AIRCRAFT                                               :lidmaðîna
 
 ##id 0x8800
-STR_8804                                                        :{SETX 10}{COMMA}: {STRING} {STRING}
-STR_8805                                                        :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
-STR_GO_TO_TRANSFER                                              :Uz {STATION} (Pa'rvest un pan'emt kravu)
-STR_8807_GO_TO_UNLOAD                                           :Uz {STATION} (Nokraut)
-STR_GO_TO_TRANSFER_UNLOAD                                       :Uz {STATION} (Pa'rvest un atsta't tuks'u)
-STR_8808_GO_TO_LOAD                                             :Uz {STATION} (Piekraut)
-STR_GO_TO_TRANSFER_LOAD                                         :Go to {STATION} (Pa'rvest un gaidi't pilnu kravu)
-STR_880A_GO_NON_STOP_TO                                         :Bez pieturam uz {STATION}
-STR_GO_TO_NON_STOP_TRANSFER                                     :Bez pieturam uz {STATION} (Pa'rvest un pan'emt kravu)
-STR_880B_GO_NON_STOP_TO_UNLOAD                                  :Bez pieturam uz {STATION} (Nokraut)
-STR_GO_TO_NON_STOP_TRANSFER_UNLOAD                              :Bez pieturam uz {STATION} (Pa'rvest un atsta't tuks'u)
-STR_880C_GO_NON_STOP_TO_LOAD                                    :Bez pieturam uz {STATION} (Piekraut)
-STR_GO_TO_NON_STOP_TRANSFER_LOAD                                :Bez pieturam uz {STATION} (Pa'rvest un gaidi't pilnu kravu)
-STR_GO_TO_TRAIN_DEPOT                                           :Uz {TOWN} Vilcienu Depo
 
 
 
@@ -1795,7 +1780,6 @@
 STR_8816                                                        :{BLACK}-
 
 
-STR_FULLLOAD_OR_SERVICE                                         :{SKIP}{SKIP}{STRING}
 STR_SERVICE                                                     :{BLACK}Serviss
 STR_882E                                                        :{WHITE}{VEHICLE}
 STR_TRAIN_MUST_BE_STOPPED                                       :{WHITE}Vilciens ja'apsta'dina kad tas ierodas depo
@@ -1803,8 +1787,6 @@
 
 STR_8865_NAME_TRAIN                                             :{WHITE}Nosaukt vilcienu
 STR_8867_NAME_TRAIN                                             :{BLACK}Nosaukt vilcienu
-STR_MAKE_THE_HIGHLIGHTED_ORDER                                  :{BLACK}Uzsve'rtai pa'velei spiest tansportli'dzekl'im nomest kravu
-STR_TRANSFER                                                    :{BLACK}Tranzi'ts
 
 
 
@@ -1816,7 +1798,6 @@
 STR_902A_COST_SPEED_RUNNING_COST                                :{BLACK}Cena: {CURRENCY}{}Atrums: {VELOCITY}{}Running Cost: {CURRENCY}/yr{}Capacity: {CARGO}
 
 STR_9034_RENAME                                                 :{BLACK}Pârsaukt
-STR_GO_TO_ROADVEH_DEPOT                                         :Dodas uz {TOWN} ceļa mašīnu depo
 
 
 ##id 0x9800
@@ -1838,7 +1819,6 @@
 STR_9820_BUILD_NEW_SHIP                                         :{BLACK}Uzbûvet jauno kuìi
 
 STR_9836_RENAME                                                 :{BLACK}Pârsaukt
-SERVICE_AT_SHIP_DEPOT                                           :Apkalpošana {TOWN} kuģubūvētavā
 
 ##id 0xA000
 STR_A00A                                                        :{WHITE}{VEHICLE}
@@ -1846,8 +1826,6 @@
 STR_PLANE_CRASH_OUT_OF_FUEL                                     :{BLACK}{BIGFONT}Lidmaðînas avârija!{}Lidmaðînai pietrûka degviela, {COMMA} nogalinâti!
 STR_A036                                                        :{TINYFONT}{BLACK}{STATION}
 STR_A037_RENAME                                                 :{BLACK}Pârsaukt
-STR_GO_TO_AIRPORT_HANGAR                                        :Uz {STATION} Angâru
-SERVICE_AT_AIRPORT_HANGAR                                       :Apkalpošana {STATION} angārā
 
 
 ##id 0xB000
--- a/src/main_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/main_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -1216,6 +1216,10 @@
 	WP(w, def_d).data_1 = -1280;
 }
 
+/**
+ * Size of the application screen changed.
+ * Adapt the game screen-size, re-allocate the open windows, and repaint everything
+ */
 void GameSizeChanged()
 {
 	_cur_resolution[0] = _screen.width;
--- a/src/network/core/config.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/network/core/config.h	Sat Apr 12 21:38:49 2008 +0000
@@ -38,14 +38,9 @@
 	/**
 	 * Maximum number of GRFs that can be sent.
 	 * This value is related to number of handles (files) OpenTTD can open.
-	 * This is currently 64 and about 10 are currently used when OpenTTD loads
-	 * without any NewGRFs. Therefore one can only load about 55 NewGRFs, so
-	 * this is not a limit, but rather a way to easily check whether the limit
-	 * imposed by the handle count is reached. Secondly it isn't possible to
-	 * send much more GRF IDs + MD5sums in the PACKET_UDP_SERVER_RESPONSE, due
-	 * to the limited size of UDP packets.
+	 * This is currently 64. Two are used for configuration and sound.
 	 */
-	NETWORK_MAX_GRF_COUNT         =   55,
+	NETWORK_MAX_GRF_COUNT         =   62,
 
 	NETWORK_NUM_LANGUAGES         =   36, ///< Number of known languages (to the network protocol) + 1 for 'any'.
 	/**
--- a/src/network/core/udp.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/network/core/udp.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -221,6 +221,9 @@
 			uint i;
 			uint num_grfs = p->Recv_uint8();
 
+			/* Broken/bad data. It cannot have that many NewGRFs. */
+			if (num_grfs > NETWORK_MAX_GRF_COUNT) return;
+
 			for (i = 0; i < num_grfs; i++) {
 				GRFConfig *c = CallocT<GRFConfig>(1);
 				this->Recv_GRFIdentifier(p, c);
--- a/src/newgrf.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/newgrf.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -5005,8 +5005,8 @@
 	                   |                                        (0 << 0x0B)  // enhancedgui
 	                   |                                        (0 << 0x0C)  // newagerating
 	                   |       ((_patches.build_on_slopes ? 1 : 0) << 0x0D)  // buildonslopes
-	                   |         ((_patches.full_load_any ? 1 : 0) << 0x0E)  // fullloadany
-	                   |                                        (1 << 0x0F)  // planespeed - TODO depends on patch when implemented
+	                   |                                        (1 << 0x0E)  // fullloadany
+	                   |                                        (1 << 0x0F)  // planespeed
 	                   |                                        (0 << 0x10)  // moreindustriesperclimate - obsolete
 	                   |                                        (0 << 0x11)  // moretoylandfeatures
 	                   |                                        (1 << 0x12)  // newstations
--- a/src/oldloader.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/oldloader.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -1545,6 +1545,12 @@
 
 	fclose(ls.file);
 
+	/* Some old TTDP savegames could have buoys at tile 0
+	 * (without assigned station struct)
+	 * MakeWater() can be used as long as sea has the same
+	 * format as old savegames (eg. everything is zeroed) */
+	MakeWater(0);
+
 	_pause_game = 2;
 
 	return true;
--- a/src/oldpool.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/oldpool.h	Sat Apr 12 21:38:49 2008 +0000
@@ -260,32 +260,7 @@
 	}
 
 private:
-	/**
-	 * Allocate a pool item; possibly allocate a new block in the pool.
-	 * @param first the first pool item to start searching
-	 * @pre first <= Tpool->GetSize()
-	 * @return the allocated pool item (or NULL when the pool is full).
-	 */
-	static inline T *AllocateSafeRaw(uint &first)
-	{
-		uint last_minus_one = Tpool->GetSize() - 1;
-
-		for (T *t = Tpool->Get(first); t != NULL; t = (t->index < last_minus_one) ? Tpool->Get(t->index + 1U) : NULL) {
-			if (!t->IsValid()) {
-				first = t->index;
-				Tid index = t->index;
-
-				memset(t, 0, Tpool->item_size);
-				t->index = index;
-				return t;
-			}
-		}
-
-		/* Check if we can add a block to the pool */
-		if (Tpool->AddBlockToPool()) return AllocateRaw(first);
-
-		return NULL;
-	}
+	static T *AllocateSafeRaw(uint &first);
 
 protected:
 	/**
@@ -346,7 +321,8 @@
 #define DEFINE_OLD_POOL_GENERIC(name, type) \
 	OldMemoryPool<type> _##name##_pool( \
 		#name, name##_POOL_MAX_BLOCKS, name##_POOL_BLOCK_SIZE_BITS, sizeof(type), \
-		PoolNewBlock<type, &_##name##_pool>, PoolCleanBlock<type, &_##name##_pool>);
+		PoolNewBlock<type, &_##name##_pool>, PoolCleanBlock<type, &_##name##_pool>); \
+		template type *PoolItem<type, type##ID, &_##name##_pool>::AllocateSafeRaw(uint &first);
 
 
 #define STATIC_OLD_POOL(name, type, block_size_bits, max_blocks, new_block_proc, clean_block_proc) \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/oldpool_func.h	Sat Apr 12 21:38:49 2008 +0000
@@ -0,0 +1,34 @@
+/* $Id$ */
+
+#ifndef OLDPOOL_FUNC_H
+
+#include "oldpool.h"
+
+/**
+ * Allocate a pool item; possibly allocate a new block in the pool.
+ * @param first the first pool item to start searching
+ * @pre first <= Tpool->GetSize()
+ * @return the allocated pool item (or NULL when the pool is full).
+ */
+template<typename T, typename Tid, OldMemoryPool<T> *Tpool> T *PoolItem<T, Tid, Tpool>::AllocateSafeRaw(uint &first)
+{
+	uint last_minus_one = Tpool->GetSize() - 1;
+
+	for (T *t = Tpool->Get(first); t != NULL; t = (t->index < last_minus_one) ? Tpool->Get(t->index + 1U) : NULL) {
+		if (!t->IsValid()) {
+			first = t->index;
+			Tid index = t->index;
+
+			memset(t, 0, Tpool->item_size);
+			t->index = index;
+			return t;
+		}
+	}
+
+	/* Check if we can add a block to the pool */
+	if (Tpool->AddBlockToPool()) return AllocateRaw(first);
+
+	return NULL;
+}
+
+#endif /* OLDPOOL_FUNC_H */
--- a/src/openttd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/openttd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -2316,8 +2316,8 @@
 		Order *order;
 		FOR_ALL_ORDERS(order) {
 			if (order->IsType(OT_GOTO_STATION) && GetStation(order->GetDestination())->IsBuoy()) {
-				order->SetLoadType(0);
-				order->SetUnloadType(0);
+				order->SetLoadType(OLF_LOAD_IF_POSSIBLE);
+				order->SetUnloadType(OUF_UNLOAD_IF_POSSIBLE);
 			}
 		}
 
@@ -2455,6 +2455,32 @@
 		}
 	}
 
+	if (CheckSavegameVersion(93)) {
+		/* Rework of orders. */
+		Order *order;
+		FOR_ALL_ORDERS(order) order->ConvertFromOldSavegame();
+
+		Vehicle *v;
+		FOR_ALL_VEHICLES(v) v->current_order.ConvertFromOldSavegame();
+	} else if (CheckSavegameVersion(94)) {
+		/* Unload and transfer are now mutual exclusive. */
+		Order *order;
+		FOR_ALL_ORDERS(order) {
+			if ((order->GetUnloadType() & (OUFB_UNLOAD | OUFB_TRANSFER)) == (OUFB_UNLOAD | OUFB_TRANSFER)) {
+				order->SetUnloadType(OUFB_TRANSFER);
+				order->SetLoadType(OLFB_NO_LOAD);
+			}
+		}
+
+		Vehicle *v;
+		FOR_ALL_VEHICLES(v) {
+			if ((v->current_order.GetUnloadType() & (OUFB_UNLOAD | OUFB_TRANSFER)) == (OUFB_UNLOAD | OUFB_TRANSFER)) {
+				v->current_order.SetUnloadType(OUFB_TRANSFER);
+				v->current_order.SetLoadType(OLFB_NO_LOAD);
+			}
+		}
+	}
+
 	return InitializeWindowsAndCaches();
 }
 
--- a/src/order_base.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/order_base.h	Sat Apr 12 21:38:49 2008 +0000
@@ -27,8 +27,8 @@
 	friend void Load_VEHS();                                             ///< Loading of ancient vehicles.
 	friend const struct SaveLoad *GetOrderDescription();                 ///< Saving and loading of orders.
 
-	OrderTypeByte type;   ///< The type of order
-	uint8 flags;          ///< 'Sub'type of order
+	uint8 type;           ///< The type of order + non-stop flags
+	uint8 flags;          ///< Load/unload types, depot order/action types.
 	DestinationID dest;   ///< The destination of the order.
 
 	CargoID refit_cargo;  ///< Refit CargoID
@@ -60,13 +60,13 @@
 	 * @param type the type to check against.
 	 * @return true if the order matches.
 	 */
-	inline bool IsType(OrderType type) const { return this->type == type; }
+	inline bool IsType(OrderType type) const { return this->GetType() == type; }
 
 	/**
 	 * Get the type of order of this order.
 	 * @return the order type.
 	 */
-	inline OrderType GetType() const { return this->type; }
+	inline OrderType GetType() const { return (OrderType)GB(this->type, 0, 4); }
 
 	/**
 	 * 'Free' the order
@@ -87,7 +87,7 @@
 	 * @param cargo       the cargo type to change to.
 	 * @param subtype     the subtype to change to.
 	 */
-	void MakeGoToDepot(DepotID destination, bool order, CargoID cargo = CT_NO_REFIT, byte subtype = 0);
+	void MakeGoToDepot(DepotID destination, OrderDepotTypeFlags order, CargoID cargo = CT_NO_REFIT, byte subtype = 0);
 
 	/**
 	 * Makes this order a Go To Waypoint order.
@@ -112,6 +112,12 @@
 	void MakeDummy();
 
 	/**
+	 * Makes this order an conditional order.
+	 * @param order the order to jump to.
+	 */
+	void MakeConditional(VehicleOrderID order);
+
+	/**
 	 * Free a complete order chain.
 	 * @note do not use on "current_order" vehicle orders!
 	 */
@@ -161,26 +167,42 @@
 	void SetRefit(CargoID cargo, byte subtype = 0);
 
 	/** How must the consist be loaded? */
-	inline byte GetLoadType() const { return this->flags & OFB_FULL_LOAD; }
+	inline OrderLoadFlags GetLoadType() const { return (OrderLoadFlags)GB(this->flags, 4, 4); }
 	/** How must the consist be unloaded? */
-	inline byte GetUnloadType() const { return GB(this->flags, 0, 2); }
+	inline OrderUnloadFlags GetUnloadType() const { return (OrderUnloadFlags)GB(this->flags, 0, 4); }
 	/** Where must we stop? */
-	inline byte GetNonStopType() const { return this->flags & OFB_NON_STOP; }
+	inline OrderNonStopFlags GetNonStopType() const { return (OrderNonStopFlags)GB(this->type, 6, 2); }
 	/** What caused us going to the depot? */
-	inline byte GetDepotOrderType() const { return this->flags; }
+	inline OrderDepotTypeFlags GetDepotOrderType() const { return (OrderDepotTypeFlags)GB(this->flags, 0, 4); }
 	/** What are we going to do when in the depot. */
-	inline byte GetDepotActionType() const { return this->flags; }
+	inline OrderDepotActionFlags GetDepotActionType() const { return (OrderDepotActionFlags)GB(this->flags, 4, 4); }
+	/** What variable do we have to compare? */
+	inline OrderConditionVariable GetConditionVariable() const { return (OrderConditionVariable)GB(this->dest, 11, 5); }
+	/** What is the comparator to use? */
+	inline OrderConditionComparator GetConditionComparator() const { return (OrderConditionComparator)GB(this->type, 5, 3); }
+	/** Get the order to skip to. */
+	inline VehicleOrderID GetConditionSkipToOrder() const { return this->flags; }
+	/** Get the value to base the skip on. */
+	inline uint16 GetConditionValue() const { return GB(this->dest, 0, 11); }
 
 	/** Set how the consist must be loaded. */
-	inline void SetLoadType(byte load_type) { SB(this->flags, 2, 1, !!load_type); }
+	inline void SetLoadType(OrderLoadFlags load_type) { SB(this->flags, 4, 4, load_type); }
 	/** Set how the consist must be unloaded. */
-	inline void SetUnloadType(byte unload_type) { SB(this->flags, 0, 2, unload_type); }
+	inline void SetUnloadType(OrderUnloadFlags unload_type) { SB(this->flags, 0, 4, unload_type); }
 	/** Set whether we must stop at stations or not. */
-	inline void SetNonStopType(byte non_stop_type) { SB(this->flags, 3, 1, !!non_stop_type); }
+	inline void SetNonStopType(OrderNonStopFlags non_stop_type) { SB(this->type, 6, 2, non_stop_type); }
 	/** Set the cause to go to the depot. */
-	inline void SetDepotOrderType(byte depot_order_type) { this->flags = depot_order_type; }
+	inline void SetDepotOrderType(OrderDepotTypeFlags depot_order_type) { SB(this->flags, 0, 4, depot_order_type); }
 	/** Set what we are going to do in the depot. */
-	inline void SetDepotActionType(byte depot_service_type) { this->flags = depot_service_type; }
+	inline void SetDepotActionType(OrderDepotActionFlags depot_service_type) { SB(this->flags, 4, 4, depot_service_type); }
+	/** Set variable we have to compare. */
+	inline void SetConditionVariable(OrderConditionVariable condition_variable) { SB(this->dest, 11, 5, condition_variable); }
+	/** Set the comparator to use. */
+	inline void SetConditionComparator(OrderConditionComparator condition_comparator) { SB(this->type, 5, 3, condition_comparator); }
+	/** Get the order to skip to. */
+	inline void SetConditionSkipToOrder(VehicleOrderID order_id) { this->flags = order_id; }
+	/** Set the value to base the skip on. */
+	inline void SetConditionValue(uint16 value) { SB(this->dest, 0, 11, value); }
 
 	bool ShouldStopAtStation(const Vehicle *v, StationID station) const;
 
@@ -204,6 +226,12 @@
 	 * @note unpacking is done in the constructor.
 	 */
 	uint32 Pack() const;
+
+	/**
+	 * Converts this order from an old savegame's version;
+	 * it moves all bits to the new location.
+	 */
+	void ConvertFromOldSavegame();
 };
 
 static inline VehicleOrderID GetMaxOrderIndex()
--- a/src/order_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/order_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -25,6 +25,7 @@
 #include "newgrf_cargo.h"
 #include "timetable.h"
 #include "vehicle_func.h"
+#include "oldpool_func.h"
 
 #include "table/strings.h"
 
@@ -38,7 +39,7 @@
 TileIndex _backup_orders_tile;
 BackuppedOrders _backup_orders_data;
 
-DEFINE_OLD_POOL_GENERIC(Order, Order)
+DEFINE_OLD_POOL_GENERIC(Order, Order);
 
 void Order::Free()
 {
@@ -55,10 +56,14 @@
 	this->dest = destination;
 }
 
-void Order::MakeGoToDepot(DepotID destination, bool order, CargoID cargo, byte subtype)
+void Order::MakeGoToDepot(DepotID destination, OrderDepotTypeFlags order, CargoID cargo, byte subtype)
 {
 	this->type = OT_GOTO_DEPOT;
-	this->flags = order ? OFB_PART_OF_ORDERS : OFB_NON_STOP;
+	this->flags = 0;
+	this->SetDepotOrderType(order);
+	if (!(order & ODTFB_PART_OF_ORDERS)) {
+		this->SetNonStopType(ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
+	}
 	this->dest = destination;
 	this->SetRefit(cargo, subtype);
 }
@@ -88,6 +93,13 @@
 	this->flags = 0;
 }
 
+void Order::MakeConditional(VehicleOrderID order)
+{
+	this->type = OT_CONDITIONAL;
+	this->flags = order;
+	this->dest = 0;
+}
+
 void Order::SetRefit(CargoID cargo, byte subtype)
 {
 	this->refit_cargo = cargo;
@@ -131,13 +143,56 @@
 	this->flags   = GB(packed,  8,  8);
 	this->dest    = GB(packed, 16, 16);
 	this->next    = NULL;
-	this->index   = 0; // avoid compiler warning
 	this->refit_cargo   = CT_NO_REFIT;
 	this->refit_subtype = 0;
 	this->wait_time     = 0;
 	this->travel_time   = 0;
 }
 
+void Order::ConvertFromOldSavegame()
+{
+	/* First handle non-stop, because those bits are going to be reused. */
+	if (_patches.sg_new_nonstop) {
+		this->SetNonStopType((this->flags & 0x08) ? ONSF_NO_STOP_AT_ANY_STATION : ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
+	} else {
+		this->SetNonStopType((this->flags & 0x08) ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE);
+	}
+
+	switch (this->GetType()) {
+		/* Only a few types need the other savegame conversions. */
+		case OT_GOTO_DEPOT: case OT_GOTO_STATION: case OT_LOADING: break;
+		default: return;
+	}
+
+	/* Then the load/depot action flags because those bits are going to be reused too
+	 * and they reuse the non-stop bits. */
+	if (this->GetType() != OT_GOTO_DEPOT) {
+		if ((this->flags & 4) == 0) {
+			this->SetLoadType(OLF_LOAD_IF_POSSIBLE);
+		} else {
+			this->SetLoadType(_patches.sg_full_load_any ? OLF_FULL_LOAD_ANY : OLFB_FULL_LOAD);
+		}
+	} else {
+		this->SetDepotActionType(((this->flags & 6) == 4) ? ODATFB_HALT : ODATF_SERVICE_ONLY);
+	}
+
+	/* Finally fix the unload/depot type flags. */
+	if (this->GetType() != OT_GOTO_DEPOT) {
+		uint t = ((this->flags & 1) == 0) ? OUF_UNLOAD_IF_POSSIBLE : OUFB_TRANSFER;
+		if ((this->flags & 2) != 0) t |= OUFB_UNLOAD;
+		this->SetUnloadType((OrderUnloadFlags)t);
+
+		if ((this->GetUnloadType() & (OUFB_UNLOAD | OUFB_TRANSFER)) == (OUFB_UNLOAD | OUFB_TRANSFER)) {
+			this->SetUnloadType(OUFB_TRANSFER);
+			this->SetLoadType(OLFB_NO_LOAD);
+		}
+	} else {
+		uint t = ((this->flags & 6) == 6) ? ODTFB_SERVICE : ODTF_MANUAL;
+		if ((this->flags & 2) != 0) t |= ODTFB_PART_OF_ORDERS;
+		this->SetDepotOrderType((OrderDepotTypeFlags)t);
+	}
+}
+
 /**
  *
  * Unpacks a order from savegames with version 4 and lower
@@ -302,73 +357,64 @@
 				default: return CMD_ERROR;
 			}
 
-			if (new_order.GetNonStopType() != OFB_NO_NON_STOP && v->type != VEH_TRAIN) return CMD_ERROR;
+			/* Non stop not allowed for non-trains. */
+			if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && v->type != VEH_TRAIN) return CMD_ERROR;
 
-			/* Order flags can be any of the following for stations:
-			 * [full-load | unload] [+ transfer] [+ non-stop]
-			 * non-stop orders (if any) are only valid for trains */
-			switch (new_order.GetLoadType() | new_order.GetUnloadType()) {
-				case 0:
-				case OFB_FULL_LOAD:
-				case OFB_FULL_LOAD | OFB_TRANSFER:
-				case OFB_UNLOAD:
-				case OFB_UNLOAD | OFB_TRANSFER:
-				case OFB_TRANSFER:
-					break;
+			/* Full load and unload are mutual exclusive. */
+			if ((new_order.GetLoadType() & OLFB_FULL_LOAD) && (new_order.GetUnloadType() & OUFB_UNLOAD)) return CMD_ERROR;
 
+			/* Filter invalid load/unload types. */
+			switch (new_order.GetLoadType()) {
+				case OLF_LOAD_IF_POSSIBLE: case OLFB_FULL_LOAD: case OLF_FULL_LOAD_ANY: break;
 				default: return CMD_ERROR;
 			}
+			if (new_order.GetUnloadType() & ~(OUFB_UNLOAD | OUFB_TRANSFER)) return CMD_ERROR;
 			break;
 		}
 
 		case OT_GOTO_DEPOT: {
-			if (v->type == VEH_AIRCRAFT) {
-				if (!IsValidStationID(new_order.GetDestination())) return CMD_ERROR;
-
-				const Station *st = GetStation(new_order.GetDestination());
+			if (new_order.GetDepotActionType() != ODATFB_NEAREST_DEPOT) {
+				if (v->type == VEH_AIRCRAFT) {
+					if (!IsValidStationID(new_order.GetDestination())) return CMD_ERROR;
 
-				if (!CheckOwnership(st->owner) ||
-						!(st->facilities & FACIL_AIRPORT) ||
-						st->Airport()->nof_depots == 0 ||
-						!CanAircraftUseStation(v->engine_type, st)) {
-					return CMD_ERROR;
+					const Station *st = GetStation(new_order.GetDestination());
+
+					if (!CheckOwnership(st->owner) ||
+							!(st->facilities & FACIL_AIRPORT) ||
+							st->Airport()->nof_depots == 0 ||
+							!CanAircraftUseStation(v->engine_type, st)) {
+						return CMD_ERROR;
+					}
+				} else {
+					if (!IsValidDepotID(new_order.GetDestination())) return CMD_ERROR;
+
+					const Depot *dp = GetDepot(new_order.GetDestination());
+
+					if (!CheckOwnership(GetTileOwner(dp->xy))) return CMD_ERROR;
+
+					switch (v->type) {
+						case VEH_TRAIN:
+							if (!IsTileDepotType(dp->xy, TRANSPORT_RAIL)) return CMD_ERROR;
+							break;
+
+						case VEH_ROAD:
+							if (!IsTileDepotType(dp->xy, TRANSPORT_ROAD)) return CMD_ERROR;
+							break;
+
+						case VEH_SHIP:
+							if (!IsTileDepotType(dp->xy, TRANSPORT_WATER)) return CMD_ERROR;
+							break;
+
+						default: return CMD_ERROR;
+					}
 				}
 			} else {
-				if (!IsValidDepotID(new_order.GetDestination())) return CMD_ERROR;
-
-				const Depot *dp = GetDepot(new_order.GetDestination());
-
-				if (!CheckOwnership(GetTileOwner(dp->xy))) return CMD_ERROR;
-
-				switch (v->type) {
-					case VEH_TRAIN:
-						if (!IsTileDepotType(dp->xy, TRANSPORT_RAIL)) return CMD_ERROR;
-						break;
-
-					case VEH_ROAD:
-						if (!IsTileDepotType(dp->xy, TRANSPORT_ROAD)) return CMD_ERROR;
-						break;
-
-					case VEH_SHIP:
-						if (!IsTileDepotType(dp->xy, TRANSPORT_WATER)) return CMD_ERROR;
-						break;
-
-					default: return CMD_ERROR;
-				}
+				if (!IsPlayerBuildableVehicleType(v)) return CMD_ERROR;
 			}
 
-			if (new_order.GetNonStopType() != OFB_NO_NON_STOP && v->type != VEH_TRAIN) return CMD_ERROR;
-
-			/* Order flags can be any of the following for depots:
-			 * order [+ halt] [+ non-stop]
-			 * non-stop orders (if any) are only valid for trains */
-			switch (new_order.GetDepotOrderType() | new_order.GetDepotActionType()) {
-				case OFB_PART_OF_ORDERS:
-				case OFB_PART_OF_ORDERS | OFB_HALT_IN_DEPOT:
-					break;
-
-				default: return CMD_ERROR;
-			}
+			if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && v->type != VEH_TRAIN) return CMD_ERROR;
+			if (new_order.GetDepotOrderType() & ~ODTFB_PART_OF_ORDERS) return CMD_ERROR;
+			if (new_order.GetDepotActionType() & ~ODATFB_NEAREST_DEPOT) return CMD_ERROR;
 			break;
 		}
 
@@ -384,18 +430,18 @@
 			/* Order flags can be any of the following for waypoints:
 			 * [non-stop]
 			 * non-stop orders (if any) are only valid for trains */
-			switch (new_order.GetNonStopType()) {
-				case OFB_NO_NON_STOP: break;
-
-				case OFB_NON_STOP:
-					if (v->type != VEH_TRAIN) return CMD_ERROR;
-					break;
-
-				default: return CMD_ERROR;
-			}
+			if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && v->type != VEH_TRAIN) return CMD_ERROR;
 			break;
 		}
 
+		case OT_CONDITIONAL: {
+			if (!IsPlayerBuildableVehicleType(v)) return CMD_ERROR;
+
+			VehicleOrderID skip_to = new_order.GetConditionSkipToOrder();
+			if (skip_to >= v->num_orders) return CMD_ERROR;
+			if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE) return CMD_ERROR;
+		} break;
+
 		default: return CMD_ERROR;
 	}
 
@@ -481,6 +527,22 @@
 			InvalidateVehicleOrder(u);
 		}
 
+		/* As we insert an order, the order to skip to will be 'wrong'. */
+		VehicleOrderID cur_order_id = 0;
+		Order *order;
+		FOR_VEHICLE_ORDERS(v, order) {
+			if (order->IsType(OT_CONDITIONAL)) {
+				VehicleOrderID order_id = order->GetConditionSkipToOrder();
+				if (order_id >= sel_ord) {
+					order->SetConditionSkipToOrder(order_id + 1);
+				}
+				if (order_id == cur_order_id) {
+					order->SetConditionSkipToOrder((order_id + 1) % v->num_orders);
+				}
+			}
+			cur_order_id++;
+		}
+
 		/* Make sure to rebuild the whole list */
 		RebuildVehicleLists();
 	}
@@ -587,13 +649,28 @@
 			/* NON-stop flag is misused to see if a train is in a station that is
 			 * on his order list or not */
 			if (sel_ord == u->cur_order_index && u->current_order.IsType(OT_LOADING)) {
-				u->current_order.SetNonStopType(OFB_NO_NON_STOP);
+				u->current_order.SetNonStopType(ONSF_STOP_EVERYWHERE);
 			}
 
 			/* Update any possible open window of the vehicle */
 			InvalidateVehicleOrder(u);
 		}
 
+		/* As we delete an order, the order to skip to will be 'wrong'. */
+		VehicleOrderID cur_order_id = 0;
+		FOR_VEHICLE_ORDERS(v, order) {
+			if (order->IsType(OT_CONDITIONAL)) {
+				VehicleOrderID order_id = order->GetConditionSkipToOrder();
+				if (order_id >= sel_ord) {
+					order->SetConditionSkipToOrder(max(order_id - 1, 0));
+				}
+				if (order_id == cur_order_id) {
+					order->SetConditionSkipToOrder((order_id + 1) % v->num_orders);
+				}
+			}
+			cur_order_id++;
+		}
+
 		RebuildVehicleLists();
 	}
 
@@ -715,6 +792,22 @@
 			InvalidateVehicleOrder(u);
 		}
 
+		/* As we move an order, the order to skip to will be 'wrong'. */
+		Order *order;
+		FOR_VEHICLE_ORDERS(v, order) {
+			if (order->IsType(OT_CONDITIONAL)) {
+				VehicleOrderID order_id = order->GetConditionSkipToOrder();
+				if (order_id == moving_order) {
+					order_id = target_order;
+				} else if(order_id > moving_order && order_id <= target_order) {
+					order_id--;
+				} else if(order_id < moving_order && order_id >= target_order) {
+					order_id++;
+				}
+				order->SetConditionSkipToOrder(order_id);
+			}
+		}
+
 		/* Make sure to rebuild the whole list */
 		RebuildVehicleLists();
 	}
@@ -730,78 +823,186 @@
  * - p1 = (bit 16 - 31) - the selected order (if any). If the last order is given,
  *                        the order will be inserted before that one
  *                        only the first 8 bits used currently (bit 16 - 23) (max 255)
- * @param p2 mode to change the order to (always set)
+ * @param p2 various bitstuffed elements
+ *  - p2 = (bit 0 -  3) - what data to modify (@see ModifyOrderFlags)
+ *  - p2 = (bit 4 - 15) - the data to modify
  */
 CommandCost CmdModifyOrder(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 {
-	Vehicle *v;
-	Order *order;
 	VehicleOrderID sel_ord = GB(p1, 16, 16); // XXX - automatically truncated to 8 bits.
-	VehicleID veh   = GB(p1,  0, 16);
+	VehicleID veh          = GB(p1,  0, 16);
+	ModifyOrderFlags mof   = (ModifyOrderFlags)GB(p2,  0,  4);
+	uint16 data             = GB(p2, 4, 11);
 
+	if (mof >= MOF_END) return CMD_ERROR;
 	if (!IsValidVehicleID(veh)) return CMD_ERROR;
-	if (p2 != OF_FULL_LOAD && p2 != OF_UNLOAD && p2 != OF_NON_STOP && p2 != OF_TRANSFER) return CMD_ERROR;
 
-	v = GetVehicle(veh);
-
+	Vehicle *v = GetVehicle(veh);
 	if (!CheckOwnership(v->owner)) return CMD_ERROR;
 
 	/* Is it a valid order? */
 	if (sel_ord >= v->num_orders) return CMD_ERROR;
 
-	order = GetVehicleOrder(v, sel_ord);
-	if ((!order->IsType(OT_GOTO_STATION)  || GetStation(order->GetDestination())->IsBuoy()) &&
-			(!order->IsType(OT_GOTO_DEPOT)    || p2 == OF_UNLOAD) &&
-			(!order->IsType(OT_GOTO_WAYPOINT) || p2 != OF_NON_STOP)) {
-		return CMD_ERROR;
+	Order *order = GetVehicleOrder(v, sel_ord);
+	switch (order->GetType()) {
+		case OT_GOTO_STATION:
+			if (mof == MOF_COND_VARIABLE || mof == MOF_COND_COMPARATOR || mof == MOF_DEPOT_ACTION || mof == MOF_COND_VALUE || GetStation(order->GetDestination())->IsBuoy()) return CMD_ERROR;
+			break;
+
+		case OT_GOTO_DEPOT:
+			if (mof != MOF_NON_STOP && mof != MOF_DEPOT_ACTION) return CMD_ERROR;
+			break;
+
+		case OT_GOTO_WAYPOINT:
+			if (mof != MOF_NON_STOP) return CMD_ERROR;
+			break;
+
+		case OT_CONDITIONAL:
+			if (mof != MOF_COND_VARIABLE && mof != MOF_COND_COMPARATOR && mof != MOF_COND_VALUE) return CMD_ERROR;
+			break;
+
+		default:
+			return CMD_ERROR;
+	}
+
+	switch (mof) {
+		default: NOT_REACHED();
+
+		case MOF_NON_STOP:
+			if (data >= ONSF_END) return CMD_ERROR;
+			if (data == order->GetNonStopType()) return CMD_ERROR;
+			break;
+
+		case MOF_UNLOAD:
+			if ((data & ~(OUFB_UNLOAD | OUFB_TRANSFER | OUFB_NO_UNLOAD)) != 0) return CMD_ERROR;
+			/* Unload and no-unload are mutual exclusive and so are transfer and no unload. */
+			if (data != 0 && ((data & (OUFB_UNLOAD | OUFB_TRANSFER)) != 0) == ((data & OUFB_NO_UNLOAD) != 0)) return CMD_ERROR;
+			if (data == order->GetUnloadType()) return CMD_ERROR;
+			break;
+
+		case MOF_LOAD:
+			if (data > OLFB_NO_LOAD || data == 1) return CMD_ERROR;
+			if (data == order->GetLoadType()) return CMD_ERROR;
+			break;
+
+		case MOF_DEPOT_ACTION:
+			if (data != 0) return CMD_ERROR;
+			break;
+
+		case MOF_COND_VARIABLE:
+			if (data >= OCV_END) return CMD_ERROR;
+			break;
+
+		case MOF_COND_COMPARATOR:
+			if (data >= OCC_END) return CMD_ERROR;
+			switch (order->GetConditionVariable()) {
+				case OCV_UNCONDITIONALLY: return CMD_ERROR;
+
+				case OCV_REQUIRES_SERVICE:
+					if (data != OCC_IS_TRUE && data != OCC_IS_FALSE) return CMD_ERROR;
+					break;
+
+				default:
+					if (data == OCC_IS_TRUE || data == OCC_IS_FALSE) return CMD_ERROR;
+					break;
+			}
+			break;
+
+		case MOF_COND_VALUE:
+			switch (order->GetConditionVariable()) {
+				case OCV_UNCONDITIONALLY: return CMD_ERROR;
+
+				case OCV_LOAD_PERCENTAGE:
+				case OCV_RELIABILITY:
+					if (data > 100) return CMD_ERROR;
+					break;
+
+				default:
+					if (data > 2047) return CMD_ERROR;
+					break;
+			}
+			break;
 	}
 
 	if (flags & DC_EXEC) {
-		switch (p2) {
-			case OF_FULL_LOAD:
-				if (order->IsType(OT_GOTO_DEPOT)) {
-					order->SetDepotOrderType(order->GetDepotOrderType() ^ OFB_SERVICE_IF_NEEDED);
-				} else {
-					order->SetLoadType(order->GetUnloadType() ^ OFB_FULL_LOAD);
-					order->SetUnloadType(order->GetUnloadType() & ~OFB_UNLOAD);
+		switch (mof) {
+			case MOF_NON_STOP:
+				order->SetNonStopType((OrderNonStopFlags)data);
+				break;
+
+			case MOF_UNLOAD:
+				order->SetUnloadType((OrderUnloadFlags)data);
+				if ((data & OUFB_NO_UNLOAD) != 0 && (order->GetLoadType() & OLFB_NO_LOAD) != 0) {
+					order->SetLoadType((OrderLoadFlags)(order->GetLoadType() & ~OLFB_NO_LOAD));
 				}
 				break;
-			case OF_UNLOAD:
-				order->SetUnloadType(order->GetUnloadType() ^ OFB_UNLOAD);
-				order->SetLoadType(0);
+
+			case MOF_LOAD:
+				order->SetLoadType((OrderLoadFlags)data);
+				if ((data & OLFB_NO_LOAD) != 0 && (order->GetUnloadType() & OUFB_NO_UNLOAD) != 0) {
+					/* No load + no unload isn't compatible */
+					order->SetUnloadType((OrderUnloadFlags)(order->GetUnloadType() & ~OUFB_NO_UNLOAD));
+				}
 				break;
-			case OF_NON_STOP:
-				order->SetNonStopType(order->GetNonStopType() ^ OFB_NON_STOP);
+
+			case MOF_DEPOT_ACTION:
+				order->SetDepotOrderType((OrderDepotTypeFlags)(order->GetDepotOrderType() ^ ODTFB_SERVICE));
 				break;
-			case OF_TRANSFER:
-				order->SetUnloadType(order->GetUnloadType() ^ OFB_TRANSFER);
+
+			case MOF_COND_VARIABLE: {
+				order->SetConditionVariable((OrderConditionVariable)data);
+
+				OrderConditionComparator occ = order->GetConditionComparator();
+				switch (order->GetConditionVariable()) {
+					case OCV_UNCONDITIONALLY:
+						order->SetConditionComparator(OCC_EQUALS);
+						order->SetConditionValue(0);
+						break;
+
+					case OCV_REQUIRES_SERVICE:
+						if (occ != OCC_IS_TRUE && occ != OCC_IS_FALSE) order->SetConditionComparator(OCC_IS_TRUE);
+						break;
+
+					case OCV_LOAD_PERCENTAGE:
+					case OCV_RELIABILITY:
+						if (order->GetConditionValue() > 100) order->SetConditionValue(100);
+						/* FALL THROUGH */
+					default:
+						if (occ == OCC_IS_TRUE || occ == OCC_IS_FALSE) order->SetConditionComparator(OCC_EQUALS);
+						break;
+				}
+			} break;
+
+			case MOF_COND_COMPARATOR:
+				order->SetConditionComparator((OrderConditionComparator)data);
 				break;
+
+			case MOF_COND_VALUE:
+				order->SetConditionValue(data);
+				break;
+
 			default: NOT_REACHED();
 		}
 
 		/* Update the windows and full load flags, also for vehicles that share the same order list */
-		{
-			Vehicle* u;
-
-			u = GetFirstVehicleFromSharedList(v);
-			DeleteOrderWarnings(u);
-			for (; u != NULL; u = u->next_shared) {
-				/* Toggle u->current_order "Full load" flag if it changed.
-				 * However, as the same flag is used for depot orders, check
-				 * whether we are not going to a depot as there are three
-				 * cases where the full load flag can be active and only
-				 * one case where the flag is used for depot orders. In the
-				 * other cases for the OrderTypeByte the flags are not used,
-				 * so do not care and those orders should not be active
-				 * when this function is called.
-				 */
-				if (sel_ord == u->cur_order_index &&
-						!u->current_order.IsType(OT_GOTO_DEPOT) &&
-						u->current_order.GetLoadType() != order->GetLoadType()) {
-					u->current_order.SetLoadType(order->GetLoadType());
-				}
-				InvalidateVehicleOrder(u);
+		Vehicle *u = GetFirstVehicleFromSharedList(v);
+		DeleteOrderWarnings(u);
+		for (; u != NULL; u = u->next_shared) {
+			/* Toggle u->current_order "Full load" flag if it changed.
+			 * However, as the same flag is used for depot orders, check
+			 * whether we are not going to a depot as there are three
+			 * cases where the full load flag can be active and only
+			 * one case where the flag is used for depot orders. In the
+			 * other cases for the OrderTypeByte the flags are not used,
+			 * so do not care and those orders should not be active
+			 * when this function is called.
+			 */
+			if (sel_ord == u->cur_order_index &&
+					(u->current_order.IsType(OT_GOTO_STATION) || u->current_order.IsType(OT_LOADING)) &&
+					u->current_order.GetLoadType() != order->GetLoadType()) {
+				u->current_order.SetLoadType(order->GetLoadType());
 			}
+			InvalidateVehicleOrder(u);
 		}
 	}
 
@@ -979,7 +1180,7 @@
 			InvalidateVehicleOrder(u);
 
 			/* If the vehicle already got the current depot set as current order, then update current order as well */
-			if (u->cur_order_index == order_number && HasBit(u->current_order.GetDepotOrderType(), OF_PART_OF_ORDERS)) {
+			if (u->cur_order_index == order_number && u->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) {
 				u->current_order.SetRefit(cargo, subtype);
 			}
 		}
@@ -1351,6 +1552,24 @@
 }
 
 /**
+ * Compare the variable and value based on the given comparator.
+ */
+static bool OrderConditionCompare(OrderConditionComparator occ, int variable, int value)
+{
+	switch (occ) {
+		case OCC_EQUALS:      return variable == value;
+		case OCC_NOT_EQUALS:  return variable != value;
+		case OCC_LESS_THAN:   return variable <  value;
+		case OCC_LESS_EQUALS: return variable <= value;
+		case OCC_MORE_THAN:   return variable >  value;
+		case OCC_MORE_EQUALS: return variable >= value;
+		case OCC_IS_TRUE:     return variable != 0;
+		case OCC_IS_FALSE:    return variable == 0;
+		default: NOT_REACHED();
+	}
+}
+
+/**
  * Handle the orders of a vehicle and determine the next place
  * to go to if needed.
  * @param v the vehicle to do this for.
@@ -1362,9 +1581,9 @@
 	switch (v->current_order.GetType()) {
 		case OT_GOTO_DEPOT:
 			/* Let a depot order in the orderlist interrupt. */
-			if (!(v->current_order.GetDepotOrderType() & OFB_PART_OF_ORDERS)) return false;
+			if (!(v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS)) return false;
 
-			if ((v->current_order.GetDepotOrderType() & OFB_SERVICE_IF_NEEDED) && !VehicleNeedsService(v)) {
+			if ((v->current_order.GetDepotOrderType() & ODTFB_SERVICE) && !v->NeedsServicing()) {
 				UpdateVehicleTimetable(v, true);
 				v->cur_order_index++;
 			}
@@ -1395,9 +1614,8 @@
 		v->cur_order_index++;
 	}
 
-	/* Check if we've reached a non-stop station while TTDPatch nonstop is enabled.. */
-	if (_patches.new_nonstop &&
-			v->current_order.GetNonStopType() & OFB_NON_STOP &&
+	/* Check if we've reached a non-stop station.. */
+	if ((v->current_order.GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) &&
 			IsTileType(v->tile, MP_STATION) &&
 			v->current_order.GetDestination() == GetStationIndex(v->tile)) {
 		v->last_station_visited = v->current_order.GetDestination();
@@ -1455,13 +1673,59 @@
 			break;
 
 		case OT_GOTO_DEPOT:
-			if (v->type != VEH_AIRCRAFT) v->dest_tile = GetDepot(order->GetDestination())->xy;
+			if (v->current_order.GetDepotActionType() & ODATFB_NEAREST_DEPOT) {
+				/* We need to search for the nearest depot (hangar). */
+				TileIndex location;
+				DestinationID destination;
+				bool reverse;
+
+				if (v->FindClosestDepot(&location, &destination, &reverse)) {
+					v->dest_tile = location;
+					v->current_order.MakeGoToDepot(destination, ODTFB_PART_OF_ORDERS);
+
+					/* If there is no depot in front, reverse automatically (trains only) */
+					if (v->type == VEH_TRAIN && reverse) DoCommand(v->tile, v->index, 0, DC_EXEC, CMD_REVERSE_TRAIN_DIRECTION);
+
+					if (v->type == VEH_AIRCRAFT && v->u.air.state == FLYING && v->u.air.targetairport != destination) {
+						/* The aircraft is now heading for a different hangar than the next in the orders */
+						extern void AircraftNextAirportPos_and_Order(Vehicle *v);
+						AircraftNextAirportPos_and_Order(v);
+					}
+				} else {
+					UpdateVehicleTimetable(v, true);
+					v->cur_order_index++;
+				}
+			} else if (v->type != VEH_AIRCRAFT) {
+				v->dest_tile = GetDepot(order->GetDestination())->xy;
+			}
 			break;
 
 		case OT_GOTO_WAYPOINT:
 			v->dest_tile = GetWaypoint(order->GetDestination())->xy;
 			break;
 
+		case OT_CONDITIONAL: {
+			bool skip_order = false;
+			OrderConditionComparator occ = order->GetConditionComparator();
+			uint16 value = order->GetConditionValue();
+
+			switch (order->GetConditionVariable()) {
+				case OCV_LOAD_PERCENTAGE:  skip_order = OrderConditionCompare(occ, CalcPercentVehicleFilled(v, NULL), value); break;
+				case OCV_RELIABILITY:      skip_order = OrderConditionCompare(occ, v->reliability * 100 >> 16,        value); break;
+				case OCV_MAX_SPEED:        skip_order = OrderConditionCompare(occ, v->GetDisplayMaxSpeed(),           value); break;
+				case OCV_AGE:              skip_order = OrderConditionCompare(occ, v->age / 366,                      value); break;
+				case OCV_REQUIRES_SERVICE: skip_order = OrderConditionCompare(occ, v->NeedsServicing(),               value); break;
+				case OCV_UNCONDITIONALLY:  skip_order = true; break;
+				default: NOT_REACHED();
+			}
+			UpdateVehicleTimetable(v, true);
+			if (skip_order) {
+				v->cur_order_index = order->GetConditionSkipToOrder();
+			} else {
+				v->cur_order_index++;
+			}
+		} return false;
+
 		default:
 			v->dest_tile = 0;
 			return false;
@@ -1481,10 +1745,8 @@
 {
 	return
 			v->last_station_visited != station && // Do stop only when we've not just been there
-			type == OT_GOTO_STATION &&            // Do stop only when going to a station
-			/* Finally do stop when the non-stop flag is not set, or when we should stop at
-			 * this station according to the new_nonstop setting. */
-			(!(this->flags & OFB_NON_STOP) || ((this->dest != station) == _patches.new_nonstop));
+			/* Finally do stop when there is no non-stop flag set for this type of station. */
+			!(this->GetNonStopType() & ((this->dest == station) ? ONSF_NO_STOP_AT_DESTINATION_STATION : ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS));
 }
 
 void InitializeOrders()
--- a/src/order_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/order_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -26,6 +26,9 @@
 #include "settings_type.h"
 #include "player_func.h"
 #include "newgrf_cargo.h"
+#include "widgets/dropdown_func.h"
+#include "textbuf_gui.h"
+#include "string_func.h"
 
 #include "table/sprites.h"
 #include "table/strings.h"
@@ -40,15 +43,31 @@
 	ORDER_WIDGET_DELETE,
 	ORDER_WIDGET_NON_STOP,
 	ORDER_WIDGET_GOTO,
+	ORDER_WIDGET_GOTO_DROPDOWN,
 	ORDER_WIDGET_FULL_LOAD,
 	ORDER_WIDGET_UNLOAD,
 	ORDER_WIDGET_REFIT,
-	ORDER_WIDGET_TRANSFER,
+	ORDER_WIDGET_SERVICE,
+	ORDER_WIDGET_COND_VARIABLE,
+	ORDER_WIDGET_COND_COMPARATOR,
+	ORDER_WIDGET_COND_VALUE,
+	ORDER_WIDGET_RESIZE_BAR,
 	ORDER_WIDGET_SHARED_ORDER_LIST,
-	ORDER_WIDGET_RESIZE_BAR,
 	ORDER_WIDGET_RESIZE,
 };
 
+/** Under what reason are we using the PlaceObject functionality? */
+enum OrderPlaceObjectState {
+	OPOS_GOTO,
+	OPOS_CONDITIONAL,
+};
+
+struct order_d {
+	int sel;
+	OrderPlaceObjectState goto_type;
+};
+assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(order_d));
+
 /**
  * Return the memorised selected order.
  *
@@ -82,7 +101,7 @@
 	 * 15 = 14 (w->widget[ORDER_WIDGET_ORDER_LIST].top) + 1 (frame-line)
 	 * 10 = order text hight
 	 */
-	int sel = (y - 15) / 10;
+	int sel = (y - w->widget[ORDER_WIDGET_ORDER_LIST].top - 1) / 10;
 
 	if ((uint)sel >= w->vscroll.cap) return INVALID_ORDER;
 
@@ -91,45 +110,125 @@
 	return (sel <= v->num_orders && sel >= 0) ? sel : INVALID_ORDER;
 }
 
-static StringID _station_order_strings[][7] = {
+/** Order load types that could be given to station orders. */
+static const StringID _station_load_types[][5] = {
 	{
-		STR_8806_GO_TO,
-		STR_GO_TO_TRANSFER,
-		STR_8807_GO_TO_UNLOAD,
-		STR_GO_TO_TRANSFER_UNLOAD,
-		STR_8808_GO_TO_LOAD,
-		STR_GO_TO_TRANSFER_LOAD
+		STR_EMPTY,
+		INVALID_STRING_ID,
+		STR_ORDER_FULL_LOAD,
+		STR_ORDER_FULL_LOAD_ANY,
+		STR_ORDER_NO_LOAD,
 	}, {
-		STR_880A_GO_NON_STOP_TO,
-		STR_GO_TO_NON_STOP_TRANSFER,
-		STR_880B_GO_NON_STOP_TO_UNLOAD,
-		STR_GO_TO_NON_STOP_TRANSFER_UNLOAD,
-		STR_880C_GO_NON_STOP_TO_LOAD,
-		STR_GO_TO_NON_STOP_TRANSFER_LOAD
+		STR_ORDER_UNLOAD,
+		INVALID_STRING_ID,
+		STR_ORDER_UNLOAD_FULL_LOAD,
+		STR_ORDER_UNLOAD_FULL_LOAD_ANY,
+		STR_ORDER_UNLOAD_NO_LOAD,
+	}, {
+		STR_ORDER_TRANSFER,
+		INVALID_STRING_ID,
+		STR_ORDER_TRANSFER_FULL_LOAD,
+		STR_ORDER_TRANSFER_FULL_LOAD_ANY,
+		STR_ORDER_TRANSFER_NO_LOAD,
+	}, {
+		/* Unload and transfer do not work together. */
+		INVALID_STRING_ID,
+		INVALID_STRING_ID,
+		INVALID_STRING_ID,
+		INVALID_STRING_ID,
+	}, {
+		STR_ORDER_NO_UNLOAD,
+		INVALID_STRING_ID,
+		STR_ORDER_NO_UNLOAD_FULL_LOAD,
+		STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY,
+		INVALID_STRING_ID,
 	}
 };
 
+static const StringID _order_non_stop_drowdown[] = {
+	STR_ORDER_GO_TO,
+	STR_ORDER_GO_NON_STOP_TO,
+	STR_ORDER_GO_VIA,
+	STR_ORDER_GO_NON_STOP_VIA,
+	INVALID_STRING_ID
+};
+
+static const StringID _order_full_load_drowdown[] = {
+	STR_ORDER_DROP_LOAD_IF_POSSIBLE,
+	STR_EMPTY,
+	STR_ORDER_DROP_FULL_LOAD_ALL,
+	STR_ORDER_DROP_FULL_LOAD_ANY,
+	STR_ORDER_DROP_NO_LOADING,
+	INVALID_STRING_ID
+};
+
+static const StringID _order_unload_drowdown[] = {
+	STR_ORDER_DROP_UNLOAD_IF_ACCEPTED,
+	STR_ORDER_DROP_UNLOAD,
+	STR_ORDER_DROP_TRANSFER,
+	STR_EMPTY,
+	STR_ORDER_DROP_NO_UNLOADING,
+	INVALID_STRING_ID
+};
+
+static const StringID _order_goto_dropdown[] = {
+	STR_ORDER_GO_TO,
+	STR_ORDER_GO_TO_NEAREST_DEPOT,
+	STR_ORDER_CONDITIONAL,
+	INVALID_STRING_ID
+};
+
+static const StringID _order_goto_dropdown_aircraft[] = {
+	STR_ORDER_GO_TO,
+	STR_ORDER_GO_TO_NEAREST_HANGAR,
+	STR_ORDER_CONDITIONAL,
+	INVALID_STRING_ID
+};
+
+static const StringID _order_conditional_variable[] = {
+	STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE,
+	STR_ORDER_CONDITIONAL_RELIABILITY,
+	STR_ORDER_CONDITIONAL_MAX_SPEED,
+	STR_ORDER_CONDITIONAL_AGE,
+	STR_ORDER_CONDITIONAL_REQUIRES_SERVICE,
+	STR_ORDER_CONDITIONAL_UNCONDITIONALLY,
+	INVALID_STRING_ID,
+};
+
+static const StringID _order_conditional_condition[] = {
+	STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS,
+	STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS,
+	STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN,
+	STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS,
+	STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN,
+	STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS,
+	STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE,
+	STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE,
+	INVALID_STRING_ID,
+};
+
+extern uint ConvertSpeedToDisplaySpeed(uint speed);
+extern uint ConvertDisplaySpeedToSpeed(uint speed);
+
+
 static void DrawOrdersWindow(Window *w)
 {
-	const Vehicle *v;
-	const Order *order;
-	StringID str;
-	int sel;
-	int y, i;
-	bool shared_orders;
-
-	v = GetVehicle(w->window_number);
-
-	shared_orders = v->IsOrderListShared();
+	const Vehicle *v = GetVehicle(w->window_number);
+	bool shared_orders = v->IsOrderListShared();
 
 	SetVScrollCount(w, v->num_orders + 1);
 
-	sel = OrderGetSel(w);
-	SetDParam(2, STR_8827_FULL_LOAD);
-
-	order = GetVehicleOrder(v, sel);
+	int sel = OrderGetSel(w);
+	const Order *order = GetVehicleOrder(v, sel);
 
 	if (v->owner == _local_player) {
+		/* Set the strings for the dropdown boxes. */
+		w->widget[ORDER_WIDGET_NON_STOP].data        = _order_non_stop_drowdown[order == NULL ? 0 : order->GetNonStopType()];
+		w->widget[ORDER_WIDGET_FULL_LOAD].data       = _order_full_load_drowdown[order == NULL ? 0 : order->GetLoadType()];
+		w->widget[ORDER_WIDGET_UNLOAD].data          = _order_unload_drowdown[order == NULL ? 0 : order->GetUnloadType()];
+		w->widget[ORDER_WIDGET_COND_VARIABLE].data   = _order_conditional_variable[order == NULL ? 0 : order->GetConditionVariable()];
+		w->widget[ORDER_WIDGET_COND_COMPARATOR].data = _order_conditional_condition[order == NULL ? 0 : order->GetConditionComparator()];
+
 		/* skip */
 		w->SetWidgetDisabledState(ORDER_WIDGET_SKIP, v->num_orders <= 1);
 
@@ -139,18 +238,23 @@
 
 		/* non-stop only for trains */
 		w->SetWidgetDisabledState(ORDER_WIDGET_NON_STOP,  v->type != VEH_TRAIN || order == NULL);
-		w->SetWidgetDisabledState(ORDER_WIDGET_FULL_LOAD, order == NULL); // full load
-		w->SetWidgetDisabledState(ORDER_WIDGET_UNLOAD,    order == NULL); // unload
-		w->SetWidgetDisabledState(ORDER_WIDGET_TRANSFER,  order == NULL); // transfer
+		w->SetWidgetDisabledState(ORDER_WIDGET_FULL_LOAD, order == NULL || (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) != 0); // full load
+		w->SetWidgetDisabledState(ORDER_WIDGET_UNLOAD,    order == NULL || (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) != 0); // unload
 		/* Disable list of vehicles with the same shared orders if there is no list */
 		w->SetWidgetDisabledState(ORDER_WIDGET_SHARED_ORDER_LIST, !shared_orders || v->orders == NULL);
 		w->SetWidgetDisabledState(ORDER_WIDGET_REFIT,     order == NULL); // Refit
+		w->SetWidgetDisabledState(ORDER_WIDGET_SERVICE,   order == NULL); // Refit
 		w->HideWidget(ORDER_WIDGET_REFIT); // Refit
-	} else {
-		w->DisableWidget(ORDER_WIDGET_TRANSFER);
+		w->HideWidget(ORDER_WIDGET_SERVICE); // Service
+
+		w->HideWidget(ORDER_WIDGET_COND_VARIABLE);
+		w->HideWidget(ORDER_WIDGET_COND_COMPARATOR);
+		w->HideWidget(ORDER_WIDGET_COND_VALUE);
 	}
 
-	w->ShowWidget(ORDER_WIDGET_UNLOAD); // Unload
+	w->ShowWidget(ORDER_WIDGET_NON_STOP);
+	w->ShowWidget(ORDER_WIDGET_UNLOAD);
+	w->ShowWidget(ORDER_WIDGET_FULL_LOAD);
 
 	if (order != NULL) {
 		switch (order->GetType()) {
@@ -161,18 +265,35 @@
 			case OT_GOTO_WAYPOINT:
 				w->DisableWidget(ORDER_WIDGET_FULL_LOAD);
 				w->DisableWidget(ORDER_WIDGET_UNLOAD);
-				w->DisableWidget(ORDER_WIDGET_TRANSFER);
 				break;
 
 			case OT_GOTO_DEPOT:
-				w->DisableWidget(ORDER_WIDGET_TRANSFER);
+				w->DisableWidget(ORDER_WIDGET_FULL_LOAD);
 
 				/* Remove unload and replace it with refit */
 				w->HideWidget(ORDER_WIDGET_UNLOAD);
 				w->ShowWidget(ORDER_WIDGET_REFIT);
-				SetDParam(2,STR_SERVICE);
+				w->HideWidget(ORDER_WIDGET_FULL_LOAD);
+				w->ShowWidget(ORDER_WIDGET_SERVICE);
 				break;
 
+			case OT_CONDITIONAL: {
+				w->HideWidget(ORDER_WIDGET_NON_STOP);
+				w->HideWidget(ORDER_WIDGET_UNLOAD);
+				w->HideWidget(ORDER_WIDGET_FULL_LOAD);
+				w->ShowWidget(ORDER_WIDGET_COND_VARIABLE);
+				w->ShowWidget(ORDER_WIDGET_COND_COMPARATOR);
+				w->ShowWidget(ORDER_WIDGET_COND_VALUE);
+
+				OrderConditionVariable ocv = order->GetConditionVariable();
+				w->SetWidgetDisabledState(ORDER_WIDGET_COND_COMPARATOR, ocv == OCV_UNCONDITIONALLY);
+				w->SetWidgetDisabledState(ORDER_WIDGET_COND_VALUE, ocv == OCV_REQUIRES_SERVICE || ocv == OCV_UNCONDITIONALLY);
+
+				uint value = order->GetConditionValue();
+				if (order->GetConditionVariable() == OCV_MAX_SPEED) value = ConvertSpeedToDisplaySpeed(value);
+				SetDParam(1, value);
+			} break;
+
 			default: // every other orders
 				w->DisableWidget(ORDER_WIDGET_NON_STOP);
 				w->DisableWidget(ORDER_WIDGET_FULL_LOAD);
@@ -183,63 +304,93 @@
 	SetDParam(0, v->index);
 	DrawWindowWidgets(w);
 
-	y = 15;
+	int y = 15;
 
-	i = w->vscroll.pos;
+	int i = w->vscroll.pos;
 	order = GetVehicleOrder(v, i);
+	StringID str;
 	while (order != NULL) {
 		str = (v->cur_order_index == i) ? STR_8805 : STR_8804;
-		SetDParam(3, STR_EMPTY);
+		SetDParam(6, STR_EMPTY);
 
 		if (i - w->vscroll.pos < w->vscroll.cap) {
-			SetDParam(1, 6);
-
 			switch (order->GetType()) {
 				case OT_DUMMY:
 					SetDParam(1, STR_INVALID_ORDER);
 					SetDParam(2, order->GetDestination());
 					break;
 
-				case OT_GOTO_STATION:
-					SetDParam(1, _station_order_strings[!!order->GetNonStopType()][order->GetLoadType() | order->GetUnloadType()]);
+				case OT_GOTO_STATION: {
+					OrderLoadFlags load = order->GetLoadType();
+					OrderUnloadFlags unload = order->GetUnloadType();
+
+					SetDParam(1, STR_GO_TO_STATION);
+					SetDParam(2, STR_ORDER_GO_TO + (v->type == VEH_TRAIN ? order->GetNonStopType() : 0));
+					SetDParam(3, order->GetDestination());
+					SetDParam(4, (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) ? STR_EMPTY : _station_load_types[unload][load]);
+				} break;
+
+				case OT_GOTO_DEPOT:
+					if (v->type == VEH_AIRCRAFT) {
+						if (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) {
+							SetDParam(1, STR_GO_TO_NEAREST_DEPOT);
+							SetDParam(3, STR_ORDER_NEAREST_HANGAR);
+						} else {
+							SetDParam(1, STR_GO_TO_HANGAR);
+							SetDParam(3, order->GetDestination());
+						}
+						SetDParam(4, STR_EMPTY);
+					} else {
+						if (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) {
+							SetDParam(1, STR_GO_TO_NEAREST_DEPOT);
+							SetDParam(3, STR_ORDER_NEAREST_DEPOT);
+						} else {
+							SetDParam(1, STR_GO_TO_DEPOT);
+							SetDParam(3, GetDepot(order->GetDestination())->town_index);
+						}
+
+						switch (v->type) {
+							case VEH_TRAIN: SetDParam(4, STR_ORDER_TRAIN_DEPOT); break;
+							case VEH_ROAD:  SetDParam(4, STR_ORDER_ROAD_DEPOT); break;
+							case VEH_SHIP:  SetDParam(4, STR_ORDER_SHIP_DEPOT); break;
+							default: NOT_REACHED();
+						}
+					}
+
+					if (order->GetDepotOrderType() & ODTFB_SERVICE) {
+						SetDParam(2, (order->GetNonStopType() & ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS) ? STR_ORDER_SERVICE_NON_STOP_AT : STR_ORDER_SERVICE_AT);
+					} else {
+						SetDParam(2, (order->GetNonStopType() & ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS) ? STR_ORDER_GO_NON_STOP_TO : STR_ORDER_GO_TO);
+					}
+
+					if (order->IsRefit()) {
+						SetDParam(6, STR_REFIT_ORDER);
+						SetDParam(7, GetCargo(order->GetRefitCargo())->name);
+					}
+					break;
+
+				case OT_GOTO_WAYPOINT:
+					SetDParam(1, (order->GetNonStopType() & ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS) ? STR_GO_NON_STOP_TO_WAYPOINT : STR_GO_TO_WAYPOINT);
 					SetDParam(2, order->GetDestination());
 					break;
 
-				case OT_GOTO_DEPOT: {
-					StringID s = STR_NULL;
-
-					if (v->type == VEH_AIRCRAFT) {
-						s = STR_GO_TO_AIRPORT_HANGAR;
-						SetDParam(2, order->GetDestination());
+				case OT_CONDITIONAL:
+					SetDParam(2, order->GetConditionSkipToOrder() + 1);
+					if (order->GetConditionVariable() == OCV_UNCONDITIONALLY) {
+						SetDParam(1, STR_CONDITIONAL_UNCONDITIONAL);
 					} else {
-						SetDParam(2, GetDepot(order->GetDestination())->town_index);
+						OrderConditionComparator occ = order->GetConditionComparator();
+						SetDParam(1, (occ == OCC_IS_TRUE || occ == OCC_IS_FALSE) ? STR_CONDITIONAL_TRUE_FALSE : STR_CONDITIONAL_NUM);
+						SetDParam(3, STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE + order->GetConditionVariable());
+						SetDParam(4, STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS + occ);
 
-						switch (v->type) {
-							case VEH_TRAIN: s = (order->GetNonStopType() & OFB_NON_STOP) ? STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT : STR_GO_TO_TRAIN_DEPOT; break;
-							case VEH_ROAD:  s = STR_GO_TO_ROADVEH_DEPOT; break;
-							case VEH_SHIP:  s = STR_GO_TO_SHIP_DEPOT; break;
-							default: break;
-						}
-					}
-
-					if (order->GetDepotOrderType() & OFB_SERVICE_IF_NEEDED) s++; /* service at */
-
-					SetDParam(1, s);
-					if (order->IsRefit()) {
-						SetDParam(3, STR_REFIT_ORDER);
-						SetDParam(4, GetCargo(order->GetRefitCargo())->name);
-					} else {
-						SetDParam(3, STR_EMPTY);
+						uint value = order->GetConditionValue();
+						if (order->GetConditionVariable() == OCV_MAX_SPEED) value = ConvertSpeedToDisplaySpeed(value);
+						SetDParam(5, value);
 					}
 					break;
-				}
 
-				case OT_GOTO_WAYPOINT:
-					SetDParam(1, (order->GetNonStopType() & OFB_NON_STOP) ? STR_GO_NON_STOP_TO_WAYPOINT : STR_GO_TO_WAYPOINT);
-					SetDParam(2, order->GetDestination());
-					break;
-
-				default: break;
+				default: NOT_REACHED();
 			}
 
 			SetDParam(0, i + 1);
@@ -264,49 +415,49 @@
 	order.next  = NULL;
 	order.index = 0;
 
-	// check depot first
+	/* check depot first */
 	if (_patches.gotodepot) {
 		switch (GetTileType(tile)) {
-		case MP_RAILWAY:
-			if (v->type == VEH_TRAIN && IsTileOwner(tile, _local_player)) {
-				if (IsRailDepot(tile)) {
-					order.MakeGoToDepot(GetDepotByTile(tile)->index, true);
+			case MP_RAILWAY:
+				if (v->type == VEH_TRAIN && IsTileOwner(tile, _local_player)) {
+					if (IsRailDepot(tile)) {
+						order.MakeGoToDepot(GetDepotByTile(tile)->index, ODTFB_PART_OF_ORDERS);
+						return order;
+					}
+				}
+				break;
+
+			case MP_ROAD:
+				if (IsRoadDepot(tile) && v->type == VEH_ROAD && IsTileOwner(tile, _local_player)) {
+					order.MakeGoToDepot(GetDepotByTile(tile)->index, ODTFB_PART_OF_ORDERS);
 					return order;
 				}
-			}
-			break;
-
-		case MP_ROAD:
-			if (IsRoadDepot(tile) && v->type == VEH_ROAD && IsTileOwner(tile, _local_player)) {
-				order.MakeGoToDepot(GetDepotByTile(tile)->index, true);
-				return order;
-			}
-			break;
+				break;
 
-		case MP_STATION:
-			if (v->type != VEH_AIRCRAFT) break;
-			if (IsHangar(tile) && IsTileOwner(tile, _local_player)) {
-				order.MakeGoToDepot(GetStationIndex(tile), true);
-				return order;
-			}
-			break;
+			case MP_STATION:
+				if (v->type != VEH_AIRCRAFT) break;
+				if (IsHangar(tile) && IsTileOwner(tile, _local_player)) {
+					order.MakeGoToDepot(GetStationIndex(tile), ODTFB_PART_OF_ORDERS);
+					return order;
+				}
+				break;
 
-		case MP_WATER:
-			if (v->type != VEH_SHIP) break;
-			if (IsTileDepotType(tile, TRANSPORT_WATER) &&
-					IsTileOwner(tile, _local_player)) {
-				TileIndex tile2 = GetOtherShipDepotTile(tile);
+			case MP_WATER:
+				if (v->type != VEH_SHIP) break;
+				if (IsTileDepotType(tile, TRANSPORT_WATER) &&
+						IsTileOwner(tile, _local_player)) {
+					TileIndex tile2 = GetOtherShipDepotTile(tile);
 
-				order.MakeGoToDepot(GetDepotByTile(tile < tile2 ? tile : tile2)->index, true);
-				return order;
-			}
+					order.MakeGoToDepot(GetDepotByTile(tile < tile2 ? tile : tile2)->index, ODTFB_PART_OF_ORDERS);
+					return order;
+				}
 
 			default:
 				break;
 		}
 	}
 
-	// check waypoint
+	/* check waypoint */
 	if (IsTileType(tile, MP_RAILWAY) &&
 			v->type == VEH_TRAIN &&
 			IsTileOwner(tile, _local_player) &&
@@ -321,19 +472,20 @@
 
 		if (st->owner == _current_player || st->owner == OWNER_NONE) {
 			byte facil;
-			(facil=FACIL_DOCK, v->type == VEH_SHIP) ||
-			(facil=FACIL_TRAIN, v->type == VEH_TRAIN) ||
-			(facil=FACIL_AIRPORT, v->type == VEH_AIRCRAFT) ||
-			(facil=FACIL_BUS_STOP, v->type == VEH_ROAD && IsCargoInClass(v->cargo_type, CC_PASSENGERS)) ||
-			(facil=FACIL_TRUCK_STOP, 1);
+			(facil = FACIL_DOCK, v->type == VEH_SHIP) ||
+			(facil = FACIL_TRAIN, v->type == VEH_TRAIN) ||
+			(facil = FACIL_AIRPORT, v->type == VEH_AIRCRAFT) ||
+			(facil = FACIL_BUS_STOP, v->type == VEH_ROAD && IsCargoInClass(v->cargo_type, CC_PASSENGERS)) ||
+			(facil = FACIL_TRUCK_STOP, 1);
 			if (st->facilities & facil) {
 				order.MakeGoToStation(st_index);
+				if (_patches.new_nonstop && v->type == VEH_TRAIN) order.SetNonStopType(ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
 				return order;
 			}
 		}
 	}
 
-	// not found
+	/* not found */
 	order.Free();
 	return order;
 }
@@ -347,8 +499,8 @@
 		if (!u->IsPrimaryVehicle()) return false;
 	}
 
-	// v is vehicle getting orders. Only copy/clone orders if vehicle doesn't have any orders yet
-	// obviously if you press CTRL on a non-empty orders vehicle you know what you are doing
+	/* v is vehicle getting orders. Only copy/clone orders if vehicle doesn't have any orders yet
+	 * obviously if you press CTRL on a non-empty orders vehicle you know what you are doing */
 	if (v->num_orders != 0 && _ctrl_pressed == 0) return false;
 
 	if (DoCommandP(v->tile, v->index | (u->index << 16), _ctrl_pressed ? CO_SHARE : CO_COPY, NULL,
@@ -362,14 +514,11 @@
 
 static void OrdersPlaceObj(const Vehicle *v, TileIndex tile, Window *w)
 {
-	Order cmd;
-	const Vehicle *u;
-
-	// check if we're clicking on a vehicle first.. clone orders in that case.
-	u = CheckMouseOverVehicle();
+	/* check if we're clicking on a vehicle first.. clone orders in that case. */
+	const Vehicle *u = CheckMouseOverVehicle();
 	if (u != NULL && HandleOrderVehClick(v, u, w)) return;
 
-	cmd = GetOrderCmdFromTile(v, tile);
+	const Order cmd = GetOrderCmdFromTile(v, tile);
 	if (!cmd.IsValid()) return;
 
 	if (DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), cmd.Pack(), NULL, CMD_INSERT_ORDER | CMD_MSG(STR_8833_CAN_T_INSERT_NEW_ORDER))) {
@@ -384,13 +533,14 @@
  * @param w current window
  * @param v current vehicle
  */
-static void OrderClick_Goto(Window *w, const Vehicle *v)
+static void OrderClick_Goto(Window *w, const Vehicle *v, int i)
 {
 	w->InvalidateWidget(ORDER_WIDGET_GOTO);
 	w->ToggleWidgetLoweredState(ORDER_WIDGET_GOTO);
 	if (w->IsWidgetLowered(ORDER_WIDGET_GOTO)) {
 		_place_clicked_vehicle = NULL;
 		SetObjectToPlaceWnd(ANIMCURSOR_PICKSTATION, PAL_NONE, VHM_RECT, w);
+		WP(w, order_d).goto_type = OPOS_GOTO;
 	} else {
 		ResetObjectToPlace();
 	}
@@ -401,10 +551,67 @@
  *
  * @param w current window
  * @param v current vehicle
+ * @param load_type the way to load.
  */
-static void OrderClick_FullLoad(Window *w, const Vehicle *v)
+static void OrderClick_FullLoad(Window *w, const Vehicle *v, int load_type)
 {
-	DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), OF_FULL_LOAD, NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+	VehicleOrderID sel_ord = OrderGetSel(w);
+	const Order *order = GetVehicleOrder(v, sel_ord);
+
+	if (order->GetLoadType() == load_type) return;
+
+	if (load_type < 0) {
+		switch (order->GetLoadType()) {
+			case OLF_LOAD_IF_POSSIBLE: load_type = OLFB_FULL_LOAD;       break;
+			case OLFB_FULL_LOAD:       load_type = OLF_FULL_LOAD_ANY;    break;
+			case OLF_FULL_LOAD_ANY:    load_type = OLFB_NO_LOAD;         break;
+			case OLFB_NO_LOAD:         load_type = OLF_LOAD_IF_POSSIBLE; break;
+			default: NOT_REACHED();
+		}
+	}
+	DoCommandP(v->tile, v->index + (sel_ord << 16), MOF_LOAD | (load_type << 4), NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+}
+
+/**
+ * Handle the click on the service.
+ *
+ * @param w current window
+ * @param v current vehicle
+ */
+static void OrderClick_Service(Window *w, const Vehicle *v, int i)
+{
+	DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), MOF_DEPOT_ACTION, NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+}
+
+/**
+ * Handle the click on the service in nearest depot button.
+ *
+ * @param w current window
+ * @param v current vehicle
+ */
+static void OrderClick_NearestDepot(Window *w, const Vehicle *v, int i)
+{
+	Order order;
+	order.next = NULL;
+	order.index = 0;
+	order.MakeGoToDepot(0, ODTFB_PART_OF_ORDERS);
+	order.SetDepotActionType(ODATFB_NEAREST_DEPOT);
+
+	DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), order.Pack(), NULL, CMD_INSERT_ORDER | CMD_MSG(STR_8833_CAN_T_INSERT_NEW_ORDER));
+}
+
+/**
+ * Handle the click on the conditional order button.
+ *
+ * @param w current window
+ * @param v current vehicle
+ */
+static void OrderClick_Conditional(Window *w, const Vehicle *v, int i)
+{
+	w->InvalidateWidget(ORDER_WIDGET_GOTO);
+	w->LowerWidget(ORDER_WIDGET_GOTO);
+	SetObjectToPlaceWnd(ANIMCURSOR_PICKSTATION, PAL_NONE, VHM_RECT, w);
+	WP(w, order_d).goto_type = OPOS_CONDITIONAL;
 }
 
 /**
@@ -413,9 +620,24 @@
  * @param w current window
  * @param v current vehicle
  */
-static void OrderClick_Unload(Window *w, const Vehicle *v)
+static void OrderClick_Unload(Window *w, const Vehicle *v, int unload_type)
 {
-	DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), OF_UNLOAD,    NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+	VehicleOrderID sel_ord = OrderGetSel(w);
+	const Order *order = GetVehicleOrder(v, sel_ord);
+
+	if (order->GetUnloadType() == unload_type) return;
+
+	if (unload_type < 0) {
+		switch (order->GetUnloadType()) {
+			case OUF_UNLOAD_IF_POSSIBLE: unload_type = OUFB_UNLOAD;            break;
+			case OUFB_UNLOAD:            unload_type = OUFB_TRANSFER;          break;
+			case OUFB_TRANSFER:          unload_type = OUFB_NO_UNLOAD;         break;
+			case OUFB_NO_UNLOAD:         unload_type = OUF_UNLOAD_IF_POSSIBLE; break;
+			default: NOT_REACHED();
+		}
+	}
+
+	DoCommandP(v->tile, v->index + (sel_ord << 16), MOF_UNLOAD | (unload_type << 4), NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
 }
 
 /**
@@ -423,10 +645,21 @@
  *
  * @param w current window
  * @param v current vehicle
+ * @param non_stop what non-stop type to use; -1 to use the 'next' one.
  */
-static void OrderClick_Nonstop(Window *w, const Vehicle *v)
+static void OrderClick_Nonstop(Window *w, const Vehicle *v, int non_stop)
 {
-	DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), OF_NON_STOP,  NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+	VehicleOrderID sel_ord = OrderGetSel(w);
+	const Order *order = GetVehicleOrder(v, sel_ord);
+
+	if (order->GetNonStopType() == non_stop) return;
+
+	/* Keypress if negative, so 'toggle' to the next */
+	if (non_stop < 0) {
+		non_stop = (order->GetNonStopType() + 1) % ONSF_END;
+	}
+
+	DoCommandP(v->tile, v->index + (sel_ord << 16), MOF_NON_STOP | non_stop << 4,  NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
 }
 
 /**
@@ -435,9 +668,12 @@
  * @param w current window
  * @param v current vehicle
  */
-static void OrderClick_Transfer(Window* w, const Vehicle* v)
+static void OrderClick_Transfer(Window *w, const Vehicle *v, int i)
 {
-	DoCommandP(v->tile, v->index + (OrderGetSel(w) <<  16), OF_TRANSFER, NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+	VehicleOrderID sel_ord = OrderGetSel(w);
+	const Order *order = GetVehicleOrder(v, sel_ord);
+
+	DoCommandP(v->tile, v->index + (sel_ord << 16), MOF_UNLOAD | ((order->GetUnloadType() & ~OUFB_NO_UNLOAD) ^ OUFB_TRANSFER) << 4, NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
 }
 
 /**
@@ -448,7 +684,7 @@
  * @param w current window
  * @param v current vehicle
  */
-static void OrderClick_Skip(Window *w, const Vehicle *v)
+static void OrderClick_Skip(Window *w, const Vehicle *v, int i)
 {
 	/* Don't skip when there's nothing to skip */
 	if (_ctrl_pressed && v->cur_order_index == OrderGetSel(w)) return;
@@ -463,7 +699,7 @@
  * @param w current window
  * @param v current vehicle
  */
-static void OrderClick_Delete(Window *w, const Vehicle *v)
+static void OrderClick_Delete(Window *w, const Vehicle *v, int i)
 {
 	DoCommandP(v->tile, v->index, OrderGetSel(w), NULL, CMD_DELETE_ORDER | CMD_MSG(STR_8834_CAN_T_DELETE_THIS_ORDER));
 }
@@ -476,7 +712,7 @@
  * @param w current window
  * @param v current vehicle
  */
-static void OrderClick_Refit(Window *w, const Vehicle *v)
+static void OrderClick_Refit(Window *w, const Vehicle *v, int i)
 {
 	if (_ctrl_pressed) {
 		/* Cancel refitting */
@@ -486,7 +722,7 @@
 	}
 }
 
-typedef void OnButtonVehClick(Window *w, const Vehicle *v);
+typedef void OnButtonVehClick(Window *w, const Vehicle *v, int i);
 
 /**
  * Keycode function mapping.
@@ -501,7 +737,8 @@
 	OrderClick_Goto,
 	OrderClick_FullLoad,
 	OrderClick_Unload,
-	OrderClick_Transfer
+	OrderClick_Transfer,
+	OrderClick_Service,
 };
 
 static const uint16 _order_keycodes[] = {
@@ -515,20 +752,10 @@
 
 static void OrdersWndProc(Window *w, WindowEvent *e)
 {
+	const Vehicle *v = GetVehicle(w->window_number);
+
 	switch (e->event) {
 		case WE_CREATE:
-			/* Ensure that the refit and unload buttons always remain at the same location.
-			 * Only one of them can be active at any one time and takes turns on being disabled.
-			 * To ensure that they stay at the same location, we also verify that they behave the same
-			 * when resizing. */
-			if (GetVehicle(w->window_number)->owner == _local_player) { // only the vehicle owner got these buttons
-				assert(w->widget[ORDER_WIDGET_REFIT].left          == w->widget[ORDER_WIDGET_UNLOAD].left);
-				assert(w->widget[ORDER_WIDGET_REFIT].right         == w->widget[ORDER_WIDGET_UNLOAD].right);
-				assert(w->widget[ORDER_WIDGET_REFIT].top           == w->widget[ORDER_WIDGET_UNLOAD].top);
-				assert(w->widget[ORDER_WIDGET_REFIT].bottom        == w->widget[ORDER_WIDGET_UNLOAD].bottom);
-				assert(w->widget[ORDER_WIDGET_REFIT].display_flags == w->widget[ORDER_WIDGET_UNLOAD].display_flags);
-			}
-
 			if (_patches.timetabling) {
 				w->widget[ORDER_WIDGET_CAPTION].right -= 61;
 			} else {
@@ -537,193 +764,272 @@
 
 			break;
 
-	case WE_PAINT:
-		DrawOrdersWindow(w);
-		break;
+		case WE_PAINT:
+			DrawOrdersWindow(w);
+			break;
 
-	case WE_CLICK: {
-		const Vehicle *v = GetVehicle(w->window_number);
-		switch (e->we.click.widget) {
-		case ORDER_WIDGET_ORDER_LIST: {
-			ResetObjectToPlace();
+		case WE_CLICK:
+			if (w->widget[e->we.click.widget].type != WWT_DROPDOWN) HideDropDownMenu(w);
+			switch (e->we.click.widget) {
+				case ORDER_WIDGET_ORDER_LIST: {
+					ResetObjectToPlace();
 
-			int sel = GetOrderFromOrderWndPt(w, e->we.click.pt.y, v);
+					int sel = GetOrderFromOrderWndPt(w, e->we.click.pt.y, v);
 
-			if (sel == INVALID_ORDER) {
-				/* This was a click on an empty part of the orders window, so
-				 * deselect the currently selected order. */
-				WP(w, order_d).sel = -1;
-				SetWindowDirty(w);
-				return;
+					if (sel == INVALID_ORDER) {
+						/* This was a click on an empty part of the orders window, so
+						* deselect the currently selected order. */
+						WP(w, order_d).sel = -1;
+						SetWindowDirty(w);
+						return;
+					}
+
+					if (_ctrl_pressed && sel < v->num_orders) {
+						const Order *ord = GetVehicleOrder(v, sel);
+						TileIndex xy;
+
+						switch (ord->GetType()) {
+							case OT_GOTO_STATION:  xy = GetStation(ord->GetDestination())->xy ; break;
+							case OT_GOTO_DEPOT:    xy = (v->type == VEH_AIRCRAFT) ?  GetStation(ord->GetDestination())->xy : GetDepot(ord->GetDestination())->xy;    break;
+							case OT_GOTO_WAYPOINT: xy = GetWaypoint(ord->GetDestination())->xy; break;
+							default:               xy = 0; break;
+						}
+
+						if (xy != 0) ScrollMainWindowToTile(xy);
+						return;
+					} else {
+						if (sel == WP(w, order_d).sel) {
+							/* Deselect clicked order */
+							WP(w, order_d).sel = -1;
+						} else {
+							/* Select clicked order */
+							WP(w, order_d).sel = sel;
+
+							if (v->owner == _local_player) {
+								/* Activate drag and drop */
+								SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, VHM_DRAG, w);
+							}
+						}
+					}
+
+					SetWindowDirty(w);
+				} break;
+
+				case ORDER_WIDGET_SKIP:
+					OrderClick_Skip(w, v, 0);
+					break;
+
+				case ORDER_WIDGET_DELETE:
+					OrderClick_Delete(w, v, 0);
+					break;
+
+				case ORDER_WIDGET_NON_STOP: {
+					const Order *o = GetVehicleOrder(v, OrderGetSel(w));
+					ShowDropDownMenu(w, _order_non_stop_drowdown, o->GetNonStopType(), ORDER_WIDGET_NON_STOP, 0, o->IsType(OT_GOTO_STATION) ? 0 : (o->IsType(OT_GOTO_WAYPOINT) ? 3 : 12));
+				} break;
+
+				case ORDER_WIDGET_GOTO:
+					OrderClick_Goto(w, v, 0);
+					break;
+
+				case ORDER_WIDGET_GOTO_DROPDOWN:
+					ShowDropDownMenu(w, v->type == VEH_AIRCRAFT ? _order_goto_dropdown_aircraft : _order_goto_dropdown, 0, ORDER_WIDGET_GOTO, 0, 0, w->widget[ORDER_WIDGET_GOTO_DROPDOWN].right - w->widget[ORDER_WIDGET_GOTO].left);
+					break;
+
+				case ORDER_WIDGET_FULL_LOAD:
+					ShowDropDownMenu(w, _order_full_load_drowdown, GetVehicleOrder(v, OrderGetSel(w))->GetLoadType(), ORDER_WIDGET_FULL_LOAD, 0, 2);
+					break;
+
+				case ORDER_WIDGET_UNLOAD:
+					ShowDropDownMenu(w, _order_unload_drowdown, GetVehicleOrder(v, OrderGetSel(w))->GetUnloadType(), ORDER_WIDGET_UNLOAD, 0, 8);
+					break;
+
+				case ORDER_WIDGET_REFIT:
+					OrderClick_Refit(w, v, 0);
+					break;
+
+				case ORDER_WIDGET_SERVICE:
+					OrderClick_Service(w, v, 0);
+					break;
+
+				case ORDER_WIDGET_TIMETABLE_VIEW:
+					ShowTimetableWindow(v);
+					break;
+
+				case ORDER_WIDGET_COND_VARIABLE:
+					ShowDropDownMenu(w, _order_conditional_variable, GetVehicleOrder(v, OrderGetSel(w))->GetConditionVariable(), ORDER_WIDGET_COND_VARIABLE, 0, 0);
+					break;
+
+				case ORDER_WIDGET_COND_COMPARATOR: {
+					const Order *o = GetVehicleOrder(v, OrderGetSel(w));
+					ShowDropDownMenu(w, _order_conditional_condition, o->GetConditionComparator(), ORDER_WIDGET_COND_COMPARATOR, 0, (o->GetConditionVariable() == OCV_REQUIRES_SERVICE) ? 0x3F : 0xC0);
+				} break;
+
+				case ORDER_WIDGET_COND_VALUE: {
+					const Order *order = GetVehicleOrder(v, OrderGetSel(w));
+					uint value = order->GetConditionValue();
+					if (order->GetConditionVariable() == OCV_MAX_SPEED) value = ConvertSpeedToDisplaySpeed(value);
+					SetDParam(0, value);
+					ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_ORDER_CONDITIONAL_VALUE_CAPT, 5, 100, w, CS_NUMERAL);
+				} break;
+
+				case ORDER_WIDGET_SHARED_ORDER_LIST:
+					ShowVehicleListWindow(v);
+					break;
+			}
+			break;
+
+		case WE_ON_EDIT_TEXT:
+			if (!StrEmpty(e->we.edittext.str)) {
+				VehicleOrderID sel = OrderGetSel(w);
+				uint value = atoi(e->we.edittext.str);
+
+				switch (GetVehicleOrder(v, sel)->GetConditionVariable()) {
+					case OCV_MAX_SPEED:
+						value = ConvertDisplaySpeedToSpeed(value);
+						break;
+
+					case OCV_RELIABILITY:
+					case OCV_LOAD_PERCENTAGE:
+						value = Clamp(value, 0, 100);
+
+					default:
+						break;
+				}
+				DoCommandP(v->tile, v->index + (sel << 16), MOF_COND_VALUE | Clamp(value, 0, 2047) << 4, NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+			}
+			break;
+
+		case WE_DROPDOWN_SELECT: // we have selected a dropdown item in the list
+			switch (e->we.dropdown.button) {
+				case ORDER_WIDGET_NON_STOP:
+					OrderClick_Nonstop(w, v, e->we.dropdown.index);
+					break;
+
+				case ORDER_WIDGET_FULL_LOAD:
+					OrderClick_FullLoad(w, v, e->we.dropdown.index);
+					break;
+
+				case ORDER_WIDGET_UNLOAD:
+					OrderClick_Unload(w, v, e->we.dropdown.index);
+					break;
+
+				case ORDER_WIDGET_GOTO:
+					switch (e->we.dropdown.index) {
+						case 0:
+							w->ToggleWidgetLoweredState(ORDER_WIDGET_GOTO);
+							OrderClick_Goto(w, v, 0);
+							break;
+
+						case 1: OrderClick_NearestDepot(w, v, 0); break;
+						case 2: OrderClick_Conditional(w, v, 0); break;
+						default: NOT_REACHED();
+					}
+					break;
+
+				case ORDER_WIDGET_COND_VARIABLE:
+					DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), MOF_COND_VARIABLE | e->we.dropdown.index << 4,  NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+					break;
+
+				case ORDER_WIDGET_COND_COMPARATOR:
+					DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), MOF_COND_COMPARATOR | e->we.dropdown.index << 4,  NULL, CMD_MODIFY_ORDER | CMD_MSG(STR_8835_CAN_T_MODIFY_THIS_ORDER));
+					break;
+			}
+			break;
+
+		case WE_DRAGDROP:
+			switch (e->we.click.widget) {
+				case ORDER_WIDGET_ORDER_LIST: {
+					int from_order = OrderGetSel(w);
+					int to_order = GetOrderFromOrderWndPt(w, e->we.dragdrop.pt.y, v);
+
+					if (!(from_order == to_order || from_order == INVALID_ORDER || from_order > v->num_orders || to_order == INVALID_ORDER || to_order > v->num_orders) &&
+							DoCommandP(v->tile, v->index, from_order | (to_order << 16), NULL, CMD_MOVE_ORDER | CMD_MSG(STR_CAN_T_MOVE_THIS_ORDER))) {
+						WP(w, order_d).sel = -1;
+					}
+
+				} break;
+
+				case ORDER_WIDGET_DELETE:
+					OrderClick_Delete(w, v, 0);
+					break;
 			}
 
-			if (_ctrl_pressed && sel < v->num_orders) {
-				const Order *ord = GetVehicleOrder(v, sel);
-				TileIndex xy;
-
-				switch (ord->GetType()) {
-					case OT_GOTO_STATION:  xy = GetStation(ord->GetDestination())->xy ; break;
-					case OT_GOTO_DEPOT:    xy = (v->type == VEH_AIRCRAFT) ?  GetStation(ord->GetDestination())->xy : GetDepot(ord->GetDestination())->xy;    break;
-					case OT_GOTO_WAYPOINT: xy = GetWaypoint(ord->GetDestination())->xy; break;
-					default:               xy = 0; break;
-				}
+			ResetObjectToPlace();
+			break;
 
-				if (xy != 0) ScrollMainWindowToTile(xy);
-				return;
-			} else {
-				if (sel == WP(w, order_d).sel) {
-					/* Deselect clicked order */
-					WP(w, order_d).sel = -1;
-				} else {
-					/* Select clicked order */
-					WP(w, order_d).sel = sel;
+		case WE_KEYPRESS:
+			if (v->owner != _local_player) break;
 
-					if (v->owner == _local_player) {
-						/* Activate drag and drop */
-						SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, VHM_DRAG, w);
+			for (uint i = 0; i < lengthof(_order_keycodes); i++) {
+				if (e->we.keypress.keycode == _order_keycodes[i]) {
+					e->we.keypress.cont = false;
+					/* see if the button is disabled */
+					if (!w->IsWidgetDisabled(i + ORDER_WIDGET_SKIP)) _order_button_proc[i](w, v, -1);
+					break;
+				}
+			}
+			break;
+
+		case WE_PLACE_OBJ:
+			if (WP(w, order_d).goto_type == OPOS_GOTO) {
+				OrdersPlaceObj(GetVehicle(w->window_number), e->we.place.tile, w);
+			}
+			break;
+
+		case WE_ABORT_PLACE_OBJ:
+			if (WP(w, order_d).goto_type == OPOS_CONDITIONAL) {
+				WP(w, order_d).goto_type = OPOS_GOTO;
+				if (_cursor.pos.x >= (w->left + w->widget[ORDER_WIDGET_ORDER_LIST].left) &&
+						_cursor.pos.y >= (w->top  + w->widget[ORDER_WIDGET_ORDER_LIST].top) &&
+						_cursor.pos.x <= (w->left + w->widget[ORDER_WIDGET_ORDER_LIST].right) &&
+						_cursor.pos.y <= (w->top  + w->widget[ORDER_WIDGET_ORDER_LIST].bottom)) {
+					int order_id = GetOrderFromOrderWndPt(w, _cursor.pos.y - w->top, v);
+					if (order_id != INVALID_ORDER) {
+						Order order;
+						order.next = NULL;
+						order.index = 0;
+						order.MakeConditional(order_id);
+
+						DoCommandP(v->tile, v->index + (OrderGetSel(w) << 16), order.Pack(), NULL, CMD_INSERT_ORDER | CMD_MSG(STR_8833_CAN_T_INSERT_NEW_ORDER));
 					}
 				}
 			}
-
-			SetWindowDirty(w);
-		} break;
-
-		case ORDER_WIDGET_SKIP:
-			OrderClick_Skip(w, v);
-			break;
-
-		case ORDER_WIDGET_DELETE:
-			OrderClick_Delete(w, v);
-			break;
-
-		case ORDER_WIDGET_NON_STOP:
-			OrderClick_Nonstop(w, v);
-			break;
-
-		case ORDER_WIDGET_GOTO:
-			OrderClick_Goto(w, v);
-			break;
-
-		case ORDER_WIDGET_FULL_LOAD:
-			OrderClick_FullLoad(w, v);
-			break;
-
-		case ORDER_WIDGET_UNLOAD:
-			OrderClick_Unload(w, v);
-			break;
-		case ORDER_WIDGET_REFIT:
-			OrderClick_Refit(w, v);
-			break;
-
-		case ORDER_WIDGET_TRANSFER:
-			OrderClick_Transfer(w, v);
-			break;
-
-		case ORDER_WIDGET_TIMETABLE_VIEW:
-			ShowTimetableWindow(v);
+			w->RaiseWidget(ORDER_WIDGET_GOTO);
+			w->InvalidateWidget(ORDER_WIDGET_GOTO);
 			break;
 
-		case ORDER_WIDGET_SHARED_ORDER_LIST:
-			ShowVehicleListWindow(v);
-			break;
-		}
-	} break;
-
-	case WE_DRAGDROP: {
-		const Vehicle *v = GetVehicle(w->window_number);
-
-		switch (e->we.click.widget) {
-			case ORDER_WIDGET_ORDER_LIST: {
-				int from_order = OrderGetSel(w);
-				int to_order = GetOrderFromOrderWndPt(w, e->we.dragdrop.pt.y, v);
-
-				if (!(from_order == to_order || from_order == INVALID_ORDER || from_order > v->num_orders || to_order == INVALID_ORDER || to_order > v->num_orders) &&
-						DoCommandP(v->tile, v->index, from_order | (to_order << 16), NULL, CMD_MOVE_ORDER | CMD_MSG(STR_CAN_T_MOVE_THIS_ORDER))) {
-					WP(w, order_d).sel = -1;
-				}
-
-				break;
+		/* check if a vehicle in a depot was clicked.. */
+		case WE_MOUSELOOP:
+			v = _place_clicked_vehicle;
+			/*
+			* Check if we clicked on a vehicle
+			* and if the GOTO button of this window is pressed
+			* This is because of all open order windows WE_MOUSELOOP is called
+			* and if you have 3 windows open, and this check is not done
+			* the order is copied to the last open window instead of the
+			* one where GOTO is enabled
+			*/
+			if (v != NULL && w->IsWidgetLowered(ORDER_WIDGET_GOTO)) {
+				_place_clicked_vehicle = NULL;
+				HandleOrderVehClick(GetVehicle(w->window_number), v, w);
 			}
-
-			case ORDER_WIDGET_DELETE:
-				OrderClick_Delete(w, v);
-				break;
-		}
-
-		ResetObjectToPlace();
-		break;
-	}
-
-	case WE_KEYPRESS: {
-		Vehicle *v = GetVehicle(w->window_number);
-		uint i;
-
-		if (v->owner != _local_player) break;
-
-		for (i = 0; i < lengthof(_order_keycodes); i++) {
-			if (e->we.keypress.keycode == _order_keycodes[i]) {
-				e->we.keypress.cont = false;
-				//see if the button is disabled
-				if (!w->IsWidgetDisabled(i + ORDER_WIDGET_SKIP)) _order_button_proc[i](w, v);
-				break;
-			}
-		}
-		break;
-	}
+			break;
 
-	case WE_RCLICK: {
-		const Vehicle *v = GetVehicle(w->window_number);
-		int s = OrderGetSel(w);
-
-		if (e->we.click.widget != ORDER_WIDGET_FULL_LOAD) break;
-		if (s == v->num_orders || !GetVehicleOrder(v, s)->IsType(OT_GOTO_DEPOT)) {
-			GuiShowTooltips(STR_8857_MAKE_THE_HIGHLIGHTED_ORDER);
-		} else {
-			GuiShowTooltips(STR_SERVICE_HINT);
-		}
-	} break;
-
-	case WE_PLACE_OBJ: {
-		OrdersPlaceObj(GetVehicle(w->window_number), e->we.place.tile, w);
-	} break;
-
-	case WE_ABORT_PLACE_OBJ: {
-		w->RaiseWidget(ORDER_WIDGET_GOTO);
-		w->InvalidateWidget(ORDER_WIDGET_GOTO);
-	} break;
+		case WE_RESIZE:
+			/* Update the scroll + matrix */
+			w->vscroll.cap = (w->widget[ORDER_WIDGET_ORDER_LIST].bottom - w->widget[ORDER_WIDGET_ORDER_LIST].top) / 10;
+			break;
 
-	// check if a vehicle in a depot was clicked..
-	case WE_MOUSELOOP: {
-		const Vehicle *v = _place_clicked_vehicle;
-		/*
-		 * Check if we clicked on a vehicle
-		 * and if the GOTO button of this window is pressed
-		 * This is because of all open order windows WE_MOUSELOOP is called
-		 * and if you have 3 windows open, and this check is not done
-		 * the order is copied to the last open window instead of the
-		 * one where GOTO is enabled
-		 */
-		if (v != NULL && w->IsWidgetLowered(ORDER_WIDGET_GOTO)) {
-			_place_clicked_vehicle = NULL;
-			HandleOrderVehClick(GetVehicle(w->window_number), v, w);
-		}
-	} break;
-
-	case WE_RESIZE:
-		/* Update the scroll + matrix */
-		w->vscroll.cap = (w->widget[ORDER_WIDGET_ORDER_LIST].bottom - w->widget[ORDER_WIDGET_ORDER_LIST].top) / 10;
-		break;
-
-	case WE_TIMEOUT: { // handle button unclick ourselves...
-		// unclick all buttons except for the 'goto' button (ORDER_WIDGET_GOTO), which is 'persistent'
-		uint i;
-		for (i = 0; i < w->widget_count; i++) {
-			if (w->IsWidgetLowered(i) && i != ORDER_WIDGET_GOTO) {
-				w->RaiseWidget(i);
-				w->InvalidateWidget(i);
+		case WE_TIMEOUT: // handle button unclick ourselves...
+			/* unclick all buttons except for the 'goto' button (ORDER_WIDGET_GOTO), which is 'persistent' */
+			for (uint i = 0; i < w->widget_count; i++) {
+				if (w->IsWidgetLowered(i) && i != ORDER_WIDGET_GOTO) {
+					w->RaiseWidget(i);
+					w->InvalidateWidget(i);
+				}
 			}
-		}
-	} break;
+			break;
 	}
 }
 
@@ -732,32 +1038,36 @@
  */
 static const Widget _orders_train_widgets[] = {
 	{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                STR_018B_CLOSE_WINDOW},               // ORDER_WIDGET_CLOSEBOX
-	{    WWT_CAPTION,   RESIZE_RIGHT,   14,    11,   398,     0,    13, STR_8829_ORDERS,         STR_018C_WINDOW_TITLE_DRAG_THIS},     // ORDER_WIDGET_CAPTION
-	{ WWT_PUSHTXTBTN,   RESIZE_LR,      14,   338,   398,     0,    13, STR_TIMETABLE_VIEW,      STR_TIMETABLE_VIEW_TOOLTIP},          // ORDER_WIDGET_TIMETABLE_VIEW
-
-	{      WWT_PANEL,   RESIZE_RB,      14,     0,   386,    14,    75, 0x0,                     STR_8852_ORDERS_LIST_CLICK_ON_ORDER}, // ORDER_WIDGET_ORDER_LIST
-
-	{  WWT_SCROLLBAR,   RESIZE_LRB,     14,   387,   398,    14,    75, 0x0,                     STR_0190_SCROLL_BAR_SCROLLS_LIST},    // ORDER_WIDGET_SCROLLBAR
+	{    WWT_CAPTION,   RESIZE_RIGHT,   14,    11,   385,     0,    13, STR_8829_ORDERS,         STR_018C_WINDOW_TITLE_DRAG_THIS},     // ORDER_WIDGET_CAPTION
+	{ WWT_PUSHTXTBTN,   RESIZE_LR,      14,   325,   385,     0,    13, STR_TIMETABLE_VIEW,      STR_TIMETABLE_VIEW_TOOLTIP},          // ORDER_WIDGET_TIMETABLE_VIEW
 
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,     0,    52,    76,    87, STR_8823_SKIP,           STR_8853_SKIP_THE_CURRENT_ORDER},     // ORDER_WIDGET_SKIP
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,    53,   105,    76,    87, STR_8824_DELETE,         STR_8854_DELETE_THE_HIGHLIGHTED},     // ORDER_WIDGET_DELETE
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   106,   158,    76,    87, STR_8825_NON_STOP,       STR_8855_MAKE_THE_HIGHLIGHTED_ORDER}, // ORDER_WIDGET_NON_STOP
-	{    WWT_TEXTBTN,   RESIZE_TB,      14,   159,   211,    76,    87, STR_8826_GO_TO,          STR_8856_INSERT_A_NEW_ORDER_BEFORE},  // ORDER_WIDGET_GOTO
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   212,   264,    76,    87, STR_FULLLOAD_OR_SERVICE, STR_NULL},                            // ORDER_WIDGET_FULL_LOAD
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   265,   319,    76,    87, STR_8828_UNLOAD,         STR_8858_MAKE_THE_HIGHLIGHTED_ORDER}, // ORDER_WIDGET_UNLOAD
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   265,   319,    76,    87, STR_REFIT,               STR_REFIT_TIP},                       // ORDER_WIDGET_REFIT
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   320,   372,    76,    87, STR_TRANSFER,            STR_MAKE_THE_HIGHLIGHTED_ORDER},      // ORDER_WIDGET_TRANSFER
+	{      WWT_PANEL,   RESIZE_RB,      14,     0,   373,    14,    75, 0x0,                     STR_8852_ORDERS_LIST_CLICK_ON_ORDER}, // ORDER_WIDGET_ORDER_LIST
 
-	{ WWT_PUSHIMGBTN,   RESIZE_TB,      14,   373,   386,    76,    87, SPR_SHARED_ORDERS_ICON,  STR_VEH_WITH_SHARED_ORDERS_LIST_TIP}, // ORDER_WIDGET_SHARED_ORDER_LIST
+	{  WWT_SCROLLBAR,   RESIZE_LRB,     14,   374,   385,    14,    75, 0x0,                     STR_0190_SCROLL_BAR_SCROLLS_LIST},    // ORDER_WIDGET_SCROLLBAR
 
-	{      WWT_PANEL,   RESIZE_RTB,     14,   387,   386,    76,    87, 0x0,                     STR_NULL},                            // ORDER_WIDGET_RESIZE_BAR
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,     0,   123,    88,    99, STR_8823_SKIP,           STR_8853_SKIP_THE_CURRENT_ORDER},     // ORDER_WIDGET_SKIP
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   124,   247,    88,    99, STR_8824_DELETE,         STR_8854_DELETE_THE_HIGHLIGHTED},     // ORDER_WIDGET_DELETE
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,     0,   123,    76,    87, STR_NULL,                STR_ORDER_TOOLTIP_NON_STOP},          // ORDER_WIDGET_NON_STOP
+	{    WWT_TEXTBTN,   RESIZE_TB,      14,   248,   359,    88,    99, STR_8826_GO_TO,          STR_8856_INSERT_A_NEW_ORDER_BEFORE},  // ORDER_WIDGET_GOTO
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,   360,   371,    88,    99, STR_EMPTY,               STR_ORDER_GO_TO_DROPDOWN_TOOLTIP},    // ORDER_WIDGET_GOTO_DROPDOWN
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,   124,   247,    76,    87, STR_NULL,                STR_ORDER_TOOLTIP_FULL_LOAD},         // ORDER_WIDGET_FULL_LOAD
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,   248,   371,    76,    87, STR_NULL,                STR_ORDER_TOOLTIP_UNLOAD},            // ORDER_WIDGET_UNLOAD
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   124,   247,    76,    87, STR_REFIT,               STR_REFIT_TIP},                       // ORDER_WIDGET_REFIT
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   248,   371,    76,    87, STR_SERVICE,             STR_SERVICE_HINT},                    // ORDER_WIDGET_SERVICE
 
-	{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   387,   398,    76,    87, 0x0,                     STR_RESIZE_BUTTON},                   // ORDER_WIDGET_RESIZE
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,     0,   123,    76,    87, STR_NULL,                STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP},   // ORDER_WIDGET_COND_VARIABLE
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,   124,   247,    76,    87, STR_NULL,                STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP}, // ORDER_WIDGET_COND_COMPARATOR
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   248,   371,    76,    87, STR_CONDITIONAL_VALUE,   STR_ORDER_CONDITIONAL_VALUE_TOOLTIP},      // ORDER_WIDGET_COND_VALUE
+
+	{      WWT_PANEL,   RESIZE_RTB,     14,   372,   373,    76,    99, 0x0,                     STR_NULL},                            // ORDER_WIDGET_RESIZE_BAR
+	{ WWT_PUSHIMGBTN,   RESIZE_LRTB,    14,   372,   385,    76,    87, SPR_SHARED_ORDERS_ICON,  STR_VEH_WITH_SHARED_ORDERS_LIST_TIP}, // ORDER_WIDGET_SHARED_ORDER_LIST
+
+	{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   374,   385,    88,    99, 0x0,                     STR_RESIZE_BUTTON},                   // ORDER_WIDGET_RESIZE
 	{   WIDGETS_END},
 };
 
 static const WindowDesc _orders_train_desc = {
-	WDP_AUTO, WDP_AUTO, 399, 88, 399, 88,
+	WDP_AUTO, WDP_AUTO, 386, 100, 386, 100,
 	WC_VEHICLE_ORDERS,WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE,
 	_orders_train_widgets,
@@ -769,32 +1079,36 @@
  */
 static const Widget _orders_widgets[] = {
 	{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                STR_018B_CLOSE_WINDOW},               // ORDER_WIDGET_CLOSEBOX
-	{    WWT_CAPTION,   RESIZE_RIGHT,   14,    11,   409,     0,    13, STR_8829_ORDERS,         STR_018C_WINDOW_TITLE_DRAG_THIS},     // ORDER_WIDGET_CAPTION
-	{ WWT_PUSHTXTBTN,   RESIZE_LR,      14,   349,   409,     0,    13, STR_TIMETABLE_VIEW,      STR_TIMETABLE_VIEW_TOOLTIP},          // ORDER_WIDGET_TIMETABLE_VIEW
+	{    WWT_CAPTION,   RESIZE_RIGHT,   14,    11,   385,     0,    13, STR_8829_ORDERS,         STR_018C_WINDOW_TITLE_DRAG_THIS},     // ORDER_WIDGET_CAPTION
+	{ WWT_PUSHTXTBTN,   RESIZE_LR,      14,   325,   385,     0,    13, STR_TIMETABLE_VIEW,      STR_TIMETABLE_VIEW_TOOLTIP},          // ORDER_WIDGET_TIMETABLE_VIEW
 
-	{      WWT_PANEL,   RESIZE_RB,      14,     0,   397,    14,    75, 0x0,                     STR_8852_ORDERS_LIST_CLICK_ON_ORDER}, // ORDER_WIDGET_ORDER_LIST
+	{      WWT_PANEL,   RESIZE_RB,      14,     0,   373,    14,    75, 0x0,                     STR_8852_ORDERS_LIST_CLICK_ON_ORDER}, // ORDER_WIDGET_ORDER_LIST
 
-	{  WWT_SCROLLBAR,   RESIZE_LRB,     14,   398,   409,    14,    75, 0x0,                     STR_0190_SCROLL_BAR_SCROLLS_LIST},    // ORDER_WIDGET_SCROLLBAR
+	{  WWT_SCROLLBAR,   RESIZE_LRB,     14,   374,   385,    14,    75, 0x0,                     STR_0190_SCROLL_BAR_SCROLLS_LIST},    // ORDER_WIDGET_SCROLLBAR
 
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,     0,    63,    76,    87, STR_8823_SKIP,           STR_8853_SKIP_THE_CURRENT_ORDER},     // ORDER_WIDGET_SKIP
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,    64,   128,    76,    87, STR_8824_DELETE,         STR_8854_DELETE_THE_HIGHLIGHTED},     // ORDER_WIDGET_DELETE
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,     0,   123,    88,    99, STR_8823_SKIP,           STR_8853_SKIP_THE_CURRENT_ORDER},     // ORDER_WIDGET_SKIP
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   124,   247,    88,    99, STR_8824_DELETE,         STR_8854_DELETE_THE_HIGHLIGHTED},     // ORDER_WIDGET_DELETE
 	{      WWT_EMPTY,   RESIZE_TB,      14,     0,     0,    76,    87, 0x0,                     0x0},                                 // ORDER_WIDGET_NON_STOP
-	{    WWT_TEXTBTN,   RESIZE_TB,      14,   129,   192,    76,    87, STR_8826_GO_TO,          STR_8856_INSERT_A_NEW_ORDER_BEFORE},  // ORDER_WIDGET_GOTO
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   193,   256,    76,    87, STR_FULLLOAD_OR_SERVICE, STR_NULL},                            // ORDER_WIDGET_FULL_LOAD
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   257,   319,    76,    87, STR_8828_UNLOAD,         STR_8858_MAKE_THE_HIGHLIGHTED_ORDER}, // ORDER_WIDGET_UNLOAD
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   257,   319,    76,    87, STR_REFIT,               STR_REFIT_TIP},                       // ORDER_WIDGET_REFIT
-	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   320,   383,    76,    87, STR_TRANSFER,            STR_MAKE_THE_HIGHLIGHTED_ORDER},      // ORDER_WIDGET_TRANSFER
+	{    WWT_TEXTBTN,   RESIZE_TB,      14,   248,   359,    88,    99, STR_8826_GO_TO,          STR_8856_INSERT_A_NEW_ORDER_BEFORE},  // ORDER_WIDGET_GOTO
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,   360,   371,    88,    99, STR_EMPTY,               STR_ORDER_GO_TO_DROPDOWN_TOOLTIP},    // ORDER_WIDGET_GOTO_DROPDOWN
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,     0,   185,    76,    87, STR_NULL,                STR_ORDER_TOOLTIP_FULL_LOAD},         // ORDER_WIDGET_FULL_LOAD
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,   186,   371,    76,    87, STR_NULL,                STR_ORDER_TOOLTIP_UNLOAD},            // ORDER_WIDGET_UNLOAD
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,     0,   185,    76,    87, STR_REFIT,               STR_REFIT_TIP},                       // ORDER_WIDGET_REFIT
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   186,   371,    76,    87, STR_SERVICE,             STR_SERVICE_HINT},                    // ORDER_WIDGET_SERVICE
 
-	{ WWT_PUSHIMGBTN,   RESIZE_TB,      14,   384,   397,    76,    87, SPR_SHARED_ORDERS_ICON,  STR_VEH_WITH_SHARED_ORDERS_LIST_TIP}, // ORDER_WIDGET_SHARED_ORDER_LIST
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,     0,   123,    76,    87, STR_NULL,                STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP},   // ORDER_WIDGET_COND_VARIABLE
+	{   WWT_DROPDOWN,   RESIZE_TB,      14,   124,   247,    76,    87, STR_NULL,                STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP}, // ORDER_WIDGET_COND_COMPARATOR
+	{ WWT_PUSHTXTBTN,   RESIZE_TB,      14,   248,   371,    76,    87, STR_CONDITIONAL_VALUE,   STR_ORDER_CONDITIONAL_VALUE_TOOLTIP},      // ORDER_WIDGET_COND_VALUE
 
-	{      WWT_PANEL,   RESIZE_RTB,     14,   397,   396,    76,    87, 0x0,                     STR_NULL},                            // ORDER_WIDGET_RESIZE_BAR
+	{      WWT_PANEL,   RESIZE_RTB,     14,   372,   373,    76,    99, 0x0,                     STR_NULL},                            // ORDER_WIDGET_RESIZE_BAR
+	{ WWT_PUSHIMGBTN,   RESIZE_LRTB,    14,   372,   385,    76,    87, SPR_SHARED_ORDERS_ICON,  STR_VEH_WITH_SHARED_ORDERS_LIST_TIP}, // ORDER_WIDGET_SHARED_ORDER_LIST
 
-	{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   398,   409,    76,    87, 0x0,                     STR_RESIZE_BUTTON},                   // ORDER_WIDGET_RESIZE
+	{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   374,   385,    88,    99, 0x0,                     STR_RESIZE_BUTTON},                   // ORDER_WIDGET_RESIZE
 	{   WIDGETS_END},
 };
 
 static const WindowDesc _orders_desc = {
-	WDP_AUTO, WDP_AUTO, 410, 88, 410, 88,
+	WDP_AUTO, WDP_AUTO, 386, 100, 386, 100,
 	WC_VEHICLE_ORDERS,WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE,
 	_orders_widgets,
@@ -806,32 +1120,36 @@
  */
 static const Widget _other_orders_widgets[] = {
 	{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,           STR_018B_CLOSE_WINDOW},               // ORDER_WIDGET_CLOSEBOX
-	{    WWT_CAPTION,   RESIZE_RIGHT,   14,    11,   331,     0,    13, STR_A00B_ORDERS,    STR_018C_WINDOW_TITLE_DRAG_THIS},     // ORDER_WIDGET_CAPTION
-	{ WWT_PUSHTXTBTN,   RESIZE_LR,      14,   271,   331,     0,    13, STR_TIMETABLE_VIEW, STR_TIMETABLE_VIEW_TOOLTIP},          // ORDER_WIDGET_TIMETABLE_VIEW
-
-	{      WWT_PANEL,   RESIZE_RB,      14,     0,   319,    14,    75, 0x0,                STR_8852_ORDERS_LIST_CLICK_ON_ORDER}, // ORDER_WIDGET_ORDER_LIST
-
-	{  WWT_SCROLLBAR,   RESIZE_LRB,     14,   320,   331,    14,    75, 0x0,                STR_0190_SCROLL_BAR_SCROLLS_LIST},    // ORDER_WIDGET_SCROLLBAR
+	{    WWT_CAPTION,   RESIZE_RIGHT,   14,    11,   385,     0,    13, STR_8829_ORDERS,    STR_018C_WINDOW_TITLE_DRAG_THIS},     // ORDER_WIDGET_CAPTION
+	{ WWT_PUSHTXTBTN,   RESIZE_LR,      14,   325,   385,     0,    13, STR_TIMETABLE_VIEW, STR_TIMETABLE_VIEW_TOOLTIP},          // ORDER_WIDGET_TIMETABLE_VIEW
 
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_SKIP
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_DELETE
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_NON_STOP
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_GOTO
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_FULL_LOAD
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_UNLOAD
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_REFIT
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_TRANSFER
+	{      WWT_PANEL,   RESIZE_RB,      14,     0,   373,    14,    75, 0x0,                STR_8852_ORDERS_LIST_CLICK_ON_ORDER}, // ORDER_WIDGET_ORDER_LIST
 
-	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_SHARED_ORDER_LIST
+	{  WWT_SCROLLBAR,   RESIZE_LRB,     14,   374,   385,    14,    75, 0x0,                STR_0190_SCROLL_BAR_SCROLLS_LIST},    // ORDER_WIDGET_SCROLLBAR
 
-	{      WWT_PANEL,   RESIZE_RTB,     14,     0,   319,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_RESIZE_BAR
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_SKIP
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_DELETE
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_NON_STOP
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_GOTO
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_GOTO_DROPDOWN
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_FULL_LOAD
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_UNLOAD
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_REFIT
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_SERVICE
 
-	{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   320,   331,    76,    87, 0x0,                STR_RESIZE_BUTTON},                   // ORDER_WIDGET_RESIZE
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_COND_VARIABLE
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_COND_COMPARATOR
+	{      WWT_EMPTY,   RESIZE_NONE,    14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_COND_VALUE
+
+	{      WWT_PANEL,   RESIZE_RTB,     14,     0,   373,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_RESIZE_BAR
+	{      WWT_EMPTY,   RESIZE_TB,      14,     0,     0,    76,    87, 0x0,                STR_NULL},                            // ORDER_WIDGET_SHARED_ORDER_LIST
+
+	{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   374,   385,    76,    87, 0x0,                STR_RESIZE_BUTTON},                   // ORDER_WIDGET_RESIZE
 	{   WIDGETS_END},
 };
 
 static const WindowDesc _other_orders_desc = {
-	WDP_AUTO, WDP_AUTO, 332, 88, 332, 88,
+	WDP_AUTO, WDP_AUTO, 386, 88, 386, 88,
 	WC_VEHICLE_ORDERS,WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
 	_other_orders_widgets,
--- a/src/order_type.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/order_type.h	Sat Apr 12 21:38:49 2008 +0000
@@ -27,6 +27,7 @@
 	OT_LEAVESTATION  = 4,
 	OT_DUMMY         = 5,
 	OT_GOTO_WAYPOINT = 6,
+	OT_CONDITIONAL   = 7,
 	OT_END
 };
 
@@ -36,49 +37,96 @@
 typedef TinyEnumT<OrderType> OrderTypeByte;
 
 
-/* Order flags -- please use OF instead OF and use HASBIT/SETBIT/CLEARBIT */
-
-/** Order flag masks - these are for direct bit operations */
-enum OrderFlagMasks {
-	//Flags for stations:
-	/** vehicle will transfer cargo (i. e. not deliver to nearby industry/town even if accepted there) */
-	OFB_TRANSFER           = 0x1,
-	/** If OFB_TRANSFER is not set, drop any cargo loaded. If accepted, deliver, otherwise cargo remains at the station.
-      * No new cargo is loaded onto the vehicle whatsoever */
-	OFB_UNLOAD             = 0x2,
-	/** Wait for full load of all vehicles, or of at least one cargo type, depending on patch setting
-	  * @todo make this two different flags */
-	OFB_FULL_LOAD          = 0x4,
-
-	//Flags for depots:
-	/** The current depot-order was initiated because it was in the vehicle's order list */
-	OFB_MANUAL_ORDER       = 0x0,
-	OFB_PART_OF_ORDERS     = 0x2,
-	/** if OFB_PART_OF_ORDERS is not set, this will cause the vehicle to be stopped in the depot */
- 	OFB_NORMAL_ACTION      = 0x0,
-	OFB_HALT_IN_DEPOT      = 0x4,
-	/** if OFB_PART_OF_ORDERS is set, this will cause the order only be come active if the vehicle needs servicing */
-	OFB_SERVICE_IF_NEEDED  = 0x4, //used when OFB_PART_OF_ORDERS is set.
-
-	//Common flags
-	/** This causes the vehicle not to stop at intermediate OR the destination station (depending on patch settings)
-	  * @todo make this two different flags */
-	OFB_NO_NON_STOP        = 0x0,
-	OFB_NON_STOP           = 0x8
+/**
+ * Flags related to the unloading order.
+ */
+enum OrderUnloadFlags {
+	OUF_UNLOAD_IF_POSSIBLE = 0,      ///< Unload all cargo that the station accepts.
+	OUFB_UNLOAD            = 1 << 0, ///< Force unloading all cargo onto the platform, possibly not getting paid.
+	OUFB_TRANSFER          = 1 << 1, ///< Transfer all cargo onto the platform.
+	OUFB_NO_UNLOAD         = 1 << 2, ///< Totally no unloading will be done.
 };
 
-/** Order flags bits - these are for the *BIT macros
- * for descrption of flags, see OrderFlagMasks
- * @see OrderFlagMasks
+/**
+ * Flags related to the loading order.
  */
-enum {
-	OF_TRANSFER          = 0,
-	OF_UNLOAD            = 1,
-	OF_FULL_LOAD         = 2,
-	OF_PART_OF_ORDERS    = 1,
-	OF_HALT_IN_DEPOT     = 2,
-	OF_SERVICE_IF_NEEDED = 2,
-	OF_NON_STOP          = 3
+enum OrderLoadFlags {
+	OLF_LOAD_IF_POSSIBLE = 0,      ///< Load as long as there is cargo that fits in the train.
+	OLFB_FULL_LOAD       = 1 << 1, ///< Full load the complete the consist.
+	OLF_FULL_LOAD_ANY    = 3,      ///< Full load the a single cargo of the consist.
+	OLFB_NO_LOAD         = 4,      ///< Do not load anything.
+};
+
+/**
+ * Non-stop order flags.
+ */
+enum OrderNonStopFlags {
+	ONSF_STOP_EVERYWHERE                  = 0, ///< The vehicle will stop at any station it passes and the destination.
+	ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS = 1, ///< The vehicle will not stop at any stations it passes except the destination.
+	ONSF_NO_STOP_AT_DESTINATION_STATION   = 2, ///< The vehicle will stop at any station it passes except the destination.
+	ONSF_NO_STOP_AT_ANY_STATION           = 3, ///< The vehicle will not stop at any stations it passes including the destination.
+	ONSF_END
+};
+
+/**
+ * Reasons that could cause us to go to the depot.
+ */
+enum OrderDepotTypeFlags {
+	ODTF_MANUAL          = 0,      ///< The player initiated this order manually.
+	ODTFB_SERVICE        = 1 << 0, ///< This depot order is because of the servicing limit.
+	ODTFB_PART_OF_ORDERS = 1 << 1, ///< This depot order is because of a regular order.
+};
+
+/**
+ * Actions that can be performed when the vehicle enters the depot.
+ */
+enum OrderDepotActionFlags {
+	ODATF_SERVICE_ONLY   = 0,      ///< Only service the vehicle.
+	ODATFB_HALT          = 1 << 0, ///< Service the vehicle and then halt it.
+	ODATFB_NEAREST_DEPOT = 1 << 1, ///< Send the vehicle to the nearest depot.
+};
+
+/**
+ * Variables (of a vehicle) to 'cause' skipping on.
+ */
+enum OrderConditionVariable {
+	OCV_LOAD_PERCENTAGE,  ///< Skip based on the amount of load
+	OCV_RELIABILITY,      ///< Skip based on the reliability
+	OCV_MAX_SPEED,        ///< Skip based on the maximum speed
+	OCV_AGE,              ///< Skip based on the age
+	OCV_REQUIRES_SERVICE, ///< Skip when the vehicle requires service
+	OCV_UNCONDITIONALLY,  ///< Always skip
+	OCV_END
+};
+
+/**
+ * Comparator for the skip reasoning.
+ */
+enum OrderConditionComparator {
+	OCC_EQUALS,      ///< Skip if both values are equal
+	OCC_NOT_EQUALS,  ///< Skip if both values are not equal
+	OCC_LESS_THAN,   ///< Skip if the value is less than the limit
+	OCC_LESS_EQUALS, ///< Skip if the value is less or equal to the limit
+	OCC_MORE_THAN,   ///< Skip if the value is more than the limit
+	OCC_MORE_EQUALS, ///< Skip if the value is more or equal to the limit
+	OCC_IS_TRUE,     ///< Skip if the variable is true
+	OCC_IS_FALSE,    ///< Skip if the variable is false
+	OCC_END
+};
+
+
+/**
+ * Enumeration for the data to set in CmdModifyOrder.
+ */
+enum ModifyOrderFlags {
+	MOF_NON_STOP,        ///< Passes a OrderNonStopFlags.
+	MOF_UNLOAD,          ///< Passes an OrderUnloadType.
+	MOF_LOAD,            ///< Passes an OrderLoadType
+	MOF_DEPOT_ACTION,    ///< Toggle the 'service' if needed flag.
+	MOF_COND_VARIABLE,   ///< A conditional variable changes.
+	MOF_COND_COMPARATOR, ///< A comparator changes.
+	MOF_COND_VALUE,      ///< The value to set the condition to.
+	MOF_END
 };
 
 
--- a/src/player_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/player_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -40,8 +40,12 @@
 };
 assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(facesel_d));
 
-static void DoShowPlayerFinances(PlayerID player, bool show_small, bool show_stickied);
-static void DoSelectPlayerFace(PlayerID player, bool show_big);
+enum {
+	FIRST_GUI_CALL = INT_MAX,  ///< default value to specify thuis is the first call of the resizable gui
+};
+
+static void DoShowPlayerFinances(PlayerID player, bool show_small, bool show_stickied, int top = FIRST_GUI_CALL, int left = FIRST_GUI_CALL);
+static void DoSelectPlayerFace(PlayerID player, bool show_big, int top =  FIRST_GUI_CALL, int left = FIRST_GUI_CALL);
 
 static void DrawPlayerEconomyStats(const Player *p, byte mode)
 {
@@ -153,55 +157,60 @@
 static void PlayerFinancesWndProc(Window *w, WindowEvent *e)
 {
 	switch (e->event) {
-	case WE_PAINT: {
-		PlayerID player = (PlayerID)w->window_number;
-		const Player *p = GetPlayer(player);
-
-		/* Recheck the size of the window as it might need to be resized due to the local player changing */
-		int new_height = ((player != _local_player) ? 0 : 12) + ((WP(w, def_d).data_1 != 0) ? 48 : 204);
-		if (w->height != new_height) {
-			/* Make window dirty before and after resizing */
-			SetWindowDirty(w);
-			w->height = new_height;
-			SetWindowDirty(w);
-
-			w->SetWidgetHiddenState(PFW_WIDGET_INCREASE_LOAN, player != _local_player);
-			w->SetWidgetHiddenState(PFW_WIDGET_REPAY_LOAN,    player != _local_player);
-		}
-
-		/* Borrow button only shows when there is any more money to loan */
-		w->SetWidgetDisabledState(PFW_WIDGET_INCREASE_LOAN, p->current_loan == _economy.max_loan);
+		case WE_PAINT: {
+			PlayerID player = (PlayerID)w->window_number;
+			const Player *p = GetPlayer(player);
 
-		/* Repay button only shows when there is any more money to repay */
-		w->SetWidgetDisabledState(PFW_WIDGET_REPAY_LOAN, player != _local_player || p->current_loan == 0);
-
-		SetDParam(0, p->index);
-		SetDParam(1, p->index);
-		SetDParam(2, LOAN_INTERVAL);
-		DrawWindowWidgets(w);
+			/* Recheck the size of the window as it might need to be resized due to the local player changing */
+			int new_height = ((player != _local_player) ? 0 : 12) + ((WP(w, def_d).data_1 != 0) ? 48 : 204);
+			if (w->height != new_height) {
+				/* Make window dirty before and after resizing */
+				SetWindowDirty(w);
+				w->height = new_height;
+				SetWindowDirty(w);
 
-		DrawPlayerEconomyStats(p, (byte)WP(w, def_d).data_1);
-	} break;
+				w->SetWidgetHiddenState(PFW_WIDGET_INCREASE_LOAN, player != _local_player);
+				w->SetWidgetHiddenState(PFW_WIDGET_REPAY_LOAN,    player != _local_player);
+			}
 
-	case WE_CLICK:
-		switch (e->we.click.widget) {
-		case PFW_WIDGET_TOGGLE_SIZE: {/* toggle size */
-			byte mode = (byte)WP(w, def_d).data_1;
-			bool stickied = !!(w->flags4 & WF_STICKY);
-			PlayerID player = (PlayerID)w->window_number;
-			DeleteWindow(w);
-			DoShowPlayerFinances(player, !HasBit(mode, 0), stickied);
+			/* Borrow button only shows when there is any more money to loan */
+			w->SetWidgetDisabledState(PFW_WIDGET_INCREASE_LOAN, p->current_loan == _economy.max_loan);
+
+			/* Repay button only shows when there is any more money to repay */
+			w->SetWidgetDisabledState(PFW_WIDGET_REPAY_LOAN, player != _local_player || p->current_loan == 0);
+
+			SetDParam(0, p->index);
+			SetDParam(1, p->index);
+			SetDParam(2, LOAN_INTERVAL);
+			DrawWindowWidgets(w);
+
+			DrawPlayerEconomyStats(p, (byte)WP(w, def_d).data_1);
 		} break;
 
-		case PFW_WIDGET_INCREASE_LOAN: /* increase loan */
-			DoCommandP(0, 0, _ctrl_pressed, NULL, CMD_INCREASE_LOAN | CMD_MSG(STR_702C_CAN_T_BORROW_ANY_MORE_MONEY));
-			break;
+		case WE_CLICK:
+			switch (e->we.click.widget) {
+				case PFW_WIDGET_TOGGLE_SIZE: {/* toggle size */
+					byte mode = (byte)WP(w, def_d).data_1;
+					bool stickied = !!(w->flags4 & WF_STICKY);
+					int oldtop = w->top;   ///< current top position of the window before closing it
+					int oldleft = w->left; ///< current left position of the window before closing it
+					PlayerID player = (PlayerID)w->window_number;
 
-		case PFW_WIDGET_REPAY_LOAN: /* repay loan */
-			DoCommandP(0, 0, _ctrl_pressed, NULL, CMD_DECREASE_LOAN | CMD_MSG(STR_702F_CAN_T_REPAY_LOAN));
+					DeleteWindow(w);
+					/* Open up the (toggled size) Finance window at the same position as the previous */
+					DoShowPlayerFinances(player, !HasBit(mode, 0), stickied, oldtop, oldleft);
+				}
+				break;
+
+				case PFW_WIDGET_INCREASE_LOAN: /* increase loan */
+					DoCommandP(0, 0, _ctrl_pressed, NULL, CMD_INCREASE_LOAN | CMD_MSG(STR_702C_CAN_T_BORROW_ANY_MORE_MONEY));
+					break;
+
+				case PFW_WIDGET_REPAY_LOAN: /* repay loan */
+					DoCommandP(0, 0, _ctrl_pressed, NULL, CMD_DECREASE_LOAN | CMD_MSG(STR_702F_CAN_T_REPAY_LOAN));
+					break;
+			}
 			break;
-		}
-		break;
 	}
 }
 
@@ -221,7 +230,18 @@
 	PlayerFinancesWndProc
 };
 
-static void DoShowPlayerFinances(PlayerID player, bool show_small, bool show_stickied)
+/**
+ * Open the small/large finance window of the player
+ *
+ * @param player         the player who's finances are requested to be seen
+ * @param show_small     show large or small version opf the window
+ * @param show_stickied  previous "stickyness" of the window
+ * @param top            previous top position of the window
+ * @param left           previous left position of the window
+ *
+ * @pre is player a valid player
+ */
+static void DoShowPlayerFinances(PlayerID player, bool show_small, bool show_stickied, int top, int left)
 {
 	if (!IsValidPlayer(player)) return;
 
@@ -229,7 +249,14 @@
 	if (w != NULL) {
 		w->caption_color = w->window_number;
 		WP(w, def_d).data_1 = show_small;
+
 		if (show_stickied) w->flags4 |= WF_STICKY;
+
+		/* Check if repositioning from default is required */
+		if (top != FIRST_GUI_CALL && left != FIRST_GUI_CALL) {
+			w->top = top;
+			w->left = left;
+		}
 	}
 }
 
@@ -811,11 +838,15 @@
 			switch (e->we.click.widget) {
 				/* Toggle size, advanced/simple face selection */
 				case PFW_WIDGET_TOGGLE_LARGE_SMALL:
-				case PFW_WIDGET_TOGGLE_LARGE_SMALL_BUTTON:
+				case PFW_WIDGET_TOGGLE_LARGE_SMALL_BUTTON: {
+					int oldtop = w->top;     ///< current top position of the window before closing it
+					int oldleft = w->left;   ///< current top position of the window before closing it
+
 					DoCommandP(0, 0, *pf, NULL, CMD_SET_PLAYER_FACE);
 					DeleteWindow(w);
-					DoSelectPlayerFace((PlayerID)w->window_number, !WP(w, facesel_d).advanced);
-					break;
+					/* Open up the (toggled size) Face selection window at the same position as the previous */
+					DoSelectPlayerFace((PlayerID)w->window_number, !WP(w, facesel_d).advanced, oldtop, oldleft);
+				} break;
 
 				/* Cancel button */
 				case PFW_WIDGET_CANCEL:
@@ -949,10 +980,12 @@
  *
  * @param player the player which face shall be edited
  * @param adv    simple or advanced player face selection window
+ * @param top    previous top position of the window
+ * @param left   previous left position of the window
  *
  * @pre is player a valid player
  */
-static void DoSelectPlayerFace(PlayerID player, bool adv)
+static void DoSelectPlayerFace(PlayerID player, bool adv, int top, int left)
 {
 	if (!IsValidPlayer(player)) return;
 
@@ -962,6 +995,12 @@
 		w->caption_color = w->window_number;
 		WP(w, facesel_d).face = GetPlayer((PlayerID)w->window_number)->face;
 		WP(w, facesel_d).advanced = adv;
+
+		/* Check if repositioning from default is required */
+		if (top != FIRST_GUI_CALL && left != FIRST_GUI_CALL) {
+			w->top = top;
+			w->left = left;
+		}
 	}
 }
 
@@ -1292,31 +1331,30 @@
 static void BuyCompanyWndProc(Window *w, WindowEvent *e)
 {
 	switch (e->event) {
-	case WE_PAINT: {
-		Player *p = GetPlayer((PlayerID)w->window_number);
-		SetDParam(0, STR_COMPANY_NAME);
-		SetDParam(1, p->index);
-		DrawWindowWidgets(w);
-
-		DrawPlayerFace(p->face, p->player_color, 2, 16);
+		case WE_PAINT: {
+			Player *p = GetPlayer((PlayerID)w->window_number);
+			SetDParam(0, STR_COMPANY_NAME);
+			SetDParam(1, p->index);
+			DrawWindowWidgets(w);
 
-		SetDParam(0, p->index);
-		SetDParam(1, p->bankrupt_value);
-		DrawStringMultiCenter(214, 65, STR_705B_WE_ARE_LOOKING_FOR_A_TRANSPORT, 238);
-		break;
-	}
+			DrawPlayerFace(p->face, p->player_color, 2, 16);
 
-	case WE_CLICK:
-		switch (e->we.click.widget) {
-		case 3:
-			DeleteWindow(w);
+			SetDParam(0, p->index);
+			SetDParam(1, p->bankrupt_value);
+			DrawStringMultiCenter(214, 65, STR_705B_WE_ARE_LOOKING_FOR_A_TRANSPORT, 238);
+		} break;
+
+		case WE_CLICK:
+			switch (e->we.click.widget) {
+				case 3:
+					DeleteWindow(w);
+					break;
+				case 4: {
+					DoCommandP(0, w->window_number, 0, NULL, CMD_BUY_COMPANY | CMD_MSG(STR_7060_CAN_T_BUY_COMPANY));
+					break;
+				}
+			}
 			break;
-		case 4: {
-			DoCommandP(0, w->window_number, 0, NULL, CMD_BUY_COMPANY | CMD_MSG(STR_7060_CAN_T_BUY_COMPANY));
-			break;
-		}
-		}
-		break;
 	}
 }
 
@@ -1370,79 +1408,81 @@
 static void EndGameWndProc(Window *w, WindowEvent *e)
 {
 	switch (e->event) {
-	case WE_PAINT: {
-		const Player *p;
-		uint x, y;
-
-		SetupHighScoreEndWindow(w, &x, &y);
-
-		if (!IsValidPlayer(_local_player)) break;
+		case WE_PAINT: {
+			const Player *p;
+			uint x, y;
 
-		p = GetPlayer(_local_player);
-		/* We need to get performance from last year because the image is shown
-		 * at the start of the new year when these things have already been copied */
-		if (WP(w, highscore_d).background_img == SPR_TYCOON_IMG2_BEGIN) { // Tycoon of the century \o/
-			SetDParam(0, p->index);
-			SetDParam(1, p->index);
-			SetDParam(2, EndGameGetPerformanceTitleFromValue(p->old_economy[0].performance_history));
-			DrawStringMultiCenter(x + (640 / 2), y + 107, STR_021C_OF_ACHIEVES_STATUS, 640);
-		} else {
-			SetDParam(0, p->index);
-			SetDParam(1, EndGameGetPerformanceTitleFromValue(p->old_economy[0].performance_history));
-			DrawStringMultiCenter(x + (640 / 2), y + 157, STR_021B_ACHIEVES_STATUS, 640);
-		}
-	} break;
-	case WE_CLICK: /* Close the window (and show the highscore window) */
-		DeleteWindow(w);
-		break;
-	case WE_DESTROY: /* Show the highscore window when this one is closed */
-		if (!_networking) DoCommandP(0, 0, 0, NULL, CMD_PAUSE); // unpause
-		ShowHighscoreTable(w->window_number, WP(w, highscore_d).rank);
-		break;
+			SetupHighScoreEndWindow(w, &x, &y);
+
+			if (!IsValidPlayer(_local_player)) break;
+
+			p = GetPlayer(_local_player);
+			/* We need to get performance from last year because the image is shown
+			 * at the start of the new year when these things have already been copied */
+			if (WP(w, highscore_d).background_img == SPR_TYCOON_IMG2_BEGIN) { // Tycoon of the century \o/
+				SetDParam(0, p->index);
+				SetDParam(1, p->index);
+				SetDParam(2, EndGameGetPerformanceTitleFromValue(p->old_economy[0].performance_history));
+				DrawStringMultiCenter(x + (640 / 2), y + 107, STR_021C_OF_ACHIEVES_STATUS, 640);
+			} else {
+				SetDParam(0, p->index);
+				SetDParam(1, EndGameGetPerformanceTitleFromValue(p->old_economy[0].performance_history));
+				DrawStringMultiCenter(x + (640 / 2), y + 157, STR_021B_ACHIEVES_STATUS, 640);
+			}
+		} break;
+
+		case WE_CLICK: /* Close the window (and show the highscore window) */
+			DeleteWindow(w);
+			break;
+
+		case WE_DESTROY: /* Show the highscore window when this one is closed */
+			if (!_networking) DoCommandP(0, 0, 0, NULL, CMD_PAUSE); // unpause
+			ShowHighscoreTable(w->window_number, WP(w, highscore_d).rank);
+			break;
 	}
 }
 
 static void HighScoreWndProc(Window *w, WindowEvent *e)
 {
 	switch (e->event) {
-	case WE_PAINT: {
-		const HighScore *hs = _highscore_table[w->window_number];
-		uint x, y;
-		uint8 i;
-
-		SetupHighScoreEndWindow(w, &x, &y);
-
-		SetDParam(0, _patches.ending_year);
-		SetDParam(1, w->window_number + STR_6801_EASY);
-		DrawStringMultiCenter(x + (640 / 2), y + 62, !_networking ? STR_0211_TOP_COMPANIES_WHO_REACHED : STR_TOP_COMPANIES_NETWORK_GAME, 500);
-
-		/* Draw Highscore peepz */
-		for (i = 0; i < lengthof(_highscore_table[0]); i++) {
-			SetDParam(0, i + 1);
-			DrawString(x + 40, y + 140 + (i * 55), STR_0212, TC_BLACK);
-
-			if (hs[i].company[0] != '\0') {
-				TextColour colour = (WP(w, highscore_d).rank == (int8)i) ? TC_RED : TC_BLACK; // draw new highscore in red
+		case WE_PAINT: {
+			const HighScore *hs = _highscore_table[w->window_number];
+			uint x, y;
+			uint8 i;
 
-				DoDrawString(hs[i].company, x + 71, y + 140 + (i * 55), colour);
-				SetDParam(0, hs[i].title);
-				SetDParam(1, hs[i].score);
-				DrawString(x + 71, y + 160 + (i * 55), STR_HIGHSCORE_STATS, colour);
-			}
-		}
-	} break;
+			SetupHighScoreEndWindow(w, &x, &y);
 
-	case WE_CLICK: /* Onclick to close window, and in destroy event handle the rest */
-		DeleteWindow(w);
-		break;
+			SetDParam(0, _patches.ending_year);
+			SetDParam(1, w->window_number + STR_6801_EASY);
+			DrawStringMultiCenter(x + (640 / 2), y + 62, !_networking ? STR_0211_TOP_COMPANIES_WHO_REACHED : STR_TOP_COMPANIES_NETWORK_GAME, 500);
 
-	case WE_DESTROY: /* Get back all the hidden windows */
-		if (_game_mode != GM_MENU) ShowVitalWindows();
+			/* Draw Highscore peepz */
+			for (i = 0; i < lengthof(_highscore_table[0]); i++) {
+				SetDParam(0, i + 1);
+				DrawString(x + 40, y + 140 + (i * 55), STR_0212, TC_BLACK);
 
-		if (!_networking) DoCommandP(0, 0, 0, NULL, CMD_PAUSE); // unpause
-		break;
-	}
-	}
+				if (hs[i].company[0] != '\0') {
+					TextColour colour = (WP(w, highscore_d).rank == (int8)i) ? TC_RED : TC_BLACK; // draw new highscore in red
+
+					DoDrawString(hs[i].company, x + 71, y + 140 + (i * 55), colour);
+					SetDParam(0, hs[i].title);
+					SetDParam(1, hs[i].score);
+					DrawString(x + 71, y + 160 + (i * 55), STR_HIGHSCORE_STATS, colour);
+				}
+			}
+		} break;
+
+		case WE_CLICK: /* Onclick to close window, and in destroy event handle the rest */
+			DeleteWindow(w);
+			break;
+
+		case WE_DESTROY: /* Get back all the hidden windows */
+			if (_game_mode != GM_MENU) ShowVitalWindows();
+
+			if (!_networking) DoCommandP(0, 0, 0, NULL, CMD_PAUSE); // unpause
+			break;
+		}
+}
 
 static const Widget _highscore_widgets[] = {
 {      WWT_PANEL, RESIZE_NONE, 16, 0, 640, 0, 480, 0x0, STR_NULL},
--- a/src/rail.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/rail.h	Sat Apr 12 21:38:49 2008 +0000
@@ -13,6 +13,16 @@
 #include "economy_func.h"
 #include "tile_cmd.h"
 
+enum RailTypeFlag {
+	RTF_CATENARY = 0,  ///< Set if the rail type should have catenary drawn
+};
+
+enum RailTypeFlags {
+	RTFB_NONE     = 0,
+	RTFB_CATENARY = 1 << RTF_CATENARY,
+};
+DECLARE_ENUM_AS_BIT_SET(RailTypeFlags);
+
 /** This struct contains all the info that is needed to draw and construct tracks.
  */
 struct RailtypeInfo {
@@ -93,6 +103,11 @@
 	 * Multiplier for curve maximum speed advantage
 	 */
 	byte curve_speed;
+
+	/**
+	 * Bit mask of rail type flags
+	 */
+	RailTypeFlags flags;
 };
 
 
@@ -190,7 +205,7 @@
  */
 static inline bool HasCatenary(RailType rt)
 {
-	return rt == RAILTYPE_ELECTRIC;
+	return HasBit(GetRailTypeInfo(rt)->flags, RTF_CATENARY);
 }
 
 
--- a/src/road_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/road_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -874,13 +874,14 @@
 
 			/* Must iterate over the roadtypes in a reverse manner because
 			 * tram tracks must be removed before the road bits. */
-			for (RoadType rt = ROADTYPE_HWAY; rt >= ROADTYPE_ROAD; rt--) {
+			RoadType rt = ROADTYPE_HWAY;
+			do {
 				if (HasBit(rts, rt)) {
 					CommandCost tmp_ret = RemoveRoad(tile, flags, GetCrossingRoadBits(tile), rt, false);
 					if (CmdFailed(tmp_ret)) return tmp_ret;
 					ret.AddCost(tmp_ret);
 				}
-			}
+			} while (rt-- != ROADTYPE_ROAD);
 
 			if (flags & DC_EXEC) {
 				DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
--- a/src/roadveh.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/roadveh.h	Sat Apr 12 21:38:49 2008 +0000
@@ -47,6 +47,10 @@
 
 void CcBuildRoadVeh(bool success, TileIndex tile, uint32 p1, uint32 p2);
 
+byte GetRoadVehLength(const Vehicle *v);
+
+void RoadVehUpdateCache(Vehicle *v);
+
 
 /**
  * This class 'wraps' Vehicle; you do not actually instantiate this class.
@@ -77,10 +81,7 @@
 	void Tick();
 	void OnNewDay();
 	TileIndex GetOrderStationLocation(StationID station);
+	bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse);
 };
 
-byte GetRoadVehLength(const Vehicle *v);
-
-void RoadVehUpdateCache(Vehicle *v);
-
 #endif /* ROADVEH_H */
--- a/src/roadveh_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/roadveh_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -447,6 +447,18 @@
 	return NULL; /* Target not found */
 }
 
+bool RoadVehicle::FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse)
+{
+	const Depot *depot = FindClosestRoadDepot(this);
+
+	if (depot == NULL) return false;
+
+	if (location    != NULL) *location    = depot->xy;
+	if (destination != NULL) *destination = depot->index;
+
+	return true;
+}
+
 /** Send a road vehicle to the depot.
  * @param tile unused
  * @param flags operation to perform
@@ -457,9 +469,6 @@
  */
 CommandCost CmdSendRoadVehToDepot(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 {
-	Vehicle *v;
-	const Depot *dep;
-
 	if (p2 & DEPOT_MASS_SEND) {
 		/* Mass goto depot requested */
 		if (!ValidVLWFlags(p2 & VLW_MASK)) return CMD_ERROR;
@@ -468,55 +477,11 @@
 
 	if (!IsValidVehicleID(p1)) return CMD_ERROR;
 
-	v = GetVehicle(p1);
-
-	if (v->type != VEH_ROAD || !CheckOwnership(v->owner)) return CMD_ERROR;
-
-	if (v->vehstatus & VS_CRASHED) return CMD_ERROR;
-
-	if (v->IsInDepot()) return CMD_ERROR;
-
-	/* If the current orders are already goto-depot */
-	if (v->current_order.IsType(OT_GOTO_DEPOT)) {
-		bool halt_in_depot = HasBit(v->current_order.GetDepotActionType(), OF_HALT_IN_DEPOT);
-		if (!!(p2 & DEPOT_SERVICE) == halt_in_depot) {
-			/* We called with a different DEPOT_SERVICE setting.
-			 * Now we change the setting to apply the new one and let the vehicle head for the same depot.
-			 * Note: the if is (true for requesting service == true for ordered to stop in depot) */
-			if (flags & DC_EXEC) {
-				v->current_order.SetDepotOrderType(OFB_MANUAL_ORDER);
-				v->current_order.SetDepotActionType(halt_in_depot ? OFB_NORMAL_ACTION : OFB_HALT_IN_DEPOT);
-				InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-			}
-			return CommandCost();
-		}
+	Vehicle *v = GetVehicle(p1);
 
-		if (p2 & DEPOT_DONT_CANCEL) return CMD_ERROR; // Requested no cancelation of depot orders
-		if (flags & DC_EXEC) {
-			/* If the orders to 'goto depot' are in the orders list (forced servicing),
-			 * then skip to the next order; effectively cancelling this forced service */
-			if (v->current_order.GetDepotOrderType() & OFB_PART_OF_ORDERS) v->cur_order_index++;
-
-			v->current_order.MakeDummy();
-			InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-		}
-		return CommandCost();
-	}
+	if (v->type != VEH_ROAD) return CMD_ERROR;
 
-	dep = FindClosestRoadDepot(v);
-	if (dep == NULL) return_cmd_error(STR_9019_UNABLE_TO_FIND_LOCAL_DEPOT);
-
-	if (flags & DC_EXEC) {
-		if (v->current_order.IsType(OT_LOADING)) v->LeaveStation();
-
-		ClearSlot(v);
-		v->current_order.MakeGoToDepot(dep->index, false);
-		if (!(p2 & DEPOT_SERVICE)) v->current_order.SetDepotActionType(OFB_HALT_IN_DEPOT);
-		v->dest_tile = dep->xy;
-		InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-	}
-
-	return CommandCost();
+	return v->SendToDepot(flags, (DepotCommand)(p2 & DEPOT_COMMAND_MASK));
 }
 
 /** Turn a roadvehicle around.
@@ -1914,7 +1879,7 @@
 static void CheckIfRoadVehNeedsService(Vehicle *v)
 {
 	/* If we already got a slot at a stop, use that FIRST, and go to a depot later */
-	if (v->u.road.slot != NULL || _patches.servint_roadveh == 0 || !VehicleNeedsService(v)) return;
+	if (v->u.road.slot != NULL || _patches.servint_roadveh == 0 || !v->NeedsAutomaticServicing()) return;
 	if (v->IsInDepot()) {
 		VehicleServiceInDepot(v);
 		return;
@@ -1932,7 +1897,7 @@
 	}
 
 	if (v->current_order.IsType(OT_GOTO_DEPOT) &&
-			v->current_order.GetNonStopType() & OFB_NON_STOP &&
+			v->current_order.GetNonStopType() & ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS &&
 			!Chance16(1, 20)) {
 		return;
 	}
@@ -1940,7 +1905,7 @@
 	if (v->current_order.IsType(OT_LOADING)) v->LeaveStation();
 	ClearSlot(v);
 
-	v->current_order.MakeGoToDepot(depot->index, false);
+	v->current_order.MakeGoToDepot(depot->index, ODTFB_SERVICE);
 	v->dest_tile = depot->xy;
 	InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
 }
--- a/src/saveload.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/saveload.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -34,7 +34,7 @@
 
 #include "table/strings.h"
 
-extern const uint16 SAVEGAME_VERSION = 92;
+extern const uint16 SAVEGAME_VERSION = 93;
 uint16 _sl_version;       ///< the major savegame version identifier
 byte   _sl_minor_version; ///< the minor savegame version, DO NOT USE!
 
--- a/src/settings.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/settings.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -1455,10 +1455,11 @@
 	/***************************************************************************/
 	/* Station section of the GUI-configure patches window */
 	SDT_BOOL(Patches, join_stations,           0, 0,  true,        STR_CONFIG_PATCHES_JOINSTATIONS,       NULL),
-	SDT_BOOL(Patches, full_load_any,           0,NN,  true,        STR_CONFIG_PATCHES_FULLLOADANY,        NULL),
+	SDT_CONDBOOL(Patches, sg_full_load_any, 0, 92, 0, 0, true,     STR_NULL,                              NULL),
 	SDT_BOOL(Patches, improved_load,           0,NN, false,        STR_CONFIG_PATCHES_IMPROVEDLOAD,       NULL),
 	SDT_BOOL(Patches, selectgoods,             0, 0,  true,        STR_CONFIG_PATCHES_SELECTGOODS,        NULL),
-	SDT_BOOL(Patches, new_nonstop,             0, 0, false,        STR_CONFIG_PATCHES_NEW_NONSTOP,        NULL),
+	SDT_BOOL(Patches, new_nonstop,             S, 0, false,        STR_CONFIG_PATCHES_NEW_NONSTOP,        NULL),
+	SDT_CONDBOOL(Patches, sg_new_nonstop, 0, 92, 0, 0, false,      STR_NULL,                              NULL),
 	SDT_BOOL(Patches, nonuniform_stations,     0,NN,  true,        STR_CONFIG_PATCHES_NONUNIFORM_STATIONS,NULL),
 	 SDT_VAR(Patches, station_spread,SLE_UINT8,0, 0, 12, 4, 64, 0, STR_CONFIG_PATCHES_STATION_SPREAD,     InvalidateStationBuildWindow),
 	SDT_BOOL(Patches, serviceathelipad,        0, 0,  true,        STR_CONFIG_PATCHES_SERVICEATHELIPAD,   NULL),
--- a/src/settings_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/settings_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -748,7 +748,6 @@
 
 static const char *_patches_stations[] = {
 	"join_stations",
-	"full_load_any",
 	"improved_load",
 	"selectgoods",
 	"new_nonstop",
--- a/src/settings_type.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/settings_type.h	Sat Apr 12 21:38:49 2008 +0000
@@ -62,7 +62,7 @@
 	bool build_on_slopes;               ///< allow building on slopes
 	bool mammoth_trains;                ///< allow very long trains
 	bool join_stations;                 ///< allow joining of train stations
-	bool full_load_any;                 ///< new full load calculation, any cargo must be full
+	bool sg_full_load_any;              ///< new full load calculation, any cargo must be full read from pre v93 savegames
 	bool improved_load;                 ///< improved loading algorithm
 	bool gradual_loading;               ///< load vehicles gradually
 	byte station_spread;                ///< amount a station may spread
@@ -79,6 +79,7 @@
 	bool status_long_date;              ///< always show long date in status bar
 	bool signal_side;                   ///< show signals on right side
 	bool show_finances;                 ///< show finances at end of year
+	bool sg_new_nonstop;                ///< ttdpatch compatible nonstop handling read from pre v93 savegames
 	bool new_nonstop;                   ///< ttdpatch compatible nonstop handling
 	bool roadveh_queue;                 ///< buggy road vehicle queueing
 	bool autoscroll;                    ///< scroll when moving mouse to the edge.
--- a/src/ship.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/ship.h	Sat Apr 12 21:38:49 2008 +0000
@@ -43,6 +43,7 @@
 	void Tick();
 	void OnNewDay();
 	TileIndex GetOrderStationLocation(StationID station);
+	bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse);
 };
 
 #endif /* SHIP_H */
--- a/src/ship_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/ship_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -144,7 +144,7 @@
 
 static void CheckIfShipNeedsService(Vehicle *v)
 {
-	if (_patches.servint_ships == 0 || !VehicleNeedsService(v)) return;
+	if (_patches.servint_ships == 0 || !v->NeedsAutomaticServicing()) return;
 	if (v->IsInDepot()) {
 		VehicleServiceInDepot(v);
 		return;
@@ -160,7 +160,7 @@
 		return;
 	}
 
-	v->current_order.MakeGoToDepot(depot->index, false);
+	v->current_order.MakeGoToDepot(depot->index, ODTFB_SERVICE);
 	v->dest_tile = depot->xy;
 	InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
 }
@@ -912,6 +912,18 @@
 	return CommandCost();
 }
 
+bool Ship::FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse)
+{
+	const Depot *depot = FindClosestShipDepot(this);
+
+	if (depot == NULL) return false;
+
+	if (location    != NULL) *location    = depot->xy;
+	if (destination != NULL) *destination = depot->index;
+
+	return true;
+}
+
 /** Send a ship to the depot.
  * @param tile unused
  * @param flags type of operation
@@ -922,9 +934,6 @@
  */
 CommandCost CmdSendShipToDepot(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 {
-	Vehicle *v;
-	const Depot *dep;
-
 	if (p2 & DEPOT_MASS_SEND) {
 		/* Mass goto depot requested */
 		if (!ValidVLWFlags(p2 & VLW_MASK)) return CMD_ERROR;
@@ -933,54 +942,11 @@
 
 	if (!IsValidVehicleID(p1)) return CMD_ERROR;
 
-	v = GetVehicle(p1);
-
-	if (v->type != VEH_SHIP || !CheckOwnership(v->owner)) return CMD_ERROR;
-
-	if (v->vehstatus & VS_CRASHED) return CMD_ERROR;
-
-	if (v->IsInDepot()) return CMD_ERROR;
-
-	/* If the current orders are already goto-depot */
-	if (v->current_order.IsType(OT_GOTO_DEPOT)) {
-		bool halt_in_depot = HasBit(v->current_order.GetDepotActionType(), OF_HALT_IN_DEPOT);
-		if (!!(p2 & DEPOT_SERVICE) == halt_in_depot) {
-			/* We called with a different DEPOT_SERVICE setting.
-			 * Now we change the setting to apply the new one and let the vehicle head for the same depot.
-			 * Note: the if is (true for requesting service == true for ordered to stop in depot)          */
-			if (flags & DC_EXEC) {
-				v->current_order.SetDepotOrderType(OFB_MANUAL_ORDER);
-				v->current_order.SetDepotActionType(halt_in_depot ? OFB_NORMAL_ACTION : OFB_HALT_IN_DEPOT);
-				InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-			}
-			return CommandCost();
-		}
+	Vehicle *v = GetVehicle(p1);
 
-		if (p2 & DEPOT_DONT_CANCEL) return CMD_ERROR; // Requested no cancelation of depot orders
-		if (flags & DC_EXEC) {
-			/* If the orders to 'goto depot' are in the orders list (forced servicing),
-			 * then skip to the next order; effectively cancelling this forced service */
-			if (v->current_order.GetDepotOrderType() & OFB_PART_OF_ORDERS) v->cur_order_index++;
-
-			v->current_order.MakeDummy();
-			InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-		}
-		return CommandCost();
-	}
+	if (v->type != VEH_SHIP) return CMD_ERROR;
 
-	dep = FindClosestShipDepot(v);
-	if (dep == NULL) return_cmd_error(STR_981A_UNABLE_TO_FIND_LOCAL_DEPOT);
-
-	if (flags & DC_EXEC) {
-		if (v->current_order.IsType(OT_LOADING)) v->LeaveStation();
-
-		v->dest_tile = dep->xy;
-		v->current_order.MakeGoToDepot(dep->index, false);
-		if (!(p2 & DEPOT_SERVICE)) v->current_order.SetDepotActionType(OFB_HALT_IN_DEPOT);
-		InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-	}
-
-	return CommandCost();
+	return v->SendToDepot(flags, (DepotCommand)(p2 & DEPOT_COMMAND_MASK));
 }
 
 
--- a/src/signs.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/signs.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -19,6 +19,7 @@
 #include "window_func.h"
 #include "map_func.h"
 #include "string_func.h"
+#include "oldpool_func.h"
 
 #include "table/strings.h"
 
--- a/src/sound.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/sound.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -197,9 +197,7 @@
 
 void SndCopyToPool()
 {
-	uint i;
-
-	for (i = 0; i < _file_count; i++) {
+	for (uint i = 0; i < _file_count; i++) {
 		FileEntry *orig = &_files[_sound_idx[i]];
 		FileEntry *fe = AllocateFileEntry();
 
--- a/src/station_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/station_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -42,6 +42,7 @@
 #include "vehicle_func.h"
 #include "string_func.h"
 #include "signal_func.h"
+#include "oldpool_func.h"
 
 #include "table/sprites.h"
 #include "table/strings.h"
--- a/src/station_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/station_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -388,7 +388,7 @@
 
 				assert(st->xy != 0);
 
- 				/* Do not do the complex check HasStationInUse here, it may be even false
+				/* Do not do the complex check HasStationInUse here, it may be even false
 				 * when the order had been removed and the station list hasn't been removed yet */
 				assert(st->owner == owner || (st->owner == OWNER_NONE && !st->IsBuoy()));
 
--- a/src/strings.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/strings.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -536,6 +536,26 @@
 	},
 };
 
+/**
+ * Convert the given (internal) speed to the display speed.
+ * @param speed the speed to convert
+ * @return the converted speed.
+ */
+uint ConvertSpeedToDisplaySpeed(uint speed)
+{
+ return (speed * units[_opt_ptr->units].s_m) >> units[_opt_ptr->units].s_s;
+}
+
+/**
+ * Convert the given display speed to the (internal) speed.
+ * @param speed the speed to convert
+ * @return the converted speed.
+ */
+uint ConvertDisplaySpeedToSpeed(uint speed)
+{
+	return ((speed << units[_opt_ptr->units].s_s) + units[_opt_ptr->units].s_m / 2) / units[_opt_ptr->units].s_m;
+}
+
 static char* FormatString(char* buff, const char* str, const int64* argv, uint casei, const char* last)
 {
 	extern const char _openttd_revision[];
@@ -581,7 +601,7 @@
 			case SCC_VELOCITY: {// {VELOCITY}
 				int64 args[1];
 				assert(_opt_ptr->units < lengthof(units));
-				args[0] = GetInt32(&argv) * units[_opt_ptr->units].s_m >> units[_opt_ptr->units].s_s;
+				args[0] = ConvertSpeedToDisplaySpeed(GetInt32(&argv));
 				buff = FormatString(buff, GetStringPtr(units[_opt_ptr->units].velocity), args, modifier >> 24, last);
 				modifier = 0;
 				break;
--- a/src/subsidy_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/subsidy_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -95,6 +95,8 @@
 	int width = w->width - 13;  // scroll bar = 11 + pixel each side
 	y = 15;
 	x = 1;
+
+	/* Section for drawing the offered subisidies */
 	DrawStringTruncated(x, y, STR_2026_SUBSIDIES_ON_OFFER_FOR, TC_FROMSTRING, width);
 	y += 10;
 	num = 0;
@@ -103,9 +105,11 @@
 		if (s->cargo_type != CT_INVALID && s->age < 12) {
 			int x2;
 
+			/* Displays the two offered towns */
 			SetupSubsidyDecodeParam(s, 1);
 			x2 = DrawStringTruncated(x + 2, y, STR_2027_FROM_TO, TC_FROMSTRING, width);
 
+			/* Displays the deadline before voiding the proposal */
 			SetDParam(0, _date - ymd.day + 384 - s->age * 32);
 			DrawStringTruncated(x2, y, STR_2028_BY, TC_FROMSTRING, width - x2);
 			y += 10;
@@ -118,6 +122,7 @@
 		y += 10;
 	}
 
+	/* Section for drawing the already granted subisidies */
 	DrawStringTruncated(x, y + 1, STR_202B_SERVICES_ALREADY_SUBSIDISED, TC_FROMSTRING, width);
 	y += 10;
 	num = 0;
@@ -131,9 +136,11 @@
 			PlayerID player = GetStation(s->to)->owner;
 			SetDParam(3, player);
 
+			/* Displays the two connected stations */
 			xt = DrawStringTruncated(x + 2, y, STR_202C_FROM_TO, TC_FROMSTRING, width - 2);
 
-			if ((xt > 3) && (width - xt) > 9 ) { // do not draw if it will get on the scrollbar or if last drawing did nothing
+			/* Displays the date where the granted subsidy will end */
+			if ((xt > 3) && (width - xt) > 9 ) { // do not draw if previous drawing failed or if it will overlap on scrollbar
 				SetDParam(0, _date - ymd.day + 768 - s->age * 32);
 				DrawStringTruncated(xt, y, STR_202D_UNTIL, TC_FROMSTRING, width - xt);
 			}
@@ -165,8 +172,8 @@
 {    WWT_CAPTION, RESIZE_RIGHT,  13,  11, 307,   0,  13, STR_2025_SUBSIDIES, STR_018C_WINDOW_TITLE_DRAG_THIS},
 {  WWT_STICKYBOX, RESIZE_LR,     13, 308, 319,   0,  13, STR_NULL,           STR_STICKY_BUTTON},
 {      WWT_PANEL, RESIZE_RB,     13,   0, 307,  14, 126, 0x0,                STR_01FD_CLICK_ON_SERVICE_TO_CENTER},
-{  WWT_SCROLLBAR, RESIZE_LRB,    13, 308, 319,  14, 114, 0x0,                STR_0190_SCROLL_BAR_SCROLLS_LIST},  // IDW_SCROLLBAR
-{  WWT_RESIZEBOX, RESIZE_LRTB,   13, 308, 319, 115, 126, 0x0,                STR_RESIZE_BUTTON},                 // IDW_RESIZE
+{  WWT_SCROLLBAR, RESIZE_LRB,    13, 308, 319,  14, 114, 0x0,                STR_0190_SCROLL_BAR_SCROLLS_LIST},
+{  WWT_RESIZEBOX, RESIZE_LRTB,   13, 308, 319, 115, 126, 0x0,                STR_RESIZE_BUTTON},
 
 {   WIDGETS_END},
 };
--- a/src/table/railtypes.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/table/railtypes.h	Sat Apr 12 21:38:49 2008 +0000
@@ -60,6 +60,9 @@
 
 		/* curve speed advantage (multiplier) */
 		0,
+
+		/* flags */
+		RTFB_NONE,
 	},
 
 	/** Electrified railway */
@@ -116,6 +119,9 @@
 
 		/* curve speed advantage (multiplier) */
 		0,
+
+		/* flags */
+		RTFB_CATENARY,
 	},
 
 	/** Monorail */
@@ -168,6 +174,9 @@
 
 		/* curve speed advantage (multiplier) */
 		1,
+
+		/* flags */
+		RTFB_NONE,
 	},
 
 	/** Maglev */
@@ -220,6 +229,9 @@
 
 		/* curve speed advantage (multiplier) */
 		2,
+
+		/* flags */
+		RTFB_NONE,
 	},
 };
 
--- a/src/timetable_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/timetable_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -24,7 +24,7 @@
 		order->wait_time = time;
 	}
 
-	if (v->cur_order_index == order_number && HasBit(v->current_order.GetDepotOrderType(), OF_PART_OF_ORDERS)) {
+	if (v->cur_order_index == order_number && v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) {
 		if (is_journey) {
 			v->current_order.travel_time = time;
 		} else {
@@ -70,7 +70,7 @@
 	bool is_journey = HasBit(p1, 24) || packed_time;
 	if (!is_journey) {
 		if (!order->IsType(OT_GOTO_STATION)) return_cmd_error(STR_TIMETABLE_ONLY_WAIT_AT_STATIONS);
-		if (_patches.new_nonstop && (order->GetNonStopType() & OFB_NON_STOP)) return_cmd_error(STR_TIMETABLE_NOT_STOPPING_HERE);
+		if (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) return_cmd_error(STR_TIMETABLE_NOT_STOPPING_HERE);
 	}
 
 	if (flags & DC_EXEC) {
--- a/src/timetable_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/timetable_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -36,11 +36,16 @@
 	TTV_RESIZE,
 };
 
+struct timetable_d {
+	int sel;
+};
+assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(timetable_d));
+
 static int GetOrderFromTimetableWndPt(Window *w, int y, const Vehicle *v)
 {
 	/*
 	 * Calculation description:
-	 * 15 = 14 (w->widget[ORDER_WIDGET_ORDER_LIST].top) + 1 (frame-line)
+	 * 15 = 14 (w->widget[TTV_ORDER_VIEW].top) + 1 (frame-line)
 	 * 10 = order text hight
 	 */
 	int sel = (y - 15) / 10;
@@ -66,7 +71,7 @@
 static void DrawTimetableWindow(Window *w)
 {
 	const Vehicle *v = GetVehicle(w->window_number);
-	int selected = WP(w, order_d).sel;
+	int selected = WP(w, timetable_d).sel;
 
 	SetVScrollCount(w, v->num_orders * 2);
 
@@ -79,7 +84,7 @@
 			w->EnableWidget(TTV_CLEAR_TIME);
 		} else {
 			const Order *order = GetVehicleOrder(v, (selected + 1) / 2);
-			bool disable = order == NULL || !order->IsType(OT_GOTO_STATION) || (_patches.new_nonstop && (order->GetNonStopType() & OFB_NON_STOP));
+			bool disable = order == NULL || !order->IsType(OT_GOTO_STATION) || (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION);
 
 			w->SetWidgetDisabledState(TTV_CHANGE_TIME, disable);
 			w->SetWidgetDisabledState(TTV_CLEAR_TIME, disable);
@@ -111,7 +116,7 @@
 		if (i - w->vscroll.pos >= w->vscroll.cap) break;
 
 		if (i % 2 == 0) {
-			SetDParam(2, STR_EMPTY);
+			SetDParam(5, STR_EMPTY);
 
 			switch (order->GetType()) {
 				case OT_DUMMY:
@@ -119,43 +124,78 @@
 					break;
 
 				case OT_GOTO_STATION:
-					SetDParam(0, (order->GetNonStopType() & OFB_NON_STOP) ? STR_880A_GO_NON_STOP_TO : STR_8806_GO_TO);
-					SetDParam(1, order->GetDestination());
+					SetDParam(0, STR_GO_TO_STATION);
+					SetDParam(1, STR_ORDER_GO_TO + order->GetNonStopType());
+					SetDParam(2, order->GetDestination());
+					SetDParam(3, STR_EMPTY);
 
 					if (order->wait_time > 0) {
-						SetDParam(2, STR_TIMETABLE_STAY_FOR);
-						SetTimetableParams(3, 4, order->wait_time);
+						SetDParam(5, STR_TIMETABLE_STAY_FOR);
+						SetTimetableParams(6, 7, order->wait_time);
+					} else {
+						SetDParam(4, STR_EMPTY);
 					}
 
 					break;
 
-				case OT_GOTO_DEPOT: {
-					StringID string = STR_EMPTY;
-
+				case OT_GOTO_DEPOT:
+					SetDParam(4, STR_EMPTY);
 					if (v->type == VEH_AIRCRAFT) {
-						string = STR_GO_TO_AIRPORT_HANGAR;
-						SetDParam(1, order->GetDestination());
+						if (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) {
+							SetDParam(0, STR_GO_TO_NEAREST_DEPOT);
+							SetDParam(2, STR_ORDER_NEAREST_HANGAR);
+						} else {
+							SetDParam(0, STR_GO_TO_HANGAR);
+							SetDParam(2, order->GetDestination());
+						}
+						SetDParam(3, STR_EMPTY);
 					} else {
-						SetDParam(1, GetDepot(order->GetDestination())->town_index);
+						if (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) {
+							SetDParam(0, STR_GO_TO_NEAREST_DEPOT);
+							SetDParam(2, STR_ORDER_NEAREST_DEPOT);
+						} else {
+							SetDParam(0, STR_GO_TO_DEPOT);
+							SetDParam(2, GetDepot(order->GetDestination())->town_index);
+						}
 
 						switch (v->type) {
-							case VEH_TRAIN: string = (order->GetNonStopType() & OFB_NON_STOP) ? STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT : STR_GO_TO_TRAIN_DEPOT; break;
-							case VEH_ROAD:  string = STR_GO_TO_ROADVEH_DEPOT; break;
-							case VEH_SHIP:  string = STR_GO_TO_SHIP_DEPOT; break;
-							default: break;
+							case VEH_TRAIN: SetDParam(3, STR_ORDER_TRAIN_DEPOT); break;
+							case VEH_ROAD:  SetDParam(3, STR_ORDER_ROAD_DEPOT); break;
+							case VEH_SHIP:  SetDParam(3, STR_ORDER_SHIP_DEPOT); break;
+							default: NOT_REACHED();
 						}
 					}
 
-					if (order->GetDepotOrderType() & OFB_SERVICE_IF_NEEDED) string++; /* service at */
-
-					SetDParam(0, string);
-				} break;
+					if (order->GetDepotOrderType() & ODTFB_SERVICE) {
+						SetDParam(1, (order->GetNonStopType() & ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS) ? STR_ORDER_SERVICE_NON_STOP_AT : STR_ORDER_SERVICE_AT);
+					} else {
+						SetDParam(1, (order->GetNonStopType() & ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS) ? STR_ORDER_GO_NON_STOP_TO : STR_ORDER_GO_TO);
+					}
+					break;
 
 				case OT_GOTO_WAYPOINT:
-					SetDParam(0, (order->GetNonStopType() & OFB_NON_STOP) ? STR_GO_NON_STOP_TO_WAYPOINT : STR_GO_TO_WAYPOINT);
+					SetDParam(0, (order->GetNonStopType() != ONSF_STOP_EVERYWHERE) ? STR_GO_NON_STOP_TO_WAYPOINT : STR_GO_TO_WAYPOINT);
 					SetDParam(1, order->GetDestination());
 					break;
 
+
+				case OT_CONDITIONAL:
+					SetDParam(1, order->GetConditionSkipToOrder() + 1);
+					if (order->GetConditionVariable() == OCV_UNCONDITIONALLY) {
+						SetDParam(0, STR_CONDITIONAL_UNCONDITIONAL);
+					} else {
+						extern uint ConvertSpeedToDisplaySpeed(uint speed);
+						OrderConditionComparator occ = order->GetConditionComparator();
+						SetDParam(0, (occ == OCC_IS_TRUE || occ == OCC_IS_FALSE) ? STR_CONDITIONAL_TRUE_FALSE : STR_CONDITIONAL_NUM);
+						SetDParam(2, STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE + order->GetConditionVariable());
+						SetDParam(3, STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS + occ);
+
+						uint value = order->GetConditionValue();
+						if (order->GetConditionVariable() == OCV_MAX_SPEED) value = ConvertSpeedToDisplaySpeed(value);
+						SetDParam(4, value);
+					}
+					break;
+
 				default: break;
 			}
 
@@ -197,7 +237,7 @@
 		for (const Order *order = GetVehicleOrder(v, 0); order != NULL; order = order->next) {
 			total_time += order->travel_time + order->wait_time;
 			if (order->travel_time == 0) complete = false;
-			if (order->wait_time == 0 && order->IsType(OT_GOTO_STATION) && !(_patches.new_nonstop && (order->GetNonStopType() & OFB_NON_STOP))) complete = false;
+			if (order->wait_time == 0 && order->IsType(OT_GOTO_STATION) && !(order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION)) complete = false;
 		}
 
 		if (total_time != 0) {
@@ -243,17 +283,17 @@
 				case TTV_TIMETABLE_PANEL: { /* Main panel. */
 					int selected = GetOrderFromTimetableWndPt(w, we->we.click.pt.y, v);
 
-					if (selected == INVALID_ORDER || selected == WP(w, order_d).sel) {
+					if (selected == INVALID_ORDER || selected == WP(w, timetable_d).sel) {
 						/* Deselect clicked order */
-						WP(w, order_d).sel = -1;
+						WP(w, timetable_d).sel = -1;
 					} else {
 						/* Select clicked order */
-						WP(w, order_d).sel = selected;
+						WP(w, timetable_d).sel = selected;
 					}
 				} break;
 
 				case TTV_CHANGE_TIME: { /* "Wait For" button. */
-					int selected = WP(w, order_d).sel;
+					int selected = WP(w, timetable_d).sel;
 					VehicleOrderID real = (selected + 1) / 2;
 
 					if (real >= v->num_orders) real = 0;
@@ -275,7 +315,7 @@
 				} break;
 
 				case TTV_CLEAR_TIME: { /* Clear waiting time button. */
-					uint32 p1 = PackTimetableArgs(v, WP(w, order_d).sel);
+					uint32 p1 = PackTimetableArgs(v, WP(w, timetable_d).sel);
 					DoCommandP(0, p1, 0, NULL, CMD_CHANGE_TIMETABLE | CMD_MSG(STR_CAN_T_TIMETABLE_VEHICLE));
 				} break;
 
@@ -294,7 +334,7 @@
 		case WE_ON_EDIT_TEXT: {
 			const Vehicle *v = GetVehicle(w->window_number);
 
-			uint32 p1 = PackTimetableArgs(v, WP(w, order_d).sel);
+			uint32 p1 = PackTimetableArgs(v, WP(w, timetable_d).sel);
 
 			uint64 time = StrEmpty(we->we.edittext.str) ? 0 : strtoul(we->we.edittext.str, NULL, 10);
 			if (!_patches.timetable_in_ticks) time *= DAY_TICKS;
@@ -350,6 +390,6 @@
 		w->caption_color = v->owner;
 		w->vscroll.cap = 8;
 		w->resize.step_height = 10;
-		WP(w, order_d).sel = -1;
+		WP(w, timetable_d).sel = -1;
 	}
 }
--- a/src/town_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/town_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -40,6 +40,7 @@
 #include "window_func.h"
 #include "string_func.h"
 #include "newgrf_cargo.h"
+#include "oldpool_func.h"
 
 #include "table/strings.h"
 #include "table/sprites.h"
--- a/src/train.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/train.h	Sat Apr 12 21:38:49 2008 +0000
@@ -10,12 +10,10 @@
 #include "vehicle_base.h"
 
 
-/*
- * enum to handle train subtypes
+/** enum to handle train subtypes
  * Do not access it directly unless you have to. Use the access functions below
  * This is an enum to tell what bit to access as it is a bitmask
  */
-
 enum TrainSubtype {
 	TS_FRONT             = 0, ///< Leading engine of a train
 	TS_ARTICULATED_PART  = 1, ///< Articulated part of an engine
@@ -307,6 +305,7 @@
 	void Tick();
 	void OnNewDay();
 	TileIndex GetOrderStationLocation(StationID station);
+	bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse);
 };
 
 #endif /* TRAIN_H */
--- a/src/train_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/train_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -97,7 +97,7 @@
  * Recalculates the cached total power of a train. Should be called when the consist is changed
  * @param v First vehicle of the consist.
  */
-void TrainPowerChanged(Vehicle* v)
+void TrainPowerChanged(Vehicle *v)
 {
 	uint32 total_power = 0;
 	uint32 max_te = 0;
@@ -143,7 +143,7 @@
  * the consist changes.
  * @param v First vehicle of the consist.
  */
-static void TrainCargoChanged(Vehicle* v)
+static void TrainCargoChanged(Vehicle *v)
 {
 	uint32 weight = 0;
 
@@ -181,9 +181,9 @@
  * Note: this needs to be called too for 'wagon chains' (in the depot, without an engine)
  * @param v First vehicle of the chain.
  */
-void TrainConsistChanged(Vehicle* v)
+void TrainConsistChanged(Vehicle *v)
 {
-	uint16 max_speed = 0xFFFF;
+	uint16 max_speed = UINT16_MAX;
 
 	assert(v->type == VEH_TRAIN);
 	assert(IsFrontEngine(v) || IsFreeWagon(v));
@@ -306,7 +306,7 @@
 /** new acceleration*/
 static int GetTrainAcceleration(Vehicle *v, bool mode)
 {
-	static const int absolute_max_speed = 2000;
+	static const int absolute_max_speed = UINT16_MAX;
 	int max_speed = absolute_max_speed;
 	int speed = v->cur_speed * 10 / 16; // km-ish/h -> mp/h
 	int curvecount[2] = {0, 0};
@@ -453,7 +453,7 @@
 	}
 }
 
-void UpdateTrainAcceleration(Vehicle* v)
+void UpdateTrainAcceleration(Vehicle *v)
 {
 	assert(IsFrontEngine(v));
 
@@ -572,7 +572,7 @@
 			v->u.rail.track = TRACK_BIT_DEPOT;
 			v->vehstatus = VS_HIDDEN | VS_DEFPAL;
 
-			v->subtype = 0;
+//			v->subtype = 0;
 			SetTrainWagon(v);
 
 			if (u != NULL) {
@@ -583,7 +583,7 @@
 			}
 
 			v->cargo_type = rvi->cargo_type;
-			v->cargo_subtype = 0;
+//			v->cargo_subtype = 0;
 			v->cargo_cap = rvi->capacity;
 			v->value = value.GetCost();
 //			v->day_counter = 0;
@@ -616,9 +616,9 @@
 }
 
 /** Move all free vehicles in the depot to the train */
-static void NormalizeTrainVehInDepot(const Vehicle* u)
+static void NormalizeTrainVehInDepot(const Vehicle *u)
 {
-	const Vehicle* v;
+	const Vehicle *v;
 
 	FOR_ALL_VEHICLES(v) {
 		if (v->type == VEH_TRAIN && IsFreeWagon(v) &&
@@ -631,12 +631,12 @@
 	}
 }
 
-static CommandCost EstimateTrainCost(EngineID engine, const RailVehicleInfo* rvi)
+static CommandCost EstimateTrainCost(EngineID engine, const RailVehicleInfo *rvi)
 {
 	return CommandCost(EXPENSES_NEW_VEHICLES, GetEngineProperty(engine, 0x17, rvi->base_cost) * (_price.build_railvehicle >> 3) >> 5);
 }
 
-static void AddRearEngineToMultiheadedTrain(Vehicle* v, Vehicle* u, bool building)
+static void AddRearEngineToMultiheadedTrain(Vehicle *v, Vehicle *u, bool building)
 {
 	u = new (u) Train();
 	u->direction = v->direction;
@@ -647,7 +647,7 @@
 	u->z_pos = v->z_pos;
 	u->u.rail.track = TRACK_BIT_DEPOT;
 	u->vehstatus = v->vehstatus & ~VS_STOPPED;
-	u->subtype = 0;
+//	u->subtype = 0;
 	SetMultiheaded(u);
 	u->spritenum = v->spritenum + 1;
 	u->cargo_type = v->cargo_type;
@@ -702,8 +702,9 @@
 		Vehicle **vl = (Vehicle**)alloca(sizeof(*vl) * (num_vehicles + 1));
 		memset(vl, 0, sizeof(*vl) * (num_vehicles + 1));
 
-		if (!Vehicle::AllocateList(vl, num_vehicles))
+		if (!Vehicle::AllocateList(vl, num_vehicles)) {
 			return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
+		}
 
 		Vehicle *v = vl[0];
 
@@ -724,17 +725,17 @@
 			v->x_pos = x;
 			v->y_pos = y;
 			v->z_pos = GetSlopeZ(x, y);
-			v->running_ticks = 0;
+//			v->running_ticks = 0;
 			v->u.rail.track = TRACK_BIT_DEPOT;
 			v->vehstatus = VS_HIDDEN | VS_STOPPED | VS_DEFPAL;
 			v->spritenum = rvi->image_index;
 			v->cargo_type = rvi->cargo_type;
-			v->cargo_subtype = 0;
+//			v->cargo_subtype = 0;
 			v->cargo_cap = rvi->capacity;
 			v->max_speed = rvi->max_speed;
 			v->value = value.GetCost();
 			v->last_station_visited = INVALID_STATION;
-			v->dest_tile = 0;
+//			v->dest_tile = 0;
 
 			v->engine_type = p1;
 
@@ -753,12 +754,12 @@
 			v->cur_image = 0xAC2;
 			v->random_bits = VehicleRandomBits();
 
-			v->vehicle_flags = 0;
+//			v->vehicle_flags = 0;
 			if (e->flags & ENGINE_EXCLUSIVE_PREVIEW) SetBit(v->vehicle_flags, VF_BUILT_AS_PROTOTYPE);
 
 			v->group_id = DEFAULT_GROUP;
 
-			v->subtype = 0;
+//			v->subtype = 0;
 			SetFrontEngine(v);
 			SetTrainEngine(v);
 
@@ -787,8 +788,9 @@
 			InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile);
 			RebuildVehicleLists();
 			InvalidateWindow(WC_COMPANY, v->owner);
-			if (IsLocalPlayer())
+			if (IsLocalPlayer()) {
 				InvalidateAutoreplaceWindow(v->engine_type, v->group_id); // updates the replace Train window
+			}
 
 			GetPlayer(_current_player)->num_engines[p1]++;
 		}
@@ -1171,12 +1173,12 @@
 					assert(src->orders == NULL);
 					src->num_orders = 0;
 
-					// Decrease the engines number of the src engine_type
+					/* Decrease the engines number of the src engine_type */
 					if (!IsDefaultGroupID(src->group_id) && IsValidGroupID(src->group_id)) {
 						GetGroup(src->group_id)->num_engines[src->engine_type]--;
 					}
 
-					// If we move an engine to a new line affect it to the DEFAULT_GROUP
+					/* If we move an engine to a new line affect it to the DEFAULT_GROUP */
 					src->group_id = DEFAULT_GROUP;
 				}
 			} else {
@@ -1409,7 +1411,7 @@
 				delete v;
 
 				/* 4 If the second wagon was an engine, update it to front_engine
-					* which UnlinkWagon() has changed to TS_Free_Car */
+				 * which UnlinkWagon() has changed to TS_Free_Car */
 				if (switch_engine) SetFrontEngine(first);
 
 				/* 5. If the train still exists, update its acceleration, window, etc. */
@@ -1426,10 +1428,10 @@
 				 * Totally braindead cause building a new engine adds all loco-less
 				 * engines to its train anyways */
 				if (p2 == 2 && HasBit(ori_subtype, TS_FRONT)) {
-					Vehicle *tmp;
-					for (v = first; v != NULL; v = tmp) {
-						tmp = GetNextVehicle(v);
+					for (v = first; v != NULL;) {
+						Vehicle *tmp = GetNextVehicle(v);
 						DoCommand(v->tile, v->index | INVALID_VEHICLE << 16, 0, DC_EXEC, CMD_MOVE_RAIL_VEHICLE);
+						v = tmp;
 					}
 				}
 			}
@@ -1438,8 +1440,7 @@
 			/* Start deleting every vehicle after the selected one
 			 * If we encounter a matching rear-engine to a front-engine
 			 * earlier in the chain (before deletion), leave it alone */
-			Vehicle *tmp;
-			for (; v != NULL; v = tmp) {
+			for (Vehicle *tmp; v != NULL; v = tmp) {
 				tmp = GetNextVehicle(v);
 
 				if (IsMultiheaded(v)) {
@@ -1522,13 +1523,14 @@
 	EndVehicleMove(v);
 }
 
-static inline void SetLastSpeed(Vehicle* v, int spd)
+static inline void SetLastSpeed(Vehicle *v, int spd)
 {
 	int old = v->u.rail.last_speed;
 	if (spd != old) {
 		v->u.rail.last_speed = spd;
-		if (_patches.vehicle_speed || (old == 0) != (spd == 0))
+		if (_patches.vehicle_speed || (old == 0) != (spd == 0)) {
 			InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
+		}
 	}
 }
 
@@ -1648,14 +1650,14 @@
 	DiagDirection dir = AxisToDiagDir(GetCrossingRailAxis(tile));
 	TileIndex tile_from = tile + TileOffsByDiagDir(dir);
 
-	Vehicle *v = (Vehicle *)VehicleFromPos(tile_from, &tile, &TrainApproachingCrossingEnum);
+	Vehicle *v = (Vehicle*)VehicleFromPos(tile_from, &tile, &TrainApproachingCrossingEnum);
 
 	if (v != NULL) return v;
 
 	dir = ReverseDiagDir(dir);
 	tile_from = tile + TileOffsByDiagDir(dir);
 
-	return (Vehicle *)VehicleFromPos(tile_from, &tile, &TrainApproachingCrossingEnum);
+	return (Vehicle*)VehicleFromPos(tile_from, &tile, &TrainApproachingCrossingEnum);
 }
 
 
@@ -1794,8 +1796,7 @@
 	TileIndex crossing = TrainApproachingCrossingTile(v);
 
 	/* count number of vehicles */
-	int r = 0;  ///< number of vehicles - 1
-	for (const Vehicle *u = v; (u = u->Next()) != NULL;) { r++; }
+	int r = CountVehiclesInChain(v) - 1;  // number of vehicles - 1
 
 	AdvanceWagonsBeforeSwap(v);
 
@@ -1844,7 +1845,7 @@
 
 	if (v->type != VEH_TRAIN || !CheckOwnership(v->owner)) return CMD_ERROR;
 
-	if (p2) {
+	if (p2 != 0) {
 		/* turn a single unit around */
 
 		if (IsMultiheaded(v) || HasBit(EngInfo(v->engine_type)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) {
@@ -2049,7 +2050,7 @@
 		} break;
 
 		case VPF_NPF: { /* NPF */
-			Vehicle* last = GetLastVehicleInChain(v);
+			const Vehicle *last = GetLastVehicleInChain(v);
 			Trackdir trackdir = GetVehicleTrackdir(v);
 			Trackdir trackdir_rev = ReverseTrackdir(GetVehicleTrackdir(last));
 
@@ -2059,9 +2060,9 @@
 				/* Found target */
 				tfdd.tile = ftd.node.tile;
 				/* Our caller expects a number of tiles, so we just approximate that
-				* number by this. It might not be completely what we want, but it will
-				* work for now :-) We can possibly change this when the old pathfinder
-				* is removed. */
+				 * number by this. It might not be completely what we want, but it will
+				 * work for now :-) We can possibly change this when the old pathfinder
+				 * is removed. */
 				tfdd.best_length = ftd.best_path_dist / NPF_TILE_LENGTH;
 				if (NPFGetFlag(&ftd.node, NPF_FLAG_REVERSE)) tfdd.reverse = true;
 			}
@@ -2084,6 +2085,18 @@
 	return tfdd;
 }
 
+bool Train::FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse)
+{
+	TrainFindDepotData tfdd = FindClosestTrainDepot(this, 0);
+	if (tfdd.best_length == (uint)-1) return false;
+
+	if (location    != NULL) *location    = tfdd.tile;
+	if (destination != NULL) *destination = GetDepotByTile(tfdd.tile)->index;
+	if (reverse     != NULL) *reverse     = tfdd.reverse;
+
+	return true;
+}
+
 /** Send a train to a depot
  * @param tile unused
  * @param flags type of operation
@@ -2104,55 +2117,9 @@
 
 	Vehicle *v = GetVehicle(p1);
 
-	if (v->type != VEH_TRAIN || !CheckOwnership(v->owner)) return CMD_ERROR;
-
-	if (v->vehstatus & VS_CRASHED) return CMD_ERROR;
-
-	if (v->current_order.IsType(OT_GOTO_DEPOT)) {
-		bool halt_in_depot = HasBit(v->current_order.GetDepotActionType(), OF_HALT_IN_DEPOT);
-		if (!!(p2 & DEPOT_SERVICE) == halt_in_depot) {
-			/* We called with a different DEPOT_SERVICE setting.
-			 * Now we change the setting to apply the new one and let the vehicle head for the same depot.
-			 * Note: the if is (true for requesting service == true for ordered to stop in depot)          */
-			if (flags & DC_EXEC) {
-				v->current_order.SetDepotOrderType(OFB_MANUAL_ORDER);
-				v->current_order.SetDepotActionType(halt_in_depot ? OFB_NORMAL_ACTION : OFB_HALT_IN_DEPOT);
-				InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-			}
-			return CommandCost();
-		}
-
-		if (p2 & DEPOT_DONT_CANCEL) return CMD_ERROR; // Requested no cancelation of depot orders
-		if (flags & DC_EXEC) {
-			/* If the orders to 'goto depot' are in the orders list (forced servicing),
-			 * then skip to the next order; effectively cancelling this forced service */
-			if (v->current_order.GetDepotOrderType() & OFB_PART_OF_ORDERS) v->cur_order_index++;
-
-			v->current_order.MakeDummy();
-			InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-		}
-		return CommandCost();
-	}
-
-	/* check if at a standstill (not stopped only) in a depot
-	 * the check is down here to make it possible to alter stop/service for trains entering the depot */
-	if (IsTileDepotType(v->tile, TRANSPORT_RAIL) && v->cur_speed == 0) return CMD_ERROR;
-
-	TrainFindDepotData tfdd = FindClosestTrainDepot(v, 0);
-	if (tfdd.best_length == (uint)-1) return_cmd_error(STR_883A_UNABLE_TO_FIND_ROUTE_TO);
-
-	if (flags & DC_EXEC) {
-		if (v->current_order.IsType(OT_LOADING)) v->LeaveStation();
-
-		v->dest_tile = tfdd.tile;
-		v->current_order.MakeGoToDepot(GetDepotByTile(tfdd.tile)->index, false);
-		if (!(p2 & DEPOT_SERVICE)) v->current_order.SetDepotActionType(OFB_HALT_IN_DEPOT);
-		InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
-		/* If there is no depot in front, reverse automatically */
-		if (tfdd.reverse) DoCommand(v->tile, v->index, 0, DC_EXEC, CMD_REVERSE_TRAIN_DIRECTION);
-	}
-
-	return CommandCost();
+	if (v->type != VEH_TRAIN) return CMD_ERROR;
+
+	return v->SendToDepot(flags, (DepotCommand)(p2 & DEPOT_COMMAND_MASK));
 }
 
 
@@ -2165,14 +2132,15 @@
 	1, 1, 1, 0, -1, -1, -1, 0
 };
 
-static void HandleLocomotiveSmokeCloud(const Vehicle* v)
+static void HandleLocomotiveSmokeCloud(const Vehicle *v)
 {
 	bool sound = false;
 
-	if (v->vehstatus & VS_TRAIN_SLOWING || v->load_unload_time_rem != 0 || v->cur_speed < 2)
+	if (v->vehstatus & VS_TRAIN_SLOWING || v->load_unload_time_rem != 0 || v->cur_speed < 2) {
 		return;
-
-	const Vehicle* u = v;
+	}
+
+	const Vehicle *u = v;
 
 	do {
 		const RailVehicleInfo *rvi = RailVehInfo(v->engine_type);
@@ -2209,29 +2177,32 @@
 		}
 
 		switch (effect_type) {
-		case 0:
-			/* steam smoke. */
-			if (GB(v->tick_counter, 0, 4) == 0) {
-				CreateEffectVehicleRel(v, x, y, 10, EV_STEAM_SMOKE);
-				sound = true;
-			}
-			break;
-
-		case 1:
-			/* diesel smoke */
-			if (u->cur_speed <= 40 && Chance16(15, 128)) {
-				CreateEffectVehicleRel(v, 0, 0, 10, EV_DIESEL_SMOKE);
-				sound = true;
-			}
-			break;
-
-		case 2:
-			/* blue spark */
-			if (GB(v->tick_counter, 0, 2) == 0 && Chance16(1, 45)) {
-				CreateEffectVehicleRel(v, 0, 0, 10, EV_ELECTRIC_SPARK);
-				sound = true;
-			}
-			break;
+			case 0:
+				/* steam smoke. */
+				if (GB(v->tick_counter, 0, 4) == 0) {
+					CreateEffectVehicleRel(v, x, y, 10, EV_STEAM_SMOKE);
+					sound = true;
+				}
+				break;
+
+			case 1:
+				/* diesel smoke */
+				if (u->cur_speed <= 40 && Chance16(15, 128)) {
+					CreateEffectVehicleRel(v, 0, 0, 10, EV_DIESEL_SMOKE);
+					sound = true;
+				}
+				break;
+
+			case 2:
+				/* blue spark */
+				if (GB(v->tick_counter, 0, 2) == 0 && Chance16(1, 45)) {
+					CreateEffectVehicleRel(v, 0, 0, 10, EV_ELECTRIC_SPARK);
+					sound = true;
+				}
+				break;
+
+			default:
+				break;
 		}
 	} while ((v = v->Next()) != NULL);
 
@@ -2302,10 +2273,10 @@
 	return false;
 }
 
-/* Check for station tiles */
+/** Check for station tiles */
 struct TrainTrackFollowerData {
 	TileIndex dest_coords;
-	StationID station_index; // station index we're heading for
+	StationID station_index; ///< station index we're heading for
 	uint best_bird_dist;
 	uint best_track_dist;
 	TrackdirByte best_track;
@@ -2341,7 +2312,7 @@
 	}
 }
 
-static void FillWithStationData(TrainTrackFollowerData* fd, const Vehicle* v)
+static void FillWithStationData(TrainTrackFollowerData *fd, const Vehicle *v)
 {
 	fd->dest_coords = v->dest_tile;
 	fd->station_index = v->current_order.IsType(OT_GOTO_STATION) ? v->current_order.GetDestination() : INVALID_STATION;
@@ -2368,7 +2339,7 @@
 static const byte _pick_track_table[6] = {1, 3, 2, 2, 0, 0};
 
 /* choose a track */
-static Track ChooseTrainTrack(Vehicle* v, TileIndex tile, DiagDirection enterdir, TrackBits tracks)
+static Track ChooseTrainTrack(Vehicle *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks)
 {
 	Track best_track;
 	/* pathfinders are able to tell that route was only 'guessed' */
@@ -2490,8 +2461,9 @@
 {
 	if (_opt.diff.line_reverse_mode != 0 ||
 			v->u.rail.track == TRACK_BIT_DEPOT || v->u.rail.track == TRACK_BIT_WORMHOLE ||
-			!(v->direction & 1))
+			!(v->direction & 1)) {
 		return false;
+	}
 
 	TrainTrackFollowerData fd;
 	FillWithStationData(&fd, v);
@@ -2501,14 +2473,14 @@
 	assert(v->u.rail.track);
 
 	switch (_patches.pathfinder_for_trains) {
-		case VPF_YAPF: { /* YAPF */
+		case VPF_YAPF: /* YAPF */
 			reverse_best = YapfCheckReverseTrain(v);
-		} break;
+			break;
 
 		case VPF_NPF: { /* NPF */
 			NPFFindStationOrTileData fstd;
 			NPFFoundTargetData ftd;
-			Vehicle* last = GetLastVehicleInChain(v);
+			Vehicle *last = GetLastVehicleInChain(v);
 
 			NPFFillWithOrderData(&fstd, v);
 
@@ -2756,7 +2728,7 @@
 };
 
 /** Modify the speed of the vehicle due to a turn */
-static inline void AffectSpeedByDirChange(Vehicle* v, Direction new_dir)
+static inline void AffectSpeedByDirChange(Vehicle *v, Direction new_dir)
 {
 	if (_patches.realistic_acceleration) return;
 
@@ -2820,7 +2792,7 @@
 	if (crossing != INVALID_TILE) UpdateLevelCrossing(crossing);
 }
 
-static uint CountPassengersInTrain(const Vehicle* v)
+static uint CountPassengersInTrain(const Vehicle *v)
 {
 	uint num = 0;
 	BEGIN_ENUM_WAGONS(v)
@@ -2830,13 +2802,13 @@
 }
 
 struct TrainCollideChecker {
-	Vehicle *v;
-	uint num;
+	Vehicle *v;  ///< vehicle we are testing for collision
+	uint num;    ///< number of dead if train collided
 };
 
 static void *FindTrainCollideEnum(Vehicle *v, void *data)
 {
-	TrainCollideChecker* tcc = (TrainCollideChecker*)data;
+	TrainCollideChecker *tcc = (TrainCollideChecker*)data;
 
 	if (v->type != VEH_TRAIN) return NULL;
 
@@ -3194,8 +3166,8 @@
 			v->UpdateDeltaXY(v->direction);
 			v->cur_image = v->GetImage(v->direction);
 			/* Refrain from updating the z position of the vehicle when on
-			   a bridge, because AfterSetTrainPos will put the vehicle under
-			   the bridge in that case */
+			 * a bridge, because AfterSetTrainPos will put the vehicle under
+			 * the bridge in that case */
 			if (v->u.rail.track != TRACK_BIT_WORMHOLE) AfterSetTrainPos(v, false);
 		}
 	} while ((v = v->Next()) != NULL);
@@ -3535,11 +3507,11 @@
 	}
 }
 
-#define MAX_ACCEPTABLE_DEPOT_DIST 16
-
 static void CheckIfTrainNeedsService(Vehicle *v)
 {
-	if (_patches.servint_trains == 0 || !VehicleNeedsService(v)) return;
+	static const uint MAX_ACCEPTABLE_DEPOT_DIST = 16;
+
+	if (_patches.servint_trains == 0 || !v->NeedsAutomaticServicing()) return;
 	if (v->IsInDepot()) {
 		VehicleServiceInDepot(v);
 		return;
@@ -3558,7 +3530,7 @@
 		return;
 	}
 
-	const Depot* depot = GetDepotByTile(tfdd.tile);
+	const Depot *depot = GetDepotByTile(tfdd.tile);
 
 	if (v->current_order.IsType(OT_GOTO_DEPOT) &&
 			v->current_order.GetDestination() != depot->index &&
@@ -3566,7 +3538,7 @@
 		return;
 	}
 
-	v->current_order.MakeGoToDepot(depot->index, false);
+	v->current_order.MakeGoToDepot(depot->index, ODTFB_SERVICE);
 	v->dest_tile = tfdd.tile;
 	InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
 }
--- a/src/train_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/train_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -24,12 +24,11 @@
 
 void CcBuildWagon(bool success, TileIndex tile, uint32 p1, uint32 p2)
 {
-	Vehicle *v, *found;
-
 	if (!success) return;
 
 	/* find a locomotive in the depot. */
-	found = NULL;
+	Vehicle *found = NULL;
+	Vehicle *v;
 	FOR_ALL_VEHICLES(v) {
 		if (v->type == VEH_TRAIN && IsFrontEngine(v) &&
 				v->tile == tile &&
@@ -50,11 +49,9 @@
 
 void CcBuildLoco(bool success, TileIndex tile, uint32 p1, uint32 p2)
 {
-	const Vehicle *v;
-
 	if (!success) return;
 
-	v = GetVehicle(_new_vehicle_id);
+	const Vehicle *v = GetVehicle(_new_vehicle_id);
 	if (tile == _backup_orders_tile) {
 		_backup_orders_tile = 0;
 		RestoreVehicleOrders(v);
@@ -197,8 +194,6 @@
 		for (;;) {
 			if (--vscroll_pos < 0 && vscroll_pos >= -vscroll_cap) {
 				int dx = 0;
-				int px;
-				int py;
 
 				u = v;
 				do {
@@ -208,8 +203,8 @@
 					u = u->Next();
 				} while (u != NULL && IsArticulatedPart(u) && u->cargo_cap == 0);
 
-				px = x + WagonLengthToPixels(dx) + 2;
-				py = y + 2;
+				int px = x + WagonLengthToPixels(dx) + 2;
+				int py = y + 2;
 				switch (det_tab) {
 					default: NOT_REACHED();
 					case 0: TrainDetailsCargoTab(   v, px, py); break;
--- a/src/tunnelbridge_cmd.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/tunnelbridge_cmd.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -791,20 +791,28 @@
 	/* The sprites under the vehicles are drawn as SpriteCombine. StartSpriteCombine() has already been called
 	 * The bounding boxes here are the same as for bridge front/roof */
 	if (head || !IsInvisibilitySet(TO_BRIDGES)) {
-		AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + tram_offsets[overlay][offset], PAL_NONE, x, y, size_x[offset], size_y[offset], 0x28, z, !head && IsTransparencySet(TO_BRIDGES));
+		AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + tram_offsets[overlay][offset], PAL_NONE,
+			x, y, size_x[offset], size_y[offset], 0x28, z,
+			!head && IsTransparencySet(TO_BRIDGES));
 	}
 
 	/* Do not draw catenary if it is set invisible */
-	if (IsInvisibilitySet(TO_CATENARY)) return;
-
-	AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + back_offsets[offset],  PAL_NONE, x, y, size_x[offset], size_y[offset], 0x28, z, IsTransparencySet(TO_CATENARY));
+	if (!IsInvisibilitySet(TO_CATENARY)) {
+		AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + back_offsets[offset], PAL_NONE,
+			x, y, size_x[offset], size_y[offset], 0x28, z,
+			IsTransparencySet(TO_CATENARY));
+	}
 
 	/* Start a new SpriteCombine for the front part */
 	EndSpriteCombine();
 	StartSpriteCombine();
 
 	/* For sloped sprites the bounding box needs to be higher, as the pylons stop on a higher point */
-	AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + front_offsets[offset], PAL_NONE, x, y, size_x[offset] + front_bb_offset_x[offset], size_y[offset] + front_bb_offset_y[offset], 0x28, z, IsTransparencySet(TO_CATENARY), front_bb_offset_x[offset], front_bb_offset_y[offset]);
+	if (!IsInvisibilitySet(TO_CATENARY)) {
+		AddSortableSpriteToDraw(SPR_TRAMWAY_BASE + front_offsets[offset], PAL_NONE,
+			x, y, size_x[offset] + front_bb_offset_x[offset], size_y[offset] + front_bb_offset_y[offset], 0x28, z,
+			IsTransparencySet(TO_CATENARY), front_bb_offset_x[offset], front_bb_offset_y[offset]);
+	}
 }
 
 /**
--- a/src/vehicle.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/vehicle.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -46,6 +46,7 @@
 #include "autoreplace_gui.h"
 #include "string_func.h"
 #include "settings_type.h"
+#include "oldpool_func.h"
 
 #include "table/sprites.h"
 #include "table/strings.h"
@@ -117,22 +118,27 @@
 	InvalidateWindow(WC_VEHICLE_DETAILS, v->index); // ensure that last service date and reliability are updated
 }
 
-bool VehicleNeedsService(const Vehicle *v)
+bool Vehicle::NeedsServicing() const
 {
-	if (v->vehstatus & (VS_STOPPED | VS_CRASHED))       return false;
-	if (!v->current_order.IsType(OT_GOTO_DEPOT) || !(v->current_order.GetDepotOrderType() & OFB_PART_OF_ORDERS)) { // Don't interfere with a depot visit by the order list
-		if (_patches.gotodepot && VehicleHasDepotOrders(v)) return false;
-		if (v->current_order.IsType(OT_LOADING))            return false;
-		if (v->current_order.IsType(OT_GOTO_DEPOT) && v->current_order.GetDepotActionType() & OFB_HALT_IN_DEPOT) return false;
-	}
+	if (this->vehstatus & (VS_STOPPED | VS_CRASHED)) return false;
 
 	if (_patches.no_servicing_if_no_breakdowns && _opt.diff.vehicle_breakdowns == 0) {
-		return EngineHasReplacementForPlayer(GetPlayer(v->owner), v->engine_type, v->group_id);  /* Vehicles set for autoreplacing needs to go to a depot even if breakdowns are turned off */
+		/* Vehicles set for autoreplacing needs to go to a depot even if breakdowns are turned off.
+		 * Note: If servicing is enabled, we postpone replacement till next service. */
+		return EngineHasReplacementForPlayer(GetPlayer(this->owner), this->engine_type, this->group_id);
 	}
 
 	return _patches.servint_ispercent ?
-		(v->reliability < GetEngine(v->engine_type)->reliability * (100 - v->service_interval) / 100) :
-		(v->date_of_last_service + v->service_interval < _date);
+		(this->reliability < GetEngine(this->engine_type)->reliability * (100 - this->service_interval) / 100) :
+		(this->date_of_last_service + this->service_interval < _date);
+}
+
+bool Vehicle::NeedsAutomaticServicing() const
+{
+	if (_patches.gotodepot && VehicleHasDepotOrders(this)) return false;
+	if (this->current_order.IsType(OT_LOADING))            return false;
+	if (this->current_order.IsType(OT_GOTO_DEPOT) && this->current_order.GetDepotActionType() & ODATFB_HALT) return false;
+	return NeedsServicing();
 }
 
 StringID VehicleInTheWayErrMsg(const Vehicle* v)
@@ -216,13 +222,13 @@
 }
 
 
-static void UpdateVehiclePosHash(Vehicle* v, int x, int y);
+static void UpdateVehiclePosHash(Vehicle *v, int x, int y);
 
 void VehiclePositionChanged(Vehicle *v)
 {
 	int img = v->cur_image;
 	Point pt = RemapCoords(v->x_pos + v->x_offs, v->y_pos + v->y_offs, v->z_pos);
-	const Sprite* spr = GetSprite(img);
+	const Sprite *spr = GetSprite(img);
 
 	pt.x += spr->x_offs;
 	pt.y += spr->y_offs;
@@ -456,7 +462,7 @@
 
 static Vehicle *_vehicle_position_hash[0x1000];
 
-static void UpdateVehiclePosHash(Vehicle* v, int x, int y)
+static void UpdateVehiclePosHash(Vehicle *v, int x, int y)
 {
 	UpdateNewVehiclePosHash(v, x == INVALID_COORD);
 
@@ -631,7 +637,7 @@
 {
 	/* We need to set v->leave_depot_instantly as we have no control of it's contents at this time.
 	 * Vehicle should stop in the depot if it was in 'stopping' state - train intered depot while slowing down. */
-	if ((HasBit(v->current_order.GetDepotActionType(), OF_HALT_IN_DEPOT) && !HasBit(v->current_order.GetDepotOrderType(), OF_PART_OF_ORDERS) && v->current_order.IsType(OT_GOTO_DEPOT)) ||
+	if (((v->current_order.GetDepotActionType() & ODATFB_HALT) && !(v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) && v->current_order.IsType(OT_GOTO_DEPOT)) ||
 			(v->vehstatus & VS_STOPPED)) {
 		/* we keep the vehicle in the depot since the user ordered it to stay */
 		v->leave_depot_instantly = false;
@@ -758,13 +764,9 @@
 static void DoDrawVehicle(const Vehicle *v)
 {
 	SpriteID image = v->cur_image;
-	SpriteID pal;
-
-	if (v->vehstatus & VS_DEFPAL) {
-		pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v);
-	} else {
-		pal = PAL_NONE;
-	}
+	SpriteID pal = PAL_NONE;
+
+	if (v->vehstatus & VS_DEFPAL) pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v);
 
 	AddSortableSpriteToDraw(image, pal, v->x_pos + v->x_offs, v->y_pos + v->y_offs,
 		v->x_extent, v->y_extent, v->z_extent, v->z_pos, (v->vehstatus & VS_SHADOW) != 0);
@@ -1292,11 +1294,9 @@
 	 *  multiplayer!! (that is: in ToyLand)
 	 */
 	uint et;
-	const BubbleMovement *b;
 
 	v->progress++;
-	if ((v->progress & 3) != 0)
-		return;
+	if ((v->progress & 3) != 0) return;
 
 	BeginVehicleMove(v);
 
@@ -1317,7 +1317,7 @@
 		et = v->engine_type + 1;
 	}
 
-	b = &_bubble_movement[v->spritenum - 1][et];
+	const BubbleMovement *b = &_bubble_movement[v->spritenum - 1][et];
 
 	if (b->y == 4 && b->x == 0) {
 		EndVehicleMove(v);
@@ -1388,9 +1388,7 @@
 
 Vehicle *CreateEffectVehicle(int x, int y, int z, EffectVehicle type)
 {
-	Vehicle *v;
-
-	v = new SpecialVehicle();
+	Vehicle *v = new SpecialVehicle();
 	if (v != NULL) {
 		v->subtype = type;
 		v->x_pos = x;
@@ -1431,9 +1429,7 @@
 	Vehicle *found = NULL, *v;
 	uint dist, best_dist = (uint)-1;
 
-	if ( (uint)(x -= vp->left) >= (uint)vp->width ||
-			 (uint)(y -= vp->top) >= (uint)vp->height)
-				return NULL;
+	if ((uint)(x -= vp->left) >= (uint)vp->width || (uint)(y -= vp->top) >= (uint)vp->height) return NULL;
 
 	x = ScaleByZoom(x, vp->zoom) + vp->virtual_left;
 	y = ScaleByZoom(y, vp->zoom) + vp->virtual_top;
@@ -1444,8 +1440,8 @@
 				y >= v->top_coord && y <= v->bottom_coord) {
 
 			dist = max(
-				abs( ((v->left_coord + v->right_coord)>>1) - x ),
-				abs( ((v->top_coord + v->bottom_coord)>>1) - y )
+				abs(((v->left_coord + v->right_coord) >> 1) - x),
+				abs(((v->top_coord + v->bottom_coord) >> 1) - y)
 			);
 
 			if (dist < best_dist) {
@@ -1488,8 +1484,6 @@
 void CheckVehicleBreakdown(Vehicle *v)
 {
 	int rel, rel_old;
-	uint32 r;
-	int chance;
 
 	/* decrease reliability */
 	v->reliability = rel = max((rel_old = v->reliability) - v->reliability_spd_dec, 0);
@@ -1501,10 +1495,10 @@
 		return;
 	}
 
-	r = Random();
+	uint32 r = Random();
 
 	/* increase chance of failure */
-	chance = v->breakdown_chance + 1;
+	int chance = v->breakdown_chance + 1;
 	if (Chance16I(1,25,r)) chance += 25;
 	v->breakdown_chance = min(255, chance);
 
@@ -1579,7 +1573,6 @@
 	uint16 engine_list_length = 0;
 	uint16 engine_count = 0;
 	CommandCost return_value = CMD_ERROR;
-	uint i;
 	uint stop_command;
 	VehicleType vehicle_type = (VehicleType)GB(p2, 0, 5);
 	bool start_stop = HasBit(p2, 5);
@@ -1603,9 +1596,8 @@
 		BuildDepotVehicleList(vehicle_type, tile, &vl, &engine_list_length, &engine_count, NULL, NULL, NULL);
 	}
 
-	for (i = 0; i < engine_count; i++) {
+	for (uint i = 0; i < engine_count; i++) {
 		const Vehicle *v = vl[i];
-		CommandCost ret;
 
 		if (!!(v->vehstatus & VS_STOPPED) != start_stop) continue;
 
@@ -1617,7 +1609,7 @@
 			}
 		}
 
-		ret = DoCommand(tile, v->index, 0, flags, stop_command);
+		CommandCost ret = DoCommand(tile, v->index, 0, flags, stop_command);
 
 		if (CmdSucceeded(ret)) {
 			return_value = CommandCost();
@@ -1647,7 +1639,7 @@
 	uint16 wagon_count = 0;
 
 	CommandCost cost(EXPENSES_NEW_VEHICLES);
-	uint i, sell_command, total_number_vehicles;
+	uint  sell_command, total_number_vehicles;
 	VehicleType vehicle_type = (VehicleType)GB(p1, 0, 8);
 
 	switch (vehicle_type) {
@@ -1663,9 +1655,8 @@
 						                      &wagons,  &wagon_list_length,  &wagon_count);
 
 	total_number_vehicles = engine_count + wagon_count;
-	for (i = 0; i < total_number_vehicles; i++) {
+	for (uint i = 0; i < total_number_vehicles; i++) {
 		const Vehicle *v;
-		CommandCost ret;
 
 		if (i < engine_count) {
 			v = engines[i];
@@ -1673,7 +1664,7 @@
 			v = wagons[i - engine_count];
 		}
 
-		ret = DoCommand(tile, v->index, 1, flags, sell_command);
+		CommandCost ret = DoCommand(tile, v->index, 1, flags, sell_command);
 
 		if (CmdSucceeded(ret)) cost.AddCost(ret);
 	}
@@ -1698,7 +1689,6 @@
 	Vehicle **vl = NULL;
 	uint16 engine_list_length = 0;
 	uint16 engine_count = 0;
-	uint i;
 	CommandCost cost = CommandCost(EXPENSES_NEW_VEHICLES);
 	VehicleType vehicle_type = (VehicleType)GB(p1, 0, 8);
 	bool all_or_nothing = HasBit(p2, 0);
@@ -1708,11 +1698,9 @@
 	/* Get the list of vehicles in the depot */
 	BuildDepotVehicleList(vehicle_type, tile, &vl, &engine_list_length, &engine_count, &vl, &engine_list_length, &engine_count);
 
-
-	for (i = 0; i < engine_count; i++) {
+	for (uint i = 0; i < engine_count; i++) {
 		Vehicle *v = vl[i];
 		bool stopped = !(v->vehstatus & VS_STOPPED);
-		CommandCost ret;
 
 		/* Ensure that the vehicle completely in the depot */
 		if (!v->IsInDepot()) continue;
@@ -1721,7 +1709,7 @@
 			v->vehstatus |= VS_STOPPED; // Stop the vehicle
 			v->leave_depot_instantly = true;
 		}
-		ret = MaybeReplaceVehicle(v, !(flags & DC_EXEC), false);
+		CommandCost ret = MaybeReplaceVehicle(v, !(flags & DC_EXEC), false);
 
 		if (CmdSucceeded(ret)) {
 			cost.AddCost(ret);
@@ -1758,18 +1746,16 @@
  */
 CommandCost CmdCloneVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 {
-	Vehicle *v_front, *v;
-	Vehicle *w_front, *w, *w_rear;
-	CommandCost cost, total_cost(EXPENSES_NEW_VEHICLES);
+	CommandCost total_cost(EXPENSES_NEW_VEHICLES);
 	uint32 build_argument = 2;
 
 	if (!IsValidVehicleID(p1)) return CMD_ERROR;
-	v = GetVehicle(p1);
-	v_front = v;
-	w = NULL;
-	w_front = NULL;
-	w_rear = NULL;
-
+
+	Vehicle *v = GetVehicle(p1);
+	Vehicle *v_front = v;
+	Vehicle *w = NULL;
+	Vehicle *w_front = NULL;
+	Vehicle *w_rear = NULL;
 
 	/*
 	 * v_front is the front engine in the original vehicle
@@ -1803,7 +1789,7 @@
 			continue;
 		}
 
-		cost = DoCommand(tile, v->engine_type, build_argument, flags, GetCmdBuildVeh(v));
+		CommandCost cost = DoCommand(tile, v->engine_type, build_argument, flags, GetCmdBuildVeh(v));
 		build_argument = 3; // ensure that we only assign a number to the first engine
 
 		if (CmdFailed(cost)) return cost;
@@ -1864,7 +1850,7 @@
 				assert(w != NULL);
 
 				if (w->cargo_type != v->cargo_type || w->cargo_subtype != v->cargo_subtype) {
-					cost = DoCommand(0, w->index, v->cargo_type | (v->cargo_subtype << 8) | 1U << 16 , flags, GetCmdRefitVeh(v));
+					CommandCost cost = DoCommand(0, w->index, v->cargo_type | (v->cargo_subtype << 8) | 1U << 16 , flags, GetCmdRefitVeh(v));
 					if (CmdSucceeded(cost)) total_cost.AddCost(cost);
 				}
 
@@ -2006,21 +1992,21 @@
 }
 
 /**
-* @param sort_list list to store the list in. Either NULL or the length length_of_array tells
-* @param length_of_array informs the length allocated for sort_list. This is not the same as the number of vehicles in the list. Needs to be 0 when sort_list is NULL
-* @param type type of vehicle
-* @param owner PlayerID of owner to generate a list for
-* @param index This parameter has different meanings depending on window_type
-    <ul>
-      <li>VLW_STATION_LIST:  index of station to generate a list for</li>
-      <li>VLW_SHARED_ORDERS: index of order to generate a list for<li>
-      <li>VLW_STANDARD: not used<li>
-      <li>VLW_DEPOT_LIST: TileIndex of the depot/hangar to make the list for</li>
-      <li>VLW_GROUP_LIST: index of group to generate a list for</li>
-    </ul>
-* @param window_type tells what kind of window the list is for. Use the VLW flags in vehicle_gui.h
-* @return the number of vehicles added to the list
-*/
+ * @param sort_list list to store the list in. Either NULL or the length length_of_array tells
+ * @param length_of_array informs the length allocated for sort_list. This is not the same as the number of vehicles in the list. Needs to be 0 when sort_list is NULL
+ * @param type type of vehicle
+ * @param owner PlayerID of owner to generate a list for
+ * @param index This parameter has different meanings depending on window_type
+ *    <ul>
+ *      <li>VLW_STATION_LIST:  index of station to generate a list for</li>
+ *      <li>VLW_SHARED_ORDERS: index of order to generate a list for<li>
+ *      <li>VLW_STANDARD: not used<li>
+ *      <li>VLW_DEPOT_LIST: TileIndex of the depot/hangar to make the list for</li>
+ *      <li>VLW_GROUP_LIST: index of group to generate a list for</li>
+ *    </ul>
+ * @param window_type tells what kind of window the list is for. Use the VLW flags in vehicle_gui.h
+ * @return the number of vehicles added to the list
+ */
 uint GenerateVehicleSortList(const Vehicle ***sort_list, uint16 *length_of_array, VehicleType type, PlayerID owner, uint32 index, uint16 window_type)
 {
 	uint n = 0;
@@ -2064,7 +2050,7 @@
 			FOR_ALL_VEHICLES(v) {
 				if (v->type == type && v->owner == owner && v->IsPrimaryVehicle()) {
 					/* TODO find a better estimate on the total number of vehicles for current player */
-					if (n == *length_of_array) ExtendVehicleListSize(sort_list, length_of_array, GetNumVehicles()/4);
+					if (n == *length_of_array) ExtendVehicleListSize(sort_list, length_of_array, GetNumVehicles() / 4);
 					(*sort_list)[n++] = v;
 				}
 			}
@@ -2114,7 +2100,8 @@
 	return n;
 }
 
-/** send all vehicles of type to depots
+/**
+ * Send all vehicles of type to depots
  * @param type type of vehicle
  * @param flags the flags used for DoCommand()
  * @param service should the vehicles only get service in the depots
@@ -2125,13 +2112,12 @@
 CommandCost SendAllVehiclesToDepot(VehicleType type, uint32 flags, bool service, PlayerID owner, uint16 vlw_flag, uint32 id)
 {
 	const Vehicle **sort_list = NULL;
-	uint n, i;
 	uint16 array_length = 0;
 
-	n = GenerateVehicleSortList(&sort_list, &array_length, type, owner, id, vlw_flag);
+	uint n = GenerateVehicleSortList(&sort_list, &array_length, type, owner, id, vlw_flag);
 
 	/* Send all the vehicles to a depot */
-	for (i = 0; i < n; i++) {
+	for (uint i = 0; i < n; i++) {
 		const Vehicle *v = sort_list[i];
 		CommandCost ret = DoCommand(v->tile, v->index, (service ? 1 : 0) | DEPOT_DONT_CANCEL, flags, GetCmdSendToDepot(type));
 
@@ -2163,25 +2149,29 @@
 	int unloading = 0;
 	bool loading = false;
 
-	assert(color != NULL);
-
 	const Vehicle *u = v;
-	const Station *st = GetStation(v->last_station_visited);
+	const Station *st = v->last_station_visited != INVALID_STATION ? GetStation(v->last_station_visited) : NULL;
 
 	/* Count up max and used */
 	for (; v != NULL; v = v->Next()) {
 		count += v->cargo.Count();
 		max += v->cargo_cap;
-		if (v->cargo_cap != 0) {
+		if (v->cargo_cap != 0 && color != NULL) {
 			unloading += HasBit(v->vehicle_flags, VF_CARGO_UNLOADING) ? 1 : 0;
-			loading |= !HasBit(u->current_order.GetUnloadType(), OF_UNLOAD) && st->goods[v->cargo_type].days_since_pickup != 255;
+			loading |= !(u->current_order.GetUnloadType() & OUFB_UNLOAD) && st->goods[v->cargo_type].days_since_pickup != 255;
 			cars++;
 		}
 	}
 
-	if (unloading == 0 && loading)          *color = STR_PERCENT_UP;
-	else if (cars == unloading || !loading) *color = STR_PERCENT_DOWN;
-	else                                    *color = STR_PERCENT_UP_DOWN;
+	if (color != NULL) {
+		if (unloading == 0 && loading) {
+			*color = STR_PERCENT_UP;
+		} else if (cars == unloading || !loading) {
+			*color = STR_PERCENT_DOWN;
+		} else {
+			*color = STR_PERCENT_UP_DOWN;
+		}
+	}
 
 	/* Train without capacity */
 	if (max == 0) return 100;
@@ -2236,18 +2226,14 @@
 	TriggerVehicle(v, VEHICLE_TRIGGER_DEPOT);
 
 	if (v->current_order.IsType(OT_GOTO_DEPOT)) {
-		Order t;
-
 		InvalidateWindow(WC_VEHICLE_VIEW, v->index);
 
-		t = v->current_order;
+		Order t = v->current_order;
 		v->current_order.MakeDummy();
 
 		if (t.IsRefit()) {
-			CommandCost cost;
-
 			_current_player = v->owner;
-			cost = DoCommand(v->tile, v->index, t.GetRefitCargo() | t.GetRefitSubtype() << 8, DC_EXEC, GetCmdRefitVeh(v));
+			CommandCost cost = DoCommand(v->tile, v->index, t.GetRefitCargo() | t.GetRefitSubtype() << 8, DC_EXEC, GetCmdRefitVeh(v));
 
 			if (CmdFailed(cost)) {
 				v->leave_depot_instantly = false; // We ensure that the vehicle stays in the depot
@@ -2262,11 +2248,11 @@
 			}
 		}
 
-		if (HasBit(t.GetDepotOrderType(), OF_PART_OF_ORDERS)) {
+		if (t.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) {
 			/* Part of orders */
 			UpdateVehicleTimetable(v, true);
 			v->cur_order_index++;
-		} else if (HasBit(t.GetDepotActionType(), OF_HALT_IN_DEPOT)) {
+		} else if (t.GetDepotActionType() & ODATFB_HALT) {
 			/* Force depot visit */
 			v->vehstatus |= VS_STOPPED;
 			if (v->owner == _local_player) {
@@ -2329,11 +2315,9 @@
  */
 CommandCost CmdNameVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 {
-	Vehicle *v;
-
 	if (!IsValidVehicleID(p1) || StrEmpty(_cmd_text)) return CMD_ERROR;
 
-	v = GetVehicle(p1);
+	Vehicle *v = GetVehicle(p1);
 
 	if (!CheckOwnership(v->owner)) return CMD_ERROR;
 
@@ -2358,12 +2342,11 @@
  */
 CommandCost CmdChangeServiceInt(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 {
-	Vehicle* v;
 	uint16 serv_int = GetServiceIntervalClamped(p2); /* Double check the service interval from the user-input */
 
 	if (serv_int != p2 || !IsValidVehicleID(p1)) return CMD_ERROR;
 
-	v = GetVehicle(p1);
+	Vehicle *v = GetVehicle(p1);
 
 	if (!CheckOwnership(v->owner)) return CMD_ERROR;
 
@@ -2446,15 +2429,13 @@
 	DIR_E , DIR_SE, DIR_S
 };
 
-Direction GetDirectionTowards(const Vehicle* v, int x, int y)
+Direction GetDirectionTowards(const Vehicle *v, int x, int y)
 {
-	Direction dir;
-	DirDiff dirdiff;
 	int i = 0;
 
 	if (y >= v->y_pos) {
-		if (y != v->y_pos) i+=3;
-		i+=3;
+		if (y != v->y_pos) i += 3;
+		i += 3;
 	}
 
 	if (x >= v->x_pos) {
@@ -2462,14 +2443,14 @@
 		i++;
 	}
 
-	dir = v->direction;
-
-	dirdiff = DirDifference(_new_direction_table[i], dir);
+	Direction dir = v->direction;
+
+	DirDiff dirdiff = DirDifference(_new_direction_table[i], dir);
 	if (dirdiff == DIRDIFF_SAME) return dir;
 	return ChangeDir(dir, dirdiff > DIRDIFF_REVERSE ? DIRDIFF_45LEFT : DIRDIFF_45RIGHT);
 }
 
-Trackdir GetVehicleTrackdir(const Vehicle* v)
+Trackdir GetVehicleTrackdir(const Vehicle *v)
 {
 	if (v->vehstatus & VS_CRASHED) return INVALID_TRACKDIR;
 
@@ -2521,7 +2502,7 @@
 
 UnitID GetFreeUnitNumber(VehicleType type)
 {
-	UnitID unit, max = 0;
+	UnitID max = 0;
 	const Vehicle *u;
 	static bool *cache = NULL;
 	static UnitID gmax = 0;
@@ -2558,7 +2539,8 @@
 	}
 
 	/* Find the first unused unit number */
-	for (unit = 1; unit <= max; unit++) {
+	UnitID unit = 1;
+	for (; unit <= max; unit++) {
 		if (!cache[unit]) break;
 	}
 
@@ -2592,7 +2574,6 @@
 
 	/* We can build vehicle infrastructure when we may build the vehicle type */
 	if (max > 0) {
-
 		/* Can we actually build the vehicle type? */
 		EngineID e;
 		FOR_ALL_ENGINEIDS_OF_TYPE(e, type) {
@@ -3097,7 +3078,7 @@
 			/* Convert the current_order.type (which is a mix of type and flags, because
 			 *  in those versions, they both were 4 bits big) to type and flags */
 			v->current_order.flags = GB(v->current_order.type, 4, 4);
-			v->current_order.type.m_val &= 0x0F;
+			v->current_order.type &= 0x0F;
 		}
 
 		/* Advanced vehicle lists got added */
@@ -3132,17 +3113,17 @@
 
 	if (this->current_order.IsType(OT_GOTO_STATION) &&
 			this->current_order.GetDestination() == this->last_station_visited) {
+		current_order.MakeLoading(true);
+		UpdateVehicleTimetable(this, true);
+
 		/* Furthermore add the Non Stop flag to mark that this station
 		 * is the actual destination of the vehicle, which is (for example)
 		 * necessary to be known for HandleTrainLoading to determine
 		 * whether the train is lost or not; not marking a train lost
 		 * that arrives at random stations is bad. */
-		this->current_order.SetNonStopType(OFB_NON_STOP);
-
-		current_order.MakeLoading(true);
-		UpdateVehicleTimetable(this, true);
+		this->current_order.SetNonStopType(ONSF_NO_STOP_AT_ANY_STATION);
+
 	} else {
-		this->current_order.SetNonStopType(OFB_NO_NON_STOP);
 		current_order.MakeLoading(false);
 	}
 
@@ -3164,7 +3145,7 @@
 	assert(current_order.IsType(OT_LOADING));
 
 	/* Only update the timetable if the vehicle was supposed to stop here. */
-	if (current_order.GetNonStopType() != OFB_NO_NON_STOP) UpdateVehicleTimetable(this, false);
+	if (current_order.GetNonStopType() != ONSF_STOP_EVERYWHERE) UpdateVehicleTimetable(this, false);
 
 	current_order.MakeLeaveStation();
 	GetStation(this->last_station_visited)->loading_vehicles.remove(this);
@@ -3186,11 +3167,11 @@
 
 			this->PlayLeaveStationSound();
 
-			Order b = this->current_order;
+			bool at_destination_station = this->current_order.GetNonStopType() != ONSF_STOP_EVERYWHERE;
 			this->LeaveStation();
 
 			/* If this was not the final order, don't remove it from the list. */
-			if (!(b.GetNonStopType() & OFB_NON_STOP)) return;
+			if (!at_destination_station) return;
 			break;
 		}
 
@@ -3203,6 +3184,70 @@
 	InvalidateVehicleOrder(this);
 }
 
+CommandCost Vehicle::SendToDepot(uint32 flags, DepotCommand command)
+{
+	if (!CheckOwnership(this->owner)) return CMD_ERROR;
+	if (this->vehstatus & VS_CRASHED) return CMD_ERROR;
+	if (this->IsInDepot()) return CMD_ERROR;
+
+	if (this->current_order.IsType(OT_GOTO_DEPOT)) {
+		bool halt_in_depot = this->current_order.GetDepotActionType() & ODATFB_HALT;
+		if (!!(command & DEPOT_SERVICE) == halt_in_depot) {
+			/* We called with a different DEPOT_SERVICE setting.
+			 * Now we change the setting to apply the new one and let the vehicle head for the same depot.
+			 * Note: the if is (true for requesting service == true for ordered to stop in depot)          */
+			if (flags & DC_EXEC) {
+				this->current_order.SetDepotOrderType(ODTF_MANUAL);
+				this->current_order.SetDepotActionType(halt_in_depot ? ODATF_SERVICE_ONLY : ODATFB_HALT);
+				InvalidateWindowWidget(WC_VEHICLE_VIEW, this->index, VVW_WIDGET_START_STOP_VEH);
+			}
+			return CommandCost();
+		}
+
+		if (command & DEPOT_DONT_CANCEL) return CMD_ERROR; // Requested no cancelation of depot orders
+		if (flags & DC_EXEC) {
+			/* If the orders to 'goto depot' are in the orders list (forced servicing),
+			 * then skip to the next order; effectively cancelling this forced service */
+			if (this->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) this->cur_order_index++;
+
+			this->current_order.MakeDummy();
+			InvalidateWindowWidget(WC_VEHICLE_VIEW, this->index, VVW_WIDGET_START_STOP_VEH);
+		}
+		return CommandCost();
+	}
+
+	/* check if at a standstill (not stopped only) in a depot
+	 * the check is down here to make it possible to alter stop/service for trains entering the depot */
+	if (this->type == VEH_TRAIN && IsTileDepotType(this->tile, TRANSPORT_RAIL) && this->cur_speed == 0) return CMD_ERROR;
+
+	TileIndex location;
+	DestinationID destination;
+	bool reverse;
+	static const StringID no_depot[] = {STR_883A_UNABLE_TO_FIND_ROUTE_TO, STR_9019_UNABLE_TO_FIND_LOCAL_DEPOT, STR_981A_UNABLE_TO_FIND_LOCAL_DEPOT, STR_A012_CAN_T_SEND_AIRCRAFT_TO};
+	if (!this->FindClosestDepot(&location, &destination, &reverse)) return_cmd_error(no_depot[this->type]);
+
+	if (flags & DC_EXEC) {
+		if (this->current_order.IsType(OT_LOADING)) this->LeaveStation();
+
+		this->dest_tile = location;
+		this->current_order.MakeGoToDepot(destination, ODTF_MANUAL);
+		if (!(command & DEPOT_SERVICE)) this->current_order.SetDepotActionType(ODATFB_HALT);
+		InvalidateWindowWidget(WC_VEHICLE_VIEW, this->index, VVW_WIDGET_START_STOP_VEH);
+
+		/* If there is no depot in front, reverse automatically (trains only) */
+		if (this->type == VEH_TRAIN && reverse) DoCommand(this->tile, this->index, 0, DC_EXEC, CMD_REVERSE_TRAIN_DIRECTION);
+
+		if (this->type == VEH_AIRCRAFT && this->u.air.state == FLYING && this->u.air.targetairport != destination) {
+			/* The aircraft is now heading for a different hangar than the next in the orders */
+			extern void AircraftNextAirportPos_and_Order(Vehicle *v);
+			AircraftNextAirportPos_and_Order(this);
+		}
+	}
+
+	return CommandCost();
+
+}
+
 void Vehicle::SetNext(Vehicle *next)
 {
 	if (this->next != NULL) {
--- a/src/vehicle_base.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/vehicle_base.h	Sat Apr 12 21:38:49 2008 +0000
@@ -490,6 +490,21 @@
 	bool NeedsAutorenewing(const Player *p) const;
 
 	/**
+	 * Check if the vehicle needs to go to a depot in near future (if a opportunity presents itself) for service or replacement.
+	 *
+	 * @see NeedsAutomaticServicing()
+	 * @return true if the vehicle should go to a depot if a opportunity presents itself.
+	 */
+	bool NeedsServicing() const;
+
+	/**
+	 * Checks if the current order should be interupted for a service-in-depot-order.
+	 * @see NeedsServicing()
+	 * @return true if the current order should be interupted.
+	 */
+	bool NeedsAutomaticServicing() const;
+
+	/**
 	 * Determine the location for the station where the vehicle goes to next.
 	 * Things done for example are allocating slots in a road stop or exact
 	 * location of the platform is determined for ships.
@@ -497,6 +512,24 @@
 	 * @return the location (tile) to aim for.
 	 */
 	virtual TileIndex GetOrderStationLocation(StationID station) { return INVALID_TILE; }
+
+	/**
+	 * Find the closest depot for this vehicle and tell us the location,
+	 * DestinationID and whether we should reverse.
+	 * @param location    where do we go to?
+	 * @param destination what hangar do we go to?
+	 * @param reverse     should the vehicle be reversed?
+	 * @return true if a depot could be found.
+	 */
+	virtual bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse) { return false; }
+
+	/**
+	 * Send this vehicle to the depot using the given command(s).
+	 * @param flags   the command flags (like execute and such).
+	 * @param command the command to execute.
+	 * @return the cost of the depot action.
+	 */
+	CommandCost SendToDepot(uint32 flags, DepotCommand command);
 };
 
 /**
--- a/src/vehicle_func.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/vehicle_func.h	Sat Apr 12 21:38:49 2008 +0000
@@ -67,8 +67,6 @@
 void TrainPowerChanged(Vehicle *v);
 Money GetTrainRunningCost(const Vehicle *v);
 
-bool VehicleNeedsService(const Vehicle *v);
-
 uint GenerateVehicleSortList(const Vehicle*** sort_list, uint16 *length_of_array, VehicleType type, PlayerID owner, uint32 index, uint16 window_type);
 void BuildDepotVehicleList(VehicleType type, TileIndex tile, Vehicle ***engine_list, uint16 *engine_list_length, uint16 *engine_count, Vehicle ***wagon_list, uint16 *wagon_list_length, uint16 *wagon_count);
 CommandCost SendAllVehiclesToDepot(VehicleType type, uint32 flags, bool service, PlayerID owner, uint16 vlw_flag, uint32 id);
@@ -79,14 +77,6 @@
 
 void CcCloneVehicle(bool success, TileIndex tile, uint32 p1, uint32 p2);
 
-/* Flags to add to p2 for goto depot commands */
-/* Note: bits 8-10 are used for VLW flags */
-enum {
-	DEPOT_SERVICE       = (1 << 0), // The vehicle will leave the depot right after arrival (serivce only)
-	DEPOT_MASS_SEND     = (1 << 1), // Tells that it's a mass send to depot command (type in VLW flag)
-	DEPOT_DONT_CANCEL   = (1 << 2), // Don't cancel current goto depot command if any
-	DEPOT_LOCATE_HANGAR = (1 << 3), // Find another airport if the target one lacks a hangar
-};
 
 struct GetNewVehiclePosResult {
 	int x, y;
--- a/src/vehicle_gui.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/vehicle_gui.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -1969,7 +1969,7 @@
 					SetDParam(0, depot->town_index);
 					SetDParam(1, v->GetDisplaySpeed());
 				}
-				if (HasBit(v->current_order.GetDepotActionType(), OF_HALT_IN_DEPOT) && !HasBit(v->current_order.GetDepotOrderType(), OF_PART_OF_ORDERS)) {
+				if ((v->current_order.GetDepotActionType() & ODATFB_HALT) && !(v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS)) {
 					str = _heading_for_depot_strings[v->type] + _patches.vehicle_speed;
 				} else {
 					str = _heading_for_depot_service_strings[v->type] + _patches.vehicle_speed;
--- a/src/vehicle_type.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/vehicle_type.h	Sat Apr 12 21:38:49 2008 +0000
@@ -60,4 +60,14 @@
 	VPF_YAPF = 2, ///< Yet Another PathFinder
 };
 
+/* Flags to add to p2 for goto depot commands */
+/* Note: bits 8-10 are used for VLW flags */
+enum DepotCommand {
+	DEPOT_SERVICE       = (1 << 0), ///< The vehicle will leave the depot right after arrival (serivce only)
+	DEPOT_MASS_SEND     = (1 << 1), ///< Tells that it's a mass send to depot command (type in VLW flag)
+	DEPOT_DONT_CANCEL   = (1 << 2), ///< Don't cancel current goto depot command if any
+	DEPOT_LOCATE_HANGAR = (1 << 3), ///< Find another airport if the target one lacks a hangar
+	DEPOT_COMMAND_MASK  = 0xF,
+};
+
 #endif /* VEHICLE_TYPE_H */
--- a/src/viewport_type.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/viewport_type.h	Sat Apr 12 21:38:49 2008 +0000
@@ -10,12 +10,19 @@
 #include "window_type.h"
 #include "tile_type.h"
 
+/**
+ * Data structure for viewport, display of a part of the world
+ */
 struct ViewPort {
-	int left,top;                       // screen coordinates for the viewport
-	int width, height;                  // screen width/height for the viewport
+	int left;    ///< Screen coordinate left egde of the viewport
+	int top;     ///< Screen coordinate top edge of the viewport
+	int width;   ///< Screen width of the viewport
+	int height;  ///< Screen height of the viewport
 
-	int virtual_left, virtual_top;      // virtual coordinates
-	int virtual_width, virtual_height;  // these are just width << zoom, height << zoom
+	int virtual_left;    ///< Virtual left coordinate
+	int virtual_top;     ///< Virtual top coordinate
+	int virtual_width;   ///< width << zoom
+	int virtual_height;  ///< height << zoom
 
 	ZoomLevel zoom;
 };
@@ -58,7 +65,7 @@
 	VHM_RAIL    = 5, ///< rail pieces
 };
 
-/* highlighting draw styles */
+/** Highlighting draw styles */
 enum HighLightStyle {
 	HT_NONE   = 0x00,
 	HT_RECT   = 0x80,
--- a/src/waypoint.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/waypoint.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -32,6 +32,7 @@
 #include "player_func.h"
 #include "settings_type.h"
 #include "newgrf_station.h"
+#include "oldpool_func.h"
 
 #include "table/strings.h"
 
--- a/src/widget.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/widget.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -186,6 +186,10 @@
 }
 
 
+/**
+ * Paint all widgets of a window.
+ * @param w Window
+ */
 void DrawWindowWidgets(const Window *w)
 {
 	const DrawPixelInfo* dpi = _cur_dpi;
@@ -569,6 +573,7 @@
 	}
 }
 
+/** Resize a widget and shuffle other widgets around to fit. */
 void ResizeWindowForWidget(Window *w, int widget, int delta_x, int delta_y)
 {
 	int right  = w->widget[widget].right;
--- a/src/widgets/dropdown.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/widgets/dropdown.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -20,6 +20,11 @@
 	return STR_NULL;
 }
 
+uint DropDownListItem::Height(uint width) const
+{
+	return 10;
+}
+
 StringID DropDownListStringItem::String() const
 {
 	return this->string;
@@ -66,20 +71,25 @@
 {
 	if (GetWidgetFromPos(w, _cursor.pos.x - w->left, _cursor.pos.y - w->top) < 0) return -1;
 
-	int y = _cursor.pos.y - w->top - 2 + w->vscroll.pos * 10;
-	if (y < 0) return -1;
+	int y     = _cursor.pos.y - w->top - 2;
+	int width = w->widget[0].right - 3;
+	int pos   = w->vscroll.pos;
 
-	uint selected_row = y / 10;
 	const DropDownList *list = WP(w, dropdown_d).list;
 
-	if (selected_row >= list->size()) return -1;
+	for (DropDownList::const_iterator it = list->begin(); it != list->end(); ++it) {
+		/* Skip items that are scrolled up */
+		if (--pos >= 0) continue;
 
-	for (DropDownList::const_iterator it = list->begin(); it != list->end(); ++it, selected_row--) {
-		if (selected_row == 0) {
-			const DropDownListItem *item = *it;
+		const DropDownListItem *item = *it;
+		int item_height = item->Height(width);
+
+		if (y < item_height) {
 			if (item->masked || item->String() == STR_NULL) return -1;
 			return item->result;
 		}
+
+		y -= item_height;
 	}
 
 	return -1;
@@ -92,24 +102,30 @@
 			DrawWindowWidgets(w);
 
 			int x = 1;
-			int y = 2 - w->vscroll.pos * 10;
+			int y = 2;
 
 			int sel    = WP(w, dropdown_d).selected_index;
 			int width  = w->widget[0].right - 3;
-			int height = w->widget[0].bottom - 3;
+			int height = w->widget[0].bottom;
+			int pos    = w->vscroll.pos;
 
 			DropDownList *list = WP(w, dropdown_d).list;
 
 			for (DropDownList::const_iterator it = list->begin(); it != list->end(); ++it) {
-				if (y >= 0 && y <= height) {
-					const DropDownListItem *item = *it;
+				const DropDownListItem *item = *it;
+				int item_height = item->Height(width);
+
+				/* Skip items that are scrolled up */
+				if (--pos >= 0) continue;
+
+				if (y + item_height < height) {
 					if (item->String() != STR_NULL) {
-						if (sel == item->result) GfxFillRect(x + 1, y, x + width, y + 9, 0);
+						if (sel == item->result) GfxFillRect(x + 1, y, x + width, y + item_height - 1, 0);
 
 						DrawStringTruncated(x + 2, y, item->String(), sel == item->result ? TC_WHITE : TC_BLACK, x + width);
 
 						if (item->masked) {
-							GfxFillRect(x, y, x + width, y + 9,
+							GfxFillRect(x, y, x + width, y + item_height - 1,
 								(1 << PALETTE_MODIFIER_GREYOUT) | _colour_gradient[w->widget[0].color][5]
 							);
 						}
@@ -121,7 +137,7 @@
 						GfxFillRect(x + 1, y + 4, x + w->width - 5, y + 4, c2);
 					}
 				}
-				y += 10;
+				y += item_height;
 			}
 		} break;
 
@@ -201,7 +217,7 @@
 	}
 }
 
-void ShowDropDownList(Window *w, DropDownList *list, int selected, int button)
+void ShowDropDownList(Window *w, DropDownList *list, int selected, int button, uint width)
 {
 	bool is_dropdown_menu_shown = w->IsWidgetLowered(button);
 
@@ -221,7 +237,17 @@
 
 	/* The preferred position is just below the dropdown calling widget */
 	int top = w->top + wi->bottom + 1;
-	int height = list->size() * 10 + 4;
+
+	/* Total length of list */
+	int list_height = 0;
+
+	for (DropDownList::const_iterator it = list->begin(); it != list->end(); ++it) {
+		DropDownListItem *item = *it;
+		list_height += item->Height(width);
+	}
+
+	/* Height of window visible */
+	int height = list_height;
 
 	/* Check if the status bar is visible, as we don't want to draw over it */
 	Window *w3 = FindWindowById(WC_STATUS_BAR, 0);
@@ -230,34 +256,37 @@
 	bool scroll = false;
 
 	/* Check if the dropdown will fully fit below the widget */
-	if (top + height >= screen_bottom) {
+	if (top + height + 4 >= screen_bottom) {
 		w3 = FindWindowById(WC_MAIN_TOOLBAR, 0);
 		int screen_top = w3 == NULL ? 0 : w3->top + w3->height;
 
 		/* If not, check if it will fit above the widget */
 		if (w->top + wi->top - height > screen_top) {
-			top = w->top + wi->top - height;
+			top = w->top + wi->top - height - 4;
 		} else {
 			/* ... and lastly if it won't, enable the scroll bar and fit the
 			 * list in below the widget */
-			int rows = (screen_bottom - 4 - top) / 10;
-			height = rows * 10 + 4;
+			int avg_height = list_height / list->size();
+			int rows = (screen_bottom - 4 - top) / avg_height;
+			height = rows * avg_height;
 			scroll = true;
 		}
 	}
 
+	if (width == 0) width = wi->right - wi->left + 1;
+
 	Window *dw = AllocateWindow(
 		w->left + wi->left,
 		top,
-		wi->right - wi->left + 1,
-		height,
+		width,
+		height + 4,
 		DropDownMenuWndProc,
 		WC_DROPDOWN_MENU,
 		_dropdown_menu_widgets);
 
 	dw->widget[0].color = wi->color;
-	dw->widget[0].right = wi->right - wi->left;
-	dw->widget[0].bottom = height - 1;
+	dw->widget[0].right = width - 1;
+	dw->widget[0].bottom = height + 3;
 
 	dw->SetWidgetHiddenState(1, !scroll);
 
@@ -267,10 +296,11 @@
 		dw->widget[1].color  = wi->color;
 		dw->widget[1].right  = dw->widget[0].right;
 		dw->widget[1].left   = dw->widget[1].right - 11;
-		dw->widget[1].bottom = height - 1;
+		dw->widget[1].bottom = dw->widget[0].bottom;
 		dw->widget[0].right -= 12;
 
-		dw->vscroll.cap   = (height - 4) / 10;
+		/* Capacity is the average number of items visible */
+		dw->vscroll.cap   = height * list->size() / list_height;
 		dw->vscroll.count = list->size();
 	}
 
@@ -286,7 +316,7 @@
 	WP(dw, dropdown_d).drag_mode        = true;
 }
 
-void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask)
+void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask, uint width)
 {
 	/* Don't create a new list if we're just closing an existing menu */
 	if (w->IsWidgetLowered(button)) {
@@ -310,9 +340,13 @@
 		return;
 	}
 
-	ShowDropDownList(w, list, selected, button);
+	ShowDropDownList(w, list, selected, button, width);
 }
 
+/**
+ * Delete the drop-down menu from window \a pw
+ * @param pw Parent window of the drop-down menu window
+ */
 void HideDropDownMenu(Window *pw)
 {
 	Window **wz;
--- a/src/widgets/dropdown_func.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/widgets/dropdown_func.h	Sat Apr 12 21:38:49 2008 +0000
@@ -4,7 +4,7 @@
 #define WIDGETS_DROPDOWN_FUNC_H
 
 /* Show drop down menu containing a fixed list of strings */
-void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask);
+void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask, uint width = 0);
 
 /* Hide drop down menu of a parent window */
 void HideDropDownMenu(Window *pw);
--- a/src/widgets/dropdown_type.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/widgets/dropdown_type.h	Sat Apr 12 21:38:49 2008 +0000
@@ -18,6 +18,7 @@
 	DropDownListItem(int result, bool masked) : result(result), masked(masked) {}
 	virtual ~DropDownListItem() {}
 	virtual StringID String() const;
+	virtual uint Height(uint width) const;
 };
 
 /**
@@ -60,7 +61,8 @@
  * @param selected The initially selected list item.
  * @param button   The widget within the parent window that is used to determine
  *                 the list's location.
+ * @param width    Override the width determined by the selected widget.
  */
-void ShowDropDownList(Window *w, DropDownList *list, int selected, int button);
+void ShowDropDownList(Window *w, DropDownList *list, int selected, int button, uint width = 0);
 
 #endif /* WIDGETS_DROPDOWN_TYPE_H */
--- a/src/window.cpp	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/window.cpp	Sat Apr 12 21:38:49 2008 +0000
@@ -22,10 +22,16 @@
 
 #include "table/sprites.h"
 
-/* delta between mouse cursor and upper left corner of dragged window */
+/** delta between mouse cursor and upper left corner of dragged window */
 static Point _drag_delta;
 
 static Window _windows[MAX_NUMBER_OF_WINDOWS];
+
+/**
+ * List of windows opened at the screen.
+ * Uppermost window is at  _z_windows[_last_z_window - 1],
+ * bottom window is at _z_windows[0]
+ */
 Window *_z_windows[lengthof(_windows)];
 Window **_last_z_window; ///< always points to the next free space in the z-array
 
@@ -116,6 +122,13 @@
 static void StartWindowDrag(Window *w);
 static void StartWindowSizing(Window *w);
 
+/**
+ * Dispatch left mouse-button (possibly double) click in window.
+ * @param w Window to dispatch event in
+ * @param x X coordinate of the click
+ * @param y Y coordinate of the click
+ * @param double_click Was it a double click?
+ */
 static void DispatchLeftClickEvent(Window *w, int x, int y, bool double_click)
 {
 	WindowEvent e;
@@ -175,6 +188,12 @@
 	w->wndproc(w, &e);
 }
 
+/**
+ * Dispatch right mouse-button click in window.
+ * @param w Window to dispatch event in
+ * @param x X coordinate of the click
+ * @param y Y coordinate of the click
+ */
 static void DispatchRightClickEvent(Window *w, int x, int y)
 {
 	WindowEvent e;
@@ -197,9 +216,10 @@
 	w->wndproc(w, &e);
 }
 
-/** Dispatch the mousewheel-action to the window which will scroll any
- * compatible scrollbars if the mouse is pointed over the bar or its contents
- * @param *w Window
+/**
+ * Dispatch the mousewheel-action to the window.
+ * The window will scroll any compatible scrollbars if the mouse is pointed over the bar or its contents
+ * @param w Window
  * @param widget the widget where the scrollwheel was used
  * @param wheel scroll up or down
  */
@@ -232,6 +252,14 @@
 
 static void DrawOverlappedWindow(Window* const *wz, int left, int top, int right, int bottom);
 
+/**
+ * From a rectangle that needs redrawing, find the windows that intersect with the rectangle.
+ * These windows should be re-painted.
+ * @param left Left edge of the rectangle that should be repainted
+ * @param top Top edge of the rectangle that should be repainted
+ * @param right Right edge of the rectangle that should be repainted
+ * @param bottom Bottom edge of the rectangle that should be repainted
+ */
 void DrawOverlappedWindowForAll(int left, int top, int right, int bottom)
 {
 	Window* const *wz;
@@ -249,10 +277,23 @@
 	}
 }
 
+/**
+ * Generate repaint events for the visible part of window *wz within the rectangle.
+ *
+ * The function goes recursively upwards in the window stack, and splits the rectangle
+ * into multiple pieces at the window edges, so obscured parts are not redrawn.
+ *
+ * @param wz Pointer into window stack, pointing at the window that needs to be repainted
+ * @param left Left edge of the rectangle that should be repainted
+ * @param top Top edge of the rectangle that should be repainted
+ * @param right Right edge of the rectangle that should be repainted
+ * @param bottom Bottom edge of the rectangle that should be repainted
+ *
+ * @todo Swap this function to above DrawOverlappedWindowForAll() to eliminate the forward declaration
+ */
 static void DrawOverlappedWindow(Window* const *wz, int left, int top, int right, int bottom)
 {
 	Window* const *vz = wz;
-	int x;
 
 	while (++vz != _last_z_window) {
 		const Window *v = *vz;
@@ -261,6 +302,9 @@
 				bottom > v->top &&
 				left < v->left + v->width &&
 				top < v->top + v->height) {
+			/* v and rectangle intersect with eeach other */
+			int x;
+
 			if (left < (x = v->left)) {
 				DrawOverlappedWindow(wz, left, top, x, bottom);
 				DrawOverlappedWindow(wz, x, top, right, bottom);
@@ -302,6 +346,12 @@
 	}
 }
 
+/**
+ * Dispatch an event to a possibly non-existing window.
+ * If the window pointer w is \c NULL, the event is not dispatched
+ * @param w Window to dispatch the event to, may be \c NULL
+ * @param event Event to dispatch
+ */
 void CallWindowEventNP(Window *w, int event)
 {
 	WindowEvent e;
@@ -310,6 +360,11 @@
 	w->wndproc(w, &e);
 }
 
+/**
+ * Mark entire window as dirty (in need of re-paint)
+ * @param w Window to redraw
+ * @ingroup dirty
+ */
 void SetWindowDirty(const Window *w)
 {
 	if (w == NULL) return;
@@ -334,12 +389,13 @@
 /** Find the z-value of a window. A window must already be open
  * or the behaviour is undefined but function should never fail
  * @param w window to query Z Position
- * @return the window that matches it */
+ * @return Pointer into the window-list at the position of \a w
+ */
 Window **FindWindowZPosition(const Window *w)
 {
 	Window **wz;
 
-	for (wz = _z_windows; wz != _last_z_window; wz++) {
+	FOR_ALL_WINDOWS(wz) {
 		if (*wz == w) return wz;
 	}
 
@@ -348,14 +404,15 @@
 	return NULL;
 }
 
+/**
+ * Remove window and all its child windows from the window stack
+ */
 void DeleteWindow(Window *w)
 {
-	Window *v;
-	Window **wz;
 	if (w == NULL) return;
 
 	/* Delete any children a window might have in a head-recursive manner */
-	v = FindChildWindow(w);
+	Window *v = FindChildWindow(w);
 	if (v != NULL) DeleteWindow(v);
 
 	if (_thd.place_mode != VHM_NONE &&
@@ -375,12 +432,18 @@
 
 	/* Find the window in the z-array, and effectively remove it
 	 * by moving all windows after it one to the left */
-	wz = FindWindowZPosition(w);
+	Window **wz = FindWindowZPosition(w);
 	if (wz == NULL) return;
 	memmove(wz, wz + 1, (byte*)_last_z_window - (byte*)wz);
 	_last_z_window--;
 }
 
+/**
+ * Find a window by its class and window number
+ * @param cls Window class
+ * @param number Number of the window within the window class
+ * @return Pointer to the found window, or \c NULL if not available
+ */
 Window *FindWindowById(WindowClass cls, WindowNumber number)
 {
 	Window* const *wz;
@@ -393,11 +456,20 @@
 	return NULL;
 }
 
+/**
+ * Delete a window by its class and window number (if it is open).
+ * @param cls Window class
+ * @param number Number of the window within the window class
+ */
 void DeleteWindowById(WindowClass cls, WindowNumber number)
 {
 	DeleteWindow(FindWindowById(cls, number));
 }
 
+/**
+ * Delete all windows of a given class
+ * @param cls Window class of windows to delete
+ */
 void DeleteWindowByClass(WindowClass cls)
 {
 	Window* const *wz;
@@ -625,9 +697,8 @@
  * @param window_number number being assigned to the new window
  * @param data the data to be given during the WE_CREATE message
  * @return Window pointer of the newly created window */
-static Window *LocalAllocateWindow(
-							int x, int y, int min_width, int min_height, int def_width, int def_height,
-							WindowProc *proc, WindowClass cls, const Widget *widget, int window_number, void *data)
+static Window *LocalAllocateWindow(int x, int y, int min_width, int min_height, int def_width, int def_height,
+				WindowProc *proc, WindowClass cls, const Widget *widget, int window_number, void *data)
 {
 	Window *w = FindFreeWindow();
 
@@ -751,18 +822,14 @@
  * @param *proc see WindowProc function to call when any messages/updates happen to the window
  * @param cls see WindowClass class of the window, used for identification and grouping
  * @param *widget see Widget pointer to the window layout and various elements
- * @return Window pointer of the newly created window */
-Window *AllocateWindow(
-							int x, int y, int width, int height,
-							WindowProc *proc, WindowClass cls, const Widget *widget, void *data)
+ * @return Window pointer of the newly created window
+ */
+Window *AllocateWindow(int x, int y, int width, int height,
+			WindowProc *proc, WindowClass cls, const Widget *widget, void *data)
 {
 	return LocalAllocateWindow(x, y, width, height, width, height, proc, cls, widget, 0, data);
 }
 
-struct SizeRect {
-	int left,top,width,height;
-};
-
 
 static bool IsGoodAutoPlace1(int left, int top, int width, int height, Point &pos)
 {
@@ -1002,7 +1069,7 @@
 
 restart_search:
 	/* Delete all windows, reset z-array.
-	 *When we find the window to delete, we need to restart the search
+	 * When we find the window to delete, we need to restart the search
 	 * as deleting this window could cascade in deleting (many) others
 	 * anywhere in the z-array. We call DeleteWindow() so that it can properly
 	 * release own alloc'd memory, which otherwise could result in memleaks */
@@ -1158,12 +1225,15 @@
 	return true;
 }
 
-/** Update all the widgets of a window based on their resize flags
+/**
+ * Resize the window.
+ * Update all the widgets of a window based on their resize flags
  * Both the areas of the old window and the new sized window are set dirty
  * ensuring proper redrawal.
  * @param w Window to resize
  * @param x delta x-size of changed window (positive if larger, etc.)
- * @param y delta y-size of changed window */
+ * @param y delta y-size of changed window
+ */
 void ResizeWindow(Window *w, int x, int y)
 {
 	Widget *wi;
@@ -1409,6 +1479,10 @@
 	return false;
 }
 
+/**
+ * Start window dragging
+ * @param w Window to start dragging
+ */
 static void StartWindowDrag(Window *w)
 {
 	w->flags4 |= WF_DRAGGING;
@@ -1421,6 +1495,10 @@
 	DeleteWindowById(WC_DROPDOWN_MENU, 0);
 }
 
+/**
+ * Start resizing a window
+ * @param w Window to start resizing
+ */
 static void StartWindowSizing(Window *w)
 {
 	w->flags4 |= WF_SIZING;
@@ -1632,11 +1710,10 @@
 }
 
 /** Handle keyboard input.
- * @param key Lower 8 bits contain the ASCII character, the higher
- * 16 bits the keycode */
+ * @param key Lower 8 bits contain the ASCII character, the higher 16 bits the keycode
+ */
 void HandleKeypress(uint32 key)
 {
-	Window* const *wz;
 	WindowEvent e;
 	/* Stores if a window with a textfield for typing is open
 	 * If this is the case, keypress events are only passed to windows with text fields and
@@ -1685,7 +1762,7 @@
 	}
 
 	/* Call the event, start with the uppermost window. */
-	for (wz = _last_z_window; wz != _z_windows;) {
+	for (Window* const *wz = _last_z_window; wz != _z_windows;) {
 		Window *w = *--wz;
 
 		/* if a query window is open, only call the event for certain window types */
@@ -1709,6 +1786,9 @@
 	}
 }
 
+/**
+ * State of CONTROL key has changed
+ */
 void HandleCtrlChanged()
 {
 	WindowEvent e;
@@ -1727,8 +1807,18 @@
 extern void UpdateTileSelection();
 extern bool VpHandlePlaceSizingDrag();
 
+/**
+ * Local counter that is incremented each time an mouse input event is detected.
+ * The counter is used to stop auto-scrolling.
+ * @see HandleAutoscroll()
+ * @see HandleMouseEvents()
+ */
 static int _input_events_this_tick = 0;
 
+/**
+ * If needed and switched on, perform auto scrolling (automatically
+ * moving window contents when mouse is near edge of the window).
+ */
 static void HandleAutoscroll()
 {
 	Window *w;
@@ -1870,6 +1960,9 @@
 	}
 }
 
+/**
+ * Handle a mouse event from the video driver
+ */
 void HandleMouseEvents()
 {
 	static int double_click_time = 0;
@@ -1919,12 +2012,18 @@
 	MouseLoop(click, mousewheel);
 }
 
+/**
+ * Regular call from the global game loop
+ */
 void InputLoop()
 {
 	HandleMouseEvents();
 	HandleAutoscroll();
 }
 
+/**
+ * Update the continuously changing contents of the windows, such as the viewports
+ */
 void UpdateWindows()
 {
 	Window* const *wz;
@@ -1959,6 +2058,13 @@
 }
 
 
+/**
+ * In a window with menu_d custom extension, retrieve the menu item number from a position
+ * @param w Window holding the menu items
+ * @param x X coordinate of the position
+ * @param y Y coordinate of the position
+ * @return Index number of the menu item, or \c -1 if no valid selection under position
+ */
 int GetMenuItemIndex(const Window *w, int x, int y)
 {
 	if ((x -= w->left) >= 0 && x < w->width && (y -= w->top + 1) >= 0) {
@@ -1972,6 +2078,10 @@
 	return -1;
 }
 
+/**
+ * Mark window data as invalid (in need of re-computing)
+ * @param w Window with invalid data
+ */
 void InvalidateWindow(WindowClass cls, WindowNumber number)
 {
 	Window* const *wz;
@@ -1982,6 +2092,12 @@
 	}
 }
 
+/*
+ * Mark a particular widget in a particular window as dirty (in need of repainting)
+ * @param cls Window class
+ * @param number Window number in that class
+ * @param widget_index Index number of the widget that needs repainting
+ */
 void InvalidateWindowWidget(WindowClass cls, WindowNumber number, byte widget_index)
 {
 	Window* const *wz;
@@ -1994,6 +2110,10 @@
 	}
 }
 
+/*
+ * Mark all windows of a particular class as dirty (in need of repainting)
+ * @param cls Window class
+ */
 void InvalidateWindowClasses(WindowClass cls)
 {
 	Window* const *wz;
@@ -2003,12 +2123,21 @@
 	}
 }
 
+/**
+ * Mark window data as invalid (in need of re-computing)
+ * @param w Window with invalid data
+ */
 void InvalidateThisWindowData(Window *w)
 {
 	CallWindowEventNP(w, WE_INVALIDATE_DATA);
 	SetWindowDirty(w);
 }
 
+/**
+ * Mark window data the window of a given class and specific window number as invalid (in need of re-computing)
+ * @param cls Window class
+ * @param number Window number within the class
+ */
 void InvalidateWindowData(WindowClass cls, WindowNumber number)
 {
 	Window* const *wz;
@@ -2019,6 +2148,10 @@
 	}
 }
 
+/**
+ * Mark window data of all windows of a given class as invalid (in need of re-computing)
+ * @param cls Window class
+ */
 void InvalidateWindowClassesData(WindowClass cls)
 {
 	Window* const *wz;
@@ -2028,6 +2161,9 @@
 	}
 }
 
+/**
+ * Dispatch WE_TICK event over all windows
+ */
 void CallWindowTickEvent()
 {
 	Window* const *wz;
@@ -2093,6 +2229,11 @@
 	DeleteWindowById(WC_STATUS_BAR, 0);
 }
 
+/**
+ * (Re)position main toolbar window at the screen
+ * @param w Window structure of the main toolbar window, may also be \c NULL
+ * @return X coordinate of left edge of the repositioned toolbar window
+ */
 int PositionMainToolbar(Window *w)
 {
 	DEBUG(misc, 5, "Repositioning Main Toolbar...");
@@ -2110,6 +2251,11 @@
 	return w->left;
 }
 
+/**
+ * Relocate all windows to fit the new size of the game application screen
+ * @param neww New width of the game application screen
+ * @param newh New height of the game appliction screen
+ */
 void RelocateAllWindows(int neww, int newh)
 {
 	Window* const *wz;
--- a/src/window_func.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/window_func.h	Sat Apr 12 21:38:49 2008 +0000
@@ -8,11 +8,6 @@
 #include "window_type.h"
 #include "player_type.h"
 
-/**
- * Marks the window as dirty for repaint.
- *
- * @ingroup dirty
- */
 void SetWindowDirty(const Window *w);
 void SendWindowMessage(WindowClass wnd_class, WindowNumber wnd_num, int msg, int wparam, int lparam);
 void SendWindowMessageClass(WindowClass wnd_class, int msg, int wparam, int lparam);
--- a/src/window_gui.h	Tue Apr 08 11:54:53 2008 +0000
+++ b/src/window_gui.h	Sat Apr 12 21:38:49 2008 +0000
@@ -73,6 +73,9 @@
 	WIDGET_LIST_END = -1, ///< indicate the end of widgets' list for vararg functions
 };
 
+/**
+ * Window widget data structure
+ */
 struct Widget {
 	byte type;                        ///< Widget type, see WindowWidgetTypes
 	byte display_flags;               ///< Resize direction, alignment, etc. during resizing, see ResizeFlags
@@ -82,6 +85,9 @@
 	StringID tooltips;                ///< Tooltips that are shown when rightclicking on a widget
 };
 
+/**
+ * Flags to describe the look of the frame
+ */
 enum FrameFlags {
 	FR_NONE         =  0,
 	FR_TRANSPARENT  =  1 << 0,  ///< Makes the background transparent if set
@@ -92,21 +98,25 @@
 
 DECLARE_ENUM_AS_BIT_SET(FrameFlags);
 
+/* wiget.cpp */
 void DrawFrameRect(int left, int top, int right, int bottom, int color, FrameFlags flags);
 
+/**
+ * Available window events
+ */
 enum WindowEventCodes {
-	WE_CREATE,
-	WE_DESTROY,
-	WE_PAINT,
-	WE_KEYPRESS,
-	WE_CLICK,
-	WE_DOUBLE_CLICK,
-	WE_RCLICK,
+	WE_CREATE,       ///< Initialize the Window
+	WE_DESTROY,      ///< Prepare for deletion of the window
+	WE_PAINT,        ///< Repaint the window contents
+	WE_KEYPRESS,     ///< Key pressed
+	WE_CLICK,        ///< Left mouse button click
+	WE_DOUBLE_CLICK, ///< Left mouse button double click
+	WE_RCLICK,       ///< Right mouse button click
 	WE_MOUSEOVER,
 	WE_MOUSELOOP,
 	WE_MOUSEWHEEL,
-	WE_TICK,
-	WE_4,
+	WE_TICK,         ///< Regularly occurring event (about once every 20 seconds orso, 10 days) for slowly changing content (typically list sorting)
+	WE_4,            ///< Regularly occurring event for updating continuously changing window content (other than view ports), or timer expiring
 	WE_TIMEOUT,
 	WE_PLACE_OBJ,
 	WE_ABORT_PLACE_OBJ,
@@ -119,13 +129,17 @@
 	WE_PLACE_MOUSEUP,
 	WE_PLACE_PRESIZE,
 	WE_DROPDOWN_SELECT,
-	WE_RESIZE,
-	WE_MESSAGE,
+	WE_RESIZE,          ///< Request to resize the window, @see WindowEvent.we.resize
+	WE_MESSAGE,         ///< Receipt of a message from another window. @see WindowEvent.we.message, SendWindowMessage(), SendWindowMessageClass()
 	WE_SCROLL,
-	WE_INVALIDATE_DATA,
-	WE_CTRL_CHANGED,
+	WE_INVALIDATE_DATA, ///< Notification that data displayed by the window is obsolete
+	WE_CTRL_CHANGED,    ///< CTRL key has changed state
 };
 
+/**
+ * Data structures for additional data associated with a window event
+ * @see WindowEventCodes
+ */
 struct WindowEvent {
 	byte event;
 	union {
@@ -200,27 +214,40 @@
 	} we;
 };
 
+/**
+ * High level window description
+ */
 struct WindowDesc {
-	int16 left, top, minimum_width, minimum_height, default_width, default_height;
-	WindowClass cls;
-	WindowClass parent_cls;
-	uint32 flags;
-	const Widget *widgets;
-	WindowProc *proc;
+	int16 left;             ///< Prefered x position of left edge of the window, @see WindowDefaultPosition()
+	int16 top;              ///< Prefered y position of the top of the window, @see WindowDefaultPosition()
+	int16 minimum_width;    ///< Minimal width of the window
+	int16 minimum_height;   ///< Minimal height of the window
+	int16 default_width;    ///< Prefered initial width of the window
+	int16 default_height;   ///< Prefered initial height of the window
+	WindowClass cls;        ///< Class of the window, @see WindowClass
+	WindowClass parent_cls; ///< Class of the parent window, @see WindowClass
+	uint32 flags;           ///< Flags, @see WindowDefaultFlags
+	const Widget *widgets;  ///< List of widgets with their position and size for the window
+	WindowProc *proc;       ///< Window event handler function for the window
 };
 
+/**
+ * Window default widget/window handling flags
+ */
 enum WindowDefaultFlag {
 	WDF_STD_TOOLTIPS    =   1 << 0, ///< use standard routine when displaying tooltips
-	WDF_DEF_WIDGET      =   1 << 1, ///< default widget control for some widgets in the on click event
-	WDF_STD_BTN         =   1 << 2, ///< default handling for close and drag widgets (widget no 0 and 1)
+	WDF_DEF_WIDGET      =   1 << 1, ///< Default widget control for some widgets in the on click event, @see DispatchLeftClickEvent()
+	WDF_STD_BTN         =   1 << 2, ///< Default handling for close and titlebar widgets (widget no 0 and 1)
 
-	WDF_UNCLICK_BUTTONS =   1 << 4, ///< Unclick buttons when the window event times out */
+	WDF_UNCLICK_BUTTONS =   1 << 4, ///< Unclick buttons when the window event times out
 	WDF_STICKY_BUTTON   =   1 << 5, ///< Set window to sticky mode; they are not closed unless closed with 'X' (widget 2)
-	WDF_RESIZABLE       =   1 << 6, ///< A window can be resized
+	WDF_RESIZABLE       =   1 << 6, ///< Window can be resized
 	WDF_MODAL           =   1 << 7, ///< The window is a modal child of some other window, meaning the parent is 'inactive'
 };
 
-/* can be used as x or y coordinates to cause a specific placement */
+/**
+ * Special values for 'left' and 'top' to cause a specific placement
+ */
 enum WindowDefaultPosition {
 	WDP_AUTO      = -1, ///< Find a place automatically
 	WDP_CENTER    = -2, ///< Center the window (left/right or top/bottom)
@@ -230,46 +257,65 @@
 
 #define WP(ptr, str) (*(str*)(ptr)->custom)
 
+/**
+ * Scrollbar data structure
+ */
 struct Scrollbar {
-	uint16 count, cap, pos;
+	uint16 count;  ///< Number of elements in the list
+	uint16 cap;    ///< Number of visible elements of the scroll bar
+	uint16 pos;
 };
 
+/**
+ * Data structure for resizing a window
+ */
 struct ResizeInfo {
-	uint width; ///< Minimum width and height
-	uint height;
-	uint step_width; ///< In how big steps the width and height go
-	uint step_height;
+	uint width;       ///< Minimum allowed width of the window
+	uint height;      ///< Minimum allowed height of the window
+	uint step_width;  ///< Step-size of width resize changes
+	uint step_height; ///< Step-size of height resize changes
 };
 
+/**
+ * Message data structure for messages sent between winodows
+ * @see SendWindowMessageW()
+ */
 struct WindowMessage {
 	int msg;
 	int wparam;
 	int lparam;
 };
 
+/**
+ * Data structure for an opened window
+ */
 struct Window {
-	uint16 flags4;
-	WindowClass window_class;
-	WindowNumber window_number;
-
-	int left, top;
-	int width, height;
-
-	Scrollbar hscroll, vscroll, vscroll2;
-	ResizeInfo resize;
+	uint16 flags4;              ///< Window flags, @see WindowFlags
+	WindowClass window_class;   ///< Window class
+	WindowNumber window_number; ///< Window number within the window class
 
-	byte caption_color;
+	int left;   ///< x position of left edge of the window
+	int top;    ///< y position of top edge of the window
+	int width;  ///< width of the window (number of pixels to the right in x direction)
+	int height; ///< Height of the window (number of pixels down in y direction)
 
-	WindowProc *wndproc;
-	ViewPort *viewport;
-	const Widget *original_widget;
-	Widget *widget;
-	uint widget_count;
-	uint32 desc_flags;
+	Scrollbar hscroll;  ///< Horizontal scroll bar
+	Scrollbar vscroll;  ///< First vertical scroll bar
+	Scrollbar vscroll2; ///< Second vertical scroll bar
+	ResizeInfo resize;  ///< Resize information
 
-	WindowMessage message;
-	Window *parent;
-	byte custom[WINDOW_CUSTOM_SIZE];
+	byte caption_color; ///< Background color of the window caption, contains PlayerID
+
+	WindowProc *wndproc;   ///< Event handler function for the window
+	ViewPort *viewport;    ///< Pointer to viewport, if present (structure is part of derived class)
+	const Widget *original_widget; ///< Original widget layout, copied from WindowDesc
+	Widget *widget;        ///< Widgets of the window
+	uint widget_count;     ///< Number of widgets of the window
+	uint32 desc_flags;     ///< Window/widgets default flags setting, @see WindowDefaultFlag
+
+	WindowMessage message; ///< Buffer for storing received messages (for communication between different window events)
+	Window *parent;        ///< Parent window
+	byte custom[WINDOW_CUSTOM_SIZE]; ///< Additional data depending on window type
 
 	void HandleButtonClick(byte widget);
 
@@ -344,11 +390,6 @@
 };
 assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(depot_d));
 
-struct order_d {
-	int sel;
-};
-assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(order_d));
-
 struct vehicledetails_d {
 	byte tab;
 };
@@ -429,28 +470,31 @@
 };
 
 
+/**
+ * Window widget types
+ */
 enum WindowWidgetTypes {
-	WWT_EMPTY,
-
-	WWT_PANEL,      ///< simple depressed panel
-	WWT_INSET,      ///< pressed (inset) panel, most commonly used as combo box _text_ area
-	WWT_IMGBTN,     ///< button with image
-	WWT_IMGBTN_2,   ///< button with diff image when clicked
+	WWT_EMPTY,      ///< Empty widget, place holder to reserve space in widget array
 
-	WWT_TEXTBTN,    ///< button with text
-	WWT_TEXTBTN_2,  ///< button with diff text when clicked
-	WWT_LABEL,      ///< centered label
-	WWT_TEXT,       ///< pure simple text
-	WWT_MATRIX,
-	WWT_SCROLLBAR,
-	WWT_FRAME,      ///< frame
-	WWT_CAPTION,
+	WWT_PANEL,      ///< Simple depressed panel
+	WWT_INSET,      ///< Pressed (inset) panel, most commonly used as combo box _text_ area
+	WWT_IMGBTN,     ///< Button with image
+	WWT_IMGBTN_2,   ///< Button with diff image when clicked
 
-	WWT_HSCROLLBAR,
-	WWT_STICKYBOX,
+	WWT_TEXTBTN,    ///< Button with text
+	WWT_TEXTBTN_2,  ///< Button with diff text when clicked
+	WWT_LABEL,      ///< Centered label
+	WWT_TEXT,       ///< Pure simple text
+	WWT_MATRIX,     ///< List of items underneath each other
+	WWT_SCROLLBAR,  ///< Vertical scrollbar
+	WWT_FRAME,      ///< Frame
+	WWT_CAPTION,    ///< Window caption (window title between closebox and stickybox)
+
+	WWT_HSCROLLBAR, ///< Horizontal scrollbar
+	WWT_STICKYBOX,  ///< Sticky box (normally at top-right of a window)
 	WWT_SCROLL2BAR, ///< 2nd vertical scrollbar
-	WWT_RESIZEBOX,
-	WWT_CLOSEBOX,
+	WWT_RESIZEBOX,  ///< Resize box (normally at bottom-right of a window)
+	WWT_CLOSEBOX,   ///< Close box (at top-left of a window)
 	WWT_DROPDOWN,   ///< Raised drop down list (regular)
 	WWT_DROPDOWNIN, ///< Inset drop down list (used on game options only)
 	WWT_EDITBOX,    ///< a textbox for typing (don't forget to call ShowOnScreenKeyboard() when clicked)
@@ -465,18 +509,21 @@
 
 #define WIDGETS_END WWT_LAST,   RESIZE_NONE,     0,     0,     0,     0,     0, 0, STR_NULL
 
+/**
+ * Window flags
+ */
 enum WindowFlags {
-	WF_TIMEOUT_SHL       = 0,
-	WF_TIMEOUT_MASK      = 7,
-	WF_DRAGGING          = 1 <<  3,
-	WF_SCROLL_UP         = 1 <<  4,
-	WF_SCROLL_DOWN       = 1 <<  5,
-	WF_SCROLL_MIDDLE     = 1 <<  6,
+	WF_TIMEOUT_SHL       = 0,       ///< Window timeout counter shift
+	WF_TIMEOUT_MASK      = 7,       ///< Window timeout counter bit mask (3 bits), @see WF_TIMEOUT_SHL
+	WF_DRAGGING          = 1 <<  3, ///< Window is being dragged
+	WF_SCROLL_UP         = 1 <<  4, ///< Upper scroll button has been pressed, @see ScrollbarClickHandler()
+	WF_SCROLL_DOWN       = 1 <<  5, ///< Lower scroll button has been pressed, @see ScrollbarClickHandler()
+	WF_SCROLL_MIDDLE     = 1 <<  6, ///< Scrollbar scrolling, @see ScrollbarClickHandler()
 	WF_HSCROLL           = 1 <<  7,
 	WF_SIZING            = 1 <<  8,
-	WF_STICKY            = 1 <<  9,
+	WF_STICKY            = 1 <<  9, ///< Window is made sticky by user
 
-	WF_DISABLE_VP_SCROLL = 1 << 10,
+	WF_DISABLE_VP_SCROLL = 1 << 10, ///< Window does not do autoscroll, @see HandleAutoscroll()
 
 	WF_WHITE_BORDER_ONE  = 1 << 11,
 	WF_WHITE_BORDER_MASK = 1 << 12 | WF_WHITE_BORDER_ONE,
@@ -487,11 +534,6 @@
 void CallWindowEventNP(Window *w, int event);
 void CallWindowTickEvent();
 
-/**
- * Marks the window as dirty for repaint.
- *
- * @ingroup dirty
- */
 void SetWindowDirty(const Window *w);
 void SendWindowMessage(WindowClass wnd_class, WindowNumber wnd_num, int msg, int wparam, int lparam);
 void SendWindowMessageClass(WindowClass wnd_class, int msg, int wparam, int lparam);
@@ -582,16 +624,8 @@
 
 void ScrollbarClickHandler(Window *w, const Widget *wi, int x, int y);
 
-/** Evenly distribute some widgets when resizing horizontally (often a button row)
- *  The widgets are presumed to be in a line and numberef from left to right (without gaps)
- * @param w widow to modify
- * @param left The leftmost widget to resize
- * @param right The rightmost widget to resize. Since right side of it is used, remember to set it to RESIZE_RIGHT
- */
 void ResizeButtons(Window *w, byte left, byte right);
 
-/** Resize a widget an shuffle other widgets around to fit.
- */
 void ResizeWindowForWidget(Window *w, int widget, int delta_x, int delta_y);