Files
@ r17053:d1bd348513e5
Branch filter:
Location: cpp/openttd-patchpack/source/src/effectvehicle_base.h - annotation
r17053:d1bd348513e5
1.5 KiB
text/x-c
(svn r21800) -Fix [FS#3569]: under certain circumstances one could crash a competitor's train; take the lazy non-future proof version of the fix from the 1.0 branch as fixing the real bug is significantly more complex and might even break some backwards compatability if not done perfectly
r9009:e21a5dd1e60e r9009:e21a5dd1e60e r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r12029:5b077ec055c0 r11973:80401b1af20a r11973:80401b1af20a r11973:80401b1af20a r12090:c20f83257241 r12090:c20f83257241 r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r9009:e21a5dd1e60e r11965:2b94ac4aa35a r9009:e21a5dd1e60e r9009:e21a5dd1e60e r12030:bf346482c342 r12030:bf346482c342 r9009:e21a5dd1e60e | /* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file effectvehicle_base.h Base class for all effect vehicles. */
#ifndef EFFECTVEHICLE_BASE_H
#define EFFECTVEHICLE_BASE_H
#include "vehicle_base.h"
/**
* A special vehicle is one of the following:
* - smoke
* - electric sparks for trains
* - explosions
* - bulldozer (road works)
* - bubbles (industry)
*/
struct EffectVehicle : public SpecializedVehicle<EffectVehicle, VEH_EFFECT> {
uint16 animation_state;
byte animation_substate;
/** We don't want GCC to zero our struct! It already is zeroed and has an index! */
EffectVehicle() : SpecializedVehicle<EffectVehicle, VEH_EFFECT>() {}
/** We want to 'destruct' the right class. */
virtual ~EffectVehicle() {}
const char *GetTypeString() const { return "special vehicle"; }
void UpdateDeltaXY(Direction direction);
bool Tick();
};
#define FOR_ALL_EFFECTVEHICLES(var) FOR_ALL_VEHICLES_OF_TYPE(EffectVehicle, var)
#endif /* EFFECTVEHICLE_BASE_H */
|