RPL4.RES is compiled from authored sources by RPL4TOOL -b, the original 1996 resource tool, which still builds in this tree. That pipeline did not work: the tool aborted on the very first model, so the resource file could only be consumed, never regenerated. Content could not be changed at all. It died in PlugStream_FindEntryAndWriteObjectID resolving resource= Translocation01 from AUDIO/PLYINT.SCP, a name defined in no file under CONTENT/RP. The obvious suspect was the AWE32 soundbank path, since AudioCard::LoadSBK is stubbed to return 1 by the Win32 port - but that is a red herring. Supplying the banks changes nothing because nothing reads them at build time. CreateStaticAudioStreamResource opens audio\static.scp, which declares all 154 patch resources as plain text mapping each name to a bank and patch number, and CONTENT/RP simply does not have that file. The sda4 developer drive does. Two more scripts included by 27 vehicles, VTVINT.SCP and VTVEXT.SCP, were missing the same way. All three are kept in recovered/ because they are the keystone and are small. No engine change was needed. The pipeline was missing content, not code. build-res.ps1 assembles a build tree from the 4.10 content, those three scripts, and the soundbanks and ~547 VIDEO files that RP412 ships complete and the content tree does not. It never overwrites an authored file with a shipped one, so archival content stays authoritative where it exists. A model missing a skeleton is dropped SILENTLY - the tool logs and carries on, producing a resource file with fewer models rather than failing. Check the model count, which is why the script reports unresolved inputs. -RestoreCutVehicles uncomments dark, blkspk and blktrn, three vehicles taken out of the .bld after 4.10 shipped with their model ids left in place. All three build clean and take the count from 42 to 45, exactly retail's, each with its full subsystems, segments, damage zones and control mappings. What this cannot do yet: eleven maps have no source. Five survive only on the sda4 drive in a 1996 state older than retail, and otto, frstrm, burnt, brewers, headoff and headmf are gone entirely - the .CAM cameras and .XST existence boxes are here but the .MAP files are not. So a build from these sources yields 45 models and zero maps against RP411's nine, and is not yet a drop-in replacement for assets/RP411/RPL4.RES. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
902 lines
17 KiB
Plaintext
902 lines
17 KiB
Plaintext
#
|
|
#------------------------------------------------------------------
|
|
# VTV Audio Script
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# AudioRenderTypes
|
|
#
|
|
# TransientAudioRenderType = 0
|
|
# SustainedAudioRenderType = 1
|
|
#
|
|
#------------------------------------------------------------------
|
|
# AudioSourcePriority
|
|
#
|
|
# MinAudioSourcePriority = 0
|
|
# LowAudioSourcePriority = 1
|
|
# MedAudioSourcePriority = 2
|
|
# HighAudioSourcePriority = 3
|
|
# MaxAudioSourcePriority = 4
|
|
#
|
|
#------------------------------------------------------------------
|
|
# AudioSourceMixPresence
|
|
#
|
|
# ManualAudioSourceMixPresence = 0
|
|
# MaxAudioSourceMixPresence = 1
|
|
# HighAudioSourceMixPresence = 2
|
|
# MedAudioSourceMixPresence = 3
|
|
# LowAudioSourceMixPresence = 4
|
|
# MinAudioSourceMixPresence = 5
|
|
#
|
|
#------------------------------------------------------------------
|
|
# AudioControlID
|
|
#
|
|
# NullAudioControlID = 0
|
|
# StartAudioControlID = 1
|
|
# StopAudioControlID = 2
|
|
# VolumeAudioControlID = 3
|
|
# PitchAudioControlID = 4
|
|
# BrightnessAudioControlID = 5
|
|
# AttackVolumeAudioControlID = 6
|
|
# AttackTimeAudioControlID = 7
|
|
# AudioControlIDCount = 8
|
|
#
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Audio locations
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
[L4AudioLocation]
|
|
location_offset=0.0,0.0,0.0
|
|
name=OriginLocation
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Includes
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
[include]
|
|
file=audio\colint.scp
|
|
file=audio\buttons.scp
|
|
file=audio\scoring.scp
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Audio source components
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
#
|
|
# Cockpit wind component
|
|
#
|
|
|
|
[DirectPatchSource]
|
|
location=OriginLocation
|
|
resource=CockpitWindDrone01
|
|
position=0
|
|
priority=1
|
|
mix_presence=0
|
|
volume_mix_level=0.9
|
|
pitch_mix_offset=0.0
|
|
brightness_mix_level=1.0
|
|
use_brightness_scale=1
|
|
use_attack_time_scale=0
|
|
has_compression_curve=0
|
|
compression_duration=0.0
|
|
name=CockpitWindComponent
|
|
|
|
#
|
|
# Cockpit turbulence component
|
|
#
|
|
|
|
[DirectPatchSource]
|
|
location=OriginLocation
|
|
resource=CockpitWindRush01
|
|
position=0
|
|
priority=1
|
|
mix_presence=3
|
|
volume_mix_level=1.0
|
|
pitch_mix_offset=0.0
|
|
brightness_mix_level=1.0
|
|
use_brightness_scale=1
|
|
use_attack_time_scale=0
|
|
has_compression_curve=0
|
|
compression_duration=0.0
|
|
name=CockpitTurbComponent
|
|
|
|
#
|
|
# Engine thrust component
|
|
#
|
|
|
|
[DirectPatchSource]
|
|
location=OriginLocation
|
|
resource=EngineThrustInt02
|
|
position=1
|
|
priority=1
|
|
mix_presence=3
|
|
volume_mix_level=1.0
|
|
pitch_mix_offset=0.0
|
|
brightness_mix_level=1.0
|
|
use_brightness_scale=1
|
|
use_attack_time_scale=0
|
|
has_compression_curve=0
|
|
compression_duration=0.0
|
|
name=EngineThrustComponent
|
|
|
|
#
|
|
# Scrape component
|
|
#
|
|
|
|
[Static3DPatchSource]
|
|
location=OriginLocation
|
|
resource=ScrapeInt01
|
|
priority=1
|
|
mix_presence=0
|
|
volume_mix_level=1.0
|
|
pitch_mix_offset=0.0
|
|
brightness_mix_level=1.0
|
|
use_brightness_scale=0
|
|
use_attack_time_scale=0
|
|
has_compression_curve=0
|
|
compression_duration=0.0
|
|
name=ScrapeComponent
|
|
|
|
#
|
|
# Booster component
|
|
#
|
|
|
|
[DirectPatchSource]
|
|
location=OriginLocation
|
|
resource=BoosterInt01
|
|
position=1
|
|
priority=3
|
|
mix_presence=2
|
|
volume_mix_level=0.95
|
|
pitch_mix_offset=0.0
|
|
brightness_mix_level=1.0
|
|
use_brightness_scale=0
|
|
use_attack_time_scale=0
|
|
has_compression_curve=1
|
|
compression_duration=6.0
|
|
name=BoosterComponent
|
|
|
|
#
|
|
# Booster loop component
|
|
#
|
|
|
|
[DirectPatchSource]
|
|
location=OriginLocation
|
|
resource=BoosterLoopInt01
|
|
position=1
|
|
priority=3
|
|
mix_presence=2
|
|
volume_mix_level=0.95
|
|
pitch_mix_offset=0.0
|
|
brightness_mix_level=1.0
|
|
use_brightness_scale=0
|
|
use_attack_time_scale=0
|
|
has_compression_curve=1
|
|
compression_duration=6.0
|
|
name=BoosterLoopComponent
|
|
|
|
#
|
|
# Death components
|
|
#
|
|
|
|
[DirectPatchSource]
|
|
location=OriginLocation
|
|
resource=DeathInt01
|
|
position=0
|
|
priority=4
|
|
mix_presence=1
|
|
volume_mix_level=0.95
|
|
pitch_mix_offset=0.0
|
|
brightness_mix_level=0.0
|
|
use_brightness_scale=0
|
|
use_attack_time_scale=0
|
|
has_compression_curve=0
|
|
compression_duration=0.0
|
|
name=DeathComponent01
|
|
|
|
[DirectPatchSource]
|
|
location=OriginLocation
|
|
resource=DeathInt02
|
|
position=1
|
|
priority=4
|
|
mix_presence=1
|
|
volume_mix_level=1.0
|
|
pitch_mix_offset=-200
|
|
brightness_mix_level=0.0
|
|
use_brightness_scale=0
|
|
use_attack_time_scale=0
|
|
has_compression_curve=0
|
|
compression_duration=0.0
|
|
name=DeathComponent02
|
|
|
|
#
|
|
# Horn component
|
|
#
|
|
|
|
[DirectPatchSource]
|
|
location=OriginLocation
|
|
resource=Horn01
|
|
position=0
|
|
priority=3
|
|
mix_presence=0
|
|
volume_mix_level=0.95
|
|
pitch_mix_offset=0.0
|
|
brightness_mix_level=1.0
|
|
use_brightness_scale=0
|
|
use_attack_time_scale=0
|
|
has_compression_curve=0
|
|
compression_duration=0.0
|
|
name=HornComponent
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Non-trigger watchers
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
#------------------------------------------------------------------
|
|
|
|
#
|
|
# Cockpit wind : linear velocity -> amplitude
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=CockpitWindComponent
|
|
attribute_value_boundary1=5.0
|
|
attribute_value_boundary2=200.0
|
|
control_ID=3
|
|
control_value_boundary1=0.0
|
|
control_value_boundary2=1.0
|
|
exponent=0.3
|
|
dump_value=0
|
|
|
|
#
|
|
# Cockpit wind : linear velocity -> pitch
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=CockpitWindComponent
|
|
attribute_value_boundary1=5.0
|
|
attribute_value_boundary2=300.0
|
|
control_ID=4
|
|
control_value_boundary1=-1800.0
|
|
control_value_boundary2=2800.0
|
|
exponent=0.3
|
|
dump_value=0
|
|
|
|
#
|
|
# Cockpit wind : linear velocity -> filter
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=CockpitWindComponent
|
|
attribute_value_boundary1=5.0
|
|
attribute_value_boundary2=300.0
|
|
control_ID=5
|
|
control_value_boundary1=1.0
|
|
control_value_boundary2=0.4
|
|
exponent=2.0
|
|
dump_value=0
|
|
|
|
#------------------------------------------------------------------
|
|
|
|
#
|
|
# Cockpit turb : linear velocity -> amplitude
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=CockpitTurbComponent
|
|
attribute_value_boundary1=70.0
|
|
attribute_value_boundary2=200.0
|
|
control_ID=3
|
|
control_value_boundary1=0.0
|
|
control_value_boundary2=1.0
|
|
exponent=0.2
|
|
dump_value=0
|
|
|
|
#
|
|
# Pitch Mixer : pitch mixer -> pitch
|
|
#
|
|
|
|
[AudioControlMixer]
|
|
audio_component=CockpitTurbComponent
|
|
first_input_control_ID=100
|
|
last_input_control_ID=102
|
|
output_control_ID=4
|
|
name=CockpitTurbPitchMixer
|
|
|
|
#
|
|
# Cockpit turb : linear velocity -> pitch mixer
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=CockpitTurbPitchMixer
|
|
attribute_value_boundary1=70.0
|
|
attribute_value_boundary2=250.0
|
|
control_ID=100
|
|
control_value_boundary1=-100.0
|
|
control_value_boundary2=0.0
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Cockpit turb : angular velocity -> pitch mixer
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=1
|
|
motion_value=3
|
|
audio_component=CockpitTurbPitchMixer
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=0.3
|
|
control_ID=101
|
|
control_value_boundary1=-200.0
|
|
control_value_boundary2=0.0
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Cockpit turb : filter smoother -> filter
|
|
#
|
|
|
|
[AudioControlSmoother]
|
|
audio_component=CockpitTurbComponent
|
|
number_of_samples=7
|
|
control_ID=5
|
|
name=CockpitTurbFilterSmoother
|
|
|
|
#
|
|
# Cockpit turb : angular velocity -> filter smoother
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=1
|
|
motion_value=3
|
|
audio_component=CockpitTurbFilterSmoother
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=0.3
|
|
control_ID=5
|
|
control_value_boundary1=0.1
|
|
control_value_boundary2=0.8
|
|
exponent=0.4
|
|
dump_value=0
|
|
|
|
#------------------------------------------------------------------
|
|
|
|
#
|
|
# Engine thrust : amplitude smoother -> amplitude
|
|
#
|
|
|
|
[AudioControlSmoother]
|
|
audio_component=EngineThrustComponent
|
|
number_of_samples=20
|
|
control_ID=3
|
|
name=EngineThrustVolumeSmoother
|
|
|
|
#
|
|
# Engine thrust : amplitude mixer -> amplitude smoother
|
|
#
|
|
|
|
[AudioControlMixer]
|
|
audio_component=EngineThrustVolumeSmoother
|
|
first_input_control_ID=100
|
|
last_input_control_ID=103
|
|
output_control_ID=3
|
|
name=EngineThrustAmplitudeMixer
|
|
|
|
#
|
|
# Engine thrust : linear acceleration -> amplitude mixer
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalAcceleration
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=EngineThrustAmplitudeMixer
|
|
attribute_value_boundary1=0.1
|
|
attribute_value_boundary2=7.0
|
|
control_ID=100
|
|
control_value_boundary1=0.0
|
|
control_value_boundary2=1.0
|
|
exponent=0.4
|
|
dump_value=0
|
|
|
|
#
|
|
# Engine thrust : angular velocity -> amplitude mixer
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=1
|
|
motion_value=3
|
|
audio_component=EngineThrustAmplitudeMixer
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=2.0
|
|
control_ID=101
|
|
control_value_boundary1=0.0
|
|
control_value_boundary2=1.0
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Engine thrust : linear velocity -> amplitude mixer
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=EngineThrustAmplitudeMixer
|
|
attribute_value_boundary1=10.0
|
|
attribute_value_boundary2=250.0
|
|
control_ID=102
|
|
control_value_boundary1=0.0
|
|
control_value_boundary2=-2.0
|
|
exponent=1.5
|
|
dump_value=0
|
|
|
|
#
|
|
# Engine thrust : height above terrain -> amplitude mixer
|
|
#
|
|
|
|
[AudioScalarScale]
|
|
subsystem=Entity
|
|
attribute=HeightAboveTerrain
|
|
audio_component=EngineThrustAmplitudeMixer
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=40.0
|
|
control_ID=103
|
|
control_value_boundary1=0.25
|
|
control_value_boundary2=-0.75
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Engine thrust : pitch smoother -> pitch
|
|
#
|
|
|
|
[AudioControlSmoother]
|
|
audio_component=EngineThrustComponent
|
|
number_of_samples=30
|
|
control_ID=4
|
|
name=EngineThrustPitchSmoother
|
|
|
|
#
|
|
# Engine thrust : pitch mixer -> pitch smoother
|
|
#
|
|
|
|
[AudioControlMixer]
|
|
audio_component=EngineThrustPitchSmoother
|
|
first_input_control_ID=100
|
|
last_input_control_ID=102
|
|
output_control_ID=4
|
|
name=EngineThrustPitchMixer
|
|
|
|
#
|
|
# Engine thrust : linear acceleration -> pitch mixer
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalAcceleration
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=EngineThrustPitchMixer
|
|
attribute_value_boundary1=0.1
|
|
attribute_value_boundary2=7.0
|
|
control_ID=100
|
|
control_value_boundary1=-600.0
|
|
control_value_boundary2=200.0
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Engine thrust : angular velocity -> pitch mixer
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=1
|
|
motion_value=3
|
|
audio_component=EngineThrustPitchMixer
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=2.0
|
|
control_ID=101
|
|
control_value_boundary1=0.0
|
|
control_value_boundary2=200.0
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Engine thrust : height above terrain -> pitch mixer
|
|
#
|
|
|
|
[AudioScalarScale]
|
|
subsystem=Entity
|
|
attribute=HeightAboveTerrain
|
|
audio_component=EngineThrustPitchMixer
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=40.0
|
|
control_ID=102
|
|
control_value_boundary1=-100.0
|
|
control_value_boundary2=100.0
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Engine thrust : filter multiplier -> filter
|
|
#
|
|
|
|
[AudioControlMultiplier]
|
|
audio_component=EngineThrustComponent
|
|
first_input_control_ID=100
|
|
last_input_control_ID=101
|
|
output_control_ID=5
|
|
name=EngineThrustFilterMultiplier
|
|
|
|
#
|
|
# Engine thrust : hinge -> filter multiplier
|
|
#
|
|
|
|
[AudioHingeScale]
|
|
subsystem=Entity
|
|
attribute=ThrusterPitch
|
|
audio_component=EngineThrustFilterMultiplier
|
|
attribute_value_boundary1=-1.321
|
|
attribute_value_boundary2=1.321
|
|
control_ID=100
|
|
control_value_boundary1=1.0
|
|
control_value_boundary2=0.7
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Engine thrust : filter smoother -> filter multiplier
|
|
#
|
|
|
|
[AudioControlSmoother]
|
|
audio_component=EngineThrustFilterMultiplier
|
|
number_of_samples=15
|
|
control_ID=101
|
|
name=EngineThrustFilterSmoother
|
|
|
|
#
|
|
# Engine thrust : linear acceleration -> filter smoother
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalAcceleration
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=EngineThrustFilterSmoother
|
|
attribute_value_boundary1=0.1
|
|
attribute_value_boundary2=7.0
|
|
control_ID=101
|
|
control_value_boundary1=0.5
|
|
control_value_boundary2=1.0
|
|
exponent=0.3
|
|
dump_value=0
|
|
|
|
#------------------------------------------------------------------
|
|
|
|
#
|
|
# Scrape : collision speed -> attack time
|
|
#
|
|
|
|
[!AudioScalarScale]
|
|
subsystem=Entity
|
|
attribute=CollisionSpeed
|
|
audio_component=ScrapeComponent
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=70.0
|
|
control_ID=7
|
|
control_value_boundary1=0.2
|
|
control_value_boundary2=0.1
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Scrape : linear velocity -> amplitude
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=ScrapeComponent
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=100.0
|
|
control_ID=3
|
|
control_value_boundary1=0.8
|
|
control_value_boundary2=1.0
|
|
exponent=0.2
|
|
dump_value=0
|
|
|
|
#
|
|
# Scrape : linear velocity -> pitch
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=ScrapeComponent
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=200.0
|
|
control_ID=4
|
|
control_value_boundary1=-400.0
|
|
control_value_boundary2=400.0
|
|
exponent=0.5
|
|
dump_value=0
|
|
|
|
#------------------------------------------------------------------
|
|
|
|
#
|
|
# Booster : resource select
|
|
#
|
|
|
|
[AudioResourceSelector]
|
|
audio_source=BoosterComponent
|
|
audio_resource_index=BoosterIntIndex
|
|
control_ID=100
|
|
min_control_value=0.0
|
|
max_control_value=1.0
|
|
dump_value=0
|
|
name=BoosterResourceSelect
|
|
|
|
#
|
|
# Booster : Linear velocity -> resource select
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=BoosterResourceSelect
|
|
attribute_value_boundary1=30.0
|
|
attribute_value_boundary2=150.0
|
|
control_ID=100
|
|
control_value_boundary1=0.0
|
|
control_value_boundary2=1.0
|
|
exponent=1.0
|
|
dump_value=0
|
|
|
|
#
|
|
# Boost Loop : filter smoother -> filter
|
|
#
|
|
|
|
[AudioControlSmoother]
|
|
audio_component=BoosterLoopComponent
|
|
number_of_samples=7
|
|
control_ID=5
|
|
name=BoosterLoopFilterSmoother
|
|
|
|
#
|
|
# Boost Loop : angular velocity -> filter smoother
|
|
#
|
|
|
|
[AudioMotionScale]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=1
|
|
motion_value=3
|
|
audio_component=BoosterLoopFilterSmoother
|
|
attribute_value_boundary1=0.0
|
|
attribute_value_boundary2=0.3
|
|
control_ID=5
|
|
control_value_boundary1=0.1
|
|
control_value_boundary2=0.8
|
|
exponent=0.4
|
|
dump_value=0
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Trigger watchers
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Wind trigger
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
[AudioMotionTrigger]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=CockpitWindComponent
|
|
attribute_value_threshold=5.0
|
|
control_ID_on=1
|
|
control_ID_off=2
|
|
control_value_on=0.0
|
|
control_value_off=0.0
|
|
inverse_trigger=0
|
|
dump_value=0
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Turbulence trigger
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
[AudioMotionTrigger]
|
|
subsystem=Entity
|
|
attribute=LocalVelocity
|
|
motion_type=0
|
|
motion_value=3
|
|
audio_component=CockpitTurbComponent
|
|
attribute_value_threshold=70.0
|
|
control_ID_on=1
|
|
control_ID_off=2
|
|
control_value_on=0.0
|
|
control_value_off=0.0
|
|
inverse_trigger=0
|
|
dump_value=0
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Engine thrust trigger
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
# HACK - seems to require this for when the entity first appears
|
|
|
|
[AudioControlSend]
|
|
audio_component=EngineThrustComponent
|
|
control_ID=1
|
|
control_value=0.0
|
|
|
|
[AudioStateTrigger]
|
|
subsystem=Entity
|
|
attribute=SimulationState
|
|
audio_component=EngineThrustComponent
|
|
trigger_state=0
|
|
inverse_trigger=0
|
|
control_ID=1
|
|
control_value=0.0
|
|
dump_value=0
|
|
|
|
[AudioStateTrigger]
|
|
subsystem=Entity
|
|
attribute=SimulationState
|
|
audio_component=EngineThrustComponent
|
|
trigger_state=2
|
|
inverse_trigger=0
|
|
control_ID=2
|
|
control_value=0.0
|
|
dump_value=0
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Scrape trigger
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
[L4AudioCollisionTrigger]
|
|
subsystem=Entity
|
|
attribute=CollisionState
|
|
normal_attribute=CollisionNormal
|
|
audio_component=ScrapeComponent
|
|
trigger_state=2
|
|
control_ID=1
|
|
control_value=0.0
|
|
dump_value=0
|
|
|
|
[AudioStateTrigger]
|
|
subsystem=Entity
|
|
attribute=CollisionState
|
|
audio_component=ScrapeComponent
|
|
trigger_state=2
|
|
inverse_trigger=1
|
|
control_ID=2
|
|
control_value=0.0
|
|
dump_value=0
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Death trigger
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
[AudioStateTrigger]
|
|
subsystem=Entity
|
|
attribute=SimulationState
|
|
audio_component=DeathComponent01
|
|
trigger_state=2
|
|
inverse_trigger=0
|
|
control_ID=1
|
|
control_value=0.0
|
|
dump_value=0
|
|
|
|
[AudioStateTrigger]
|
|
subsystem=Entity
|
|
attribute=SimulationState
|
|
audio_component=DeathComponent02
|
|
trigger_state=2
|
|
inverse_trigger=0
|
|
control_ID=1
|
|
control_value=0.0
|
|
dump_value=0
|
|
|
|
[AudioStateTrigger]
|
|
subsystem=Entity
|
|
attribute=SimulationState
|
|
audio_component=DeathComponent01
|
|
trigger_state=2
|
|
inverse_trigger=1
|
|
control_ID=2
|
|
control_value=0.0
|
|
dump_value=0
|
|
|
|
[AudioStateTrigger]
|
|
subsystem=Entity
|
|
attribute=SimulationState
|
|
audio_component=DeathComponent02
|
|
trigger_state=2
|
|
inverse_trigger=1
|
|
control_ID=2
|
|
control_value=0.0
|
|
dump_value=0
|
|
|
|
#
|
|
#------------------------------------------------------------------
|
|
# Horn trigger
|
|
#------------------------------------------------------------------
|
|
#
|
|
|
|
[AudioIntegerTrigger]
|
|
subsystem=ControlsMapper
|
|
attribute=HornBlast
|
|
audio_component=HornComponent
|
|
attribute_value_threshold=0.0
|
|
control_ID_on=1
|
|
control_ID_off=2
|
|
control_value_on=0.0
|
|
control_value_off=0.0
|
|
inverse_trigger=0
|
|
dump_value=0
|
|
|