Audio: Vehicle Damage – Arma Reforger

From Bohemia Interactive Community
Jump to: navigation, search
  • Vehicle damage is connected to the damage state signals that are updated from the cOnStateChanged() event on SCR_HitZoneStateSignal (checking SCR_HitZone).
  • The signal setup is on SCR_VehicleSoundComponent's cGetHitZoneStateSignalData().
  • Multiple scripted hit zones can update the same signal. In that case, the signal has the value of the most damaged scripted hit zone.
  • TireDamage signals are updated directly from SCR_WheelHitZone.


Wheeled

Engine

  • When in idle, engine RPM is modulated EngineDamageRPMRevs signal, creating a sense of unsteady and unreliable engine RPM
  • SOUND_TIMING_BELT - One-shot sound, periodically triggered. Triggering frequency depends on engine RPM
  • SOUND_ENGINE_RATTLE_LP - Looped sound modulated by engine RPM and thrust
  • SOUND_BACK_FIRE - One-shot sound occasionally triggered

Gearbox

  • SOUND_VEHICLE_GEARSHIFT - grinding sound layer is mixed in when the gearbox is damaged

Wheel Damage

  • Driving on a flat tire or rim is mixed into wheel rolling sounds if the wheel is damaged or destroyed


Helicopters

Engine

  • SOUND_TURBINE_LP - the damaged turbine layer is played when the engine is damaged
  • SOUND_ENGINE_RATTLE - one-shot sound is occasionally triggered.

Main Rotor

  • SOUND_MAINROTOR_LP - a loud whooshy sounding layer is mixed in, if the main rotor is damaged

Tail rotor

  • SOUND_TAILROTOR_DAMAGED_LP - metal grinding/scraping sound is triggered, if the tail rotor is damaged.

Gearbox

  • Metal grinding/rattling layer is mixed into SOUND_MAINROTOR_LP if the gearbox is damaged.


Smoke and Fire

Three sound sources are accompanying smoke and fire particles on vehicles.


Signals

EngineFireState

  • 0 - no particles
  • 10 - 30 - smoke
  • 40 - fire

SuppliesFireState

  • 0 - not burning
  • 1 - 4 will return based on what particle effect is used. If small, medium, large or massive (Uses SCR_ESecondaryExplosionScale enum).

FuelTankFireState

  • 0 - not burning
  • 1 - 4 will return based on what particle effect is used. If small, medium, large or massive (Uses SCR_ESecondaryExplosionScale enum).