# effectvehicle.cpp File Reference

Implementation of everything generic to vehicles. More...

`#include "stdafx.h"`
`#include "landscape.h"`
`#include "industry_map.h"`
`#include "vehicle_func.h"`
`#include "sound_func.h"`
`#include "animated_tile_func.h"`
`#include "effectvehicle_base.h"`
`#include "effectvehicle_func.h"`
`#include "table/sprites.h"`

Go to the source code of this file.

## Data Structures

struct | BulldozerMovement
struct | BubbleMovement

## Defines

#define | MK(x, y, z, i) { x, y, z, i }
#define | ME(i) { i, 4, 0, 0 }

## Typedefs

typedef void | EffectInitProc (Vehicle *v)
typedef void | EffectTickProc (Vehicle *v)

## Functions

static void | ChimneySmokeInit (Vehicle *v)
static void | ChimneySmokeTick (Vehicle *v)
static void | SteamSmokeInit (Vehicle *v)
static void | SteamSmokeTick (Vehicle *v)
static void | DieselSmokeInit (Vehicle *v)
static void | DieselSmokeTick (Vehicle *v)
static void | ElectricSparkInit (Vehicle *v)
static void | ElectricSparkTick (Vehicle *v)
static void | SmokeInit (Vehicle *v)
static void | SmokeTick (Vehicle *v)
static void | ExplosionLargeInit (Vehicle *v)
static void | ExplosionLargeTick (Vehicle *v)
static void | BreakdownSmokeInit (Vehicle *v)
static void | BreakdownSmokeTick (Vehicle *v)
static void | ExplosionSmallInit (Vehicle *v)
static void | ExplosionSmallTick (Vehicle *v)
static void | BulldozerInit (Vehicle *v)
static void | BulldozerTick (Vehicle *v)
static void | BubbleInit (Vehicle *v)
static void | BubbleTick (Vehicle *v)
Vehicle * | CreateEffectVehicle (int x, int y, int z, EffectVehicleType type)
Vehicle * | CreateEffectVehicleAbove (int x, int y, int z, EffectVehicleType type)
Vehicle * | CreateEffectVehicleRel (const Vehicle *v, int x, int y, int z, EffectVehicleType type)

## 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 []
static EffectTickProc *const | _effect_tick_procs []

## Detailed Description

Implementation of everything generic to vehicles.

Definition in file effectvehicle.cpp.

## Variable Documentation

const BubbleMovement _bubble_burst[]`[static]`

Initial value:

     {
      MK(0, 0, 1, 2),
      MK(0, 0, 1, 7),
      MK(0, 0, 1, 8),
      MK(0, 0, 1, 9),

    }

Definition at line 331 of file effectvehicle.cpp.

const BubbleMovement _bubble_float_ne[]`[static]`

Initial value:

     {
      MK( 0, 0, 1, 0),
      MK(-1, 0, 1, 1),
      MK( 0, 0, 1, 0),
      MK(-1, 0, 1, 2),

    }

Definition at line 307 of file effectvehicle.cpp.

const BubbleMovement _bubble_float_nw[]`[static]`

Initial value:

     {
      MK(0,  0, 1, 0),
      MK(0, -1, 1, 1),
      MK(0,  0, 1, 0),
      MK(0, -1, 1, 2),

    }

Definition at line 323 of file effectvehicle.cpp.

const BubbleMovement _bubble_float_se[]`[static]`

Initial value:

     {
      MK(0, 0, 1, 0),
      MK(0, 1, 1, 1),
      MK(0, 0, 1, 0),
      MK(0, 1, 1, 2),

    }

Definition at line 315 of file effectvehicle.cpp.

const BubbleMovement _bubble_float_sw[]`[static]`

Initial value:

     {
      MK(0, 0, 1, 0),
      MK(1, 0, 1, 1),
      MK(0, 0, 1, 0),
      MK(1, 0, 1, 2),

    }

Definition at line 298 of file effectvehicle.cpp.

const BubbleMovement* const _bubble_movement[]`[static]`

Initial value:

     {
      _bubble_float_sw,
      _bubble_float_ne,
      _bubble_float_se,
      _bubble_float_nw,
      _bubble_burst,
      _bubble_absorb,
    }

Definition at line 429 of file effectvehicle.cpp.

const BulldozerMovement _bulldozer_movement[]`[static]`

Initial value:

     {
      { 0, 0, 4 },
      { 3, 3, 4 },
      { 2, 2, 7 },
      { 0, 2, 7 },
      { 1, 1, 3 },
      { 2, 2, 7 },
      { 0, 2, 7 },
      { 1, 1, 3 },
      { 2, 2, 7 },
      { 0, 2, 7 },
      { 3, 3, 6 },
      { 2, 2, 6 },
      { 1, 1, 7 },
      { 3, 1, 7 },
      { 0, 0, 3 },
      { 1, 1, 7 },
      { 3, 1, 7 },
      { 0, 0, 3 },
      { 1, 1, 7 },
      { 3, 1, 7 }
    }

Definition at line 224 of file effectvehicle.cpp.

EffectInitProc* const _effect_init_procs[]`[static]`

Initial value:

     {
      ChimneySmokeInit,
      SteamSmokeInit,
      DieselSmokeInit,
      ElectricSparkInit,
      SmokeInit,
      ExplosionLargeInit,
      BreakdownSmokeInit,
      ExplosionSmallInit,
      BulldozerInit,
      BubbleInit,
    }

Definition at line 501 of file effectvehicle.cpp.

EffectTickProc* const _effect_tick_procs[]`[static]`

Initial value:

     {
      ChimneySmokeTick,
      SteamSmokeTick,
      DieselSmokeTick,
      ElectricSparkTick,
      SmokeTick,
      ExplosionLargeTick,
      BreakdownSmokeTick,
      ExplosionSmallTick,
      BulldozerTick,
      BubbleTick,
    }

Definition at line 514 of file effectvehicle.cpp.