OpenTTD Source  20241108-master-g80f628063a
effectvehicle_base.h
Go to the documentation of this file.
1 /*
2  * This file is part of OpenTTD.
3  * 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.
4  * 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.
5  * 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/>.
6  */
7 
10 #ifndef EFFECTVEHICLE_BASE_H
11 #define EFFECTVEHICLE_BASE_H
12 
13 #include "vehicle_base.h"
14 #include "transparency.h"
15 
24 struct EffectVehicle final : public SpecializedVehicle<EffectVehicle, VEH_EFFECT> {
25  uint16_t animation_state;
27 
31  virtual ~EffectVehicle() = default;
32 
33  void UpdateDeltaXY() override;
34  bool Tick() override;
36 };
37 
38 #endif /* EFFECTVEHICLE_BASE_H */
A special vehicle is one of the following:
void UpdateDeltaXY() override
Updates the x and y offsets and the size of the sprite used for this vehicle.
TransparencyOption GetTransparencyOption() const
Determines the transparency option affecting the effect.
uint8_t animation_substate
Sub state to time the change of the graphics/behaviour.
bool Tick() override
Calls the tick handler of the vehicle.
uint16_t animation_state
State primarily used to change the graphics/behaviour.
EffectVehicle()
We don't want GCC to zero our struct! It already is zeroed and has an index!
virtual ~EffectVehicle()=default
We want to 'destruct' the right class.
Class defining several overloaded accessors so we don't have to cast vehicle types that often.
Functions related to transparency.
TransparencyOption
Transparency option bits: which position in _transparency_opt stands for which transparency.
Definition: transparency.h:22
Base class for all vehicles.