diff options
Diffstat (limited to 'src/effectvehicle.cpp')
-rw-r--r-- | src/effectvehicle.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/effectvehicle.cpp b/src/effectvehicle.cpp index 186a6d787..d9ba92c2d 100644 --- a/src/effectvehicle.cpp +++ b/src/effectvehicle.cpp @@ -565,6 +565,23 @@ static EffectTickProc * const _effect_tick_procs[] = { }; assert_compile(lengthof(_effect_tick_procs) == EV_END); +/** Transparency options affecting the effects. */ +static const TransparencyOption _effect_transparency_options[] = { + TO_INDUSTRIES, // EV_CHIMNEY_SMOKE + TO_INVALID, // EV_STEAM_SMOKE + TO_INVALID, // EV_DIESEL_SMOKE + TO_INVALID, // EV_ELECTRIC_SPARK + TO_INVALID, // EV_CRASH_SMOKE + TO_INVALID, // EV_EXPLOSION_LARGE + TO_INVALID, // EV_BREAKDOWN_SMOKE + TO_INVALID, // EV_EXPLOSION_SMALL + TO_INVALID, // EV_BULLDOZER + TO_INDUSTRIES, // EV_BUBBLE + TO_INVALID, // EV_BREAKDOWN_SMOKE_AIRCRAFT + TO_INDUSTRIES, // EV_COPPER_MINE_SMOKE +}; +assert_compile(lengthof(_effect_transparency_options) == EV_END); + /** * Create an effect vehicle at a particular location. @@ -637,3 +654,12 @@ void EffectVehicle::UpdateDeltaXY(Direction direction) this->y_extent = 1; this->z_extent = 1; } + +/** + * Determines the transparency option affecting the effect. + * @return Transparency option, or TO_INVALID if none. + */ +TransparencyOption EffectVehicle::GetTransparencyOption() const +{ + return _effect_transparency_options[this->subtype]; +} |