Changeset - r20529:0f109e7afe90
[Not reviewed]
master
0 4 0
rubidium - 11 years ago 2013-07-02 18:57:26
rubidium@openttd.org
(svn r25553) -Fix [FS#5530]: provide a warning when no vehicles are available, and tell what to do in that case
4 files changed with 28 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/engine.cpp
Show inline comments
 
@@ -30,6 +30,7 @@
 
#include "company_base.h"
 
#include "vehicle_func.h"
 
#include "articulated_vehicles.h"
 
#include "error.h"
 

	
 
#include "table/strings.h"
 
#include "table/engines.h"
 
@@ -1098,3 +1099,25 @@ bool IsEngineRefittable(EngineID engine)
 
	CargoID default_cargo = e->GetDefaultCargoType();
 
	return default_cargo != CT_INVALID && ei->refit_mask != 1U << default_cargo;
 
}
 

	
 
/**
 
 * Check for engines that have an appropriate availability.
 
 */
 
void CheckEngines()
 
{
 
	const Engine *e;
 
	Date min_date = INT32_MAX;
 

	
 
	FOR_ALL_ENGINES(e) {
 
		if (!e->IsEnabled()) continue;
 

	
 
		/* We have an available engine... yay! */
 
		if (e->flags & ENGINE_AVAILABLE && e->company_avail != 0) return;
 

	
 
		/* Okay, try to find the earliest date. */
 
		min_date = min(min_date, e->info.base_intro);
 
	}
 

	
 
	SetDParam(0, min_date);
 
	ShowErrorMessage(STR_ERROR_NO_VEHICLES_AVAILABLE, STR_ERROR_NO_VEHICLES_AVAILABLE_EXPLANATION, WL_WARNING);
 
}
src/engine_func.h
Show inline comments
 
@@ -18,6 +18,7 @@
 

	
 
void SetupEngines();
 
void StartupEngines();
 
void CheckEngines();
 

	
 
/* Original engine data counts and offsets */
 
extern const uint8 _engine_counts[4];
src/lang/english.txt
Show inline comments
 
@@ -4316,6 +4316,9 @@ STR_ERROR_CAN_T_CHANGE_SERVICING        
 

	
 
STR_ERROR_VEHICLE_IS_DESTROYED                                  :{WHITE}... vehicle is destroyed
 

	
 
STR_ERROR_NO_VEHICLES_AVAILABLE                                 :{WHITE}No vehicles are available yet
 
STR_ERROR_NO_VEHICLES_AVAILABLE_EXPLANATION                     :{WHITE}Start a new game after {DATE_SHORT} or use a NewGRF that provides early vehicles
 

	
 
# Specific vehicle errors
 
STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL                          :{WHITE}Can't make train pass signal at danger...
 
STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN                         :{WHITE}Can't reverse direction of train...
src/openttd.cpp
Show inline comments
 
@@ -926,6 +926,7 @@ static void MakeNewGameDone()
 

	
 
	if (_settings_client.gui.pause_on_newgame) DoCommandP(0, PM_PAUSED_NORMAL, 1, CMD_PAUSE);
 

	
 
	CheckEngines();
 
	MarkWholeScreenDirty();
 
}
 

	
0 comments (0 inline, 0 general)