#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(\s\{\s*"\$name": "use_specular_aa",\s*"\$type": "::bool",\s*"\$value": )true(\s*\})"
Local $sString = " "$name": "Materials"," & @CRLF & _
" "$type": "tdb::Folder"," & @CRLF & _
" "$children": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "Official_colours"," & @CRLF & _
" "$type": "tdb::Folder"," & @CRLF & _
" "$children": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "car_Dodge_Viper_ACR_carpaint_silver"," & @CRLF & _
" "$type": "@tts::editor::MaterialEntity"," & @CRLF & _
" "$params": {" & @CRLF & _
" "lightmapSpecificParams": {" & @CRLF & _
" "shadowColor": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "transparencyMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseMapOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseColorOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMapUVChannelIdx": 1," & @CRLF & _
" "diffuseMapUVChannelIdx": 1," & @CRLF & _
" "emissiveMultiplier": 1.0," & @CRLF & _
" "singleSided": false" & @CRLF & _
" }," & @CRLF & _
" "metashaderRef": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/shaders/carpaint.jshader"" & @CRLF & _
" }," & @CRLF & _
" "features": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedo_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "occlusion_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "tint_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map_no_occlusion"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damage_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_diffuse"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map_uv2"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specular_dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "always_use_transparency"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_paint_flakes"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_diffuse_reflection"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_material_texture_mask"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_LOD_alpha_switch"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_floor_ao"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_specular_aa"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "constants": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBAf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.03235999867320061," & @CRLF & _
" 0.03824000060558319," & @CRLF & _
" 0.04236000031232834," & @CRLF & _
" 1.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.10000000149011612" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionExponent"," & @CRLF & _
" "$type": "::ReflectionFresnelExponent"," & @CRLF & _
" "$value": 5.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionScale"," & @CRLF & _
" "$type": "::ReflectionScale"," & @CRLF & _
" "$value": 1.5" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "flakesTilingMultiplier"," & @CRLF & _
" "$type": "::NoiseTilingMultiplier"," & @CRLF & _
" "$value": [" & @CRLF & _
" 30.0," & @CRLF & _
" 30.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualToneAlbedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.25308001041412356," & @CRLF & _
" 0.29142001271247866," & @CRLF & _
" 0.3487899899482727" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualTonePower"," & @CRLF & _
" "$type": "::MaterialExponent"," & @CRLF & _
" "$value": 10.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirtFactor"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damageFactorPerSideLRFB"," & @CRLF & _
" "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.10000000149011612" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "generalFlakesScale"," & @CRLF & _
" "$type": "::CarpaintFlakesScale"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "directionalFlakesScale"," & @CRLF & _
" "$type": "::CarpaintFlakesScale"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specularAAAmount"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "textures": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "attributes"," & @CRLF & _
" "$type": "::AttributesMapReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damage"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "flakes"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "renderState": {" & @CRLF & _
" "blendingMode": "Opaque"," & @CRLF & _
" "depthWrite": "Auto"," & @CRLF & _
" "twoSided": false," & @CRLF & _
" "renderLayer": 0," & @CRLF & _
" "renderPass": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" "materialComponent": {}" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "car_Dodge_Viper_ACR_carpaint_red"," & @CRLF & _
" "$type": "@tts::editor::MaterialEntity"," & @CRLF & _
" "$params": {" & @CRLF & _
" "lightmapSpecificParams": {" & @CRLF & _
" "shadowColor": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "transparencyMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseMapOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseColorOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMapUVChannelIdx": 1," & @CRLF & _
" "diffuseMapUVChannelIdx": 1," & @CRLF & _
" "emissiveMultiplier": 1.0," & @CRLF & _
" "singleSided": false" & @CRLF & _
" }," & @CRLF & _
" "metashaderRef": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/shaders/carpaint.jshader"" & @CRLF & _
" }," & @CRLF & _
" "features": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedo_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "occlusion_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "tint_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map_no_occlusion"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damage_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_diffuse"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map_uv2"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specular_dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "always_use_transparency"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_paint_flakes"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_diffuse_reflection"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_material_texture_mask"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_LOD_alpha_switch"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_floor_ao"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_specular_aa"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "constants": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBAf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.21041999757289887," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 1.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.10000000149011612" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionExponent"," & @CRLF & _
" "$type": "::ReflectionFresnelExponent"," & @CRLF & _
" "$value": 5.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionScale"," & @CRLF & _
" "$type": "::ReflectionScale"," & @CRLF & _
" "$value": 1.5" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "flakesTilingMultiplier"," & @CRLF & _
" "$type": "::NoiseTilingMultiplier"," & @CRLF & _
" "$value": [" & @CRLF & _
" 30.0," & @CRLF & _
" 30.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualToneAlbedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.6226800084114075," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualTonePower"," & @CRLF & _
" "$type": "::MaterialExponent"," & @CRLF & _
" "$value": 30.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirtFactor"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damageFactorPerSideLRFB"," & @CRLF & _
" "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "generalFlakesScale"," & @CRLF & _
" "$type": "::CarpaintFlakesScale"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "directionalFlakesScale"," & @CRLF & _
" "$type": "::CarpaintFlakesScale"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specularAAAmount"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "textures": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "damage"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "flakes"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "attributes"," & @CRLF & _
" "$type": "::AttributesMapReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "renderState": {" & @CRLF & _
" "blendingMode": "Opaque"," & @CRLF & _
" "depthWrite": "Auto"," & @CRLF & _
" "twoSided": false," & @CRLF & _
" "renderLayer": 0," & @CRLF & _
" "renderPass": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" "materialComponent": {}" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "car_Dodge_Viper_ACR_carpaint_blue"," & @CRLF & _
" "$type": "@tts::editor::MaterialEntity"," & @CRLF & _
" "$params": {" & @CRLF & _
" "lightmapSpecificParams": {" & @CRLF & _
" "shadowColor": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "transparencyMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseMapOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseColorOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMapUVChannelIdx": 1," & @CRLF & _
" "diffuseMapUVChannelIdx": 1," & @CRLF & _
" "emissiveMultiplier": 1.0," & @CRLF & _
" "singleSided": false" & @CRLF & _
" }," & @CRLF & _
" "metashaderRef": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/shaders/carpaint.jshader"" & @CRLF & _
" }," & @CRLF & _
" "features": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedo_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "occlusion_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "tint_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map_no_occlusion"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damage_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_diffuse"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map_uv2"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specular_dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "always_use_transparency"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_paint_flakes"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_diffuse_reflection"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_material_texture_mask"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_LOD_alpha_switch"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_floor_ao"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_specular_aa"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "constants": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBAf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.00022000000171829015," & @CRLF & _
" 0.0294599998742342," & @CRLF & _
" 0.19374999403953553," & @CRLF & _
" 1.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.10000000149011612" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionExponent"," & @CRLF & _
" "$type": "::ReflectionFresnelExponent"," & @CRLF & _
" "$value": 5.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionScale"," & @CRLF & _
" "$type": "::ReflectionScale"," & @CRLF & _
" "$value": 1.5" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "flakesTilingMultiplier"," & @CRLF & _
" "$type": "::NoiseTilingMultiplier"," & @CRLF & _
" "$value": [" & @CRLF & _
" 30.0," & @CRLF & _
" 30.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualToneAlbedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.0," & @CRLF & _
" 0.028839999809861184," & @CRLF & _
" 0.3259499967098236" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualTonePower"," & @CRLF & _
" "$type": "::MaterialExponent"," & @CRLF & _
" "$value": 15.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirtFactor"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damageFactorPerSideLRFB"," & @CRLF & _
" "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "generalFlakesScale"," & @CRLF & _
" "$type": "::CarpaintFlakesScale"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "directionalFlakesScale"," & @CRLF & _
" "$type": "::CarpaintFlakesScale"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specularAAAmount"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "textures": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "damage"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "flakes"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "attributes"," & @CRLF & _
" "$type": "::AttributesMapReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "renderState": {" & @CRLF & _
" "blendingMode": "Opaque"," & @CRLF & _
" "depthWrite": "Auto"," & @CRLF & _
" "twoSided": false," & @CRLF & _
" "renderLayer": 0," & @CRLF & _
" "renderPass": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" "materialComponent": {}" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "car_Dodge_Viper_ACR_LOD_red"," & @CRLF & _
" "$type": "@tts::editor::MaterialEntity"," & @CRLF & _
" "$params": {" & @CRLF & _
" "lightmapSpecificParams": {" & @CRLF & _
" "shadowColor": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "transparencyMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseMapOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseColorOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMapUVChannelIdx": 1," & @CRLF & _
" "diffuseMapUVChannelIdx": 1," & @CRLF & _
" "emissiveMultiplier": 1.0," & @CRLF & _
" "singleSided": false" & @CRLF & _
" }," & @CRLF & _
" "metashaderRef": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/shaders/carpaint.jshader"" & @CRLF & _
" }," & @CRLF & _
" "features": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedo_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "occlusion_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "tint_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map_no_occlusion"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damage_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_diffuse"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map_uv2"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specular_dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "always_use_transparency"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_paint_flakes"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_diffuse_reflection"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_material_texture_mask"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_LOD_alpha_switch"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_floor_ao"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_specular_aa"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "constants": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBAf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 1.0," & @CRLF & _
" 1.0," & @CRLF & _
" 1.0," & @CRLF & _
" 1.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.10000000149011612" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionExponent"," & @CRLF & _
" "$type": "::ReflectionFresnelExponent"," & @CRLF & _
" "$value": 5.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionScale"," & @CRLF & _
" "$type": "::ReflectionScale"," & @CRLF & _
" "$value": 1.5" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualToneAlbedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 1.0," & @CRLF & _
" 1.0," & @CRLF & _
" 1.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualTonePower"," & @CRLF & _
" "$type": "::MaterialExponent"," & @CRLF & _
" "$value": 30.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirtFactor"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damageFactorPerSideLRFB"," & @CRLF & _
" "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "albedoColor2"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.21041999757289887," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualToneAlbedoColor2"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.6226800084114075," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specularAAAmount"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 1.0" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "textures": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedo"," & @CRLF & _
" "$type": "::AnyDiffuseOrAlbedoMapReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_al.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "attributes"," & @CRLF & _
" "$type": "::AttributesMapReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damage"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "tintEmissive"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_tem.tga"" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "renderState": {" & @CRLF & _
" "blendingMode": "Opaque"," & @CRLF & _
" "depthWrite": "Auto"," & @CRLF & _
" "twoSided": false," & @CRLF & _
" "renderLayer": 0," & @CRLF & _
" "renderPass": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" "materialComponent": {}" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "car_Dodge_Viper_ACR_LOD_blue"," & @CRLF & _
" "$type": "@tts::editor::MaterialEntity"," & @CRLF & _
" "$params": {" & @CRLF & _
" "lightmapSpecificParams": {" & @CRLF & _
" "shadowColor": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "transparencyMap": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseMapOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "diffuseColorOverride": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }," & @CRLF & _
" "normalMapUVChannelIdx": 1," & @CRLF & _
" "diffuseMapUVChannelIdx": 1," & @CRLF & _
" "emissiveMultiplier": 1.0," & @CRLF & _
" "singleSided": false" & @CRLF & _
" }," & @CRLF & _
" "metashaderRef": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/shaders/carpaint.jshader"" & @CRLF & _
" }," & @CRLF & _
" "features": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedo_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "occlusion_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "tint_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt_map_no_occlusion"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damage_map"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "emissive_diffuse"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "normal_map_uv2"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "specular_dual_tone"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "always_use_transparency"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_paint_flakes"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_diffuse_reflection"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_material_texture_mask"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": true" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_LOD_alpha_switch"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_floor_ao"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "use_specular_aa"," & @CRLF & _
" "$type": "::bool"," & @CRLF & _
" "$value": false" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "constants": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBAf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 1.0," & @CRLF & _
" 1.0," & @CRLF & _
" 1.0," & @CRLF & _
" 1.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "metalness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.10000000149011612" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionExponent"," & @CRLF & _
" "$type": "::ReflectionFresnelExponent"," & @CRLF & _
" "$value": 5.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "reflectionScale"," & @CRLF & _
" "$type": "::ReflectionScale"," & @CRLF & _
" "$value": 1.5" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualToneAlbedoColor"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 1.0," & @CRLF & _
" 1.0," & @CRLF & _
" 1.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualTonePower"," & @CRLF & _
" "$type": "::MaterialExponent"," & @CRLF & _
" "$value": 15.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirtFactor"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damageFactorPerSideLRFB"," & @CRLF & _
" "$type": "::DamageFactorPerSideLRFB"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0," & @CRLF & _
" 0.0" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "roughness"," & @CRLF & _
" "$type": "::editor::material::UNorm"," & @CRLF & _
" "$value": 0.0" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "albedoColor2"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.00022000000171829015," & @CRLF & _
" 0.0294599998742342," & @CRLF & _
" 0.19374999403953553" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dualToneAlbedoColor2"," & @CRLF & _
" "$type": "::editor::material::LinearRGBf"," & @CRLF & _
" "$value": [" & @CRLF & _
" 0.0," & @CRLF & _
" 0.028839999809861184," & @CRLF & _
" 0.3259499967098236" & @CRLF & _
" ]" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "textures": [" & @CRLF & _
" {" & @CRLF & _
" "$name": "albedo"," & @CRLF & _
" "$type": "::AnyDiffuseOrAlbedoMapReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_al.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "attributes"," & @CRLF & _
" "$type": "::AttributesMapReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "dirt"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "damage"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_damage_mk.tga"" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "$name": "tintEmissive"," & @CRLF & _
" "$type": "::editor::TextureReference"," & @CRLF & _
" "$value": {" & @CRLF & _
" "is_initialized": true," & @CRLF & _
" "value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_tem.tga"" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
" ]," & @CRLF & _
" "renderState": {" & @CRLF & _
" "blendingMode": "Opaque"," & @CRLF & _
" "depthWrite": "Auto"," & @CRLF & _
" "twoSided": false," & @CRLF & _
" "renderLayer": 0," & @CRLF & _
" "renderPass": {" & @CRLF & _
" "$isSet": false," & @CRLF & _
" "$hasValue": false" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" "materialComponent": {}" & @CRLF & _
" }" & @CRLF & _
" },"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm