959e80cf72
assets upload description.
250 lines
15 KiB
GLSL
250 lines
15 KiB
GLSL
// Made with Amplify Shader Editor
|
|
// Made by Tobyfredson/Original source by Unity Technologies
|
|
Shader "Hidden/TerrainEngine/Details/WavingDoublePass"
|
|
{
|
|
Properties
|
|
{
|
|
[HideInInspector][PerRendererData][NoScaleOffset][SingleLineTexture]_MainTex("MainTex", 2D) = "gray" {}
|
|
_WavingTint("WavingTint", Color) = (1,1,1,0)
|
|
_Cutoff( "Mask Clip Value", Float ) = 0.5
|
|
_cutout("cutout", Range( 0 , 3)) = 1
|
|
_Wetness("Wetness", Range( 0 , 1)) = 0
|
|
_Gloss("Gloss", Float) = 3
|
|
[HideInInspector] _texcoord( "", 2D ) = "white" {}
|
|
[HideInInspector] __dirty( "", Int ) = 1
|
|
|
|
//Edit - wind and distance fade
|
|
_WaveAndDistance ("Wave and distance", Vector) = (12, 3.6, 1, 1)
|
|
}
|
|
|
|
SubShader
|
|
{
|
|
Tags{ "RenderType" = "Grass" "Queue" = "Geometry+0" "ForceNoShadowCasting" = "True" }
|
|
Cull Off
|
|
CGPROGRAM
|
|
#include "UnityShaderVariables.cginc"
|
|
#include "UnityCG.cginc"
|
|
#pragma target 3.0
|
|
#pragma surface surf StandardSpecular keepalpha vertex:vertexDataFunc
|
|
struct Input
|
|
{
|
|
float3 worldPos;
|
|
float3 viewDir;
|
|
float3 worldNormal;
|
|
float2 uv_texcoord;
|
|
|
|
//Edit - distance fade
|
|
float4 color : COLOR;
|
|
};
|
|
|
|
uniform sampler2D _MainTex;
|
|
uniform float4 _WavingTint;
|
|
uniform float _Wetness;
|
|
uniform float _Gloss;
|
|
uniform float _cutout;
|
|
uniform float _Cutoff = 0.5;
|
|
|
|
//Edit - wind and distance fade
|
|
uniform float4 _WaveAndDistance;
|
|
//Edit - distance fade
|
|
uniform float4 _CameraPosition;
|
|
|
|
|
|
float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
|
|
|
|
float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
|
|
|
|
float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); }
|
|
|
|
float snoise( float2 v )
|
|
{
|
|
const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 );
|
|
float2 i = floor( v + dot( v, C.yy ) );
|
|
float2 x0 = v - i + dot( i, C.xx );
|
|
float2 i1;
|
|
i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 );
|
|
float4 x12 = x0.xyxy + C.xxzz;
|
|
x12.xy -= i1;
|
|
i = mod2D289( i );
|
|
float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) );
|
|
float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 );
|
|
m = m * m;
|
|
m = m * m;
|
|
float3 x = 2.0 * frac( p * C.www ) - 1.0;
|
|
float3 h = abs( x ) - 0.5;
|
|
float3 ox = floor( x + 0.5 );
|
|
float3 a0 = x - ox;
|
|
m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h );
|
|
float3 g;
|
|
g.x = a0.x * x0.x + h.x * x0.y;
|
|
g.yz = a0.yz * x12.xz + h.yz * x12.yw;
|
|
return 130.0 * dot( m, g );
|
|
}
|
|
|
|
|
|
void vertexDataFunc( inout appdata_full v, out Input o )
|
|
{
|
|
UNITY_INITIALIZE_OUTPUT( Input, o );
|
|
float3 ase_worldPos = mul( unity_ObjectToWorld, v.vertex );
|
|
float2 appendResult122 = (float2(ase_worldPos.x , ase_worldPos.z));
|
|
float2 appendResult123 = (float2(_Time.y , _Time.y));
|
|
|
|
//Edit - Wind
|
|
float simplePerlin2D132 = snoise( ( appendResult122 + appendResult123 )*_WaveAndDistance.z * 0.3 );
|
|
//float simplePerlin2D132 = snoise( ( appendResult122 + appendResult123 )*1.0 );
|
|
|
|
simplePerlin2D132 = simplePerlin2D132*0.5 + 0.5;
|
|
float3 temp_cast_0 = (( pow( ( v.texcoord.xy.y * 0.5 ) , 2.0 ) * simplePerlin2D132 )).xxx;
|
|
v.vertex.xyz += temp_cast_0;
|
|
|
|
//Edit - distance fade
|
|
float3 offset = v.vertex.xyz - _CameraPosition.xyz;
|
|
v.color.a = saturate (2 * (_WaveAndDistance.w - dot (offset, offset)) * _CameraPosition.w);
|
|
}
|
|
|
|
void surf( Input i , inout SurfaceOutputStandardSpecular o )
|
|
{
|
|
float2 uv_MainTex124 = i.uv_texcoord;
|
|
float4 tex2DNode124 = tex2D( _MainTex, uv_MainTex124 );
|
|
float3 ase_worldPos = i.worldPos;
|
|
#if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aseld
|
|
float3 ase_worldlightDir = 0;
|
|
#else //aseld
|
|
float3 ase_worldlightDir = normalize( UnityWorldSpaceLightDir( ase_worldPos ) );
|
|
#endif //aseld
|
|
float3 ase_worldNormal = i.worldNormal;
|
|
float dotResult171 = dot( i.viewDir , -( ase_worldlightDir + ( ase_worldNormal * 1.0 ) ) );
|
|
float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
|
|
float fresnelNdotV176 = dot( ase_worldNormal, ase_worldViewDir );
|
|
float fresnelNode176 = ( 0.5 + 3.0 * pow( 1.0 - fresnelNdotV176, 8.58 ) );
|
|
o.Albedo = ( ( tex2DNode124 * ( saturate( dotResult171 ) * ( tex2DNode124 * fresnelNode176 ) ) ) + ( _WavingTint * tex2DNode124 ) ).rgb;
|
|
float grayscale138 = Luminance(tex2DNode124.rgb);
|
|
float3 temp_cast_2 = (( pow( grayscale138 , 4.5 ) * _Wetness )).xxx;
|
|
o.Specular = temp_cast_2;
|
|
o.Smoothness = ( grayscale138 * _Gloss );
|
|
o.Alpha = 1;
|
|
//Edit - distance fade
|
|
tex2DNode124.a *= i.color.a;
|
|
|
|
clip( ( tex2DNode124.a * _cutout ) - _Cutoff );
|
|
}
|
|
|
|
ENDCG
|
|
}
|
|
Fallback "Diffuse"
|
|
CustomEditor "ASEMaterialInspector"
|
|
}
|
|
/*ASEBEGIN
|
|
Version=18301
|
|
476;686;1906;959;3727.296;1230.277;1.981129;True;True
|
|
Node;AmplifyShaderEditor.CommentaryNode;136;-2733.351,-235.9568;Inherit;False;1611.704;648.0309;View Dot direction;17;179;160;175;174;171;176;162;163;156;169;167;154;165;166;170;164;194;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.WorldNormalVector;170;-2614.302,152.0811;Inherit;False;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
|
|
Node;AmplifyShaderEditor.RangedFloatNode;164;-2708.91,304.6805;Inherit;False;Constant;_SubsurfaceDistortionModifire;Subsurface Distortion Modifire;9;0;Create;True;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.WorldSpaceLightDirHlpNode;165;-2626.518,7.849774;Inherit;False;False;1;0;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;166;-2417.56,208.6358;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
|
|
Node;AmplifyShaderEditor.SimpleAddOpNode;154;-2268.358,84.86289;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
|
|
Node;AmplifyShaderEditor.CommentaryNode;118;-2642.938,-1098.401;Inherit;False;535.4534;451.7778;Main Texture;3;181;158;124;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.CommentaryNode;190;-1599.498,464.2219;Inherit;False;1362.583;719.8359;Base Wind;13;121;126;130;132;131;135;120;128;117;123;122;127;115;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.SamplerNode;124;-2592.938,-876.6215;Inherit;True;Property;_MainTex;MainTex;0;4;[HideInInspector];[PerRendererData];[NoScaleOffset];[SingleLineTexture];Create;True;0;0;False;0;False;-1;None;cdae7318439d736478272cfc0ac70dda;True;0;False;gray;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.ViewDirInputsCoordNode;162;-2570.812,-148.6988;Inherit;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
|
|
Node;AmplifyShaderEditor.RangedFloatNode;163;-2082.24,46.38039;Inherit;False;Constant;_FresnelBias;Fresnel Bias;9;0;Create;True;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.NegateNode;167;-2118.454,-45.17647;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;169;-2084.681,137.813;Inherit;False;Constant;_FresnelScale;Fresnel Scale;9;0;Create;True;0;0;False;0;False;3;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;156;-2090.672,224.5666;Inherit;False;Constant;_FresnelPower;Fresnel Power;9;0;Create;True;0;0;False;0;False;8.58;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.CommentaryNode;119;-2607.943,-613.0228;Inherit;False;498.8287;240.6366;Opacity;2;129;125;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.WorldPosInputsNode;115;-1498.6,872.4641;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
|
|
Node;AmplifyShaderEditor.SimpleTimeNode;117;-1549.498,1037.057;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.WireNode;192;-2044.878,-565.3229;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.DotProductOpNode;171;-1983.567,-130.6244;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.FresnelNode;176;-1881.894,69.32381;Inherit;True;Standard;WorldNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;175;-1562.763,44.33999;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.TextureCoordinatesNode;120;-1518.635,514.2218;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.DynamicAppendNode;122;-1272.497,954.0574;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.DynamicAppendNode;123;-1301.497,1051.057;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;125;-2557.943,-487.3863;Inherit;False;Property;_cutout;cutout;3;0;Create;True;0;0;False;0;False;1;1;0;3;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.WireNode;193;-2013.168,-316.9221;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.CommentaryNode;134;-1942.748,-841.6075;Inherit;False;807.9027;481.7047;Specular and Wetness;5;186;180;187;138;197;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.SaturateNode;174;-1854.326,-123.0989;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;121;-1438.269,686.9741;Inherit;False;Constant;_WindGradient;Wind Gradient;9;0;Create;True;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;128;-1118.7,862.7329;Inherit;False;Constant;_WindScale;Wind Scale;9;0;Create;True;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.WireNode;194;-1580.099,-116.0389;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;160;-1409.219,-54.58219;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.SimpleAddOpNode;127;-1096.781,997.645;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.ColorNode;158;-2527.156,-1048.401;Inherit;False;Property;_WavingTint;WavingTint;1;0;Create;True;0;0;False;0;False;1,1,1,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.RangedFloatNode;126;-1270.14,782.8242;Inherit;False;Constant;_WindPower;Wind Power;9;0;Create;True;0;0;False;0;False;2;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.TFHCGrayscale;138;-1892.748,-750.1411;Inherit;True;0;1;0;FLOAT3;0,0,0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;129;-2251.555,-501.727;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;130;-1222.943,541.8803;Inherit;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.WireNode;197;-1660.049,-571.5366;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;137;-1037.685,-25.56671;Inherit;False;Property;_Gloss;Gloss;5;0;Create;True;0;0;False;0;False;3;3;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.PowerNode;180;-1633.45,-793.0256;Inherit;True;False;2;0;FLOAT;0;False;1;FLOAT;4.5;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;181;-2276.484,-938.2457;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.WireNode;195;-2060.387,-318.2713;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.NoiseGeneratorNode;132;-906.3297,790.7109;Inherit;True;Simplex2D;True;False;2;0;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.PowerNode;131;-938.5947,532.9862;Inherit;True;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;179;-1280.926,77.67693;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.CommentaryNode;191;-1024.483,-1019.55;Inherit;False;204;183;Albedo;1;189;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.CommentaryNode;139;-835.1442,-169.5991;Inherit;False;219;183;Gloss;1;161;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;187;-1887.704,-516.6221;Inherit;False;Property;_Wetness;Wetness;4;0;Create;True;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;186;-1373.401,-614.2463;Inherit;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;135;-471.9157,677.546;Inherit;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleAddOpNode;189;-974.483,-969.5505;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;161;-785.1442,-119.5992;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.WireNode;196;-371.5962,-226.785;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;7;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;StandardSpecular;Hidden/TerrainEngine/Details/WavingDoublePass;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;Off;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;5;Custom;0.5;True;False;0;True;Grass;;Geometry;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;1;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;2;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
|
|
WireConnection;166;0;170;0
|
|
WireConnection;166;1;164;0
|
|
WireConnection;154;0;165;0
|
|
WireConnection;154;1;166;0
|
|
WireConnection;167;0;154;0
|
|
WireConnection;192;0;124;0
|
|
WireConnection;171;0;162;0
|
|
WireConnection;171;1;167;0
|
|
WireConnection;176;1;163;0
|
|
WireConnection;176;2;169;0
|
|
WireConnection;176;3;156;0
|
|
WireConnection;175;0;124;0
|
|
WireConnection;175;1;176;0
|
|
WireConnection;122;0;115;1
|
|
WireConnection;122;1;115;3
|
|
WireConnection;123;0;117;0
|
|
WireConnection;123;1;117;0
|
|
WireConnection;193;0;192;0
|
|
WireConnection;174;0;171;0
|
|
WireConnection;194;0;193;0
|
|
WireConnection;160;0;174;0
|
|
WireConnection;160;1;175;0
|
|
WireConnection;127;0;122;0
|
|
WireConnection;127;1;123;0
|
|
WireConnection;138;0;124;0
|
|
WireConnection;129;0;124;4
|
|
WireConnection;129;1;125;0
|
|
WireConnection;130;0;120;2
|
|
WireConnection;130;1;121;0
|
|
WireConnection;197;0;138;0
|
|
WireConnection;180;0;138;0
|
|
WireConnection;181;0;158;0
|
|
WireConnection;181;1;124;0
|
|
WireConnection;195;0;129;0
|
|
WireConnection;132;0;127;0
|
|
WireConnection;132;1;128;0
|
|
WireConnection;131;0;130;0
|
|
WireConnection;131;1;126;0
|
|
WireConnection;179;0;194;0
|
|
WireConnection;179;1;160;0
|
|
WireConnection;186;0;180;0
|
|
WireConnection;186;1;187;0
|
|
WireConnection;135;0;131;0
|
|
WireConnection;135;1;132;0
|
|
WireConnection;189;0;179;0
|
|
WireConnection;189;1;181;0
|
|
WireConnection;161;0;197;0
|
|
WireConnection;161;1;137;0
|
|
WireConnection;196;0;195;0
|
|
WireConnection;7;0;189;0
|
|
WireConnection;7;3;186;0
|
|
WireConnection;7;4;161;0
|
|
WireConnection;7;10;196;0
|
|
WireConnection;7;11;135;0
|
|
ASEEND*/
|
|
//CHKSM=59C454E2EB4C7F0E9E8D9444945025A096D8460E |