OpenTTD
|
Implementation of everything generic to vehicles. More...
#include "stdafx.h"
#include "landscape.h"
#include "core/random_func.hpp"
#include "industry_map.h"
#include "vehicle_func.h"
#include "sound_func.h"
#include "animated_tile_func.h"
#include "effectvehicle_func.h"
#include "effectvehicle_base.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | BulldozerMovement |
struct | BubbleMovement |
Macros | |
#define | MK(x, y, z, i) { x, y, z, i } |
#define | ME(i) { i, 4, 0, 0 } |
Typedefs | |
typedef void | EffectInitProc (EffectVehicle *v) |
typedef bool | EffectTickProc (EffectVehicle *v) |
Functions | |
static void | ChimneySmokeInit (EffectVehicle *v) |
static bool | ChimneySmokeTick (EffectVehicle *v) |
static void | SteamSmokeInit (EffectVehicle *v) |
static bool | SteamSmokeTick (EffectVehicle *v) |
static void | DieselSmokeInit (EffectVehicle *v) |
static bool | DieselSmokeTick (EffectVehicle *v) |
static void | ElectricSparkInit (EffectVehicle *v) |
static bool | ElectricSparkTick (EffectVehicle *v) |
static void | SmokeInit (EffectVehicle *v) |
static bool | SmokeTick (EffectVehicle *v) |
static void | ExplosionLargeInit (EffectVehicle *v) |
static bool | ExplosionLargeTick (EffectVehicle *v) |
static void | BreakdownSmokeInit (EffectVehicle *v) |
static bool | BreakdownSmokeTick (EffectVehicle *v) |
static void | ExplosionSmallInit (EffectVehicle *v) |
static bool | ExplosionSmallTick (EffectVehicle *v) |
static void | BulldozerInit (EffectVehicle *v) |
static bool | BulldozerTick (EffectVehicle *v) |
static void | BubbleInit (EffectVehicle *v) |
static bool | BubbleTick (EffectVehicle *v) |
assert_compile (lengthof(_effect_init_procs)==EV_END) | |
assert_compile (lengthof(_effect_tick_procs)==EV_END) | |
assert_compile (lengthof(_effect_transparency_options)==EV_END) | |
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. |
Variables | |
static const BulldozerMovement | _bulldozer_movement [] |
struct { | |
int8 x | |
int8 y | |
} | _inc_by_dir [] |
static const BubbleMovement | _bubble_float_sw [] |
static const BubbleMovement | _bubble_float_ne [] |
static const BubbleMovement | _bubble_float_se [] |
static const BubbleMovement | _bubble_float_nw [] |
static const BubbleMovement | _bubble_burst [] |
static const BubbleMovement | _bubble_absorb [] |
static const BubbleMovement *const | _bubble_movement [] |
static EffectInitProc *const | _effect_init_procs [] |
Functions to initialise an effect vehicle after construction. | |
static EffectTickProc *const | _effect_tick_procs [] |
Functions for controlling effect vehicles at each tick. | |
static const TransparencyOption | _effect_transparency_options [] |
Transparency options affecting the effects. |
Implementation of everything generic to vehicles.
Definition in file effectvehicle.cpp.
EffectVehicle* CreateEffectVehicle | ( | int | x, |
int | y, | ||
int | z, | ||
EffectVehicleType | type | ||
) |
Create an effect vehicle at a particular location.
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. |
Definition at line 595 of file effectvehicle.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::CanAllocateItem(), INVALID_DIR, 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().
EffectVehicle* CreateEffectVehicleAbove | ( | int | x, |
int | y, | ||
int | z, | ||
EffectVehicleType | type | ||
) |
Create an effect vehicle above a particular location.
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. |
Definition at line 623 of file effectvehicle.cpp.
References Clamp(), CreateEffectVehicle(), MapMaxX(), MapMaxY(), and TILE_SIZE.
Referenced by CmdClearArea(), DisasterTick_Aircraft(), and DisasterTick_Big_Ufo_Destroyer().
EffectVehicle* CreateEffectVehicleRel | ( | const Vehicle * | v, |
int | x, | ||
int | y, | ||
int | z, | ||
EffectVehicleType | type | ||
) |
Create an effect vehicle above a particular vehicle.
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. |
Definition at line 639 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().
|
static |
Definition at line 363 of file effectvehicle.cpp.
|
static |
Definition at line 339 of file effectvehicle.cpp.
|
static |
Definition at line 355 of file effectvehicle.cpp.
|
static |
Definition at line 347 of file effectvehicle.cpp.
|
static |
Definition at line 330 of file effectvehicle.cpp.
|
static |
Definition at line 461 of file effectvehicle.cpp.
|
static |
Definition at line 254 of file effectvehicle.cpp.
|
static |
Functions to initialise an effect vehicle after construction.
Definition at line 536 of file effectvehicle.cpp.
|
static |
Functions for controlling effect vehicles at each tick.
Definition at line 553 of file effectvehicle.cpp.
|
static |
Transparency options affecting the effects.
Definition at line 570 of file effectvehicle.cpp.