OpenTTD Source 20241224-master-gf74b0cf984
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 {
  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

EffectVehicleCreateEffectVehicle (int x, int y, int z, EffectVehicleType type)
 Create an effect vehicle at a particular location.
 
EffectVehicleCreateEffectVehicleAbove (int x, int y, int z, EffectVehicleType type)
 Create an effect vehicle above a particular location.
 
EffectVehicleCreateEffectVehicleRel (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

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 

Sparcs 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
xThe x location on the map.
yThe y location on the map.
zThe z location on the map.
typeThe type of effect vehicle.
Returns
The effect vehicle.

Definition at line 566 of file effectvehicle.cpp.

References _effect_procs, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::CanAllocateItem(), Vehicle::subtype, Vehicle::tile, EffectVehicle::UpdateDeltaXY(), Vehicle::UpdatePositionAndViewport(), Vehicle::vehstatus, VS_UNCLICKABLE, 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
xThe x location on the map.
yThe y location on the map.
zThe offset from the ground.
typeThe 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
vThe vehicle to base the position on.
xThe x offset to the vehicle.
yThe y offset to the vehicle.
zThe z offset to the vehicle.
typeThe 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().