Changeset - r17131:8e7f5d0ba4e4
[Not reviewed]
master
0 3 0
smatz - 13 years ago 2011-01-21 16:20:55
smatz@openttd.org
(svn r21879) -Codechange: reset vehicle's GOINGUP/DOWN bits when it crashes
3 files changed with 17 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/ground_vehicle.hpp
Show inline comments
 
@@ -87,6 +87,21 @@ struct GroundVehicle : public Specialize
 
	int GetAcceleration() const;
 

	
 
	/**
 
	 * Common code executed for crashed ground vehicles
 
	 * @param flooded was this vehicle flooded?
 
	 * @return number of victims
 
	 */
 
	/* virtual */ uint Crash(bool flooded)
 
	{
 
		/* Crashed vehicles aren't going up or down */
 
		for (T *v = T::From(this); v != NULL; v = v->Next()) {
 
			ClrBit(v->gv_flags, GVF_GOINGUP_BIT);
 
			ClrBit(v->gv_flags, GVF_GOINGDOWN_BIT);
 
		}
 
		return this->Vehicle::Crash(flooded);
 
	}
 

	
 
	/**
 
	 * Calculates the total slope resistance for this vehicle.
 
	 * @return Slope resistance.
 
	 */
src/roadveh_cmd.cpp
Show inline comments
 
@@ -460,7 +460,7 @@ static Vehicle *EnumCheckRoadVehCrashTra
 

	
 
uint RoadVehicle::Crash(bool flooded)
 
{
 
	uint pass = Vehicle::Crash(flooded);
 
	uint pass = this->GroundVehicleBase::Crash(flooded);
 
	if (this->IsFrontEngine()) {
 
		pass += 1; // driver
 

	
src/train_cmd.cpp
Show inline comments
 
@@ -2780,7 +2780,7 @@ uint Train::Crash(bool flooded)
 
		HideFillingPercent(&this->fill_percent_te_id);
 
	}
 

	
 
	pass += Vehicle::Crash(flooded);
 
	pass += this->GroundVehicleBase::Crash(flooded);
 

	
 
	this->crash_anim_pos = flooded ? 4000 : 1; // max 4440, disappear pretty fast when flooded
 
	return pass;
0 comments (0 inline, 0 general)