KeyValues2: Difference between revisions
Jump to navigation
Jump to search
TomEdwards (talk | contribs) (the ASCII sister of DMX) |
SirYodaJedi (talk | contribs) No edit summary |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
'''KeyValues2''' is an ASCII encoding of a | {{hierarchy|KeyValues}} | ||
'''KeyValues2''' is an ASCII encoding of a Datamodel object. It is the successor to [[KeyValues]]. | |||
The | The SDK tool '''[[Dmxconvert]]''' can convert files between KV2 and [[DMX]] encoding. | ||
== | == Format == | ||
== Examples == | |||
=== {{tf2|4}} === | |||
{{tf2|4}} has a single KV2 file at <code>tf2_misc_dir.vpk\tf\expressions\player\engineer\phonemes\engineer_phoneme.pre</code>. A truncated version follows: | |||
<source lang=xml> | <source lang=xml> | ||
Line 53: | Line 57: | ||
</source> | </source> | ||
[[Category: | === Source Particle Benchmark === | ||
The [https://combineoverwiki.net/wiki/Source_Particle_Benchmark Source Particle Benchmark] tool's [[PCF File Format|PCF]] files are KV2. | |||
<code>ep2\particles\default.pcf</code> follows: | |||
<source lang="xml"> | |||
<!-- DMXVersion keyvalues2_v1 --> | |||
"DmeElement" | |||
{ | |||
"id" "elementid" "833dbad4-0848-4c77-a49c-5a702a545c55" | |||
"name" "string" "untitled" | |||
"particleSystemDefinitions" "element_array" | |||
[ | |||
"DmeParticleSystemDefinition" | |||
{ | |||
"id" "elementid" "3535d7f5-7d31-4b97-b772-46fadd300992" | |||
"name" "string" "default" | |||
"material" "string" "effects\\yellowflare.vmt" | |||
"children" "element_array" | |||
[ | |||
] | |||
"color" "color" "255 255 255 255" | |||
"operators" "element_array" | |||
[ | |||
"DmeParticleOperator" | |||
{ | |||
"id" "elementid" "a66571b0-1657-41ad-a160-ba5c3b722835" | |||
"name" "string" "alpha_fade" | |||
"functionName" "string" "alpha_fade" | |||
"operator start fadein" "float" "0" | |||
"operator end fadein" "float" "0" | |||
"operator start fadeout" "float" "0" | |||
"operator end fadeout" "float" "0" | |||
"start_alpha" "float" "1" | |||
"end_alpha" "float" "0" | |||
"start_fade_in_time" "float" "0" | |||
"end_fade_in_time" "float" "0.5" | |||
"start_fade_out_time" "float" "0.5" | |||
"end_fade_out_time" "float" "1" | |||
}, | |||
"DmeParticleOperator" | |||
{ | |||
"id" "elementid" "1ec8a22e-5e14-45fe-9dab-02ffdd5772c8" | |||
"name" "string" "basic_movement" | |||
"functionName" "string" "basic_movement" | |||
"operator start fadein" "float" "0" | |||
"operator end fadein" "float" "0" | |||
"operator start fadeout" "float" "0" | |||
"operator end fadeout" "float" "0" | |||
"gravity" "vector3" "0 0 0" | |||
"drag" "float" "0" | |||
"max constraint passes" "int" "3" | |||
} | |||
] | |||
"renderers" "element_array" | |||
[ | |||
"DmeParticleOperator" | |||
{ | |||
"id" "elementid" "e92d1bc3-7c85-41a4-9779-ca71ea83c139" | |||
"name" "string" "render_animated_sprites" | |||
"functionName" "string" "render_animated_sprites" | |||
"operator start fadein" "float" "0" | |||
"operator end fadein" "float" "0" | |||
"operator start fadeout" "float" "0" | |||
"operator end fadeout" "float" "0" | |||
"animation rate" "float" "0.1000000015" | |||
"animation_fit_lifetime" "bool" "0" | |||
"orientation_type" "int" "0" | |||
} | |||
] | |||
"initializers" "element_array" | |||
[ | |||
"DmeParticleOperator" | |||
{ | |||
"id" "elementid" "7415690d-8459-438c-ae78-8ab6c1320095" | |||
"name" "string" "lifetime_random" | |||
"functionName" "string" "lifetime_random" | |||
"operator start fadein" "float" "0" | |||
"operator end fadein" "float" "0" | |||
"operator start fadeout" "float" "0" | |||
"operator end fadeout" "float" "0" | |||
"lifetime_min" "float" "1" | |||
"lifetime_max" "float" "1" | |||
"lifetime_random_exponent" "float" "1" | |||
}, | |||
"DmeParticleOperator" | |||
{ | |||
"id" "elementid" "bfe40106-301d-4024-bb24-879162b63418" | |||
"name" "string" "position_within_sphere" | |||
"functionName" "string" "position_within_sphere" | |||
"operator start fadein" "float" "0" | |||
"operator end fadein" "float" "0" | |||
"operator start fadeout" "float" "0" | |||
"operator end fadeout" "float" "0" | |||
"distance_min" "float" "0" | |||
"distance_max" "float" "0" | |||
"control_point_number" "int" "0" | |||
"speed_min" "float" "12" | |||
"speed_max" "float" "32" | |||
"speed_random_exponent" "float" "1" | |||
"speed_in_local_coordinate_system_min" "vector3" "0 0 0" | |||
"speed_in_local_coordinate_system_max" "vector3" "0 0 0" | |||
} | |||
] | |||
"emitters" "element_array" | |||
[ | |||
"DmeParticleOperator" | |||
{ | |||
"id" "elementid" "9c8b45bf-2644-4c8f-9a37-0873b578aeb7" | |||
"name" "string" "emit_continuously" | |||
"functionName" "string" "emit_continuously" | |||
"operator start fadein" "float" "0" | |||
"operator end fadein" "float" "0" | |||
"operator start fadeout" "float" "0" | |||
"operator end fadeout" "float" "0" | |||
"emission_start_time" "float" "0" | |||
"emission_rate" "float" "100" | |||
"emission_duration" "float" "0" | |||
} | |||
] | |||
"forces" "element_array" | |||
[ | |||
] | |||
"constraints" "element_array" | |||
[ | |||
] | |||
"preventNameBasedLookup" "bool" "0" | |||
"max_particles" "int" "1000" | |||
"initial_particles" "int" "0" | |||
"bounding_box_control_point" "int" "0" | |||
"bounding_box_min" "vector3" "-10 -10 -10" | |||
"bounding_box_max" "vector3" "10 10 10" | |||
"radius" "float" "5" | |||
"rotation" "float" "0" | |||
"rotation_speed" "float" "0" | |||
"sequence_number" "int" "0" | |||
} | |||
] | |||
} | |||
</source> | |||
[[Category:Plain text formats]] | |||
[[Category:Plain text files]] | |||
[[Category:Source]] |
Latest revision as of 08:39, 29 March 2025
KeyValues2 is an ASCII encoding of a Datamodel object. It is the successor to KeyValues.
The SDK tool Dmxconvert can convert files between KV2 and DMX encoding.
Format
Examples
Team Fortress 2
Team Fortress 2 has a single KV2 file at
tf2_misc_dir.vpk\tf\expressions\player\engineer\phonemes\engineer_phoneme.pre
. A truncated version follows:
<!-- DMXVersion keyvalues2_v1 -->
"DmePresetGroup"
{
"id" "elementid" "2b77ac04-3f32-46eb-a2a7-80f1d6d9872e"
"name" "string" "phoneme"
"readonly" "bool" "0"
"visible" "bool" "1"
"presets" "element_array"
[
"DmePreset"
{
"id" "elementid" "117e1a71-d867-4857-b404-6651f2cdd68a"
"name" "string" "p_silence"
"controlValues" "element_array"
[
"DmeElement"
{
"id" "elementid" "7a0ba9b3-5434-43fe-94ed-068ced2351e1"
"balance" "float" "0.5"
"midpoint" "float" "0"
"value" "float" "0"
"name" "string" "CloseLidUp"
},
"DmeElement"
{
"id" "elementid" "e707ed99-f2f2-4a9a-844d-fc8f3d1eda36"
"balance" "float" "0.5"
"midpoint" "float" "0"
"value" "float" "0"
"name" "string" "CloseLidLo"
},
"DmeElement"
{
"id" "elementid" "ae60ee94-7c9a-494c-be01-eba193e90146"
"balance" "float" "0.5"
"midpoint" "float" "0"
"value" "float" "0"
"name" "string" "InnerSquint"
}
]
}
]
}
Source Particle Benchmark
The Source Particle Benchmark tool's PCF files are KV2.
ep2\particles\default.pcf
follows:
<!-- DMXVersion keyvalues2_v1 -->
"DmeElement"
{
"id" "elementid" "833dbad4-0848-4c77-a49c-5a702a545c55"
"name" "string" "untitled"
"particleSystemDefinitions" "element_array"
[
"DmeParticleSystemDefinition"
{
"id" "elementid" "3535d7f5-7d31-4b97-b772-46fadd300992"
"name" "string" "default"
"material" "string" "effects\\yellowflare.vmt"
"children" "element_array"
[
]
"color" "color" "255 255 255 255"
"operators" "element_array"
[
"DmeParticleOperator"
{
"id" "elementid" "a66571b0-1657-41ad-a160-ba5c3b722835"
"name" "string" "alpha_fade"
"functionName" "string" "alpha_fade"
"operator start fadein" "float" "0"
"operator end fadein" "float" "0"
"operator start fadeout" "float" "0"
"operator end fadeout" "float" "0"
"start_alpha" "float" "1"
"end_alpha" "float" "0"
"start_fade_in_time" "float" "0"
"end_fade_in_time" "float" "0.5"
"start_fade_out_time" "float" "0.5"
"end_fade_out_time" "float" "1"
},
"DmeParticleOperator"
{
"id" "elementid" "1ec8a22e-5e14-45fe-9dab-02ffdd5772c8"
"name" "string" "basic_movement"
"functionName" "string" "basic_movement"
"operator start fadein" "float" "0"
"operator end fadein" "float" "0"
"operator start fadeout" "float" "0"
"operator end fadeout" "float" "0"
"gravity" "vector3" "0 0 0"
"drag" "float" "0"
"max constraint passes" "int" "3"
}
]
"renderers" "element_array"
[
"DmeParticleOperator"
{
"id" "elementid" "e92d1bc3-7c85-41a4-9779-ca71ea83c139"
"name" "string" "render_animated_sprites"
"functionName" "string" "render_animated_sprites"
"operator start fadein" "float" "0"
"operator end fadein" "float" "0"
"operator start fadeout" "float" "0"
"operator end fadeout" "float" "0"
"animation rate" "float" "0.1000000015"
"animation_fit_lifetime" "bool" "0"
"orientation_type" "int" "0"
}
]
"initializers" "element_array"
[
"DmeParticleOperator"
{
"id" "elementid" "7415690d-8459-438c-ae78-8ab6c1320095"
"name" "string" "lifetime_random"
"functionName" "string" "lifetime_random"
"operator start fadein" "float" "0"
"operator end fadein" "float" "0"
"operator start fadeout" "float" "0"
"operator end fadeout" "float" "0"
"lifetime_min" "float" "1"
"lifetime_max" "float" "1"
"lifetime_random_exponent" "float" "1"
},
"DmeParticleOperator"
{
"id" "elementid" "bfe40106-301d-4024-bb24-879162b63418"
"name" "string" "position_within_sphere"
"functionName" "string" "position_within_sphere"
"operator start fadein" "float" "0"
"operator end fadein" "float" "0"
"operator start fadeout" "float" "0"
"operator end fadeout" "float" "0"
"distance_min" "float" "0"
"distance_max" "float" "0"
"control_point_number" "int" "0"
"speed_min" "float" "12"
"speed_max" "float" "32"
"speed_random_exponent" "float" "1"
"speed_in_local_coordinate_system_min" "vector3" "0 0 0"
"speed_in_local_coordinate_system_max" "vector3" "0 0 0"
}
]
"emitters" "element_array"
[
"DmeParticleOperator"
{
"id" "elementid" "9c8b45bf-2644-4c8f-9a37-0873b578aeb7"
"name" "string" "emit_continuously"
"functionName" "string" "emit_continuously"
"operator start fadein" "float" "0"
"operator end fadein" "float" "0"
"operator start fadeout" "float" "0"
"operator end fadeout" "float" "0"
"emission_start_time" "float" "0"
"emission_rate" "float" "100"
"emission_duration" "float" "0"
}
]
"forces" "element_array"
[
]
"constraints" "element_array"
[
]
"preventNameBasedLookup" "bool" "0"
"max_particles" "int" "1000"
"initial_particles" "int" "0"
"bounding_box_control_point" "int" "0"
"bounding_box_min" "vector3" "-10 -10 -10"
"bounding_box_max" "vector3" "10 10 10"
"radius" "float" "5"
"rotation" "float" "0"
"rotation_speed" "float" "0"
"sequence_number" "int" "0"
}
]
}