OpenTTD Source: src/effectvehicle_func.h File Reference

OpenTTD Source 15.3

Enumerations | Functions
effectvehicle_func.h File Reference

Functions related to effect vehicles. More...

`#include "vehicle_type.h"`

Go to the source code of this file.

## Enumerations
enum | EffectVehicleType : uint8_t { EV_CHIMNEY_SMOKE = 0 , EV_STEAM_SMOKE = 1 , EV_DIESEL_SMOKE = 2 , EV_ELECTRIC_SPARK = 3 , EV_CRASH_SMOKE = 4 , EV_EXPLOSION_LARGE = 5 , EV_BREAKDOWN_SMOKE = 6 , EV_EXPLOSION_SMALL = 7 , EV_BULLDOZER = 8 , EV_BUBBLE = 9 , EV_BREAKDOWN_SMOKE_AIRCRAFT = 10 , EV_COPPER_MINE_SMOKE = 11 , EV_END }
| Effect vehicle types. More...

## Functions
EffectVehicle * | CreateEffectVehicle (int x, int y, int z, EffectVehicleType type)
| Create an effect vehicle at a particular location.
EffectVehicle * | CreateEffectVehicleAbove (int x, int y, int z, EffectVehicleType type)
| Create an effect vehicle above a particular location.
EffectVehicle * | CreateEffectVehicleRel (const Vehicle *v, int x, int y, int z, EffectVehicleType type)
| Create an effect vehicle above a particular vehicle.

## Detailed Description

Functions related to effect vehicles.

Definition in file effectvehicle_func.h.

## Enumeration Type Documentation

## ◆ EffectVehicleType

enum EffectVehicleType : uint8_t

Effect vehicle types.

Enumerator
EV_CHIMNEY_SMOKE | Smoke of power plant (industry).
EV_STEAM_SMOKE | Smoke of steam engines.
EV_DIESEL_SMOKE | Smoke of diesel engines.
EV_ELECTRIC_SPARK | Sparks of electric engines.
EV_CRASH_SMOKE | Smoke of disasters.
EV_EXPLOSION_LARGE | Various explosions.
EV_BREAKDOWN_SMOKE | Smoke of broken vehicles except aircraft.
EV_EXPLOSION_SMALL | Various explosions.
EV_BULLDOZER | Bulldozer at roadworks.
EV_BUBBLE | Bubble of bubble generator (industry).
EV_BREAKDOWN_SMOKE_AIRCRAFT | Smoke of broken aircraft.
EV_COPPER_MINE_SMOKE | Smoke at copper mine.

Definition at line 16 of file effectvehicle_func.h.

## Function Documentation

## ◆ CreateEffectVehicle()

EffectVehicle * CreateEffectVehicle | ( | int | x,
|  | int | y,
|  | int | z,
|  | EffectVehicleType | type
| ) |  |

Create an effect vehicle at a particular location.

Parameters

  x | The x location on the map.
  y | The y location on the map.
  z | The z location on the map.
  type | The type of effect vehicle.

Returns
  The effect vehicle.

Definition at line 566 of file effectvehicle.cpp.

References _effect_procs, Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool >::CanAllocateItem(), Vehicle::subtype, Vehicle::tile, Unclickable, EffectVehicle::UpdateDeltaXY(), Vehicle::UpdatePositionAndViewport(), Vehicle::vehstatus, Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.

Referenced by CreateEffectVehicleAbove(), and CreateEffectVehicleRel().

## ◆ CreateEffectVehicleAbove()

EffectVehicle * CreateEffectVehicleAbove | ( | int | x,
|  | int | y,
|  | int | z,
|  | EffectVehicleType | type
| ) |  |

Create an effect vehicle above a particular location.

Parameters

  x | The x location on the map.
  y | The y location on the map.
  z | The offset from the ground.
  type | The type of effect vehicle.

Returns
  The effect vehicle.

Definition at line 594 of file effectvehicle.cpp.

References Clamp(), CreateEffectVehicle(), GetSlopePixelZ(), Map::MaxX(), Map::MaxY(), and TILE_SIZE.

Referenced by CmdClearArea(), DisasterTick_Aircraft(), and DisasterTick_Big_Ufo_Destroyer().

## ◆ CreateEffectVehicleRel()

EffectVehicle * CreateEffectVehicleRel | ( | const Vehicle * | v,
|  | int | x,
|  | int | y,
|  | int | z,
|  | EffectVehicleType | type
| ) |  |

Create an effect vehicle above a particular vehicle.

Parameters

  v | The vehicle to base the position on.
  x | The x offset to the vehicle.
  y | The y offset to the vehicle.
  z | The z offset to the vehicle.
  type | The type of effect vehicle.

Returns
  The effect vehicle.

Definition at line 610 of file effectvehicle.cpp.

References CreateEffectVehicle(), Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.

Referenced by CrashAirplane(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), FloodVehicle(), HandleAircraftSmoke(), Vehicle::HandleBreakdown(), HandleCrashedAircraft(), HandleCrashedTrain(), RoadVehIsCrashed(), Vehicle::ShowVisualEffect(), and SpawnAdvancedVisualEffect().