string DefaultParameterScopeBlock = "material"; // 1 float3 AmbientLightColor : register(vs_2_0, c4) : register(vs_3_0, c4) = { 0.3, 0.3, 0.3 }; struct { float3 Color; float3 Direction; } DirectionalLight[3] : register(vs_2_0, c5) : register(vs_3_0, c5) = { 1.625198, 1.512711, 1.097048, 0.62914, -0.34874, 0.69465, 0.5232916, 0.6654605, 0.7815244, -0.32877, 0.90329, 0.27563, 0.4420466, 0.4102767, 0.4420466, -0.80704, -0.58635, 0.06975 }; int NumPointLights ; struct { float3 Color; float3 Position; float2 Range_Inner_Outer; } PointLight[3] : register(vs_3_0, c89) ; struct { float4 WorldPositionMultiplier_XYZZ; float2 CurrentOffsetUV; } Cloud : register(vs_2_0, c117) : register(vs_3_0, c117) ; float3 NoCloudMultiplier = { 1, 1, 1 }; bool HasRecolorColors ; float3 RecolorColor : register(vs_2_0, c0) : register(vs_3_0, c0) ; column_major float4x4 ShadowMapWorldToShadow : register(vs_2_0, c113) : register(vs_3_0, c113) ; float OpacityOverride : register(vs_2_0, c1) : register(vs_3_0, c1) = { 1 }; float3 TintColor = { 1, 1, 1 }; float3 EyePosition : register(vs_2_0, c123) : register(vs_3_0, c123) ; column_major float4x4 ViewProjection : register(vs_2_0, c119) : register(vs_3_0, c119) ; float4 WorldBones[128] : register(vs_2_0, c128) : register(vs_3_0, c128) ; bool HasShadow ; texture ShadowMap ; // 8 sampler2D ShadowMapSampler : register(ps_2_0, s0) : register(ps_3_0, s0) = sampler_state { Texture = ; // 11 MinFilter = 1; MagFilter = 1; MipFilter = 0; AddressU = 3; AddressV = 3; }; float4 Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize : register(ps_2_0, c11) : register(ps_3_0, c11) ; int _SasGlobal : SasGlobal ; int NumJointsPerVertex ; column_major float4x3 World : World : register(vs_2_0, c124) : register(vs_3_0, c124); float3 ColorAmbient : register(vs_2_0, c23) : register(vs_3_0, c26) = { 1, 1, 1 }; float3 ColorDiffuse : register(vs_2_0, c24) : register(vs_3_0, c27) = { 1, 1, 1 }; float3 ColorSpecular ; float Shininess : register(vs_2_0, c26) : register(vs_3_0, c29) = { 1 }; float3 ColorEmissive ; float EmissiveHDRMultipler = { 1 }; float Opacity : register(vs_2_0, c27) : register(vs_3_0, c30) = { 1 }; float EdgeFadeOut ; int NumTextures = { 1 }; texture Texture_0 ; // 37 sampler2D Texture_0Sampler : register(ps_2_0, s1) : register(ps_3_0, s1) = sampler_state { Texture = ; // 39 MinFilter = 3; MagFilter = 2; MipFilter = 2; AddressU = 1; AddressV = 1; }; texture Texture_1 ; // 42 sampler2D Texture_1Sampler = sampler_state { Texture = ; // 44 MinFilter = 3; MagFilter = 2; MipFilter = 2; AddressU = 1; AddressV = 1; }; bool UseRecolorColors ; bool HouseColorPulse : register(vs_2_0, c28) : register(vs_3_0, c31) ; bool UseWorldCords : register(vs_2_0, c29) : register(vs_3_0, c32) ; bool DepthWriteEnable = { 1 }; bool AlphaTestEnable ; bool CullingEnable = { 1 }; int BlendMode ; int SecondaryTextureBlendMode ; int TexCoordMapper_0 ; float4 TexCoordTransform_0 = { 1, 1, 0, 0 }; float4 TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0 = { 0, 1, 1, 0 }; int TexCoordMapper_1 ; float4 TexCoordTransform_1 : register(vs_2_0, c30) : register(vs_3_0, c33) = { 1, 1, 0, 0 }; struct { float4 ScaleUV_OffsetUV; } Shroud : register(vs_2_0, c31) : register(vs_3_0, c34) = { 1, 1, 0, 0 }; texture ShroudTexture ; // 65 sampler2D ShroudTextureSampler = sampler_state { Texture = ; // 68 MinFilter = 2; MagFilter = 2; MipFilter = 2; AddressU = 3; AddressV = 3; }; texture CloudTexture ; // 72 sampler2D CloudTextureSampler : register(ps_2_0, s3) : register(ps_3_0, s3) = sampler_state { Texture = ; // 76 MinFilter = 2; MagFilter = 2; MipFilter = 2; AddressU = 1; AddressV = 1; }; column_major float4x4 View : View : register(vs_2_0, c18); float Time : Time; // VS_Array_Shader_0 Vertex_3_0 Has PRES True struct VS_Array_Shader_0_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_0_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_0_Output VS_Array_Shader_0(VS_Array_Shader_0_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_Array_Shader_0_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c0.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3, r2.w, v4 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v4.w temp4.w = i.color.w; // mov r3.xyz, v4 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c21.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c19 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c20 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c0.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c21.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c0.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c16.x, r0, r2 temp0.xyz = expr16.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c18 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r0.xyz, r0, c19, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c2.x o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c22.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c20 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c2.x o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // add r0.xy, r1, -v3 temp0.xy = temp1.xy + -i.texcoord1.xy; // mad o4.xy, c23.x, r0, v3 o.texcoord1 = UseWorldCords.x * temp0 + i.texcoord1; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c24.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c24 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c0.x o.color1.w = float1(1); // mov o3.xy, v2 o.texcoord = i.texcoord; // mad o7.xyz, r0, r1.x, c2.yyzw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_1 Vertex_3_0 Has PRES True struct VS_Array_Shader_1_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_1_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_1_Output VS_Array_Shader_1(VS_Array_Shader_1_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_Array_Shader_1_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3, r2.w, v5 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mov r3.xyz, v5 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c21.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c19 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c20 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c21.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c18 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c19, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c22.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c20 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c23.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c24.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c24 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mov o3.xy, v3 o.texcoord = i.texcoord; // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_2 Vertex_3_0 Has PRES True struct VS_Array_Shader_2_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_2_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_2_Output VS_Array_Shader_2(VS_Array_Shader_2_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_Array_Shader_2_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c11.x temp3.x = saturate(abs(temp3).x * expr11.x); // mad r3.y, r3.x, c0.z, c0.w temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3, r2.w, v8 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mov r3.xyz, v8 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c21.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c19 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c20 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c21.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c18 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c19, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c22.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c20 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c23.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c24.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c24 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mov o3.xy, v6 o.texcoord = i.texcoord; // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_3 Vertex_3_0 Has PRES True struct VS_Array_Shader_3_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_3_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_3_Output VS_Array_Shader_3(VS_Array_Shader_3_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c6.x, c5.zw expr18.xy = Time.x * TexCoordTransform_0.zw; } VS_Array_Shader_3_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c0.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3, r2.w, v4 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v4.w temp4.w = i.color.w; // mov r3.xyz, v4 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c0.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c0.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c16.x, r0, r2 temp0.xyz = expr16.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r0.xyz, r0, c20, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c2.x o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c23.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c21 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c2.x o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.xy, c25 temp0.xy = TexCoordTransform_0.xy; // mad o3.xy, v2, r0, c18 o.texcoord = i.texcoord * temp0 + expr18; // add r0.xy, r1, -v3 temp0.xy = temp1.xy + -i.texcoord1.xy; // mad o4.xy, c24.x, r0, v3 o.texcoord1 = UseWorldCords.x * temp0 + i.texcoord1; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c26.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c26 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r0, r1.x, c2.yyzw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_4 Vertex_3_0 Has PRES True struct VS_Array_Shader_4_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_4_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_4_Output VS_Array_Shader_4(VS_Array_Shader_4_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c6.x, c5.zw expr18.xy = Time.x * TexCoordTransform_0.zw; } VS_Array_Shader_4_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3, r2.w, v5 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mov r3.xyz, v5 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c20, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c23.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c21 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.xy, c25 temp1.xy = TexCoordTransform_0.xy; // mad o3.xy, v3, r1, c18 o.texcoord = i.texcoord * temp1 + expr18; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c24.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c26.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c26 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_5 Vertex_3_0 Has PRES True struct VS_Array_Shader_5_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_5_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_5_Output VS_Array_Shader_5(VS_Array_Shader_5_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c6.x, c5.zw expr18.xy = Time.x * TexCoordTransform_0.zw; } VS_Array_Shader_5_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c11.x temp3.x = saturate(abs(temp3).x * expr11.x); // mad r3.y, r3.x, c0.z, c0.w temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3, r2.w, v8 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mov r3.xyz, v8 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c20, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c23.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c21 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.xy, c25 temp1.xy = TexCoordTransform_0.xy; // mad o3.xy, v6, r1, c18 o.texcoord = i.texcoord * temp1 + expr18; // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c24.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c26.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c26 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_6 Vertex_3_0 Has PRES True struct VS_Array_Shader_6_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_6_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_6_Output VS_Array_Shader_6(VS_Array_Shader_6_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 13 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 23 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c23.xy, r0.x, r0.yz expr23.xy = temp0.x * temp0.yz; } VS_Array_Shader_6_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c0.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3, r2.w, v4 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v4.w temp4.w = i.color.w; // mov r3.xyz, v4 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c27.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c25 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c26 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c0.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c27.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c0.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c16.x, r0, r2 temp0.xyz = expr16.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c24 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r0.xyz, r0, c25, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c2.x o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c28.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c26 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c2.x o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c23, v2 o.texcoord = expr23 + i.texcoord; // add r0.xy, r1, -v3 temp0.xy = temp1.xy + -i.texcoord1.xy; // mad o4.xy, c29.x, r0, v3 o.texcoord1 = UseWorldCords.x * temp0 + i.texcoord1; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c30.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c30 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r0, r1.x, c2.yyzw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_7 Vertex_3_0 Has PRES True struct VS_Array_Shader_7_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_7_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_7_Output VS_Array_Shader_7(VS_Array_Shader_7_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 13 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 23 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c23.xy, r0.x, r0.yz expr23.xy = temp0.x * temp0.yz; } VS_Array_Shader_7_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3, r2.w, v5 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mov r3.xyz, v5 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c27.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c25 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c26 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c27.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c24 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c25, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c28.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c26 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c23, v3 o.texcoord = expr23 + i.texcoord; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c29.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c30.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c30 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_8 Vertex_3_0 Has PRES True struct VS_Array_Shader_8_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_8_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_8_Output VS_Array_Shader_8(VS_Array_Shader_8_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 13 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 23 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c23.xy, r0.x, r0.yz expr23.xy = temp0.x * temp0.yz; } VS_Array_Shader_8_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c11.x temp3.x = saturate(abs(temp3).x * expr11.x); // mad r3.y, r3.x, c0.z, c0.w temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3, r2.w, v8 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mov r3.xyz, v8 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c27.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c25 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c26 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c27.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c24 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c25, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c28.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c26 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c23, v6 o.texcoord = expr23 + i.texcoord; // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c29.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c30.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c30 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_9 Vertex_3_0 Has PRES True struct VS_Array_Shader_9_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_9_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_9_Output VS_Array_Shader_9(VS_Array_Shader_9_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c6.x, c5.zw expr18.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_9_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c0.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3, r2.w, v4 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v4.w temp4.w = i.color.w; // mov r3.xyz, v4 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c0.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c0.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c16.x, r0, r2 temp0.xyz = expr16.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r0.xyz, r0, c20, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c2.x o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c23.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c21 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c2.x o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // lrp r0.xy, c24.x, r1, v3 temp0.xy = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c25 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r0, r2, c18 o.texcoord1 = temp0 * temp2 + expr18; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c26.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c26 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c0.x o.color1.w = float1(1); // mov o3.xy, v2 o.texcoord = i.texcoord; // mad o7.xyz, r0, r1.x, c2.yyzw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_10 Vertex_3_0 Has PRES True struct VS_Array_Shader_10_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_10_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_10_Output VS_Array_Shader_10(VS_Array_Shader_10_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c6.x, c5.zw expr18.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_10_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3, r2.w, v5 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mov r3.xyz, v5 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c20, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c23.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c21 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // lrp r1.xy, c24.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c25 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c18 o.texcoord1 = temp1 * temp2 + expr18; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c26.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c26 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mov o3.xy, v3 o.texcoord = i.texcoord; // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_11 Vertex_3_0 Has PRES True struct VS_Array_Shader_11_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_11_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_11_Output VS_Array_Shader_11(VS_Array_Shader_11_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c6.x, c5.zw expr18.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_11_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c11.x temp3.x = saturate(abs(temp3).x * expr11.x); // mad r3.y, r3.x, c0.z, c0.w temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3, r2.w, v8 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mov r3.xyz, v8 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c20, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c23.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c21 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // lrp r1.xy, c24.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c25 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c18 o.texcoord1 = temp1 * temp2 + expr18; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c26.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c26 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mov o3.xy, v6 o.texcoord = i.texcoord; // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_12 Vertex_3_0 Has PRES True struct VS_Array_Shader_12_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_12_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_12_Output VS_Array_Shader_12(VS_Array_Shader_12_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 7 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c7.x, c5.zw expr18.xy = Time.x * TexCoordTransform_0.zw; // mul c19.xy, c7.x, c6.zw expr19.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_12_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c0.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3, r2.w, v4 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v4.w temp4.w = i.color.w; // mov r3.xyz, v4 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c0.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c0.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c16.x, r0, r2 temp0.xyz = expr16.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r0.xyz, r0, c21, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c2.x o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c24.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c22 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c2.x o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.xy, c26 temp0.xy = TexCoordTransform_0.xy; // mad o3.xy, v2, r0, c18 o.texcoord = i.texcoord * temp0 + expr18; // lrp r0.xy, c25.x, r1, v3 temp0.xy = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c27 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r0, r2, c19 o.texcoord1 = temp0 * temp2 + expr19; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c28.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c28 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r0, r1.x, c2.yyzw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_13 Vertex_3_0 Has PRES True struct VS_Array_Shader_13_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_13_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_13_Output VS_Array_Shader_13(VS_Array_Shader_13_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 7 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c7.x, c5.zw expr18.xy = Time.x * TexCoordTransform_0.zw; // mul c19.xy, c7.x, c6.zw expr19.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_13_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3, r2.w, v5 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mov r3.xyz, v5 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c21, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c24.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c22 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.xy, c26 temp1.xy = TexCoordTransform_0.xy; // mad o3.xy, v3, r1, c18 o.texcoord = i.texcoord * temp1 + expr18; // lrp r1.xy, c25.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c27 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c19 o.texcoord1 = temp1 * temp2 + expr19; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c28.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c28 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_14 Vertex_3_0 Has PRES True struct VS_Array_Shader_14_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_14_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_14_Output VS_Array_Shader_14(VS_Array_Shader_14_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 7 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c18.xy, c7.x, c5.zw expr18.xy = Time.x * TexCoordTransform_0.zw; // mul c19.xy, c7.x, c6.zw expr19.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_14_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c11.x temp3.x = saturate(abs(temp3).x * expr11.x); // mad r3.y, r3.x, c0.z, c0.w temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3, r2.w, v8 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mov r3.xyz, v8 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c21, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c24.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c22 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.xy, c26 temp1.xy = TexCoordTransform_0.xy; // mad o3.xy, v6, r1, c18 o.texcoord = i.texcoord * temp1 + expr18; // lrp r1.xy, c25.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c27 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c19 o.texcoord1 = temp1 * temp2 + expr19; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c28.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c28 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_15 Vertex_3_0 Has PRES True struct VS_Array_Shader_15_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_15_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_15_Output VS_Array_Shader_15(VS_Array_Shader_15_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 14 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 23 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c7.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c23.xy, r0.x, r0.yz expr23.xy = temp0.x * temp0.yz; // mul c24.xy, c7.x, c6.zw expr24.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_15_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c0.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3, r2.w, v4 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v4.w temp4.w = i.color.w; // mov r3.xyz, v4 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c28.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c26 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c27 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c0.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c28.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c0.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c0.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c16.x, r0, r2 temp0.xyz = expr16.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c25 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r0.xyz, r0, c26, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c2.x o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c29.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c27 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c2.x o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c23, v2 o.texcoord = expr23 + i.texcoord; // lrp r0.xy, c30.x, r1, v3 temp0.xy = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c31 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r0, r2, c24 o.texcoord1 = temp0 * temp2 + expr24; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c32.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c32 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r0, r1.x, c2.yyzw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_16 Vertex_3_0 Has PRES True struct VS_Array_Shader_16_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_16_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_16_Output VS_Array_Shader_16(VS_Array_Shader_16_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 14 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 23 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c7.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c23.xy, r0.x, r0.yz expr23.xy = temp0.x * temp0.yz; // mul c24.xy, c7.x, c6.zw expr24.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_16_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c11.x temp2.w = saturate(abs(temp2).w * expr11.x); // mad r3.x, r2.w, c0.z, c0.w temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3, r2.w, v5 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mov r3.xyz, v5 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c28.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c26 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c27 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c28.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c25 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c26, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c29.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c27 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c23, v3 o.texcoord = expr23 + i.texcoord; // lrp r1.xy, c30.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c31 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c24 o.texcoord1 = temp1 * temp2 + expr24; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c32.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c32 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_17 Vertex_3_0 Has PRES True struct VS_Array_Shader_17_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_17_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_17_Output VS_Array_Shader_17(VS_Array_Shader_17_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 14 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 5 1 - ConstOutput: 23 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c3.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c13.x, r0.x, r1.x expr13.x = max(temp0.x, temp1.x); // lt c14.x, (0), c0.x expr14.x = (0) < NumPointLights.x; // lt c15.x, (1), c0.x expr15.x = (1) < NumPointLights.x; // lt c16.x, (2), c0.x expr16.x = (2) < NumPointLights.x; // mul c17.xyz, c2.x, c1.xyz expr17.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c7.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c23.xy, r0.x, r0.yz expr23.xy = temp0.x * temp0.yz; // mul c24.xy, c7.x, c6.zw expr24.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_17_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c0, 1, -1, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c11.x temp3.x = saturate(abs(temp3).x * expr11.x); // mad r3.y, r3.x, c0.z, c0.w temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3, r2.w, v8 temp3 = temp2.w * i.color; // mov r4.xyz, r3 temp4.xyz = temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mov r3.xyz, v8 temp3.xyz = i.color.xyz; // lrp r5, c13.x, r3, r4 temp5 = lerp(temp4, temp3, expr13.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c28.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c26 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.x o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c27 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.x o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c0.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c28.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c0.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c14.x, r2, r3 temp2.xyz = expr14.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.y temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r3, r2 temp2.xyz = expr15.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c0.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.y temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c16.x, r1, r2 temp1.xyz = expr16.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c25 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c17 temp2.xyz = temp2.xyz * temp3.xyz + expr17.xyz; // mad r1.xyz, r1, c26, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.x o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c29.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c27 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.x o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c23, v6 o.texcoord = expr23 + i.texcoord; // lrp r1.xy, c30.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c31 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c24 o.texcoord1 = temp1 * temp2 + expr24; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c32.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c32 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c0.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c2.yyzw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_18 Vertex_3_0 Has PRES True struct VS_Array_Shader_18_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_18_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_18_Output VS_Array_Shader_18(VS_Array_Shader_18_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_Array_Shader_18_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c27, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c3.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v4 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c24.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v4.w temp4.w = temp2.w * i.color.w; // mov r3.w, v4.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c3.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c17.x, r0, r2 temp0.xyz = expr17.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r0.xyz, r0, c20, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c3.w o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c23.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c21 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c3.w o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // add r0.xy, r1, -v3 temp0.xy = temp1.xy + -i.texcoord1.xy; // mad o4.xy, c25.x, r0, v3 o.texcoord1 = UseWorldCords.x * temp0 + i.texcoord1; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c26.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c26 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c3.x o.color1.w = float1(1); // mov o3.xy, v2 o.texcoord = i.texcoord; // mad o7.xyz, r0, r1.x, c27.xxyw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_19 Vertex_3_0 Has PRES True struct VS_Array_Shader_19_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_19_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_19_Output VS_Array_Shader_19(VS_Array_Shader_19_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_Array_Shader_19_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, -1, 0.25, 0.5 // def c27, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c3.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v5 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c24.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r3.w, v5.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c20, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c3.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c23.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c21 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c3.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c25.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c26.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c26 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c3.x o.color1.w = float1(1); // mov o3.xy, v3 o.texcoord = i.texcoord; // mad o7.xyz, r1, r0.y, c27.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_20 Vertex_3_0 Has PRES True struct VS_Array_Shader_20_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_20_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_20_Output VS_Array_Shader_20(VS_Array_Shader_20_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 8 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_Array_Shader_20_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c2, 1, -1, 0.25, 0.5 // def c3, -2, 3, 0, 0 // def c27, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c2.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c2 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v8 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c24.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c12.x temp3.x = saturate(abs(temp3).x * expr12.x); // mad r3.y, r3.x, c3.x, c3.y temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v8.w temp4.w = temp2.w * i.color.w; // mov r3.w, v8.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c22.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c20 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c21 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c22.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c3.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c19 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c20, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c23.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c21 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c25.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c26.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c26 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c2.x o.color1.w = float1(1); // mov o3.xy, v6 o.texcoord = i.texcoord; // mad o7.xyz, r1, r0.y, c27.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_21 Vertex_3_0 Has PRES True struct VS_Array_Shader_21_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_21_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_21_Output VS_Array_Shader_21(VS_Array_Shader_21_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c6.x, c5.zw expr19.xy = Time.x * TexCoordTransform_0.zw; } VS_Array_Shader_21_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c29, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c3.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v4 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c25.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v4.w temp4.w = temp2.w * i.color.w; // mov r3.w, v4.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c3.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c17.x, r0, r2 temp0.xyz = expr17.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r0.xyz, r0, c21, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c3.w o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c24.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c22 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c3.w o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.xy, c27 temp0.xy = TexCoordTransform_0.xy; // mad o3.xy, v2, r0, c19 o.texcoord = i.texcoord * temp0 + expr19; // add r0.xy, r1, -v3 temp0.xy = temp1.xy + -i.texcoord1.xy; // mad o4.xy, c26.x, r0, v3 o.texcoord1 = UseWorldCords.x * temp0 + i.texcoord1; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c28.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c28 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c3.x o.color1.w = float1(1); // mad o7.xyz, r0, r1.x, c29.xxyw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_22 Vertex_3_0 Has PRES True struct VS_Array_Shader_22_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_22_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_22_Output VS_Array_Shader_22(VS_Array_Shader_22_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c6.x, c5.zw expr19.xy = Time.x * TexCoordTransform_0.zw; } VS_Array_Shader_22_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, -1, 0.25, 0.5 // def c29, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c3.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v5 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c25.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r3.w, v5.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c21, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c3.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c24.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c22 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c3.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.xy, c27 temp1.xy = TexCoordTransform_0.xy; // mad o3.xy, v3, r1, c19 o.texcoord = i.texcoord * temp1 + expr19; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c26.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c28.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c28 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c3.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c29.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_23 Vertex_3_0 Has PRES True struct VS_Array_Shader_23_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_23_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_23_Output VS_Array_Shader_23(VS_Array_Shader_23_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c6.x, c5.zw expr19.xy = Time.x * TexCoordTransform_0.zw; } VS_Array_Shader_23_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c2, 1, -1, 0.25, 0.5 // def c3, -2, 3, 0, 0 // def c29, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c2.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c2 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v8 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c25.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c12.x temp3.x = saturate(abs(temp3).x * expr12.x); // mad r3.y, r3.x, c3.x, c3.y temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v8.w temp4.w = temp2.w * i.color.w; // mov r3.w, v8.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c3.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c21, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c24.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c22 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.xy, c27 temp1.xy = TexCoordTransform_0.xy; // mad o3.xy, v6, r1, c19 o.texcoord = i.texcoord * temp1 + expr19; // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c26.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c28.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c28 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c2.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c29.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_24 Vertex_3_0 Has PRES True struct VS_Array_Shader_24_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_24_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_24_Output VS_Array_Shader_24(VS_Array_Shader_24_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 14 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 24 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c24.xy, r0.x, r0.yz expr24.xy = temp0.x * temp0.yz; } VS_Array_Shader_24_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c33, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c3.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v4 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c30.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v4.w temp4.w = temp2.w * i.color.w; // mov r3.w, v4.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c28.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c26 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c27 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c28.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c3.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c17.x, r0, r2 temp0.xyz = expr17.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c25 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r0.xyz, r0, c26, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c3.w o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c29.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c27 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c3.w o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c24, v2 o.texcoord = expr24 + i.texcoord; // add r0.xy, r1, -v3 temp0.xy = temp1.xy + -i.texcoord1.xy; // mad o4.xy, c31.x, r0, v3 o.texcoord1 = UseWorldCords.x * temp0 + i.texcoord1; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c32.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c32 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c3.x o.color1.w = float1(1); // mad o7.xyz, r0, r1.x, c33.xxyw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_25 Vertex_3_0 Has PRES True struct VS_Array_Shader_25_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_25_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_25_Output VS_Array_Shader_25(VS_Array_Shader_25_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 14 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 24 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c24.xy, r0.x, r0.yz expr24.xy = temp0.x * temp0.yz; } VS_Array_Shader_25_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, -1, 0.25, 0.5 // def c33, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c3.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v5 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c30.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r3.w, v5.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c28.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c26 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c27 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c28.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c25 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c26, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c3.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c29.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c27 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c3.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c24, v3 o.texcoord = expr24 + i.texcoord; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c31.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c32.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c32 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c3.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c33.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_26 Vertex_3_0 Has PRES True struct VS_Array_Shader_26_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_26_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_26_Output VS_Array_Shader_26(VS_Array_Shader_26_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 14 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 24 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c24.xy, r0.x, r0.yz expr24.xy = temp0.x * temp0.yz; } VS_Array_Shader_26_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c2, 1, -1, 0.25, 0.5 // def c3, -2, 3, 0, 0 // def c33, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c2.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c2 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v8 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c30.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c12.x temp3.x = saturate(abs(temp3).x * expr12.x); // mad r3.y, r3.x, c3.x, c3.y temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v8.w temp4.w = temp2.w * i.color.w; // mov r3.w, v8.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c28.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c26 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c27 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c28.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c3.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c25 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c26, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c29.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c27 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c24, v6 o.texcoord = expr24 + i.texcoord; // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad o4.xy, c31.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c32.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c32 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c2.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c33.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_27 Vertex_3_0 Has PRES True struct VS_Array_Shader_27_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_27_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_27_Output VS_Array_Shader_27(VS_Array_Shader_27_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c6.x, c5.zw expr19.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_27_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c29, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c3.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v4 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c25.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v4.w temp4.w = temp2.w * i.color.w; // mov r3.w, v4.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c3.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c17.x, r0, r2 temp0.xyz = expr17.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r0.xyz, r0, c21, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c3.w o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c24.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c22 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c3.w o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // lrp r0.xy, c26.x, r1, v3 temp0.xy = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c27 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r0, r2, c19 o.texcoord1 = temp0 * temp2 + expr19; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c28.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c28 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c3.x o.color1.w = float1(1); // mov o3.xy, v2 o.texcoord = i.texcoord; // mad o7.xyz, r0, r1.x, c29.xxyw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_28 Vertex_3_0 Has PRES True struct VS_Array_Shader_28_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_28_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_28_Output VS_Array_Shader_28(VS_Array_Shader_28_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c6.x, c5.zw expr19.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_28_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, -1, 0.25, 0.5 // def c29, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c3.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v5 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c25.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r3.w, v5.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c21, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c3.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c24.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c22 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c3.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // lrp r1.xy, c26.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c27 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c19 o.texcoord1 = temp1 * temp2 + expr19; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c28.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c28 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c3.x o.color1.w = float1(1); // mov o3.xy, v3 o.texcoord = i.texcoord; // mad o7.xyz, r1, r0.y, c29.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_29 Vertex_3_0 Has PRES True struct VS_Array_Shader_29_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_29_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_29_Output VS_Array_Shader_29(VS_Array_Shader_29_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 9 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 6 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c6.x, c5.zw expr19.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_29_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c2, 1, -1, 0.25, 0.5 // def c3, -2, 3, 0, 0 // def c29, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c2.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c2 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v8 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c25.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c12.x temp3.x = saturate(abs(temp3).x * expr12.x); // mad r3.y, r3.x, c3.x, c3.y temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v8.w temp4.w = temp2.w * i.color.w; // mov r3.w, v8.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c23.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c21 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c22 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c23.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c3.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c20 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c21, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c24.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c22 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // lrp r1.xy, c26.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c27 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c19 o.texcoord1 = temp1 * temp2 + expr19; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c28.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c28 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c2.x o.color1.w = float1(1); // mov o3.xy, v6 o.texcoord = i.texcoord; // mad o7.xyz, r1, r0.y, c29.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_30 Vertex_3_0 Has PRES True struct VS_Array_Shader_30_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_30_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_30_Output VS_Array_Shader_30(VS_Array_Shader_30_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 10 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 7 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c7.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c7.x, c5.zw expr19.xy = Time.x * TexCoordTransform_0.zw; // mul c20.xy, c7.x, c6.zw expr20.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_30_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c31, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c3.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v4 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c26.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v4.w temp4.w = temp2.w * i.color.w; // mov r3.w, v4.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c24.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c22 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c23 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c24.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c3.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c17.x, r0, r2 temp0.xyz = expr17.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c21 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r0.xyz, r0, c22, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c3.w o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c25.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c23 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c3.w o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.xy, c28 temp0.xy = TexCoordTransform_0.xy; // mad o3.xy, v2, r0, c19 o.texcoord = i.texcoord * temp0 + expr19; // lrp r0.xy, c27.x, r1, v3 temp0.xy = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c29 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r0, r2, c20 o.texcoord1 = temp0 * temp2 + expr20; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c30.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c30 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c3.x o.color1.w = float1(1); // mad o7.xyz, r0, r1.x, c31.xxyw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_31 Vertex_3_0 Has PRES True struct VS_Array_Shader_31_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_31_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_31_Output VS_Array_Shader_31(VS_Array_Shader_31_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 10 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 7 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c7.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c7.x, c5.zw expr19.xy = Time.x * TexCoordTransform_0.zw; // mul c20.xy, c7.x, c6.zw expr20.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_31_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, -1, 0.25, 0.5 // def c31, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c3.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v5 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c26.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r3.w, v5.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c24.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c22 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c23 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c24.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c21 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c22, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c3.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c25.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c23 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c3.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.xy, c28 temp1.xy = TexCoordTransform_0.xy; // mad o3.xy, v3, r1, c19 o.texcoord = i.texcoord * temp1 + expr19; // lrp r1.xy, c27.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c29 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c20 o.texcoord1 = temp1 * temp2 + expr20; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c30.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c30 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c3.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c31.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_32 Vertex_3_0 Has PRES True struct VS_Array_Shader_32_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_32_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_32_Output VS_Array_Shader_32(VS_Array_Shader_32_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 10 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 7 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c7.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c19.xy, c7.x, c5.zw expr19.xy = Time.x * TexCoordTransform_0.zw; // mul c20.xy, c7.x, c6.zw expr20.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_32_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c2, 1, -1, 0.25, 0.5 // def c3, -2, 3, 0, 0 // def c31, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c2.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c2 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v8 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c26.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c12.x temp3.x = saturate(abs(temp3).x * expr12.x); // mad r3.y, r3.x, c3.x, c3.y temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v8.w temp4.w = temp2.w * i.color.w; // mov r3.w, v8.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c24.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c22 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c23 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c24.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c3.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c21 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c22, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c25.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c23 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.xy, c28 temp1.xy = TexCoordTransform_0.xy; // mad o3.xy, v6, r1, c19 o.texcoord = i.texcoord * temp1 + expr19; // lrp r1.xy, c27.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c29 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c20 o.texcoord1 = temp1 * temp2 + expr20; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c30.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c30 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c2.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c31.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_33 Vertex_3_0 Has PRES True struct VS_Array_Shader_33_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_33_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_33_Output VS_Array_Shader_33(VS_Array_Shader_33_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 15 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 24 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; float4 expr25; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c7.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c7.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c24.xy, r0.x, r0.yz expr24.xy = temp0.x * temp0.yz; // mul c25.xy, c7.x, c6.zw expr25.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_33_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c35, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp3 r0.x, v1, c124 temp0.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.y, v1, c125 temp0.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.z, v1, c126 temp0.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // mov r1.w, c3.x temp1.w = float1(1); // dp4 o0.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul r3.xyz, r2, r0.w temp3.xyz = temp2.xyz * temp0.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v4 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c31.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r0 temp2.w = dot(temp3.xyz, temp0.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v4.w temp4.w = temp2.w * i.color.w; // mov r3.w, v4.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r0.w, c6 temp3.xyz = temp2.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r0, c6 temp2.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r0, r4 temp3.x = dot(temp0.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c29.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c27 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c28 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.y temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r0.w, c6[a0.x] temp6.xyz = temp2.xyz * temp0.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r0, c6[a0.x] temp3.w = dot(temp0.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r0, r7 temp4.w = dot(temp0.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c29.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r1, c90 temp2.xyz = -temp1.xyz + PointLight[0].Position.xyz; // dp3 r0.w, r2, r2 temp0.w = dot(temp2.xyz, temp2.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r2.xyz, r2, r0.w temp2.xyz = temp2.xyz * temp0.www; // add r0.w, r2.w, -c91.x temp0.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c89 temp6.xyz = temp0.www * PointLight[0].Color.xyz; // dp3 r0.w, r0, r2 temp0.w = dot(temp0.xyz, temp2.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r2.xyz, r6, r0.w temp2.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r1, c93 temp3.xyz = -temp1.xyz + PointLight[1].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c94.x temp0.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c92 temp6.xyz = temp0.www * PointLight[1].Color.xyz; // dp3 r0.w, r0, r3 temp0.w = dot(temp0.xyz, temp3.xyz); // max r0.w, r0.w, c3.y temp0.w = max(temp0.w, float1(0)); // mul r3.xyz, r6, r0.w temp3.xyz = temp6.xyz * temp0.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r1, c96 temp3.xyz = -temp1.xyz + PointLight[2].Position.xyz; // dp3 r0.w, r3, r3 temp0.w = dot(temp3.xyz, temp3.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // rcp r2.w, r0.w temp2.w = 1.0f / temp0.w; // mul r3.xyz, r3, r0.w temp3.xyz = temp3.xyz * temp0.www; // add r0.w, r2.w, -c97.x temp0.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r0.w, r0.w, -r2.w, c3.x temp0.w = saturate(temp0.w * -temp2.w + float1(1)); // mul r0.w, r0.w, r0.w temp0.w = temp0.w * temp0.w; // mul r6.xyz, r0.w, c95 temp6.xyz = temp0.www * PointLight[2].Color.xyz; // dp3 r0.x, r0, r3 temp0.x = dot(temp0.xyz, temp3.xyz); // max r0.x, r0.x, c3.y temp0.x = max(temp0.x, float1(0)); // mul r0.xyz, r6, r0.x temp0.xyz = temp6.xyz * temp0.xxx; // mad r0.xyz, c17.x, r0, r2 temp0.xyz = expr17.xxx * temp0.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c26 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r0.xyz, r0, c27, r2 temp0.xyz = temp0.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mul o1.xyz, r0, c3.w o.color.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // mov r0.x, c30.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul o1.w, r5.w, r0.x o.color.w = temp5.w * temp0.x; // mul r0.xyz, r4, c28 temp0.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r0, c3.w o.color1.xyz = temp0.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c24, v2 o.texcoord = expr24 + i.texcoord; // lrp r0.xy, c32.x, r1, v3 temp0.xy = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c33 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r0, r2, c25 o.texcoord1 = temp0 * temp2 + expr25; // mul r0.xy, r1.z, c117.zwzw temp0.xy = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.xy, r1, c117, -r0 temp0.xy = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.xy; // add o5.xy, r0, c118 o.texcoord2 = temp0 + Cloud.CurrentOffsetUV; // add r0.xy, r1, c34.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r0, c34 o.texcoord3 = temp0 * Shroud.ScaleUV_OffsetUV; // dp4 r0.x, r1, c113 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.y, r1, c114 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.z, r1, c115 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.w, r1, c116 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r1.x, r0.w temp1.x = 1.0f / temp0.w; // mov o2.w, c3.x o.color1.w = float1(1); // mad o7.xyz, r0, r1.x, c35.xxyw o.texcoord4.xyz = temp0.xyz * temp1.xxx + float3(0, 0, -0.0015); // mov o7.w, r0.w o.texcoord4.w = temp0.w; // return o; } // VS_Array_Shader_34 Vertex_3_0 Has PRES True struct VS_Array_Shader_34_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_34_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_34_Output VS_Array_Shader_34(VS_Array_Shader_34_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 15 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 24 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; float4 expr25; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c7.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c7.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c24.xy, r0.x, r0.yz expr24.xy = temp0.x * temp0.yz; // mul c25.xy, c7.x, c6.zw expr25.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_34_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float addr0; float3 temp6, temp7; // def c2, -2, 3, 0, 0 // def c3, 1, -1, 0.25, 0.5 // def c35, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // add r0.y, -r0.x, v0.x temp0.y = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // slt r0.x, -r0.x, r0.x temp0.x = (-temp0.x < temp0.x) ? 1 : 0; // mad r0.x, r0.z, r0.x, r0.y temp0.x = temp0.z * temp0.x + temp0.y; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mov r0.w, c3.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c3 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v5 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c31.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // mul_sat r2.w, r2_abs.w, c12.x temp2.w = saturate(abs(temp2).w * expr12.x); // mad r3.x, r2.w, c2.x, c2.y temp3.x = temp2.w * float1(-2) + float1(3); // mul r2.w, r2.w, r2.w temp2.w = temp2.w * temp2.w; // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r3.w, v5.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c29.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c27 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c3.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c28 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c3.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c2.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c2.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c29.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c2.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c3.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c2.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c26 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c27, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c3.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c30.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c28 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c3.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c24, v3 o.texcoord = expr24 + i.texcoord; // lrp r1.xy, c32.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c33 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c25 o.texcoord1 = temp1 * temp2 + expr25; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c34.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c34 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c3.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c35.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } // VS_Array_Shader_35 Vertex_3_0 Has PRES True struct VS_Array_Shader_35_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_Array_Shader_35_Output { float4 position : POSITION; float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; VS_Array_Shader_35_Output VS_Array_Shader_35(VS_Array_Shader_35_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 15 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 5 1 - ConstOutput: 24 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; float4 expr23; float4 expr24; float4 expr25; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c7.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c3.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c4.x, (-2) temp0.x = BlendMode.x + (-2); // neg r1.x, r0.x temp1.x = -temp0.x; // max c14.x, r0.x, r1.x expr14.x = max(temp0.x, temp1.x); // lt c15.x, (0), c0.x expr15.x = (0) < NumPointLights.x; // lt c16.x, (1), c0.x expr16.x = (1) < NumPointLights.x; // lt c17.x, (2), c0.x expr17.x = (2) < NumPointLights.x; // mul c18.xyz, c2.x, c1.xyz expr18.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c5.x, c7.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c5.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c5.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c5.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c5.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c5.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c5.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c5.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c24.xy, r0.x, r0.yz expr24.xy = temp0.x * temp0.yz; // mul c25.xy, c7.x, c6.zw expr25.xy = Time.x * TexCoordTransform_1.zw; } VS_Array_Shader_35_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5; float2 addr0; float3 temp6, temp7; // def c2, 1, -1, 0.25, 0.5 // def c3, -2, 3, 0, 0 // def c35, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // dcl_position o0 // dcl_color o1 // dcl_color1 o2 // dcl_texcoord o3.xy // dcl_texcoord1 o4.xy // dcl_texcoord2 o5.xy // dcl_texcoord3 o6.xy // dcl_texcoord4 o7 // dcl_texcoord5 o8.xyz // dcl_texcoord6 o9.xyz // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // add r0.zw, -r0.xyxy, v0.xyxy temp0.zw = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // slt r0.xy, -r0, r0 temp0.xy = (-temp0.xy < temp0.xy) ? 1 : 0; // mad r0.xy, r1, r0, r0.zwzw temp0.xy = temp1.xy * temp0.xy + temp0.zw; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mov r0.w, c2.x temp0.w = float1(1); // dp4 o0.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 o0.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 o0.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 o0.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // mov r4.xz, c2 temp4.xz = float2(1, 0.25); // lrp r5.xyz, r4.z, r4.x, c0 temp5.xyz = lerp(RecolorColor.xyz, temp4.xxx, temp4.zzz); // mul r4.xyz, r5, v8 temp4.xyz = temp5.xyz * i.color.xyz; // mad r5.xyz, r4, c11.x, -r4 temp5.xyz = temp4.xyz * expr11.xxx + -temp4.xyz; // mad r4.xyz, c31.x, r5, r4 temp4.xyz = HouseColorPulse.xxx * temp5.xyz + temp4.xyz; // mul r2.w, v1.y, c129[a0.y].w temp2.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r2.w, c129[a0.x].w, v1.x, r2.w temp2.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp2.w; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // mul_sat r3.x, r3_abs.x, c12.x temp3.x = saturate(abs(temp3).x * expr12.x); // mad r3.y, r3.x, c3.x, c3.y temp3.y = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.x, r3.x temp3.x = temp3.x * temp3.x; // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r2.w, r2.w, r3.x temp2.w = temp2.w * temp3.x; // mul r3.xyz, r4, r2.w temp3.xyz = temp4.xyz * temp2.www; // mul r4.w, r2.w, v8.w temp4.w = temp2.w * i.color.w; // mov r3.w, v8.w temp3.w = i.color.w; // lrp r5, c14.x, r4, r3 temp5 = lerp(temp3, temp4, expr14.x); // mad r3.xyz, r2, r1.w, c6 temp3.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r3 temp4.xyz = normalize(temp3.xyz).xyz; // dp3 r2.w, r1, c6 temp2.w = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r3.x, r1, r4 temp3.x = dot(temp1.xyz, temp4.xyz); // slt r3.y, -r2.w, r2.w temp3.y = (-temp2.w < temp2.w) ? 1 : 0; // mul r2.w, r2.w, r3.y temp2.w = temp2.w * temp3.y; // slt r3.z, -r3.x, r3.x temp3.z = (-temp3.x < temp3.x) ? 1 : 0; // mul r3.y, r3.y, r3.z temp3.y = temp3.y * temp3.z; // pow r4.x, r3.x, c29.x temp4.x = pow(temp3.x, Shininess.x); // mul r3.x, r3.y, r4.x temp3.x = temp3.y * temp4.x; // mul r3.yzw, r2.w, c5.xxyz temp3.yzw = temp2.www * DirectionalLight[0].Color.xyz; // mul r4.xyz, r3.x, c5 temp4.xyz = temp3.xxx * DirectionalLight[0].Color.xyz; // mul r3.xyz, r3.yzww, c27 temp3.xyz = temp3.yzw * ColorDiffuse.xyz; // mul r3.xyz, r5, r3 temp3.xyz = temp5.xyz * temp3.xyz; // mul o8.xyz, r3, c2.w o.texcoord5 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mul r3.xyz, r4, c28 temp3.xyz = temp4.xyz * ColorSpecular.xyz; // mul o9.xyz, r3, c2.w o.texcoord6 = temp3 * float4(0.5, 0.5, 0.5, 0.5); // mov r3.xyz, c3.w temp3.xyz = float3(0, 0, 0); // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r3.w, r2.w, r2.w temp3.w = temp2.w + temp2.w; // mova a0.x, r3.w addr0.x = temp3.w; // mad r6.xyz, r2, r1.w, c6[a0.x] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.w, r1, c6[a0.x] temp3.w = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // dp3 r4.w, r1, r7 temp4.w = dot(temp1.xyz, temp7.xyz); // slt r6.x, -r3.w, r3.w temp6.x = (-temp3.w < temp3.w) ? 1 : 0; // mul r3.w, r3.w, r6.x temp3.w = temp3.w * temp6.x; // slt r6.y, -r4.w, r4.w temp6.y = (-temp4.w < temp4.w) ? 1 : 0; // mul r6.x, r6.x, r6.y temp6.x = temp6.x * temp6.y; // pow r6.y, r4.w, c29.x temp6.y = pow(temp4.w, Shininess.x); // mul r4.w, r6.x, r6.y temp4.w = temp6.x * temp6.y; // mad r3.xyz, c5[a0.x], r3.w, r3 temp3.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp3.www + temp3.xyz; // mad r4.xyz, c5[a0.x], r4.w, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp4.www + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // add r2.xyz, -r0, c90 temp2.xyz = -temp0.xyz + PointLight[0].Position.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r2.xyz, r2, r1.w temp2.xyz = temp2.xyz * temp1.www; // add r1.w, r2.w, -c91.x temp1.w = temp2.w + -PointLight[0].Range_Inner_Outer.x; // add r2.w, -c91.x, c91.y temp2.w = -PointLight[0].Range_Inner_Outer.x + PointLight[0].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c89 temp6.xyz = temp1.www * PointLight[0].Color.xyz; // dp3 r1.w, r1, r2 temp1.w = dot(temp1.xyz, temp2.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r2.xyz, r6, r1.w temp2.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c15.x, r2, r3 temp2.xyz = expr15.xxx * temp2.xyz + temp3.xyz; // add r3.xyz, -r0, c93 temp3.xyz = -temp0.xyz + PointLight[1].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c94.x temp1.w = temp2.w + -PointLight[1].Range_Inner_Outer.x; // add r2.w, -c94.x, c94.y temp2.w = -PointLight[1].Range_Inner_Outer.x + PointLight[1].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c92 temp6.xyz = temp1.www * PointLight[1].Color.xyz; // dp3 r1.w, r1, r3 temp1.w = dot(temp1.xyz, temp3.xyz); // max r1.w, r1.w, c3.w temp1.w = max(temp1.w, float1(0)); // mul r3.xyz, r6, r1.w temp3.xyz = temp6.xyz * temp1.www; // mad r2.xyz, c16.x, r3, r2 temp2.xyz = expr16.xxx * temp3.xyz + temp2.xyz; // add r3.xyz, -r0, c96 temp3.xyz = -temp0.xyz + PointLight[2].Position.xyz; // dp3 r1.w, r3, r3 temp1.w = dot(temp3.xyz, temp3.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r2.w, r1.w temp2.w = 1.0f / temp1.w; // mul r3.xyz, r3, r1.w temp3.xyz = temp3.xyz * temp1.www; // add r1.w, r2.w, -c97.x temp1.w = temp2.w + -PointLight[2].Range_Inner_Outer.x; // add r2.w, -c97.x, c97.y temp2.w = -PointLight[2].Range_Inner_Outer.x + PointLight[2].Range_Inner_Outer.y; // rcp r2.w, r2.w temp2.w = 1.0f / temp2.w; // mad_sat r1.w, r1.w, -r2.w, c2.x temp1.w = saturate(temp1.w * -temp2.w + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r6.xyz, r1.w, c95 temp6.xyz = temp1.www * PointLight[2].Color.xyz; // dp3 r1.x, r1, r3 temp1.x = dot(temp1.xyz, temp3.xyz); // max r1.x, r1.x, c3.w temp1.x = max(temp1.x, float1(0)); // mul r1.xyz, r6, r1.x temp1.xyz = temp6.xyz * temp1.xxx; // mad r1.xyz, c17.x, r1, r2 temp1.xyz = expr17.xxx * temp1.xyz + temp2.xyz; // mov r2.xyz, c4 temp2.xyz = AmbientLightColor.xyz; // mov r3.xyz, c26 temp3.xyz = ColorAmbient.xyz; // mad r2.xyz, r2, r3, c18 temp2.xyz = temp2.xyz * temp3.xyz + expr18.xyz; // mad r1.xyz, r1, c27, r2 temp1.xyz = temp1.xyz * ColorDiffuse.xyz + temp2.xyz; // mul r1.xyz, r5, r1 temp1.xyz = temp5.xyz * temp1.xyz; // mul o1.xyz, r1, c2.w o.color.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // mov r1.x, c30.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul o1.w, r5.w, r1.x o.color.w = temp5.w * temp1.x; // mul r1.xyz, r4, c28 temp1.xyz = temp4.xyz * ColorSpecular.xyz; // mul o2.xyz, r1, c2.w o.color1.xyz = temp1.xyz * float3(0.5, 0.5, 0.5); // add o3.xy, c24, v6 o.texcoord = expr24 + i.texcoord; // lrp r1.xy, c32.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c33 temp2.xy = TexCoordTransform_1.xy; // mad o4.xy, r1, r2, c25 o.texcoord1 = temp1 * temp2 + expr25; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add o5.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c34.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o6.xy, r1, c34 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // dp4 r0.x, r0, c116 temp0.x = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o2.w, c2.x o.color1.w = float1(1); // mad o7.xyz, r1, r0.y, c35.xxyw o.texcoord4.xyz = temp1.xyz * temp0.yyy + float3(0, 0, -0.0015); // mov o7.w, r0.x o.texcoord4.w = temp0.x; // return o; } VertexShader VS_Array[36] = { compile vs_3_0 VS_Array_Shader_0(), // 81 compile vs_3_0 VS_Array_Shader_1(), // 82 compile vs_3_0 VS_Array_Shader_2(), // 83 compile vs_3_0 VS_Array_Shader_3(), // 84 compile vs_3_0 VS_Array_Shader_4(), // 85 compile vs_3_0 VS_Array_Shader_5(), // 86 compile vs_3_0 VS_Array_Shader_6(), // 87 compile vs_3_0 VS_Array_Shader_7(), // 88 compile vs_3_0 VS_Array_Shader_8(), // 89 compile vs_3_0 VS_Array_Shader_9(), // 90 compile vs_3_0 VS_Array_Shader_10(), // 91 compile vs_3_0 VS_Array_Shader_11(), // 92 compile vs_3_0 VS_Array_Shader_12(), // 93 compile vs_3_0 VS_Array_Shader_13(), // 94 compile vs_3_0 VS_Array_Shader_14(), // 95 compile vs_3_0 VS_Array_Shader_15(), // 96 compile vs_3_0 VS_Array_Shader_16(), // 97 compile vs_3_0 VS_Array_Shader_17(), // 98 compile vs_3_0 VS_Array_Shader_18(), // 99 compile vs_3_0 VS_Array_Shader_19(), // 100 compile vs_3_0 VS_Array_Shader_20(), // 101 compile vs_3_0 VS_Array_Shader_21(), // 102 compile vs_3_0 VS_Array_Shader_22(), // 103 compile vs_3_0 VS_Array_Shader_23(), // 104 compile vs_3_0 VS_Array_Shader_24(), // 105 compile vs_3_0 VS_Array_Shader_25(), // 106 compile vs_3_0 VS_Array_Shader_26(), // 107 compile vs_3_0 VS_Array_Shader_27(), // 108 compile vs_3_0 VS_Array_Shader_28(), // 109 compile vs_3_0 VS_Array_Shader_29(), // 110 compile vs_3_0 VS_Array_Shader_30(), // 111 compile vs_3_0 VS_Array_Shader_31(), // 112 compile vs_3_0 VS_Array_Shader_32(), // 113 compile vs_3_0 VS_Array_Shader_33(), // 114 compile vs_3_0 VS_Array_Shader_34(), // 115 compile vs_3_0 VS_Array_Shader_35(), // 116 }; // PS_Array_Shader_0 Pixel_3_0 Has PRES False struct PS_Array_Shader_0_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_0(PS_Array_Shader_0_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v5 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_1 Pixel_3_0 Has PRES False struct PS_Array_Shader_1_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_1(PS_Array_Shader_1_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_2 Pixel_3_0 Has PRES False struct PS_Array_Shader_2_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_2(PS_Array_Shader_2_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v7 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_3 Pixel_3_0 Has PRES False struct PS_Array_Shader_3_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_3(PS_Array_Shader_3_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v5 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_4 Pixel_3_0 Has PRES False struct PS_Array_Shader_4_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_4(PS_Array_Shader_4_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_5 Pixel_3_0 Has PRES False struct PS_Array_Shader_5_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_5(PS_Array_Shader_5_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 4, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v7 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, c0.y temp0.xyz = temp0.xyz * float3(4, 4, 4); // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_6 Pixel_3_0 Has PRES False struct PS_Array_Shader_6_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_6(PS_Array_Shader_6_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v5 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_7 Pixel_3_0 Has PRES False struct PS_Array_Shader_7_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_7(PS_Array_Shader_7_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_8 Pixel_3_0 Has PRES False struct PS_Array_Shader_8_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_8(PS_Array_Shader_8_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v7 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r1.x temp3.x = log2(temp1.x); // log r3.y, r1.y temp3.y = log2(temp1.y); // log r3.z, r1.z temp3.z = log2(temp1.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r3.x temp1.x = exp2(temp3.x); // exp r1.y, r3.y temp1.y = exp2(temp3.y); // exp r1.z, r3.z temp1.z = exp2(temp3.z); // mad r2.xyz, r0, -r1, r2 temp2.xyz = temp0.xyz * -temp1.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0.w, r2, r0 temp0.xyz = temp0.www * temp2.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_9 Pixel_3_0 Has PRES False struct PS_Array_Shader_9_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_9(PS_Array_Shader_9_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v5 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_10 Pixel_3_0 Has PRES False struct PS_Array_Shader_10_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_10(PS_Array_Shader_10_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_11 Pixel_3_0 Has PRES False struct PS_Array_Shader_11_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_11(PS_Array_Shader_11_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r1.xyz, r2, r1, v1 temp1.xyz = temp2.xyz * temp1.xyz + i.color1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r2, v2, s0 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r2.x temp3.x = log2(temp2.x); // log r3.y, r2.y temp3.y = log2(temp2.y); // log r3.z, r2.z temp3.z = log2(temp2.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r3.x temp2.x = exp2(temp3.x); // exp r2.y, r3.y temp2.y = exp2(temp3.y); // exp r2.z, r3.z temp2.z = exp2(temp3.z); // mul r0, r0, r2 temp0 = temp0 * temp2; // mad r0.xyz, r1, r0.w, r0 temp0.xyz = temp1.xyz * temp0.www + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_12 Pixel_3_0 Has PRES False struct PS_Array_Shader_12_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_12(PS_Array_Shader_12_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v5, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_13 Pixel_3_0 Has PRES False struct PS_Array_Shader_13_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_13(PS_Array_Shader_13_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_14 Pixel_3_0 Has PRES False struct PS_Array_Shader_14_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_14(PS_Array_Shader_14_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v7, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_15 Pixel_3_0 Has PRES False struct PS_Array_Shader_15_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_15(PS_Array_Shader_15_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v5, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_16 Pixel_3_0 Has PRES False struct PS_Array_Shader_16_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_16(PS_Array_Shader_16_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_17 Pixel_3_0 Has PRES False struct PS_Array_Shader_17_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_17(PS_Array_Shader_17_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 4, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v7, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(4, 4, 4) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_18 Pixel_3_0 Has PRES False struct PS_Array_Shader_18_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_18(PS_Array_Shader_18_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v5, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_19 Pixel_3_0 Has PRES False struct PS_Array_Shader_19_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_19(PS_Array_Shader_19_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_20 Pixel_3_0 Has PRES False struct PS_Array_Shader_20_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_20(PS_Array_Shader_20_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v7, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r1.x temp3.x = log2(temp1.x); // log r3.y, r1.y temp3.y = log2(temp1.y); // log r3.z, r1.z temp3.z = log2(temp1.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r3.x temp1.x = exp2(temp3.x); // exp r1.y, r3.y temp1.y = exp2(temp3.y); // exp r1.z, r3.z temp1.z = exp2(temp3.z); // mad r2.xyz, r0, -r1, r2 temp2.xyz = temp0.xyz * -temp1.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0.w, r2, r0 temp0.xyz = temp0.www * temp2.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_21 Pixel_3_0 Has PRES False struct PS_Array_Shader_21_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_21(PS_Array_Shader_21_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v5, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_22 Pixel_3_0 Has PRES False struct PS_Array_Shader_22_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_22(PS_Array_Shader_22_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_23 Pixel_3_0 Has PRES False struct PS_Array_Shader_23_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_23(PS_Array_Shader_23_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3; // def c0, 2.2, 2, -1, 1 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r2, v2, s0 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r2.x temp3.x = log2(temp2.x); // log r3.y, r2.y temp3.y = log2(temp2.y); // log r3.z, r2.z temp3.z = log2(temp2.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r3.x temp2.x = exp2(temp3.x); // exp r2.y, r3.y temp2.y = exp2(temp3.y); // exp r2.z, r3.z temp2.z = exp2(temp3.z); // mul r0, r0, r2 temp0 = temp0 * temp2; // mad r0.xyz, r1, r0.w, r0 temp0.xyz = temp1.xyz * temp0.www + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, r0, c0.y, c0.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.w temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_24 Pixel_3_0 Has PRES False struct PS_Array_Shader_24_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_24(PS_Array_Shader_24_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v5, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_25 Pixel_3_0 Has PRES False struct PS_Array_Shader_25_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_25(PS_Array_Shader_25_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_26 Pixel_3_0 Has PRES False struct PS_Array_Shader_26_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_26(PS_Array_Shader_26_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v7, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_27 Pixel_3_0 Has PRES False struct PS_Array_Shader_27_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_27(PS_Array_Shader_27_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v5, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_28 Pixel_3_0 Has PRES False struct PS_Array_Shader_28_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_28(PS_Array_Shader_28_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_29 Pixel_3_0 Has PRES False struct PS_Array_Shader_29_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_29(PS_Array_Shader_29_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 4, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v7, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r0, c0.y temp0.xyz = temp0.xyz * float3(4, 4, 4); // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_30 Pixel_3_0 Has PRES False struct PS_Array_Shader_30_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_30(PS_Array_Shader_30_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v5, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_31 Pixel_3_0 Has PRES False struct PS_Array_Shader_31_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_31(PS_Array_Shader_31_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_32 Pixel_3_0 Has PRES False struct PS_Array_Shader_32_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_32(PS_Array_Shader_32_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, v4, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v6, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v7, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // texld r1, v3, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r1.x temp3.x = log2(temp1.x); // log r3.y, r1.y temp3.y = log2(temp1.y); // log r3.z, r1.z temp3.z = log2(temp1.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r3.x temp1.x = exp2(temp3.x); // exp r1.y, r3.y temp1.y = exp2(temp3.y); // exp r1.z, r3.z temp1.z = exp2(temp3.z); // mad r2.xyz, r0, -r1, r2 temp2.xyz = temp0.xyz * -temp1.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0.w, r2, r0 temp0.xyz = temp0.www * temp2.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v5, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_33 Pixel_3_0 Has PRES False struct PS_Array_Shader_33_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_33(PS_Array_Shader_33_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord5 v4.xyz // dcl_texcoord6 v5.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, v2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v4, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v5, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_34 Pixel_3_0 Has PRES False struct PS_Array_Shader_34_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_34(PS_Array_Shader_34_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // add r0.xyz, r0, r1 temp0.xyz = temp0.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_35 Pixel_3_0 Has PRES False struct PS_Array_Shader_35_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_35(PS_Array_Shader_35_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3; // def c0, 2.2, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, v3, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r1.x, r0.x temp1.x = log2(temp0.x); // log r1.y, r0.y temp1.y = log2(temp0.y); // log r1.z, r0.z temp1.z = log2(temp0.z); // mul r0.xyz, r1, c0.x temp0.xyz = temp1.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r0.x temp1.x = exp2(temp0.x); // exp r1.y, r0.y temp1.y = exp2(temp0.y); // exp r1.z, r0.z temp1.z = exp2(temp0.z); // mov r0.xyz, v0 temp0.xyz = i.color.xyz; // mad r0.xyz, v5, r1, r0 temp0.xyz = i.texcoord5.xyz * temp1.xyz + temp0.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r1.xyz, v6, r1, r2 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r2, v2, s0 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r2.x temp3.x = log2(temp2.x); // log r3.y, r2.y temp3.y = log2(temp2.y); // log r3.z, r2.z temp3.z = log2(temp2.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r3.x temp2.x = exp2(temp3.x); // exp r2.y, r3.y temp2.y = exp2(temp3.y); // exp r2.z, r3.z temp2.z = exp2(temp3.z); // mul r0, r0, r2 temp0 = temp0 * temp2; // mad r0.xyz, r1, r0.w, r0 temp0.xyz = temp1.xyz * temp0.www + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_36 Pixel_3_0 Has PRES False struct PS_Array_Shader_36_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_36(PS_Array_Shader_36_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_37 Pixel_3_0 Has PRES False struct PS_Array_Shader_37_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_37(PS_Array_Shader_37_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v7 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_38 Pixel_3_0 Has PRES False struct PS_Array_Shader_38_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_38(PS_Array_Shader_38_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v8 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_39 Pixel_3_0 Has PRES False struct PS_Array_Shader_39_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_39(PS_Array_Shader_39_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_40 Pixel_3_0 Has PRES False struct PS_Array_Shader_40_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_40(PS_Array_Shader_40_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v7 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_41 Pixel_3_0 Has PRES False struct PS_Array_Shader_41_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_41(PS_Array_Shader_41_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 4, 0, 0, 0 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v8 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, c1.x temp0.xyz = temp0.xyz * float3(4, 4, 4); // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_42 Pixel_3_0 Has PRES False struct PS_Array_Shader_42_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_42(PS_Array_Shader_42_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_43 Pixel_3_0 Has PRES False struct PS_Array_Shader_43_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_43(PS_Array_Shader_43_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v7 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_44 Pixel_3_0 Has PRES False struct PS_Array_Shader_44_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_44(PS_Array_Shader_44_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v8 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r1.x temp3.x = log2(temp1.x); // log r3.y, r1.y temp3.y = log2(temp1.y); // log r3.z, r1.z temp3.z = log2(temp1.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r3.x temp1.x = exp2(temp3.x); // exp r1.y, r3.y temp1.y = exp2(temp3.y); // exp r1.z, r3.z temp1.z = exp2(temp3.z); // mad r2.xyz, r0, -r1, r2 temp2.xyz = temp0.xyz * -temp1.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0.w, r2, r0 temp0.xyz = temp0.www * temp2.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_45 Pixel_3_0 Has PRES False struct PS_Array_Shader_45_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_45(PS_Array_Shader_45_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_46 Pixel_3_0 Has PRES False struct PS_Array_Shader_46_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_46(PS_Array_Shader_46_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v7 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_47 Pixel_3_0 Has PRES False struct PS_Array_Shader_47_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_47(PS_Array_Shader_47_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1.xyz // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v7 temp1.xyz = i.texcoord6.xyz; // mad r1.xyz, r1, r0, v1 temp1.xyz = temp1.xyz * temp0.xyz + i.color1.xyz; // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r2, v2, s1 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r2.x temp3.x = log2(temp2.x); // log r3.y, r2.y temp3.y = log2(temp2.y); // log r3.z, r2.z temp3.z = log2(temp2.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r3.x temp2.x = exp2(temp3.x); // exp r2.y, r3.y temp2.y = exp2(temp3.y); // exp r2.z, r3.z temp2.z = exp2(temp3.z); // mul r0, r0, r2 temp0 = temp0 * temp2; // mad r0.xyz, r1, r0.w, r0 temp0.xyz = temp1.xyz * temp0.www + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_48 Pixel_3_0 Has PRES False struct PS_Array_Shader_48_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_48(PS_Array_Shader_48_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_49 Pixel_3_0 Has PRES False struct PS_Array_Shader_49_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_49(PS_Array_Shader_49_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v7, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_50 Pixel_3_0 Has PRES False struct PS_Array_Shader_50_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_50(PS_Array_Shader_50_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v8, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_51 Pixel_3_0 Has PRES False struct PS_Array_Shader_51_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_51(PS_Array_Shader_51_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_52 Pixel_3_0 Has PRES False struct PS_Array_Shader_52_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_52(PS_Array_Shader_52_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v7, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_53 Pixel_3_0 Has PRES False struct PS_Array_Shader_53_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_53(PS_Array_Shader_53_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 4, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v8, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(4, 4, 4) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_54 Pixel_3_0 Has PRES False struct PS_Array_Shader_54_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_54(PS_Array_Shader_54_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_55 Pixel_3_0 Has PRES False struct PS_Array_Shader_55_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_55(PS_Array_Shader_55_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v7, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_56 Pixel_3_0 Has PRES False struct PS_Array_Shader_56_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_56(PS_Array_Shader_56_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v8, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r1.x temp3.x = log2(temp1.x); // log r3.y, r1.y temp3.y = log2(temp1.y); // log r3.z, r1.z temp3.z = log2(temp1.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r3.x temp1.x = exp2(temp3.x); // exp r1.y, r3.y temp1.y = exp2(temp3.y); // exp r1.z, r3.z temp1.z = exp2(temp3.z); // mad r2.xyz, r0, -r1, r2 temp2.xyz = temp0.xyz * -temp1.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0.w, r2, r0 temp0.xyz = temp0.www * temp2.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_57 Pixel_3_0 Has PRES False struct PS_Array_Shader_57_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_57(PS_Array_Shader_57_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_58 Pixel_3_0 Has PRES False struct PS_Array_Shader_58_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_58(PS_Array_Shader_58_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v7, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_59 Pixel_3_0 Has PRES False struct PS_Array_Shader_59_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_59(PS_Array_Shader_59_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3; // def c0, 2.2, 1, 0, 0.25 // def c1, 2, -1, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v1 temp1.xyz = i.color1.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord6.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r2, v2, s1 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r2.x temp3.x = log2(temp2.x); // log r3.y, r2.y temp3.y = log2(temp2.y); // log r3.z, r2.z temp3.z = log2(temp2.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r3.x temp2.x = exp2(temp3.x); // exp r2.y, r3.y temp2.y = exp2(temp3.y); // exp r2.z, r3.z temp2.z = exp2(temp3.z); // mul r0, r0, r2 temp0 = temp0 * temp2; // mad r0.xyz, r1, r0.w, r0 temp0.xyz = temp1.xyz * temp0.www + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mad r0.xyz, r0, c1.x, c1.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.y temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_60 Pixel_3_0 Has PRES False struct PS_Array_Shader_60_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_60(PS_Array_Shader_60_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_61 Pixel_3_0 Has PRES False struct PS_Array_Shader_61_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_61(PS_Array_Shader_61_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v7, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_62 Pixel_3_0 Has PRES False struct PS_Array_Shader_62_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_62(PS_Array_Shader_62_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v8, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_63 Pixel_3_0 Has PRES False struct PS_Array_Shader_63_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_63(PS_Array_Shader_63_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_64 Pixel_3_0 Has PRES False struct PS_Array_Shader_64_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_64(PS_Array_Shader_64_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v7, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_65 Pixel_3_0 Has PRES False struct PS_Array_Shader_65_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_65(PS_Array_Shader_65_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // def c1, 4, 0, 0, 0 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v8, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // mul r0.xyz, r0, r2 temp0.xyz = temp0.xyz * temp2.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r0, c1.x temp0.xyz = temp0.xyz * float3(4, 4, 4); // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_66 Pixel_3_0 Has PRES False struct PS_Array_Shader_66_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_66(PS_Array_Shader_66_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_67 Pixel_3_0 Has PRES False struct PS_Array_Shader_67_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_67(PS_Array_Shader_67_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v7, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_68 Pixel_3_0 Has PRES False struct PS_Array_Shader_68_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_68(PS_Array_Shader_68_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord1 v3.xy // dcl_texcoord2 v4.xy // dcl_texcoord3 v5.xy // dcl_texcoord4 v6.xyz // dcl_texcoord5 v7.xyz // dcl_texcoord6 v8.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, c11.zxzw, v6 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v6 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v6, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v6.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v4, s4 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v8, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // texld r1, v3, s2 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r1.xyz, r2, c0.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r1.x temp2.x = exp2(temp1.x); // exp r2.y, r1.y temp2.y = exp2(temp1.y); // exp r2.z, r1.z temp2.z = exp2(temp1.z); // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r1.x temp3.x = log2(temp1.x); // log r3.y, r1.y temp3.y = log2(temp1.y); // log r3.z, r1.z temp3.z = log2(temp1.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r3.x temp1.x = exp2(temp3.x); // exp r1.y, r3.y temp1.y = exp2(temp3.y); // exp r1.z, r3.z temp1.z = exp2(temp3.z); // mad r2.xyz, r0, -r1, r2 temp2.xyz = temp0.xyz * -temp1.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r0, r1 temp0 = temp0 * temp1; // mad r0.xyz, r0.w, r2, r0 temp0.xyz = temp0.www * temp2.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v5, s3 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_69 Pixel_3_0 Has PRES False struct PS_Array_Shader_69_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_69(PS_Array_Shader_69_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord2 v2.xy // dcl_texcoord3 v3.xy // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, c11.zxzw, v4 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v4 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v4, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v4.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v3, s1 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // mov oC0.w, v0.w out_color.w = i.color.w; // return out_color; } // PS_Array_Shader_70 Pixel_3_0 Has PRES False struct PS_Array_Shader_70_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_70(PS_Array_Shader_70_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, v6, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, v7, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r1, v2, s1 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r2.x, r1.x temp2.x = log2(temp1.x); // log r2.y, r1.y temp2.y = log2(temp1.y); // log r2.z, r1.z temp2.z = log2(temp1.z); // mul r2.xyz, r2, c0.x temp2.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp r1.x, r2.x temp1.x = exp2(temp2.x); // exp r1.y, r2.y temp1.y = exp2(temp2.y); // exp r1.z, r2.z temp1.z = exp2(temp2.z); // mul r0, r0, r1 temp0 = temp0 * temp1; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } // PS_Array_Shader_71 Pixel_3_0 Has PRES False struct PS_Array_Shader_71_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_Array_Shader_71(PS_Array_Shader_71_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3; // def c0, 2.2, 1, 0, 0.25 // dcl_color v0 // dcl_color1 v1 // dcl_texcoord v2.xy // dcl_texcoord2 v3.xy // dcl_texcoord3 v4.xy // dcl_texcoord4 v5.xyz // dcl_texcoord5 v6.xyz // dcl_texcoord6 v7.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord4.xy; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // mov r0.y, r0.x temp0.y = temp0.x; // add r1.xy, c11.yzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.z, r1.x temp0.z = temp1.x; // add r1.xy, c11.wzzw, v5 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r0.w, r1.x temp0.w = temp1.x; // texld r1, v5, s0 temp1 = tex2D(ShadowMapSampler, i.texcoord4.xy); // mov r0.x, r1.x temp0.x = temp1.x; // add r0, r0, -v5.z temp0 = temp0 + -i.texcoord4.z; // cmp r0, r0, c0.y, c0.z temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, c0.y, r0 temp0.x = dot(float4(1, 1, 1, 1), temp0); // mul r0.x, r0.x, c0.w temp0.x = temp0.x * float1(0.25); // texld r1, v3, s3 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // log r0.y, r1.x temp0.y = log2(temp1.x); // log r0.z, r1.y temp0.z = log2(temp1.y); // log r0.w, r1.z temp0.w = log2(temp1.z); // mul r0.yzw, r0, c0.x temp0.yzw = temp0.yzw * float3(2.2, 2.2, 2.2); // exp r1.x, r0.y temp1.x = exp2(temp0.y); // exp r1.y, r0.z temp1.y = exp2(temp0.z); // exp r1.z, r0.w temp1.z = exp2(temp0.w); // mul r0.xyz, r0.x, r1 temp0.xyz = temp0.xxx * temp1.xyz; // mov r1.xyz, v1 temp1.xyz = i.color1.xyz; // mad r1.xyz, v7, r0, r1 temp1.xyz = i.texcoord6.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r0.xyz, v6, r0, r2 temp0.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // texld r2, v2, s1 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // log r3.x, r2.x temp3.x = log2(temp2.x); // log r3.y, r2.y temp3.y = log2(temp2.y); // log r3.z, r2.z temp3.z = log2(temp2.z); // mul r3.xyz, r3, c0.x temp3.xyz = temp3.xyz * float3(2.2, 2.2, 2.2); // exp r2.x, r3.x temp2.x = exp2(temp3.x); // exp r2.y, r3.y temp2.y = exp2(temp3.y); // exp r2.z, r3.z temp2.z = exp2(temp3.z); // mul r0, r0, r2 temp0 = temp0 * temp2; // mad r0.xyz, r1, r0.w, r0 temp0.xyz = temp1.xyz * temp0.www + temp0.xyz; // mov oC0.w, r0.w out_color.w = temp0.w; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // texld r1, v4, s2 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mul oC0.xyz, r0, r1 out_color.xyz = temp0.xyz * temp1.xyz; // return out_color; } PixelShader PS_Array[72] = { compile ps_3_0 PS_Array_Shader_0(), // 117 compile ps_3_0 PS_Array_Shader_1(), // 118 compile ps_3_0 PS_Array_Shader_2(), // 119 compile ps_3_0 PS_Array_Shader_3(), // 120 compile ps_3_0 PS_Array_Shader_4(), // 121 compile ps_3_0 PS_Array_Shader_5(), // 122 compile ps_3_0 PS_Array_Shader_6(), // 123 compile ps_3_0 PS_Array_Shader_7(), // 124 compile ps_3_0 PS_Array_Shader_8(), // 125 compile ps_3_0 PS_Array_Shader_9(), // 126 compile ps_3_0 PS_Array_Shader_10(), // 127 compile ps_3_0 PS_Array_Shader_11(), // 128 compile ps_3_0 PS_Array_Shader_12(), // 129 compile ps_3_0 PS_Array_Shader_13(), // 130 compile ps_3_0 PS_Array_Shader_14(), // 131 compile ps_3_0 PS_Array_Shader_15(), // 132 compile ps_3_0 PS_Array_Shader_16(), // 133 compile ps_3_0 PS_Array_Shader_17(), // 134 compile ps_3_0 PS_Array_Shader_18(), // 135 compile ps_3_0 PS_Array_Shader_19(), // 136 compile ps_3_0 PS_Array_Shader_20(), // 137 compile ps_3_0 PS_Array_Shader_21(), // 138 compile ps_3_0 PS_Array_Shader_22(), // 139 compile ps_3_0 PS_Array_Shader_23(), // 140 compile ps_3_0 PS_Array_Shader_24(), // 141 compile ps_3_0 PS_Array_Shader_25(), // 142 compile ps_3_0 PS_Array_Shader_26(), // 143 compile ps_3_0 PS_Array_Shader_27(), // 144 compile ps_3_0 PS_Array_Shader_28(), // 145 compile ps_3_0 PS_Array_Shader_29(), // 146 compile ps_3_0 PS_Array_Shader_30(), // 147 compile ps_3_0 PS_Array_Shader_31(), // 148 compile ps_3_0 PS_Array_Shader_32(), // 149 compile ps_3_0 PS_Array_Shader_33(), // 150 compile ps_3_0 PS_Array_Shader_34(), // 151 compile ps_3_0 PS_Array_Shader_35(), // 152 compile ps_3_0 PS_Array_Shader_36(), // 153 compile ps_3_0 PS_Array_Shader_37(), // 154 compile ps_3_0 PS_Array_Shader_38(), // 155 compile ps_3_0 PS_Array_Shader_39(), // 156 compile ps_3_0 PS_Array_Shader_40(), // 157 compile ps_3_0 PS_Array_Shader_41(), // 158 compile ps_3_0 PS_Array_Shader_42(), // 159 compile ps_3_0 PS_Array_Shader_43(), // 160 compile ps_3_0 PS_Array_Shader_44(), // 161 compile ps_3_0 PS_Array_Shader_45(), // 162 compile ps_3_0 PS_Array_Shader_46(), // 163 compile ps_3_0 PS_Array_Shader_47(), // 164 compile ps_3_0 PS_Array_Shader_48(), // 165 compile ps_3_0 PS_Array_Shader_49(), // 166 compile ps_3_0 PS_Array_Shader_50(), // 167 compile ps_3_0 PS_Array_Shader_51(), // 168 compile ps_3_0 PS_Array_Shader_52(), // 169 compile ps_3_0 PS_Array_Shader_53(), // 170 compile ps_3_0 PS_Array_Shader_54(), // 171 compile ps_3_0 PS_Array_Shader_55(), // 172 compile ps_3_0 PS_Array_Shader_56(), // 173 compile ps_3_0 PS_Array_Shader_57(), // 174 compile ps_3_0 PS_Array_Shader_58(), // 175 compile ps_3_0 PS_Array_Shader_59(), // 176 compile ps_3_0 PS_Array_Shader_60(), // 177 compile ps_3_0 PS_Array_Shader_61(), // 178 compile ps_3_0 PS_Array_Shader_62(), // 179 compile ps_3_0 PS_Array_Shader_63(), // 180 compile ps_3_0 PS_Array_Shader_64(), // 181 compile ps_3_0 PS_Array_Shader_65(), // 182 compile ps_3_0 PS_Array_Shader_66(), // 183 compile ps_3_0 PS_Array_Shader_67(), // 184 compile ps_3_0 PS_Array_Shader_68(), // 185 compile ps_3_0 PS_Array_Shader_69(), // 186 compile ps_3_0 PS_Array_Shader_70(), // 187 compile ps_3_0 PS_Array_Shader_71(), // 188 }; // VS_M_Array_Shader_0 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_0_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_0_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_0_Output VS_M_Array_Shader_0(VS_M_Array_Shader_0_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 4 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_M_Array_Shader_0_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c0.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c18.x temp3.zw = Shininess.x; // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c0.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c0.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c0.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c17 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.x o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c15 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c16, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c11.x temp3.w = temp3.w * expr11.x; // max r3.w, r3.w, c0.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c0.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c0.z, c0.w temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mov r4.w, v4.w temp4.w = i.color.w; // mul r5, r3.w, v4 temp5 = temp3.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v4 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.x o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c18.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c17.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.x o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c16.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.x o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c19.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r1.xxyw, -v3.xxyw temp0.yz = temp1.xy + -i.texcoord1.xy; // mad oT1.xy, c20.x, r0.yzzw, v3 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c21.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c21 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c2.yyzw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c0.x o.color1.w = float1(1); // mov oT0.xy, v2 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_1 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_1_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_1_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_1_Output VS_M_Array_Shader_1(VS_M_Array_Shader_1_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 4 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_M_Array_Shader_1_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c18.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c17 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c11.x temp2.w = temp2.w * expr11.x; // max r2.w, r2.w, c2.z temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c2.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c0.x, c0.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c15 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c16, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mul r5, r2.w, v5 temp5 = temp2.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v5 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c2.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c18.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c16.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.w o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c17 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.w o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c19.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c20.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c21.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c21 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c3.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c2.x o.color1.w = float1(1); // mov oT0.xy, v3 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_2 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_2_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_2_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_2_Output VS_M_Array_Shader_2(VS_M_Array_Shader_2_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 4 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_M_Array_Shader_2_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0.x, v1.y, c129[a0.y].w temp0.x = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r0.x, c129[a0.x].w, v1.x, r0.x temp0.x = WorldBones[1 + addr0.x].w * i.blendweight.x + temp0.x; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r0.yzw, r1.w, c128[a0.x].xxyz temp0.yzw = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r0.yzw, c128[a0.x].w, r1.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.x].www * temp1.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.x].xyzx, r1.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp0.yzw; // mad r0.yzw, c128[a0.x].xzxy, -r1.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp0.yzw; // add r0.yzw, r0, c129[a0.x].xxyz temp0.yzw = temp0.yzw + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r2.xyz, r0.yzww, v1.x, r2 temp2.xyz = temp0.yzw * i.blendweight.xxx + temp2.xyz; // mul r3, v5.zxyy, c128[a0.y].yzxy temp3 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r3, c128[a0.y].wwwx, v5.xyzx, r3 temp3 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp3; // mul r4, v5.yzxz, c128[a0.y].zxyz temp4 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r3, r3, c2.xxxy, -r4 temp3 = temp3 * float4(1, 1, 1, -1) + -temp4; // mul r0.yzw, r3.w, c128[a0.y].xxyz temp0.yzw = temp3.www * WorldBones[0 + addr0.y].xyz; // mad r0.yzw, c128[a0.y].w, r3.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.y].www * temp3.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.y].xyzx, r3.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.y].yzx * temp3.zxy + temp0.yzw; // mad r0.yzw, c128[a0.y].xzxy, -r3.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.y].zxy * -temp3.yzx + temp0.yzw; // mul r0.yzw, r0, v1.y temp0.yzw = temp0.yzw * i.blendweight.yyy; // mad r0.yzw, r1.xxyz, v1.x, r0 temp0.yzw = temp1.xyz * i.blendweight.xxx + temp0.yzw; // add r1.xyz, -r2, c123 temp1.xyz = -temp2.xyz + EyePosition.xyz; // dp3 r1.w, r1, r1 temp1.w = dot(temp1.xyz, temp1.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c18.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r4.w, c2.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r1, r1.w, c6[a0.x] temp6.xyz = temp1.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c2.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c17 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r1, r1.w temp3.xyz = temp1.xyz * temp1.www; // dp3 r3.x, r3, r0.yzww temp3.x = dot(temp3.xyz, temp0.yzw); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c11.x temp3.x = temp3.x * expr11.x; // max r3.x, r3.x, c2.z temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c2.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c0.x, c0.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r0.x, r0.x, r3.x temp0.x = temp0.x * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c15 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c16, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mul r5, r0.x, v8 temp5 = temp0.x * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v8 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r2.w, c2.x temp2.w = float1(1); // dp4 r0.x, r2, c116 temp0.x = dot(temp2, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r1.xyz, r1, r1.w, c6 temp1.xyz = temp1.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r1 temp4.xyz = normalize(temp1.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c18.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r1.y, c5.xxyz temp0.yzw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c16.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r1.z, c5.xxyz temp0.yzw = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c17.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c19.x temp1.x = Opacity.x; // mul r0.y, r1.x, c1.x temp0.y = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r2.xxyw, -v7.xxyw temp0.yz = temp2.xy + -i.texcoord1.xy; // mad oT1.xy, c20.x, r0.yzzw, v7 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r2.z, c117.xzww temp0.yz = temp2.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r2.xxyw, c117.xxyw, -r0 temp0.yz = temp2.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r2.xxyw, c21.xzww temp0.yz = temp2.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c21 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r2, c113 temp0.y = dot(temp2, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r2, c114 temp0.z = dot(temp2, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r2, c115 temp0.w = dot(temp2, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.x, r0.x temp1.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r1.x, c3.xxyw o.texcoord4.xyz = temp0.yzw * temp1.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r2, c119 o.position.x = dot(temp2, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r2, c120 o.position.y = dot(temp2, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r2, c121 o.position.z = dot(temp2, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r2, c122 o.position.w = dot(temp2, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c2.x o.color1.w = float1(1); // mov oT0.xy, v6 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_3 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_3_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_3_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_3_Output VS_M_Array_Shader_3(VS_M_Array_Shader_3_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c5.x, c4.zw expr15.xy = Time.x * TexCoordTransform_0.zw; } VS_M_Array_Shader_3_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c0.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c0.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c0.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c0.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.x o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c11.x temp3.w = temp3.w * expr11.x; // max r3.w, r3.w, c0.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c0.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c0.z, c0.w temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mov r4.w, v4.w temp4.w = i.color.w; // mul r5, r3.w, v4 temp5 = temp3.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v4 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.x o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.x o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c17.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.x o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c20.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r1.xxyw, -v3.xxyw temp0.yz = temp1.xy + -i.texcoord1.xy; // mad oT1.xy, c21.x, r0.yzzw, v3 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c23.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c23 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c2.yyzw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v2, r0, c15 o.texcoord = i.texcoord * temp0 + expr15; // mov oD1.w, c0.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_4 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_4_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_4_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_4_Output VS_M_Array_Shader_4(VS_M_Array_Shader_4_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c5.x, c4.zw expr15.xy = Time.x * TexCoordTransform_0.zw; } VS_M_Array_Shader_4_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c11.x temp2.w = temp2.w * expr11.x; // max r2.w, r2.w, c2.z temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c2.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c0.x, c0.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mul r5, r2.w, v5 temp5 = temp2.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v5 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c2.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c17.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.w o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c18 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.w o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c20.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c21.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c23.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c23 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c3.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v3, r0, c15 o.texcoord = i.texcoord * temp0 + expr15; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_5 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_5_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_5_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_5_Output VS_M_Array_Shader_5(VS_M_Array_Shader_5_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c5.x, c4.zw expr15.xy = Time.x * TexCoordTransform_0.zw; } VS_M_Array_Shader_5_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0.x, v1.y, c129[a0.y].w temp0.x = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r0.x, c129[a0.x].w, v1.x, r0.x temp0.x = WorldBones[1 + addr0.x].w * i.blendweight.x + temp0.x; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r0.yzw, r1.w, c128[a0.x].xxyz temp0.yzw = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r0.yzw, c128[a0.x].w, r1.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.x].www * temp1.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.x].xyzx, r1.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp0.yzw; // mad r0.yzw, c128[a0.x].xzxy, -r1.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp0.yzw; // add r0.yzw, r0, c129[a0.x].xxyz temp0.yzw = temp0.yzw + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r2.xyz, r0.yzww, v1.x, r2 temp2.xyz = temp0.yzw * i.blendweight.xxx + temp2.xyz; // mul r3, v5.zxyy, c128[a0.y].yzxy temp3 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r3, c128[a0.y].wwwx, v5.xyzx, r3 temp3 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp3; // mul r4, v5.yzxz, c128[a0.y].zxyz temp4 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r3, r3, c2.xxxy, -r4 temp3 = temp3 * float4(1, 1, 1, -1) + -temp4; // mul r0.yzw, r3.w, c128[a0.y].xxyz temp0.yzw = temp3.www * WorldBones[0 + addr0.y].xyz; // mad r0.yzw, c128[a0.y].w, r3.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.y].www * temp3.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.y].xyzx, r3.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.y].yzx * temp3.zxy + temp0.yzw; // mad r0.yzw, c128[a0.y].xzxy, -r3.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.y].zxy * -temp3.yzx + temp0.yzw; // mul r0.yzw, r0, v1.y temp0.yzw = temp0.yzw * i.blendweight.yyy; // mad r0.yzw, r1.xxyz, v1.x, r0 temp0.yzw = temp1.xyz * i.blendweight.xxx + temp0.yzw; // add r1.xyz, -r2, c123 temp1.xyz = -temp2.xyz + EyePosition.xyz; // dp3 r1.w, r1, r1 temp1.w = dot(temp1.xyz, temp1.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r4.w, c2.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r1, r1.w, c6[a0.x] temp6.xyz = temp1.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c2.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r1, r1.w temp3.xyz = temp1.xyz * temp1.www; // dp3 r3.x, r3, r0.yzww temp3.x = dot(temp3.xyz, temp0.yzw); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c11.x temp3.x = temp3.x * expr11.x; // max r3.x, r3.x, c2.z temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c2.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c0.x, c0.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r0.x, r0.x, r3.x temp0.x = temp0.x * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mul r5, r0.x, v8 temp5 = temp0.x * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v8 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r2.w, c2.x temp2.w = float1(1); // dp4 r0.x, r2, c116 temp0.x = dot(temp2, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r1.xyz, r1, r1.w, c6 temp1.xyz = temp1.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r1 temp4.xyz = normalize(temp1.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r1.y, c5.xxyz temp0.yzw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c17.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r1.z, c5.xxyz temp0.yzw = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c20.x temp1.x = Opacity.x; // mul r0.y, r1.x, c1.x temp0.y = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r2.xxyw, -v7.xxyw temp0.yz = temp2.xy + -i.texcoord1.xy; // mad oT1.xy, c21.x, r0.yzzw, v7 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r2.z, c117.xzww temp0.yz = temp2.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r2.xxyw, c117.xxyw, -r0 temp0.yz = temp2.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r2.xxyw, c23.xzww temp0.yz = temp2.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c23 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r2, c113 temp0.y = dot(temp2, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r2, c114 temp0.z = dot(temp2, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r2, c115 temp0.w = dot(temp2, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.x, r0.x temp1.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r1.x, c3.xxyw o.texcoord4.xyz = temp0.yzw * temp1.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r2, c119 o.position.x = dot(temp2, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r2, c120 o.position.y = dot(temp2, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r2, c121 o.position.z = dot(temp2, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r2, c122 o.position.w = dot(temp2, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v6, r0, c15 o.texcoord = i.texcoord * temp0 + expr15; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_6 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_6_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_6_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_6_Output VS_M_Array_Shader_6(VS_M_Array_Shader_6_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 10 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 20 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c5.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c20.xy, r0.x, r0.yz expr20.xy = temp0.x * temp0.yz; } VS_M_Array_Shader_6_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c0.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c24.x temp3.zw = Shininess.x; // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c0.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c0.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c0.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c23 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.x o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c21 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c22, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c11.x temp3.w = temp3.w * expr11.x; // max r3.w, r3.w, c0.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c0.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c0.z, c0.w temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mov r4.w, v4.w temp4.w = i.color.w; // mul r5, r3.w, v4 temp5 = temp3.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v4 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.x o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c24.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c23.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.x o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c22.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.x o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c25.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r1.xxyw, -v3.xxyw temp0.yz = temp1.xy + -i.texcoord1.xy; // mad oT1.xy, c26.x, r0.yzzw, v3 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c27.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c27 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c2.yyzw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v2, c20 o.texcoord = i.texcoord + expr20; // mov oD1.w, c0.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_7 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_7_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_7_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_7_Output VS_M_Array_Shader_7(VS_M_Array_Shader_7_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 10 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 20 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c5.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c20.xy, r0.x, r0.yz expr20.xy = temp0.x * temp0.yz; } VS_M_Array_Shader_7_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c24.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c23 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c11.x temp2.w = temp2.w * expr11.x; // max r2.w, r2.w, c2.z temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c2.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c0.x, c0.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c21 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c22, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mul r5, r2.w, v5 temp5 = temp2.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v5 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c2.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c24.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c22.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.w o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c23 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.w o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c25.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c26.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c27.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c27 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c3.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v3, c20 o.texcoord = i.texcoord + expr20; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_8 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_8_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_8_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_8_Output VS_M_Array_Shader_8(VS_M_Array_Shader_8_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 10 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 20 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c5.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c20.xy, r0.x, r0.yz expr20.xy = temp0.x * temp0.yz; } VS_M_Array_Shader_8_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, 1, -1, 0, 0.5 // def c2, -2, 3, 0, 0 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0.x, v1.y, c129[a0.y].w temp0.x = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r0.x, c129[a0.x].w, v1.x, r0.x temp0.x = WorldBones[1 + addr0.x].w * i.blendweight.x + temp0.x; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r0.yzw, r1.w, c128[a0.x].xxyz temp0.yzw = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r0.yzw, c128[a0.x].w, r1.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.x].www * temp1.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.x].xyzx, r1.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp0.yzw; // mad r0.yzw, c128[a0.x].xzxy, -r1.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp0.yzw; // add r0.yzw, r0, c129[a0.x].xxyz temp0.yzw = temp0.yzw + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r2.xyz, r0.yzww, v1.x, r2 temp2.xyz = temp0.yzw * i.blendweight.xxx + temp2.xyz; // mul r3, v5.zxyy, c128[a0.y].yzxy temp3 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r3, c128[a0.y].wwwx, v5.xyzx, r3 temp3 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp3; // mul r4, v5.yzxz, c128[a0.y].zxyz temp4 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r3, r3, c0.xxxy, -r4 temp3 = temp3 * float4(1, 1, 1, -1) + -temp4; // mul r0.yzw, r3.w, c128[a0.y].xxyz temp0.yzw = temp3.www * WorldBones[0 + addr0.y].xyz; // mad r0.yzw, c128[a0.y].w, r3.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.y].www * temp3.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.y].xyzx, r3.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.y].yzx * temp3.zxy + temp0.yzw; // mad r0.yzw, c128[a0.y].xzxy, -r3.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.y].zxy * -temp3.yzx + temp0.yzw; // mul r0.yzw, r0, v1.y temp0.yzw = temp0.yzw * i.blendweight.yyy; // mad r0.yzw, r1.xxyz, v1.x, r0 temp0.yzw = temp1.xyz * i.blendweight.xxx + temp0.yzw; // add r1.xyz, -r2, c123 temp1.xyz = -temp2.xyz + EyePosition.xyz; // dp3 r1.w, r1, r1 temp1.w = dot(temp1.xyz, temp1.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c24.x temp3.zw = Shininess.x; // mov r4.xyz, c0.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c0.z temp5.xyz = float3(0, 0, 0); // mov r4.w, c0.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r1, r1.w, c6[a0.x] temp6.xyz = temp1.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c0.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c23 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c0.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r1, r1.w temp3.xyz = temp1.xyz * temp1.www; // dp3 r3.x, r3, r0.yzww temp3.x = dot(temp3.xyz, temp0.yzw); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c11.x temp3.x = temp3.x * expr11.x; // max r3.x, r3.x, c0.z temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c0.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c2.x, c2.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r0.x, r0.x, r3.x temp0.x = temp0.x * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c21 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c22, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mul r5, r0.x, v8 temp5 = temp0.x * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v8 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c0.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r2.w, c0.x temp2.w = float1(1); // dp4 r0.x, r2, c116 temp0.x = dot(temp2, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r1.xyz, r1, r1.w, c6 temp1.xyz = temp1.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r1 temp4.xyz = normalize(temp1.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c24.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r1.y, c5.xxyz temp0.yzw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c22.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c0.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r1.z, c5.xxyz temp0.yzw = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c23.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c0.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c25.x temp1.x = Opacity.x; // mul r0.y, r1.x, c1.x temp0.y = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r2.xxyw, -v7.xxyw temp0.yz = temp2.xy + -i.texcoord1.xy; // mad oT1.xy, c26.x, r0.yzzw, v7 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r2.z, c117.xzww temp0.yz = temp2.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r2.xxyw, c117.xxyw, -r0 temp0.yz = temp2.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r2.xxyw, c27.xzww temp0.yz = temp2.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c27 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r2, c113 temp0.y = dot(temp2, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r2, c114 temp0.z = dot(temp2, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r2, c115 temp0.w = dot(temp2, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.x, r0.x temp1.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r1.x, c3.xxyw o.texcoord4.xyz = temp0.yzw * temp1.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r2, c119 o.position.x = dot(temp2, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r2, c120 o.position.y = dot(temp2, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r2, c121 o.position.z = dot(temp2, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r2, c122 o.position.w = dot(temp2, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v6, c20 o.texcoord = i.texcoord + expr20; // mov oD1.w, c0.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_9 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_9_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_9_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_9_Output VS_M_Array_Shader_9(VS_M_Array_Shader_9_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c5.x, c4.zw expr15.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_9_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c0.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c0.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c0.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c0.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.x o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c11.x temp3.w = temp3.w * expr11.x; // max r3.w, r3.w, c0.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c0.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c0.z, c0.w temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mov r4.w, v4.w temp4.w = i.color.w; // mul r5, r3.w, v4 temp5 = temp3.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v4 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.x o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.x o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c17.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.x o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c20.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c21.x, r1.xxyw, v3.xxyw temp0.yz = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c22 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r2, c15 o.texcoord1 = temp0.yzzw * temp2 + expr15; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c23.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c23 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c2.yyzw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c0.x o.color1.w = float1(1); // mov oT0.xy, v2 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_10 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_10_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_10_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_10_Output VS_M_Array_Shader_10(VS_M_Array_Shader_10_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c5.x, c4.zw expr15.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_10_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c11.x temp2.w = temp2.w * expr11.x; // max r2.w, r2.w, c2.z temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c2.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c0.x, c0.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mul r5, r2.w, v5 temp5 = temp2.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v5 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c2.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c17.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.w o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c18 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.w o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c20.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c21.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c22 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c15 o.texcoord1 = temp1 * temp2 + expr15; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c23.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c23 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c3.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c2.x o.color1.w = float1(1); // mov oT0.xy, v3 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_11 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_11_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_11_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_11_Output VS_M_Array_Shader_11(VS_M_Array_Shader_11_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c5.x, c4.zw expr15.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_11_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0.x, v1.y, c129[a0.y].w temp0.x = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r0.x, c129[a0.x].w, v1.x, r0.x temp0.x = WorldBones[1 + addr0.x].w * i.blendweight.x + temp0.x; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r0.yzw, r1.w, c128[a0.x].xxyz temp0.yzw = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r0.yzw, c128[a0.x].w, r1.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.x].www * temp1.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.x].xyzx, r1.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp0.yzw; // mad r0.yzw, c128[a0.x].xzxy, -r1.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp0.yzw; // add r0.yzw, r0, c129[a0.x].xxyz temp0.yzw = temp0.yzw + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r2.xyz, r0.yzww, v1.x, r2 temp2.xyz = temp0.yzw * i.blendweight.xxx + temp2.xyz; // mul r3, v5.zxyy, c128[a0.y].yzxy temp3 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r3, c128[a0.y].wwwx, v5.xyzx, r3 temp3 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp3; // mul r4, v5.yzxz, c128[a0.y].zxyz temp4 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r3, r3, c2.xxxy, -r4 temp3 = temp3 * float4(1, 1, 1, -1) + -temp4; // mul r0.yzw, r3.w, c128[a0.y].xxyz temp0.yzw = temp3.www * WorldBones[0 + addr0.y].xyz; // mad r0.yzw, c128[a0.y].w, r3.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.y].www * temp3.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.y].xyzx, r3.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.y].yzx * temp3.zxy + temp0.yzw; // mad r0.yzw, c128[a0.y].xzxy, -r3.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.y].zxy * -temp3.yzx + temp0.yzw; // mul r0.yzw, r0, v1.y temp0.yzw = temp0.yzw * i.blendweight.yyy; // mad r0.yzw, r1.xxyz, v1.x, r0 temp0.yzw = temp1.xyz * i.blendweight.xxx + temp0.yzw; // add r1.xyz, -r2, c123 temp1.xyz = -temp2.xyz + EyePosition.xyz; // dp3 r1.w, r1, r1 temp1.w = dot(temp1.xyz, temp1.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r4.w, c2.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r1, r1.w, c6[a0.x] temp6.xyz = temp1.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c2.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r1, r1.w temp3.xyz = temp1.xyz * temp1.www; // dp3 r3.x, r3, r0.yzww temp3.x = dot(temp3.xyz, temp0.yzw); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c11.x temp3.x = temp3.x * expr11.x; // max r3.x, r3.x, c2.z temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c2.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c0.x, c0.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r0.x, r0.x, r3.x temp0.x = temp0.x * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mul r5, r0.x, v8 temp5 = temp0.x * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v8 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r2.w, c2.x temp2.w = float1(1); // dp4 r0.x, r2, c116 temp0.x = dot(temp2, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r1.xyz, r1, r1.w, c6 temp1.xyz = temp1.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r1 temp4.xyz = normalize(temp1.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r1.y, c5.xxyz temp0.yzw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c17.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r1.z, c5.xxyz temp0.yzw = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c20.x temp1.x = Opacity.x; // mul r0.y, r1.x, c1.x temp0.y = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c21.x, r2.xxyw, v7.xxyw temp0.yz = lerp(i.texcoord1.xy, temp2.xy, UseWorldCords.xx); // mov r1.xy, c22 temp1.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r1, c15 o.texcoord1 = temp0.yzzw * temp1 + expr15; // mul r0.yz, r2.z, c117.xzww temp0.yz = temp2.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r2.xxyw, c117.xxyw, -r0 temp0.yz = temp2.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r2.xxyw, c23.xzww temp0.yz = temp2.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c23 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r2, c113 temp0.y = dot(temp2, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r2, c114 temp0.z = dot(temp2, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r2, c115 temp0.w = dot(temp2, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.x, r0.x temp1.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r1.x, c3.xxyw o.texcoord4.xyz = temp0.yzw * temp1.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r2, c119 o.position.x = dot(temp2, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r2, c120 o.position.y = dot(temp2, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r2, c121 o.position.z = dot(temp2, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r2, c122 o.position.w = dot(temp2, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c2.x o.color1.w = float1(1); // mov oT0.xy, v6 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_12 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_12_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_12_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_12_Output VS_M_Array_Shader_12(VS_M_Array_Shader_12_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 4 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c6.x, c4.zw expr15.xy = Time.x * TexCoordTransform_0.zw; // mul c16.xy, c6.x, c5.zw expr16.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_12_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c0.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c0.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c0.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c0.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.x o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c11.x temp3.w = temp3.w * expr11.x; // max r3.w, r3.w, c0.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c0.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c0.z, c0.w temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mov r4.w, v4.w temp4.w = i.color.w; // mul r5, r3.w, v4 temp5 = temp3.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v4 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.x o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c19.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.x o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.x o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c21.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c22.x, r1.xxyw, v3.xxyw temp0.yz = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c24 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r2, c16 o.texcoord1 = temp0.yzzw * temp2 + expr16; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c25.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c25 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c2.yyzw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c23 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v2, r0, c15 o.texcoord = i.texcoord * temp0 + expr15; // mov oD1.w, c0.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_13 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_13_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_13_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_13_Output VS_M_Array_Shader_13(VS_M_Array_Shader_13_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 4 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c6.x, c4.zw expr15.xy = Time.x * TexCoordTransform_0.zw; // mul c16.xy, c6.x, c5.zw expr16.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_13_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c11.x temp2.w = temp2.w * expr11.x; // max r2.w, r2.w, c2.z temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c2.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c0.x, c0.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mul r5, r2.w, v5 temp5 = temp2.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v5 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c2.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c18.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.w o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c19 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.w o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c21.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c22.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c24 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c16 o.texcoord1 = temp1 * temp2 + expr16; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c25.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c25 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c3.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c23 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v3, r0, c15 o.texcoord = i.texcoord * temp0 + expr15; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_14 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_14_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_14_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_14_Output VS_M_Array_Shader_14(VS_M_Array_Shader_14_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 13 ConstInput 4 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c15.xy, c6.x, c4.zw expr15.xy = Time.x * TexCoordTransform_0.zw; // mul c16.xy, c6.x, c5.zw expr16.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_14_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0.x, v1.y, c129[a0.y].w temp0.x = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r0.x, c129[a0.x].w, v1.x, r0.x temp0.x = WorldBones[1 + addr0.x].w * i.blendweight.x + temp0.x; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r0.yzw, r1.w, c128[a0.x].xxyz temp0.yzw = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r0.yzw, c128[a0.x].w, r1.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.x].www * temp1.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.x].xyzx, r1.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp0.yzw; // mad r0.yzw, c128[a0.x].xzxy, -r1.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp0.yzw; // add r0.yzw, r0, c129[a0.x].xxyz temp0.yzw = temp0.yzw + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r2.xyz, r0.yzww, v1.x, r2 temp2.xyz = temp0.yzw * i.blendweight.xxx + temp2.xyz; // mul r3, v5.zxyy, c128[a0.y].yzxy temp3 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r3, c128[a0.y].wwwx, v5.xyzx, r3 temp3 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp3; // mul r4, v5.yzxz, c128[a0.y].zxyz temp4 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r3, r3, c2.xxxy, -r4 temp3 = temp3 * float4(1, 1, 1, -1) + -temp4; // mul r0.yzw, r3.w, c128[a0.y].xxyz temp0.yzw = temp3.www * WorldBones[0 + addr0.y].xyz; // mad r0.yzw, c128[a0.y].w, r3.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.y].www * temp3.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.y].xyzx, r3.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.y].yzx * temp3.zxy + temp0.yzw; // mad r0.yzw, c128[a0.y].xzxy, -r3.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.y].zxy * -temp3.yzx + temp0.yzw; // mul r0.yzw, r0, v1.y temp0.yzw = temp0.yzw * i.blendweight.yyy; // mad r0.yzw, r1.xxyz, v1.x, r0 temp0.yzw = temp1.xyz * i.blendweight.xxx + temp0.yzw; // add r1.xyz, -r2, c123 temp1.xyz = -temp2.xyz + EyePosition.xyz; // dp3 r1.w, r1, r1 temp1.w = dot(temp1.xyz, temp1.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r4.w, c2.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r1, r1.w, c6[a0.x] temp6.xyz = temp1.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c2.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r1, r1.w temp3.xyz = temp1.xyz * temp1.www; // dp3 r3.x, r3, r0.yzww temp3.x = dot(temp3.xyz, temp0.yzw); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c11.x temp3.x = temp3.x * expr11.x; // max r3.x, r3.x, c2.z temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c2.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c0.x, c0.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r0.x, r0.x, r3.x temp0.x = temp0.x * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mul r5, r0.x, v8 temp5 = temp0.x * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v8 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r2.w, c2.x temp2.w = float1(1); // dp4 r0.x, r2, c116 temp0.x = dot(temp2, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r1.xyz, r1, r1.w, c6 temp1.xyz = temp1.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r1 temp4.xyz = normalize(temp1.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r1.y, c5.xxyz temp0.yzw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r1.z, c5.xxyz temp0.yzw = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c19.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c21.x temp1.x = Opacity.x; // mul r0.y, r1.x, c1.x temp0.y = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c22.x, r2.xxyw, v7.xxyw temp0.yz = lerp(i.texcoord1.xy, temp2.xy, UseWorldCords.xx); // mov r1.xy, c24 temp1.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r1, c16 o.texcoord1 = temp0.yzzw * temp1 + expr16; // mul r0.yz, r2.z, c117.xzww temp0.yz = temp2.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r2.xxyw, c117.xxyw, -r0 temp0.yz = temp2.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r2.xxyw, c25.xzww temp0.yz = temp2.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c25 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r2, c113 temp0.y = dot(temp2, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r2, c114 temp0.z = dot(temp2, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r2, c115 temp0.w = dot(temp2, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.x, r0.x temp1.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r1.x, c3.xxyw o.texcoord4.xyz = temp0.yzw * temp1.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r2, c119 o.position.x = dot(temp2, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r2, c120 o.position.y = dot(temp2, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r2, c121 o.position.z = dot(temp2, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r2, c122 o.position.w = dot(temp2, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c23 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v6, r0, c15 o.texcoord = i.texcoord * temp0 + expr15; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_15 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_15_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_15_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_15_Output VS_M_Array_Shader_15(VS_M_Array_Shader_15_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 11 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 20 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c20.xy, r0.x, r0.yz expr20.xy = temp0.x * temp0.yz; // mul c21.xy, c6.x, c5.zw expr21.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_15_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c0, 1, 0, -2, 3 // def c2, 0.5, 0, -0.0015, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c0.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c25.x temp3.zw = Shininess.x; // mov r4.xyz, c0.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c0.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c0.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c0.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c24 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.x o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c22 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c23, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c11.x temp3.w = temp3.w * expr11.x; // max r3.w, r3.w, c0.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c0.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c0.z, c0.w temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mov r4.w, v4.w temp4.w = i.color.w; // mul r5, r3.w, v4 temp5 = temp3.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v4 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.x o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c25.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c24.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.x o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c23.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.x o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c26.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c27.x, r1.xxyw, v3.xxyw temp0.yz = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c28 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r2, c21 o.texcoord1 = temp0.yzzw * temp2 + expr21; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c29.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c29 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c2.yyzw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v2, c20 o.texcoord = i.texcoord + expr20; // mov oD1.w, c0.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_16 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_16_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_16_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_16_Output VS_M_Array_Shader_16(VS_M_Array_Shader_16_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 11 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 20 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c20.xy, r0.x, r0.yz expr20.xy = temp0.x * temp0.yz; // mul c21.xy, c6.x, c5.zw expr21.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_16_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, -2, 3, 0, 0 // def c2, 1, -1, 0, 0.5 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c25.x temp3.zw = Shininess.x; // mov r4.xyz, c2.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.z temp5.xyz = float3(0, 0, 0); // mov r2.w, c2.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c2.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c24 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c11.x temp2.w = temp2.w * expr11.x; // max r2.w, r2.w, c2.z temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c2.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c0.x, c0.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c22 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c23, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v5.w temp4.w = i.color.w; // mul r5, r2.w, v5 temp5 = temp2.w * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v5 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c2.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c25.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c23.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.w o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c24 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.w o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c26.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c27.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c28 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c21 o.texcoord1 = temp1 * temp2 + expr21; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c29.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c29 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c3.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v3, c20 o.texcoord = i.texcoord + expr20; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_17 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_17_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_17_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_17_Output VS_M_Array_Shader_17(VS_M_Array_Shader_17_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 11 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 3 0 - ConstOutput: 13 ConstInput 2 1 - ConstOutput: 20 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // rcp c11.x, c2.x expr11.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c13.x, r0.x, r1.x expr13.x = temp0.x >= temp1.x; // mul c14.xyz, c1.x, c0.xyz expr14.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c20.xy, r0.x, r0.yz expr20.xy = temp0.x * temp0.yz; // mul c21.xy, c6.x, c5.zw expr21.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_17_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c0, 1, -1, 0, 0.5 // def c2, -2, 3, 0, 0 // def c3, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0.x, v1.y, c129[a0.y].w temp0.x = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r0.x, c129[a0.x].w, v1.x, r0.x temp0.x = WorldBones[1 + addr0.x].w * i.blendweight.x + temp0.x; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r0.yzw, r1.w, c128[a0.x].xxyz temp0.yzw = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r0.yzw, c128[a0.x].w, r1.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.x].www * temp1.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.x].xyzx, r1.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp0.yzw; // mad r0.yzw, c128[a0.x].xzxy, -r1.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp0.yzw; // add r0.yzw, r0, c129[a0.x].xxyz temp0.yzw = temp0.yzw + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c0.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r2.xyz, r0.yzww, v1.x, r2 temp2.xyz = temp0.yzw * i.blendweight.xxx + temp2.xyz; // mul r3, v5.zxyy, c128[a0.y].yzxy temp3 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r3, c128[a0.y].wwwx, v5.xyzx, r3 temp3 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp3; // mul r4, v5.yzxz, c128[a0.y].zxyz temp4 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r3, r3, c0.xxxy, -r4 temp3 = temp3 * float4(1, 1, 1, -1) + -temp4; // mul r0.yzw, r3.w, c128[a0.y].xxyz temp0.yzw = temp3.www * WorldBones[0 + addr0.y].xyz; // mad r0.yzw, c128[a0.y].w, r3.xxyz, -r0 temp0.yzw = WorldBones[0 + addr0.y].www * temp3.xyz + -temp0.yzw; // mad r0.yzw, c128[a0.y].xyzx, r3.xzxy, r0 temp0.yzw = WorldBones[0 + addr0.y].yzx * temp3.zxy + temp0.yzw; // mad r0.yzw, c128[a0.y].xzxy, -r3.xyzx, r0 temp0.yzw = WorldBones[0 + addr0.y].zxy * -temp3.yzx + temp0.yzw; // mul r0.yzw, r0, v1.y temp0.yzw = temp0.yzw * i.blendweight.yyy; // mad r0.yzw, r1.xxyz, v1.x, r0 temp0.yzw = temp1.xyz * i.blendweight.xxx + temp0.yzw; // add r1.xyz, -r2, c123 temp1.xyz = -temp2.xyz + EyePosition.xyz; // dp3 r1.w, r1, r1 temp1.w = dot(temp1.xyz, temp1.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c25.x temp3.zw = Shininess.x; // mov r4.xyz, c0.z temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c0.z temp5.xyz = float3(0, 0, 0); // mov r4.w, c0.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r1, r1.w, c6[a0.x] temp6.xyz = temp1.xyz * temp1.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c0.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c24 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c0.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r1, r1.w temp3.xyz = temp1.xyz * temp1.www; // dp3 r3.x, r3, r0.yzww temp3.x = dot(temp3.xyz, temp0.yzw); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c11.x temp3.x = temp3.x * expr11.x; // max r3.x, r3.x, c0.z temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c0.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c2.x, c2.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r0.x, r0.x, r3.x temp0.x = temp0.x * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c22 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c14 temp3.xyz = temp3.xyz * temp5.xyz + expr14.xyz; // mad r3.xyz, r4, c23, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mov r4.w, v8.w temp4.w = i.color.w; // mul r5, r0.x, v8 temp5 = temp0.x * i.color; // mov r4.xyz, r5 temp4.xyz = temp5.xyz; // mov r5.xyz, v8 temp5.xyz = i.color.xyz; // lrp r6, c13.x, r4, r5 temp6 = lerp(temp5, temp4, expr13.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c0.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r2.w, c0.x temp2.w = float1(1); // dp4 r0.x, r2, c116 temp0.x = dot(temp2, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r1.xyz, r1, r1.w, c6 temp1.xyz = temp1.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r1 temp4.xyz = normalize(temp1.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c25.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r1.y, c5.xxyz temp0.yzw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c23.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c0.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r1.z, c5.xxyz temp0.yzw = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c24.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c0.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c26.x temp1.x = Opacity.x; // mul r0.y, r1.x, c1.x temp0.y = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c27.x, r2.xxyw, v7.xxyw temp0.yz = lerp(i.texcoord1.xy, temp2.xy, UseWorldCords.xx); // mov r1.xy, c28 temp1.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r1, c21 o.texcoord1 = temp0.yzzw * temp1 + expr21; // mul r0.yz, r2.z, c117.xzww temp0.yz = temp2.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r2.xxyw, c117.xxyw, -r0 temp0.yz = temp2.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r2.xxyw, c29.xzww temp0.yz = temp2.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c29 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r2, c113 temp0.y = dot(temp2, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r2, c114 temp0.z = dot(temp2, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r2, c115 temp0.w = dot(temp2, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.x, r0.x temp1.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r1.x, c3.xxyw o.texcoord4.xyz = temp0.yzw * temp1.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r2, c119 o.position.x = dot(temp2, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r2, c120 o.position.y = dot(temp2, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r2, c121 o.position.z = dot(temp2, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r2, c122 o.position.w = dot(temp2, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v6, c20 o.texcoord = i.texcoord + expr20; // mov oD1.w, c0.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_18 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_18_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_18_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_18_Output VS_M_Array_Shader_18(VS_M_Array_Shader_18_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c4.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_M_Array_Shader_18_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c24, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c3.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c3.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c3.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c3.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c12.x temp3.w = temp3.w * expr12.x; // max r3.w, r3.w, c3.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c3.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c2.x, c2.y temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mul r4.w, r3.w, v4.w temp4.w = temp3.w * i.color.w; // mov r5.w, v4.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v4 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c21.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r3.w, r4 temp5.xyz = temp3.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c3.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c3.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c17.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c3.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c20.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r1.xxyw, -v3.xxyw temp0.yz = temp1.xy + -i.texcoord1.xy; // mad oT1.xy, c22.x, r0.yzzw, v3 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c23.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c23 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c24.xxyw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c3.x o.color1.w = float1(1); // mov oT0.xy, v2 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_19 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_19_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_19_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_19_Output VS_M_Array_Shader_19(VS_M_Array_Shader_19_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c4.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_M_Array_Shader_19_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c24, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c12.x temp2.w = temp2.w * expr12.x; // max r2.w, r2.w, c3.w temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c3.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c2.x, c2.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r5.w, v5.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v5 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c21.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r2.w, r4 temp5.xyz = temp2.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c17.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.z o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c18 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c20.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c22.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c23.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c23 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c24.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c3.x o.color1.w = float1(1); // mov oT0.xy, v3 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_20 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_20_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_20_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_20_Output VS_M_Array_Shader_20(VS_M_Array_Shader_20_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 5 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c4.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; } VS_M_Array_Shader_20_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c24, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c3.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c3.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mul r1.w, v1.y, c129[a0.y].w temp1.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r1.w, c129[a0.x].w, v1.x, r1.w temp1.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp1.w; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c19.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r4.w, c3.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.x] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c3.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c18 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r2.w temp3.xyz = temp2.xyz * temp2.www; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c12.x temp3.x = temp3.x * expr12.x; // max r3.x, r3.x, c3.w temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c3.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c2.x, c2.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r1.w, r1.w, r3.x temp1.w = temp1.w * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c16 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c17, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r1.w, v8.w temp4.w = temp1.w * i.color.w; // mov r5.w, v8.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v8 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c21.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r1.w, r4 temp5.xyz = temp1.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r1.w, r0, c116 temp1.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c19.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyz, r2.y, c5 temp1.xyz = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c17 temp1.xyz = temp1.xyz * ColorDiffuse.xyz; // mul r1.xyz, r6, r1 temp1.xyz = temp6.xyz * temp1.xyz; // mul oT5.xyz, r1, c2.z o.texcoord5 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r2.z, c5 temp1.xyz = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c18 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c20.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c22.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c23.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c23 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r1.w temp2.x = 1.0f / temp1.w; // mad oT4.xyz, r1, r2.x, c24.xxyw o.texcoord4.xyz = temp1.xyz * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r1.w o.texcoord4.w = temp1.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c3.x o.color1.w = float1(1); // mov oT0.xy, v6 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_21 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_21_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_21_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_21_Output VS_M_Array_Shader_21(VS_M_Array_Shader_21_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c5.x, c4.zw expr16.xy = Time.x * TexCoordTransform_0.zw; } VS_M_Array_Shader_21_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c26, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c3.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c3.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c3.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c3.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c12.x temp3.w = temp3.w * expr12.x; // max r3.w, r3.w, c3.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c3.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c2.x, c2.y temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mul r4.w, r3.w, v4.w temp4.w = temp3.w * i.color.w; // mov r5.w, v4.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v4 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c22.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r3.w, r4 temp5.xyz = temp3.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c3.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c19.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c3.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c3.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c21.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r1.xxyw, -v3.xxyw temp0.yz = temp1.xy + -i.texcoord1.xy; // mad oT1.xy, c23.x, r0.yzzw, v3 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c25.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c25 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c26.xxyw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c24 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v2, r0, c16 o.texcoord = i.texcoord * temp0 + expr16; // mov oD1.w, c3.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_22 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_22_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_22_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_22_Output VS_M_Array_Shader_22(VS_M_Array_Shader_22_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c5.x, c4.zw expr16.xy = Time.x * TexCoordTransform_0.zw; } VS_M_Array_Shader_22_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c26, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c12.x temp2.w = temp2.w * expr12.x; // max r2.w, r2.w, c3.w temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c3.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c2.x, c2.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r5.w, v5.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v5 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c22.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r2.w, r4 temp5.xyz = temp2.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c18.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.z o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c19 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c21.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c23.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c25.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c25 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c26.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c24 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v3, r0, c16 o.texcoord = i.texcoord * temp0 + expr16; // mov oD1.w, c3.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_23 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_23_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_23_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_23_Output VS_M_Array_Shader_23(VS_M_Array_Shader_23_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c5.x, c4.zw expr16.xy = Time.x * TexCoordTransform_0.zw; } VS_M_Array_Shader_23_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c26, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c3.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c3.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mul r1.w, v1.y, c129[a0.y].w temp1.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r1.w, c129[a0.x].w, v1.x, r1.w temp1.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp1.w; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r4.w, c3.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.x] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c3.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r2.w temp3.xyz = temp2.xyz * temp2.www; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c12.x temp3.x = temp3.x * expr12.x; // max r3.x, r3.x, c3.w temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c3.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c2.x, c2.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r1.w, r1.w, r3.x temp1.w = temp1.w * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r1.w, v8.w temp4.w = temp1.w * i.color.w; // mov r5.w, v8.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v8 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c22.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r1.w, r4 temp5.xyz = temp1.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r1.w, r0, c116 temp1.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyz, r2.y, c5 temp1.xyz = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c18 temp1.xyz = temp1.xyz * ColorDiffuse.xyz; // mul r1.xyz, r6, r1 temp1.xyz = temp6.xyz * temp1.xyz; // mul oT5.xyz, r1, c2.z o.texcoord5 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r2.z, c5 temp1.xyz = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c19 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c21.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c23.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c25.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c25 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r1.w temp2.x = 1.0f / temp1.w; // mad oT4.xyz, r1, r2.x, c26.xxyw o.texcoord4.xyz = temp1.xyz * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r1.w o.texcoord4.w = temp1.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c24 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v6, r0, c16 o.texcoord = i.texcoord * temp0 + expr16; // mov oD1.w, c3.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_24 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_24_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_24_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_24_Output VS_M_Array_Shader_24(VS_M_Array_Shader_24_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 11 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 21 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c5.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c21.xy, r0.x, r0.yz expr21.xy = temp0.x * temp0.yz; } VS_M_Array_Shader_24_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c2, 1, 0, 0.25, 0.5 // def c3, -2, 3, 0, 0 // def c30, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c2.xxxy, c2.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c2.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c25.x temp3.zw = Shininess.x; // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c2.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c2.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c24 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c22 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c23, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c12.x temp3.w = temp3.w * expr12.x; // max r3.w, r3.w, c2.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c2.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c3.x, c3.y temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mul r4.w, r3.w, v4.w temp4.w = temp3.w * i.color.w; // mov r5.w, v4.w temp5.w = i.color.w; // mov r6.xz, c2 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v4 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c27.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r3.w, r4 temp5.xyz = temp3.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c25.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c24.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c23.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c26.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // add r0.yz, r1.xxyw, -v3.xxyw temp0.yz = temp1.xy + -i.texcoord1.xy; // mad oT1.xy, c28.x, r0.yzzw, v3 o.texcoord1 = UseWorldCords.x * temp0.yzzw + i.texcoord1; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c29.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c29 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c30.xxyw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v2, c21 o.texcoord = i.texcoord + expr21; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_25 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_25_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_25_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_25_Output VS_M_Array_Shader_25(VS_M_Array_Shader_25_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 11 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 21 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c5.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c21.xy, r0.x, r0.yz expr21.xy = temp0.x * temp0.yz; } VS_M_Array_Shader_25_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c30, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c25.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c24 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c12.x temp2.w = temp2.w * expr12.x; // max r2.w, r2.w, c3.w temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c3.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c2.x, c2.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c22 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c23, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r5.w, v5.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v5 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c27.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r2.w, r4 temp5.xyz = temp2.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c25.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c23.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.z o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c24 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c26.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v4 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c28.x, r1, v4 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c29.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c29 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c30.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v3, c21 o.texcoord = i.texcoord + expr21; // mov oD1.w, c3.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_26 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_26_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_26_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_26_Output VS_M_Array_Shader_26(VS_M_Array_Shader_26_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 11 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 21 ConstInput 1 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c5.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c21.xy, r0.x, r0.yz expr21.xy = temp0.x * temp0.yz; } VS_M_Array_Shader_26_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, 1, -1, 0.25, 0 // def c3, -2, 3, 0.5, 0 // def c30, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mul r1.w, v1.y, c129[a0.y].w temp1.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r1.w, c129[a0.x].w, v1.x, r1.w temp1.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp1.w; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c25.x temp3.zw = Shininess.x; // mov r4.xyz, c2.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.w temp5.xyz = float3(0, 0, 0); // mov r4.w, c2.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.x] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c2.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c24 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c3.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r2.w temp3.xyz = temp2.xyz * temp2.www; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c12.x temp3.x = temp3.x * expr12.x; // max r3.x, r3.x, c2.w temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c2.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c3.x, c3.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r1.w, r1.w, r3.x temp1.w = temp1.w * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c22 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c23, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r1.w, v8.w temp4.w = temp1.w * i.color.w; // mov r5.w, v8.w temp5.w = i.color.w; // mov r6.xz, c2 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v8 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c27.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r1.w, r4 temp5.xyz = temp1.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c3.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c2.x temp0.w = float1(1); // dp4 r1.w, r0, c116 temp1.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c25.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyz, r2.y, c5 temp1.xyz = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c23 temp1.xyz = temp1.xyz * ColorDiffuse.xyz; // mul r1.xyz, r6, r1 temp1.xyz = temp6.xyz * temp1.xyz; // mul oT5.xyz, r1, c3.z o.texcoord5 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r2.z, c5 temp1.xyz = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c24 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c3.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c26.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // add r1.xy, r0, -v7 temp1.xy = temp0.xy + -i.texcoord1.xy; // mad oT1.xy, c28.x, r1, v7 o.texcoord1 = UseWorldCords.x * temp1 + i.texcoord1; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c29.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c29 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r1.w temp2.x = 1.0f / temp1.w; // mad oT4.xyz, r1, r2.x, c30.xxyw o.texcoord4.xyz = temp1.xyz * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r1.w o.texcoord4.w = temp1.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v6, c21 o.texcoord = i.texcoord + expr21; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_27 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_27_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_27_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_27_Output VS_M_Array_Shader_27(VS_M_Array_Shader_27_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c5.x, c4.zw expr16.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_27_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c26, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c3.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c3.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c3.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c3.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c12.x temp3.w = temp3.w * expr12.x; // max r3.w, r3.w, c3.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c3.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c2.x, c2.y temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mul r4.w, r3.w, v4.w temp4.w = temp3.w * i.color.w; // mov r5.w, v4.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v4 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c22.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r3.w, r4 temp5.xyz = temp3.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c3.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c19.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c3.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c18.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c3.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c21.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c23.x, r1.xxyw, v3.xxyw temp0.yz = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c24 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r2, c16 o.texcoord1 = temp0.yzzw * temp2 + expr16; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c25.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c25 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c26.xxyw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c3.x o.color1.w = float1(1); // mov oT0.xy, v2 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_28 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_28_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_28_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_28_Output VS_M_Array_Shader_28(VS_M_Array_Shader_28_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c5.x, c4.zw expr16.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_28_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c26, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c12.x temp2.w = temp2.w * expr12.x; // max r2.w, r2.w, c3.w temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c3.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c2.x, c2.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r5.w, v5.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v5 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c22.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r2.w, r4 temp5.xyz = temp2.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c18.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.z o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c19 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c21.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c23.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c24 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c16 o.texcoord1 = temp1 * temp2 + expr16; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c25.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c25 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c26.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c3.x o.color1.w = float1(1); // mov oT0.xy, v3 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_29 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_29_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_29_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_29_Output VS_M_Array_Shader_29(VS_M_Array_Shader_29_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 6 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 3 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c5.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c5.x, c4.zw expr16.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_29_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c26, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c3.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c3.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mul r1.w, v1.y, c129[a0.y].w temp1.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r1.w, c129[a0.x].w, v1.x, r1.w temp1.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp1.w; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c20.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r4.w, c3.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.x] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c3.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c19 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r2.w temp3.xyz = temp2.xyz * temp2.www; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c12.x temp3.x = temp3.x * expr12.x; // max r3.x, r3.x, c3.w temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c3.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c2.x, c2.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r1.w, r1.w, r3.x temp1.w = temp1.w * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c17 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c18, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r1.w, v8.w temp4.w = temp1.w * i.color.w; // mov r5.w, v8.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v8 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c22.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r1.w, r4 temp5.xyz = temp1.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r1.w, r0, c116 temp1.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c20.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyz, r2.y, c5 temp1.xyz = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c18 temp1.xyz = temp1.xyz * ColorDiffuse.xyz; // mul r1.xyz, r6, r1 temp1.xyz = temp6.xyz * temp1.xyz; // mul oT5.xyz, r1, c2.z o.texcoord5 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r2.z, c5 temp1.xyz = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c19 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c21.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c23.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c24 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c16 o.texcoord1 = temp1 * temp2 + expr16; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c25.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c25 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r1.w temp2.x = 1.0f / temp1.w; // mad oT4.xyz, r1, r2.x, c26.xxyw o.texcoord4.xyz = temp1.xyz * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r1.w o.texcoord4.w = temp1.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov oD1.w, c3.x o.color1.w = float1(1); // mov oT0.xy, v6 o.texcoord = i.texcoord; // return o; } // VS_M_Array_Shader_30 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_30_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_30_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_30_Output VS_M_Array_Shader_30(VS_M_Array_Shader_30_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 4 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c6.x, c4.zw expr16.xy = Time.x * TexCoordTransform_0.zw; // mul c17.xy, c6.x, c5.zw expr17.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_30_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c2, -2, 3, 0, 0 // def c3, 1, 0, 0.25, 0.5 // def c28, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c3.xxxy, c3.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c3.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c21.x temp3.zw = Shininess.x; // mov r4.xyz, c3.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c3.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c3.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c20 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c3.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c18 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c19, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c12.x temp3.w = temp3.w * expr12.x; // max r3.w, r3.w, c3.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c3.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c2.x, c2.y temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mul r4.w, r3.w, v4.w temp4.w = temp3.w * i.color.w; // mov r5.w, v4.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v4 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c23.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r3.w, r4 temp5.xyz = temp3.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c3.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c21.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c20.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c3.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c19.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c3.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c22.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c24.x, r1.xxyw, v3.xxyw temp0.yz = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c26 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r2, c17 o.texcoord1 = temp0.yzzw * temp2 + expr17; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c27.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c27 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c28.xxyw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c25 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v2, r0, c16 o.texcoord = i.texcoord * temp0 + expr16; // mov oD1.w, c3.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_31 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_31_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_31_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_31_Output VS_M_Array_Shader_31(VS_M_Array_Shader_31_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 4 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c6.x, c4.zw expr16.xy = Time.x * TexCoordTransform_0.zw; // mul c17.xy, c6.x, c5.zw expr17.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_31_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c28, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c21.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c20 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c12.x temp2.w = temp2.w * expr12.x; // max r2.w, r2.w, c3.w temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c3.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c2.x, c2.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c18 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c19, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r5.w, v5.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v5 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c23.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r2.w, r4 temp5.xyz = temp2.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c21.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c19.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.z o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c20 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c22.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c24.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c26 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c17 o.texcoord1 = temp1 * temp2 + expr17; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c27.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c27 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c28.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c25 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v3, r0, c16 o.texcoord = i.texcoord * temp0 + expr16; // mov oD1.w, c3.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_32 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_32_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_32_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_32_Output VS_M_Array_Shader_32(VS_M_Array_Shader_32_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 2 0 - ConstOutput: 14 ConstInput 4 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul c16.xy, c6.x, c4.zw expr16.xy = Time.x * TexCoordTransform_0.zw; // mul c17.xy, c6.x, c5.zw expr17.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_32_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c28, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c3.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c3.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mul r1.w, v1.y, c129[a0.y].w temp1.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r1.w, c129[a0.x].w, v1.x, r1.w temp1.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp1.w; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c21.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r4.w, c3.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.x] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c3.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c20 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r2.w temp3.xyz = temp2.xyz * temp2.www; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c12.x temp3.x = temp3.x * expr12.x; // max r3.x, r3.x, c3.w temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c3.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c2.x, c2.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r1.w, r1.w, r3.x temp1.w = temp1.w * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c18 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c19, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r1.w, v8.w temp4.w = temp1.w * i.color.w; // mov r5.w, v8.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v8 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c23.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r1.w, r4 temp5.xyz = temp1.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r1.w, r0, c116 temp1.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c21.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyz, r2.y, c5 temp1.xyz = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c19 temp1.xyz = temp1.xyz * ColorDiffuse.xyz; // mul r1.xyz, r6, r1 temp1.xyz = temp6.xyz * temp1.xyz; // mul oT5.xyz, r1, c2.z o.texcoord5 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r2.z, c5 temp1.xyz = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c20 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c22.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c24.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c26 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c17 o.texcoord1 = temp1 * temp2 + expr17; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c27.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c27 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r1.w temp2.x = 1.0f / temp1.w; // mad oT4.xyz, r1, r2.x, c28.xxyw o.texcoord4.xyz = temp1.xyz * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r1.w o.texcoord4.w = temp1.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // mov r0.xy, c25 temp0.xy = TexCoordTransform_0.xy; // mad oT0.xy, v6, r0, c16 o.texcoord = i.texcoord * temp0 + expr16; // mov oD1.w, c3.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_33 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_33_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_33_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord6 : TEXCOORD6; float3 texcoord5 : TEXCOORD5; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_33_Output VS_M_Array_Shader_33(VS_M_Array_Shader_33_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 12 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 21 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c21.xy, r0.x, r0.yz expr21.xy = temp0.x * temp0.yz; // mul c22.xy, c6.x, c5.zw expr22.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_33_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float addr0; float3 temp7; // def c2, 1, 0, 0.25, 0.5 // def c3, -2, 3, 0, 0 // def c32, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_texcoord1 v3 // dcl_color v4 // mad r0, v0.xyzx, c2.xxxy, c2.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // mov r1.w, c2.x temp1.w = float1(1); // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r0.y, v1, c124 temp0.y = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r0.z, v1, c125 temp0.z = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r0.w, v1, c126 temp0.w = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // add r2.xyz, -r1, c123 temp2.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c26.x temp3.zw = Shininess.x; // mov r4.xyz, c2.y temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.y temp5.xyz = float3(0, 0, 0); // mov r4.w, c2.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r0.yzww, r7 temp3.y = dot(temp0.yzw, temp7.xyz); // dp3 r3.x, r0.yzww, c6[a0.x] temp3.x = dot(temp0.yzw, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c2.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c25 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.w o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c23 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c24, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.xyz, r2, r2.w temp4.xyz = temp2.xyz * temp2.www; // dp3 r3.w, r4, r0.yzww temp3.w = dot(temp4.xyz, temp0.yzw); // abs r3.w, r3.w temp3.w = abs(temp3.w); // mul r3.w, r3.w, c12.x temp3.w = temp3.w * expr12.x; // max r3.w, r3.w, c2.y temp3.w = max(temp3.w, float1(0)); // min r3.w, r3.w, c2.x temp3.w = min(temp3.w, float1(1)); // mul r4.x, r3.w, r3.w temp4.x = temp3.w * temp3.w; // mad r3.w, r3.w, c3.x, c3.y temp3.w = temp3.w * float1(-2) + float1(3); // mul r3.w, r4.x, r3.w temp3.w = temp4.x * temp3.w; // mul r4.w, r3.w, v4.w temp4.w = temp3.w * i.color.w; // mov r5.w, v4.w temp5.w = i.color.w; // mov r6.xz, c2 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v4 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c28.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r3.w, r4 temp5.xyz = temp3.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.w o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // dp3 r3.x, r0.yzww, c6 temp3.x = dot(temp0.yzw, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r0.yzww, r4 temp3.y = dot(temp0.yzw, temp4.xyz); // mov r3.zw, c26.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r0.yzw, r2.z, c5.xxyz temp0.yzw = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c25.xxyz temp0.yzw = temp0.yzw * ColorSpecular.xyz; // mul oT6.xyz, r0.yzww, c2.w o.texcoord6 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mul r0.yzw, r2.y, c5.xxyz temp0.yzw = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r0.yzw, r0, c24.xxyz temp0.yzw = temp0.yzw * ColorDiffuse.xyz; // mul r0.yzw, r6.xxyz, r0 temp0.yzw = temp6.xyz * temp0.yzw; // mul oT5.xyz, r0.yzww, c2.w o.texcoord5 = temp0.yzww * float4(0.5, 0.5, 0.5, 0.5); // mov r2.x, c27.x temp2.x = Opacity.x; // mul r0.y, r2.x, c1.x temp0.y = temp2.x * OpacityOverride.x; // mul oD0.w, r6.w, r0.y o.color.w = temp6.w * temp0.y; // lrp r0.yz, c29.x, r1.xxyw, v3.xxyw temp0.yz = lerp(i.texcoord1.xy, temp1.xy, UseWorldCords.xx); // mov r2.xy, c30 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r0.yzzw, r2, c22 o.texcoord1 = temp0.yzzw * temp2 + expr22; // mul r0.yz, r1.z, c117.xzww temp0.yz = temp1.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r0.yz, r1.xxyw, c117.xxyw, -r0 temp0.yz = temp1.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp0.yz; // add oT2.xy, r0.yzzw, c118 o.texcoord2 = temp0.yzzw + Cloud.CurrentOffsetUV; // add r0.yz, r1.xxyw, c31.xzww temp0.yz = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r0.yzzw, c31 o.texcoord3 = temp0.yzzw * Shroud.ScaleUV_OffsetUV; // dp4 r0.y, r1, c113 temp0.y = dot(temp1, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r0.z, r1, c114 temp0.z = dot(temp1, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r0.w, r1, c115 temp0.w = dot(temp1, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r0.x temp2.x = 1.0f / temp0.x; // mad oT4.xyz, r0.yzww, r2.x, c32.xxyw o.texcoord4.xyz = temp0.yzw * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r0.x o.texcoord4.w = temp0.x; // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v2, c21 o.texcoord = i.texcoord + expr21; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_34 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_34_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_34_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_34_Output VS_M_Array_Shader_34(VS_M_Array_Shader_34_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 12 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 21 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c21.xy, r0.x, r0.yz expr21.xy = temp0.x * temp0.yz; // mul c22.xy, c6.x, c5.zw expr22.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_34_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, -2, 3, 0.5, 0 // def c3, 1, -1, 0.25, 0 // def c32, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_normal v2 // dcl_texcoord v3 // dcl_texcoord1 v4 // dcl_color v5 // frc r0.x, v0.x temp0.x = frac(i.blendindices.x); // slt r0.y, -r0.x, r0.x temp0.y = (-temp0.x < temp0.x) ? 1 : 0; // add r0.x, -r0.x, v0.x temp0.x = -temp0.x + i.blendindices.x; // slt r0.z, v0.x, -v0.x temp0.z = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // mad r0.x, r0.z, r0.y, r0.x temp0.x = temp0.z * temp0.y + temp0.x; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c3.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c3.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r1.w, r2, r2 temp1.w = dot(temp2.xyz, temp2.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // mov r3.zw, c26.x temp3.zw = Shininess.x; // mov r4.xyz, c3.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c3.w temp5.xyz = float3(0, 0, 0); // mov r2.w, c3.x temp2.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r4.w, r2.w, r2.w temp4.w = temp2.w + temp2.w; // mova a0.y, r4.w addr0.y = temp4.w; // mad r6.xyz, r2, r1.w, c6[a0.y] temp6.xyz = temp2.xyz * temp1.www + DirectionalLight[0 + (addr0.y / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.y] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.y / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.y], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.y], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.y / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r2.w, r2.w, c3.x temp2.w = temp2.w + float1(1); // endrep } // mul r3.xyz, r5, c25 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c2.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r1.w temp3.xyz = temp2.xyz * temp1.www; // dp3 r2.w, r3, r1 temp2.w = dot(temp3.xyz, temp1.xyz); // abs r2.w, r2.w temp2.w = abs(temp2.w); // mul r2.w, r2.w, c12.x temp2.w = temp2.w * expr12.x; // max r2.w, r2.w, c3.w temp2.w = max(temp2.w, float1(0)); // min r2.w, r2.w, c3.x temp2.w = min(temp2.w, float1(1)); // mul r3.x, r2.w, r2.w temp3.x = temp2.w * temp2.w; // mad r2.w, r2.w, c2.x, c2.y temp2.w = temp2.w * float1(-2) + float1(3); // mul r2.w, r3.x, r2.w temp2.w = temp3.x * temp2.w; // mul r2.w, r2.w, c129[a0.x].w temp2.w = temp2.w * WorldBones[1 + addr0.x].w; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c23 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c24, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r2.w, v5.w temp4.w = temp2.w * i.color.w; // mov r5.w, v5.w temp5.w = i.color.w; // mov r6.xz, c3 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v5 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c28.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r2.w, r4 temp5.xyz = temp2.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c2.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c3.x temp0.w = float1(1); // dp4 r2.w, r0, c116 temp2.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r1.w, c6 temp2.xyz = temp2.xyz * temp1.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c26.x temp3.zw = Shininess.x; // lit r1, r3 temp1 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyw, r1.y, c5.xyzz temp1.xyw = temp1.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyw, r1, c24.xyzz temp1.xyw = temp1.xyw * ColorDiffuse.xyz; // mul r1.xyw, r6.xyzz, r1 temp1.xyw = temp6.xyz * temp1.xyw; // mul oT5.xyz, r1.xyww, c2.z o.texcoord5 = temp1.xyww * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r1.z, c5 temp1.xyz = temp1.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c25 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c2.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c27.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c29.x, r0, v4 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c30 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c22 o.texcoord1 = temp1 * temp2 + expr22; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c31.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c31 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r1.w, r2.w temp1.w = 1.0f / temp2.w; // mad oT4.xyz, r1, r1.w, c32.xxyw o.texcoord4.xyz = temp1.xyz * temp1.www + float3(0, 0, -0.0015); // mov oT4.w, r2.w o.texcoord4.w = temp2.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v3, c21 o.texcoord = i.texcoord + expr21; // mov oD1.w, c3.x o.color1.w = float1(1); // return o; } // VS_M_Array_Shader_35 Vertex_2_0 Has PRES True struct VS_M_Array_Shader_35_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 normal : NORMAL; float4 normal1 : NORMAL1; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; struct VS_M_Array_Shader_35_Output { float4 color1 : COLOR1; float4 color : COLOR; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float4 texcoord4 : TEXCOORD4; float4 position : POSITION; float2 texcoord : TEXCOORD; }; VS_M_Array_Shader_35_Output VS_M_Array_Shader_35(VS_M_Array_Shader_35_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 12 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 2 Mappings: 3 0 - ConstOutput: 14 ConstInput 2 1 - ConstOutput: 21 ConstInput 2 2 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; float4 expr18; float4 expr19; float4 expr20; float4 expr21; float4 expr22; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul r0.x, c6.x, (0.3183098861837907) temp0.x = Time.x * (0.3183098861837907); // add r1.x, r0.x, (0.5) temp1.x = temp0.x + (0.5); // frc r0.x, r1.x temp0.x = frac(temp1.x); // mul r1.x, r0.x, (6.283185307179586) temp1.x = temp0.x * (6.283185307179586); // add r0.x, r1.x, (-3.141592653589793) temp0.x = temp1.x + (-3.141592653589793); // sin r1.y, r0.x temp1.y = sin(temp0.x); // add c11.x, r1.y, (1.2) expr11.x = temp1.y + (1.2); // rcp c12.x, c2.x expr12.x = 1.0f / (EdgeFadeOut.x); // add r0.x, c3.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge c14.x, r0.x, r1.x expr14.x = temp0.x >= temp1.x; // mul c15.xyz, c1.x, c0.xyz expr15.xyz = EmissiveHDRMultipler.x * ColorEmissive.xyz; // mul r0.x, c4.x, c6.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c4.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c4.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c4.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c4.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c4.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c4.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c4.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c21.xy, r0.x, r0.yz expr21.xy = temp0.x * temp0.yz; // mul c22.xy, c6.x, c5.zw expr22.xy = Time.x * TexCoordTransform_1.zw; } VS_M_Array_Shader_35_Output o; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 addr0; float3 temp7; // def c2, 1, -1, 0.25, 0 // def c3, -2, 3, 0.5, 0 // def c32, 0, -0.0015, 0, 0 // defi i0, 2, 0, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_normal v4 // dcl_normal1 v5 // dcl_texcoord v6 // dcl_texcoord1 v7 // dcl_color v8 // frc r0.xy, v0 temp0.xy = frac(i.blendindices.xy); // slt r0.zw, -r0.xyxy, r0.xyxy temp0.zw = (-temp0.xy < temp0.xy) ? 1 : 0; // add r0.xy, -r0, v0 temp0.xy = -temp0.xy + i.blendindices.xy; // slt r1.xy, v0, -v0 temp1.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // mad r0.xy, r1, r0.zwzw, r0 temp0.xy = temp1.xy * temp0.zw + temp0.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v2.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v2.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v2.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c2.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mul r1, v4.zxyy, c128[a0.x].yzxy temp1 = i.normal.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v4.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.normal.xyzx + temp1; // mul r2, v4.yzxz, c128[a0.x].zxyz temp2 = i.normal.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c2.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // mul r2, v3.zxyy, c128[a0.y].yzxy temp2 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v3.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp2; // mul r3, v3.yzxz, c128[a0.y].zxyz temp3 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // add r2.xyz, r2, c129[a0.y] temp2.xyz = temp2.xyz + WorldBones[1 + addr0.y].xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r0.xyz, r0, v1.x, r2 temp0.xyz = temp0.xyz * i.blendweight.xxx + temp2.xyz; // mul r2, v5.zxyy, c128[a0.y].yzxy temp2 = i.normal1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r2, c128[a0.y].wwwx, v5.xyzx, r2 temp2 = WorldBones[0 + addr0.y].wwwx * i.normal1.xyzx + temp2; // mul r3, v5.yzxz, c128[a0.y].zxyz temp3 = i.normal1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r2, r2, c2.xxxy, -r3 temp2 = temp2 * float4(1, 1, 1, -1) + -temp3; // mul r3.xyz, r2.w, c128[a0.y] temp3.xyz = temp2.www * WorldBones[0 + addr0.y].xyz; // mad r3.xyz, c128[a0.y].w, r2, -r3 temp3.xyz = WorldBones[0 + addr0.y].www * temp2.xyz + -temp3.xyz; // mad r3.xyz, c128[a0.y].yzxw, r2.zxyw, r3 temp3.xyz = WorldBones[0 + addr0.y].yzx * temp2.zxy + temp3.xyz; // mad r2.xyz, c128[a0.y].zxyw, -r2.yzxw, r3 temp2.xyz = WorldBones[0 + addr0.y].zxy * -temp2.yzx + temp3.xyz; // mul r2.xyz, r2, v1.y temp2.xyz = temp2.xyz * i.blendweight.yyy; // mad r1.xyz, r1, v1.x, r2 temp1.xyz = temp1.xyz * i.blendweight.xxx + temp2.xyz; // mul r1.w, v1.y, c129[a0.y].w temp1.w = i.blendweight.y * WorldBones[1 + addr0.y].w; // mad r1.w, c129[a0.x].w, v1.x, r1.w temp1.w = WorldBones[1 + addr0.x].w * i.blendweight.x + temp1.w; // add r2.xyz, -r0, c123 temp2.xyz = -temp0.xyz + EyePosition.xyz; // dp3 r2.w, r2, r2 temp2.w = dot(temp2.xyz, temp2.xyz); // rsq r2.w, r2.w temp2.w = 1 / sqrt(temp2.w); // mov r3.zw, c26.x temp3.zw = Shininess.x; // mov r4.xyz, c2.w temp4.xyz = float3(0, 0, 0); // mov r5.xyz, c2.w temp5.xyz = float3(0, 0, 0); // mov r4.w, c2.x temp4.w = float1(1); // rep i0 for (int it0 = 0; it0 < int1(2); ++it0) { // add r5.w, r4.w, r4.w temp5.w = temp4.w + temp4.w; // mova a0.x, r5.w addr0.x = temp5.w; // mad r6.xyz, r2, r2.w, c6[a0.x] temp6.xyz = temp2.xyz * temp2.www + DirectionalLight[0 + (addr0.x / 2)].Direction.xyz; // nrm r7.xyz, r6 temp7.xyz = normalize(temp6.xyz).xyz; // dp3 r3.y, r1, r7 temp3.y = dot(temp1.xyz, temp7.xyz); // dp3 r3.x, r1, c6[a0.x] temp3.x = dot(temp1.xyz, DirectionalLight[0 + (addr0.x / 2)].Direction.xyz); // lit r6, r3 temp6 = lit(temp3.x, temp3.y, temp3.w); // mad r5.xyz, c5[a0.x], r6.z, r5 temp5.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.zzz + temp5.xyz; // mad r4.xyz, c5[a0.x], r6.y, r4 temp4.xyz = DirectionalLight[0 + (addr0.x / 2)].Color.xyz * temp6.yyy + temp4.xyz; // add r4.w, r4.w, c2.x temp4.w = temp4.w + float1(1); // endrep } // mul r3.xyz, r5, c25 temp3.xyz = temp5.xyz * ColorSpecular.xyz; // mul oD1.xyz, r3, c3.z o.color1.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mul r3.xyz, r2, r2.w temp3.xyz = temp2.xyz * temp2.www; // dp3 r3.x, r3, r1 temp3.x = dot(temp3.xyz, temp1.xyz); // abs r3.x, r3.x temp3.x = abs(temp3.x); // mul r3.x, r3.x, c12.x temp3.x = temp3.x * expr12.x; // max r3.x, r3.x, c2.w temp3.x = max(temp3.x, float1(0)); // min r3.x, r3.x, c2.x temp3.x = min(temp3.x, float1(1)); // mul r3.y, r3.x, r3.x temp3.y = temp3.x * temp3.x; // mad r3.x, r3.x, c3.x, c3.y temp3.x = temp3.x * float1(-2) + float1(3); // mul r3.x, r3.y, r3.x temp3.x = temp3.y * temp3.x; // mul r1.w, r1.w, r3.x temp1.w = temp1.w * temp3.x; // mov r3.xyz, c4 temp3.xyz = AmbientLightColor.xyz; // mov r5.xyz, c23 temp5.xyz = ColorAmbient.xyz; // mad r3.xyz, r3, r5, c15 temp3.xyz = temp3.xyz * temp5.xyz + expr15.xyz; // mad r3.xyz, r4, c24, r3 temp3.xyz = temp4.xyz * ColorDiffuse.xyz + temp3.xyz; // mul r4.w, r1.w, v8.w temp4.w = temp1.w * i.color.w; // mov r5.w, v8.w temp5.w = i.color.w; // mov r6.xz, c2 temp6.xz = float2(1, 0.25); // lrp r7.xyz, r6.z, r6.x, c0 temp7.xyz = lerp(RecolorColor.xyz, temp6.xxx, temp6.zzz); // mul r6.xyz, r7, v8 temp6.xyz = temp7.xyz * i.color.xyz; // mad r7.xyz, r6, c11.x, -r6 temp7.xyz = temp6.xyz * expr11.xxx + -temp6.xyz; // mad r4.xyz, c28.x, r7, r6 temp4.xyz = HouseColorPulse.xxx * temp7.xyz + temp6.xyz; // mul r5.xyz, r1.w, r4 temp5.xyz = temp1.www * temp4.xyz; // lrp r6, c14.x, r5, r4 temp6 = lerp(temp4, temp5, expr14.x); // mul r3.xyz, r3, r6 temp3.xyz = temp3.xyz * temp6.xyz; // mul oD0.xyz, r3, c3.z o.color.xyz = temp3.xyz * float3(0.5, 0.5, 0.5); // mov r0.w, c2.x temp0.w = float1(1); // dp4 r1.w, r0, c116 temp1.w = dot(temp0, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // dp3 r3.x, r1, c6 temp3.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // mad r2.xyz, r2, r2.w, c6 temp2.xyz = temp2.xyz * temp2.www + DirectionalLight[0].Direction.xyz; // nrm r4.xyz, r2 temp4.xyz = normalize(temp2.xyz).xyz; // dp3 r3.y, r1, r4 temp3.y = dot(temp1.xyz, temp4.xyz); // mov r3.zw, c26.x temp3.zw = Shininess.x; // lit r2, r3 temp2 = lit(temp3.x, temp3.y, temp3.w); // mul r1.xyz, r2.y, c5 temp1.xyz = temp2.yyy * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c24 temp1.xyz = temp1.xyz * ColorDiffuse.xyz; // mul r1.xyz, r6, r1 temp1.xyz = temp6.xyz * temp1.xyz; // mul oT5.xyz, r1, c3.z o.texcoord5 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mul r1.xyz, r2.z, c5 temp1.xyz = temp2.zzz * DirectionalLight[0].Color.xyz; // mul r1.xyz, r1, c25 temp1.xyz = temp1.xyz * ColorSpecular.xyz; // mul oT6.xyz, r1, c3.z o.texcoord6 = temp1 * float4(0.5, 0.5, 0.5, 0.5); // mov r1.x, c27.x temp1.x = Opacity.x; // mul r1.x, r1.x, c1.x temp1.x = temp1.x * OpacityOverride.x; // mul oD0.w, r6.w, r1.x o.color.w = temp6.w * temp1.x; // lrp r1.xy, c29.x, r0, v7 temp1.xy = lerp(i.texcoord1.xy, temp0.xy, UseWorldCords.xx); // mov r2.xy, c30 temp2.xy = TexCoordTransform_1.xy; // mad oT1.xy, r1, r2, c22 o.texcoord1 = temp1 * temp2 + expr22; // mul r1.xy, r0.z, c117.zwzw temp1.xy = temp0.zz * Cloud.WorldPositionMultiplier_XYZZ.zw; // mad r1.xy, r0, c117, -r1 temp1.xy = temp0.xy * Cloud.WorldPositionMultiplier_XYZZ.xy + -temp1.xy; // add oT2.xy, r1, c118 o.texcoord2 = temp1 + Cloud.CurrentOffsetUV; // add r1.xy, r0, c31.zwzw temp1.xy = temp0.xy + Shroud.ScaleUV_OffsetUV.zw; // mul oT3.xy, r1, c31 o.texcoord3 = temp1 * Shroud.ScaleUV_OffsetUV; // dp4 r1.x, r0, c113 temp1.x = dot(temp0, (ShadowMapWorldToShadow._m00_m10_m20_m30)); // dp4 r1.y, r0, c114 temp1.y = dot(temp0, (ShadowMapWorldToShadow._m01_m11_m21_m31)); // dp4 r1.z, r0, c115 temp1.z = dot(temp0, (ShadowMapWorldToShadow._m02_m12_m22_m32)); // rcp r2.x, r1.w temp2.x = 1.0f / temp1.w; // mad oT4.xyz, r1, r2.x, c32.xxyw o.texcoord4.xyz = temp1.xyz * temp2.xxx + float3(0, 0, -0.0015); // mov oT4.w, r1.w o.texcoord4.w = temp1.w; // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // add oT0.xy, v6, c21 o.texcoord = i.texcoord + expr21; // mov oD1.w, c2.x o.color1.w = float1(1); // return o; } VertexShader VS_M_Array[36] = { compile vs_2_0 VS_M_Array_Shader_0(), // 192 compile vs_2_0 VS_M_Array_Shader_1(), // 193 compile vs_2_0 VS_M_Array_Shader_2(), // 194 compile vs_2_0 VS_M_Array_Shader_3(), // 195 compile vs_2_0 VS_M_Array_Shader_4(), // 196 compile vs_2_0 VS_M_Array_Shader_5(), // 197 compile vs_2_0 VS_M_Array_Shader_6(), // 198 compile vs_2_0 VS_M_Array_Shader_7(), // 199 compile vs_2_0 VS_M_Array_Shader_8(), // 200 compile vs_2_0 VS_M_Array_Shader_9(), // 201 compile vs_2_0 VS_M_Array_Shader_10(), // 202 compile vs_2_0 VS_M_Array_Shader_11(), // 203 compile vs_2_0 VS_M_Array_Shader_12(), // 204 compile vs_2_0 VS_M_Array_Shader_13(), // 205 compile vs_2_0 VS_M_Array_Shader_14(), // 206 compile vs_2_0 VS_M_Array_Shader_15(), // 207 compile vs_2_0 VS_M_Array_Shader_16(), // 208 compile vs_2_0 VS_M_Array_Shader_17(), // 209 compile vs_2_0 VS_M_Array_Shader_18(), // 210 compile vs_2_0 VS_M_Array_Shader_19(), // 211 compile vs_2_0 VS_M_Array_Shader_20(), // 212 compile vs_2_0 VS_M_Array_Shader_21(), // 213 compile vs_2_0 VS_M_Array_Shader_22(), // 214 compile vs_2_0 VS_M_Array_Shader_23(), // 215 compile vs_2_0 VS_M_Array_Shader_24(), // 216 compile vs_2_0 VS_M_Array_Shader_25(), // 217 compile vs_2_0 VS_M_Array_Shader_26(), // 218 compile vs_2_0 VS_M_Array_Shader_27(), // 219 compile vs_2_0 VS_M_Array_Shader_28(), // 220 compile vs_2_0 VS_M_Array_Shader_29(), // 221 compile vs_2_0 VS_M_Array_Shader_30(), // 222 compile vs_2_0 VS_M_Array_Shader_31(), // 223 compile vs_2_0 VS_M_Array_Shader_32(), // 224 compile vs_2_0 VS_M_Array_Shader_33(), // 225 compile vs_2_0 VS_M_Array_Shader_34(), // 226 compile vs_2_0 VS_M_Array_Shader_35(), // 227 }; // PS_M_Array_Shader_0 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_0_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_0(PS_M_Array_Shader_0_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // dcl v0 // dcl v1.xyz // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, t6 temp3.xyz = i.texcoord6.xyz; // mad r0.xyz, r3, r0, v1 temp0.xyz = temp3.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_1 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_1_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_1(PS_M_Array_Shader_1_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, t6 temp4.xyz = i.texcoord6.xyz; // mad r0.xyz, r4, r0, v1 temp0.xyz = temp4.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_2 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_2_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_2(PS_M_Array_Shader_2_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t1, s1 temp2 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, t6 temp5.xyz = i.texcoord6.xyz; // mad r0.xyz, r5, r0, v1 temp0.xyz = temp5.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mul r1.xyz, r2, r0 temp1.xyz = temp2.xyz * temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_3 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_3_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_3(PS_M_Array_Shader_3_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // dcl v0 // dcl v1.xyz // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, t6 temp3.xyz = i.texcoord6.xyz; // mad r0.xyz, r3, r0, v1 temp0.xyz = temp3.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_4 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_4_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_4(PS_M_Array_Shader_4_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, t6 temp4.xyz = i.texcoord6.xyz; // mad r0.xyz, r4, r0, v1 temp0.xyz = temp4.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_5 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_5_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_5(PS_M_Array_Shader_5_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // def c0, 4, 0, 0, 0 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t1, s1 temp2 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, t6 temp5.xyz = i.texcoord6.xyz; // mad r0.xyz, r5, r0, v1 temp0.xyz = temp5.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mul r1.xyz, r2, r0 temp1.xyz = temp2.xyz * temp0.xyz; // mul r1.xyz, r1, c0.x temp1.xyz = temp1.xyz * float3(4, 4, 4); // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_6 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_6_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_6(PS_M_Array_Shader_6_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // dcl v0 // dcl v1.xyz // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, t6 temp3.xyz = i.texcoord6.xyz; // mad r0.xyz, r3, r0, v1 temp0.xyz = temp3.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_7 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_7_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_7(PS_M_Array_Shader_7_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, t6 temp4.xyz = i.texcoord6.xyz; // mad r0.xyz, r4, r0, v1 temp0.xyz = temp4.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_8 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_8_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_8(PS_M_Array_Shader_8_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t1, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r2, t0, s0 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, t6 temp5.xyz = i.texcoord6.xyz; // mad r0.xyz, r5, r0, v1 temp0.xyz = temp5.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mad r1.xyz, r0, -r2, r1 temp1.xyz = temp0.xyz * -temp2.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r2, r0 temp0 = temp2 * temp0; // mad r1.xyz, r0.w, r1, r0 temp1.xyz = temp0.www * temp1.xyz + temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_9 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_9_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_9(PS_M_Array_Shader_9_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // dcl v0 // dcl v1.xyz // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, t6 temp3.xyz = i.texcoord6.xyz; // mad r0.xyz, r3, r0, v1 temp0.xyz = temp3.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_10 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_10_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_10(PS_M_Array_Shader_10_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, t6 temp4.xyz = i.texcoord6.xyz; // mad r0.xyz, r4, r0, v1 temp0.xyz = temp4.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_11 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_11_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_11(PS_M_Array_Shader_11_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4; // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t0, s0 temp0 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r1, t2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.w, v0.w temp3.w = i.color.w; // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r3.xyz, t5, r1, r4 temp3.xyz = i.texcoord5.xyz * temp1.xyz + temp4.xyz; // mov r4.xyz, t6 temp4.xyz = i.texcoord6.xyz; // mad r1.xyz, r4, r1, v1 temp1.xyz = temp4.xyz * temp1.xyz + i.color1.xyz; // mul r0, r0, r3 temp0 = temp0 * temp3; // mad r1.xyz, r1, r0.w, r0 temp1.xyz = temp1.xyz * temp0.www + temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_12 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_12_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_12(PS_M_Array_Shader_12_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, v1 temp3.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r3 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp3.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // mad r0.xyz, r0, c0.x, c0.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.z temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_13 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_13_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_13(PS_M_Array_Shader_13_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r4 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp4.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mad r1.xyz, r0, c0.x, c0.y temp1.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.z temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_14 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_14_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_14(PS_M_Array_Shader_14_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t1, s1 temp2 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, v1 temp5.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r5 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp5.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mul r1.xyz, r2, r0 temp1.xyz = temp2.xyz * temp0.xyz; // mad r1.xyz, r1, c0.x, c0.y temp1.xyz = temp1.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.z temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_15 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_15_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_15(PS_M_Array_Shader_15_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, v1 temp3.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r3 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp3.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // mad r0.xyz, r0, c0.x, c0.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.z temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_16 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_16_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_16(PS_M_Array_Shader_16_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r4 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp4.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mad r1.xyz, r0, c0.x, c0.y temp1.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.z temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_17 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_17_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_17(PS_M_Array_Shader_17_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // def c0, 4, -1, 1, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t1, s1 temp2 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, v1 temp5.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r5 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp5.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mul r1.xyz, r2, r0 temp1.xyz = temp2.xyz * temp0.xyz; // mad r1.xyz, r1, c0.x, c0.y temp1.xyz = temp1.xyz * float3(4, 4, 4) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.z temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_18 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_18_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_18(PS_M_Array_Shader_18_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, v1 temp3.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r3 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp3.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // mad r0.xyz, r0, c0.x, c0.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.z temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_19 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_19_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_19(PS_M_Array_Shader_19_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r4 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp4.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mad r1.xyz, r0, c0.x, c0.y temp1.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.z temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_20 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_20_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_20(PS_M_Array_Shader_20_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t1, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r2, t0, s0 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, v1 temp5.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r5 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp5.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mad r1.xyz, r0, -r2, r1 temp1.xyz = temp0.xyz * -temp2.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r2, r0 temp0 = temp2 * temp0; // mad r1.xyz, r0.w, r1, r0 temp1.xyz = temp0.www * temp1.xyz + temp0.xyz; // mad r1.xyz, r1, c0.x, c0.y temp1.xyz = temp1.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.z temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_21 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_21_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_21(PS_M_Array_Shader_21_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, v1 temp3.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r3 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp3.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // mad r0.xyz, r0, c0.x, c0.y temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.z temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_22 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_22_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_22(PS_M_Array_Shader_22_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r4 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp4.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mad r1.xyz, r0, c0.x, c0.y temp1.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.z temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_23 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_23_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_23(PS_M_Array_Shader_23_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4; // def c0, 2, -1, 1, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t0, s0 temp0 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r1, t2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.w, v0.w temp3.w = i.color.w; // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r3.xyz, t5, r1, r4 temp3.xyz = i.texcoord5.xyz * temp1.xyz + temp4.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r1.xyz, t6, r1, r4 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp4.xyz; // mul r0, r0, r3 temp0 = temp0 * temp3; // mad r1.xyz, r1, r0.w, r0 temp1.xyz = temp1.xyz * temp0.www + temp0.xyz; // mad r1.xyz, r1, c0.x, c0.y temp1.xyz = temp1.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.z temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_24 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_24_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_24(PS_M_Array_Shader_24_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, v1 temp3.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r3 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp3.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_25 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_25_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_25(PS_M_Array_Shader_25_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r4 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp4.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_26 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_26_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_26(PS_M_Array_Shader_26_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t1, s1 temp2 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, v1 temp5.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r5 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp5.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mul r1.xyz, r2, r0 temp1.xyz = temp2.xyz * temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_27 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_27_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_27(PS_M_Array_Shader_27_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, v1 temp3.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r3 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp3.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_28 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_28_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_28(PS_M_Array_Shader_28_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r4 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp4.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_29 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_29_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_29(PS_M_Array_Shader_29_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // def c0, 4, 0, 0, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t1, s1 temp2 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, v1 temp5.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r5 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp5.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // mul r1.xyz, r2, r0 temp1.xyz = temp2.xyz * temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r1.xyz, r1, c0.x temp1.xyz = temp1.xyz * float3(4, 4, 4); // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_30 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_30_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_30(PS_M_Array_Shader_30_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, v1 temp3.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r3 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp3.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_31 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_31_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_31(PS_M_Array_Shader_31_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r4 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp4.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_32 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_32_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_32(PS_M_Array_Shader_32_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4, temp5; // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // texld r0, t2, s3 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t1, s1 temp1 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r2, t0, s0 temp2 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r3, t3, s2 temp3 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r4.xyz, t5, r0, r4 temp4.xyz = i.texcoord5.xyz * temp0.xyz + temp4.xyz; // mov r5.xyz, v1 temp5.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r5 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp5.xyz; // add r0.xyz, r4, r0 temp0.xyz = temp4.xyz + temp0.xyz; // mad r1.xyz, r0, -r2, r1 temp1.xyz = temp0.xyz * -temp2.xyz + temp1.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r2, r0 temp0 = temp2 * temp0; // mad r1.xyz, r0.w, r1, r0 temp1.xyz = temp0.www * temp1.xyz + temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r3, r1 temp0.xyz = temp3.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_33 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_33_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_33(PS_M_Array_Shader_33_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2, temp3; // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // texld r0, t2, s1 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t3, s0 temp1 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r2.xyz, t5, r0, r2 temp2.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r3.xyz, v1 temp3.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r3 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp3.xyz; // add r0.xyz, r2, r0 temp0.xyz = temp2.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r1, r0 temp0.xyz = temp1.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_34 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_34_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_34(PS_M_Array_Shader_34_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; float3 temp3, temp4; // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t2, s2 temp0 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r1, t0, s0 temp1 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.xyz, v0 temp3.xyz = i.color.xyz; // mad r3.xyz, t5, r0, r3 temp3.xyz = i.texcoord5.xyz * temp0.xyz + temp3.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r4 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp4.xyz; // add r0.xyz, r3, r0 temp0.xyz = temp3.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r1, r0 temp0 = temp1 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_35 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_35_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_35(PS_M_Array_Shader_35_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3; float3 temp4; // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // texld r0, t0, s0 temp0 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r1, t2, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r2, t3, s1 temp2 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.w, v0.w temp3.w = i.color.w; // mov r4.xyz, v0 temp4.xyz = i.color.xyz; // mad r3.xyz, t5, r1, r4 temp3.xyz = i.texcoord5.xyz * temp1.xyz + temp4.xyz; // mov r4.xyz, v1 temp4.xyz = i.color1.xyz; // mad r1.xyz, t6, r1, r4 temp1.xyz = i.texcoord6.xyz * temp1.xyz + temp4.xyz; // mul r0, r0, r3 temp0 = temp0 * temp3; // mad r1.xyz, r1, r0.w, r0 temp1.xyz = temp1.xyz * temp0.www + temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r2, r1 temp0.xyz = temp2.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_36 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_36_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_36(PS_M_Array_Shader_36_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_37 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_37_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_37(PS_M_Array_Shader_37_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_38 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_38_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_38(PS_M_Array_Shader_38_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t1, s2 temp6 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mul r1.xyz, r6, r0 temp1.xyz = temp6.xyz * temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_39 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_39_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_39(PS_M_Array_Shader_39_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_40 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_40_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_40(PS_M_Array_Shader_40_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_41 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_41_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_41(PS_M_Array_Shader_41_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, 4 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t1, s2 temp6 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mul r1.xyz, r6, r0 temp1.xyz = temp6.xyz * temp0.xyz; // mul r1.xyz, r1, c0.w temp1.xyz = temp1.xyz * float3(4, 4, 4); // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_42 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_42_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_42(PS_M_Array_Shader_42_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_43 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_43_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_43(PS_M_Array_Shader_43_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_44 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_44_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_44(PS_M_Array_Shader_44_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t1, s2 temp5 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r6, t0, s1 temp6 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r1.xyz, r0, -r6, r5 temp1.xyz = temp0.xyz * -temp6.xyz + temp5.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r6, r0 temp0 = temp6 * temp0; // mad r1.xyz, r0.w, r1, r0 temp1.xyz = temp0.www * temp1.xyz + temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_45 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_45_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_45(PS_M_Array_Shader_45_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_46 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_46_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_46(PS_M_Array_Shader_46_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, t6 temp2.xyz = i.texcoord6.xyz; // mad r0.xyz, r2, r0, v1 temp0.xyz = temp2.xyz * temp0.xyz + i.color1.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_47 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_47_Input { float4 color : COLOR; float3 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_47(PS_M_Array_Shader_47_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1.xyz // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, t6 temp1.xyz = i.texcoord6.xyz; // mad r1.xyz, r1, r0, v1 temp1.xyz = temp1.xyz * temp0.xyz + i.color1.xyz; // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r0.xyz, t5, r0, r2 temp0.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mad r1.xyz, r1, r0.w, r0 temp1.xyz = temp1.xyz * temp0.www + temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_48 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_48_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_48(PS_M_Array_Shader_48_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r0.xyz, r0, -c0.w, -c0.x temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.x temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_49 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_49_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_49(PS_M_Array_Shader_49_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mad r1.xyz, r0, -c0.w, -c0.x temp1.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.x temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_50 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_50_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_50(PS_M_Array_Shader_50_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t1, s2 temp6 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mul r1.xyz, r6, r0 temp1.xyz = temp6.xyz * temp0.xyz; // mad r1.xyz, r1, -c0.w, -c0.x temp1.xyz = temp1.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.x temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_51 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_51_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_51(PS_M_Array_Shader_51_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r0.xyz, r0, -c0.w, -c0.x temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.x temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_52 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_52_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_52(PS_M_Array_Shader_52_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mad r1.xyz, r0, -c0.w, -c0.x temp1.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.x temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_53 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_53_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_53(PS_M_Array_Shader_53_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, -4 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t1, s2 temp6 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mul r1.xyz, r6, r0 temp1.xyz = temp6.xyz * temp0.xyz; // mad r1.xyz, r1, -c0.w, -c0.x temp1.xyz = temp1.xyz * float3(4, 4, 4) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.x temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_54 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_54_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_54(PS_M_Array_Shader_54_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r0.xyz, r0, -c0.w, -c0.x temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.x temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_55 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_55_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_55(PS_M_Array_Shader_55_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mad r1.xyz, r0, -c0.w, -c0.x temp1.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.x temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_56 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_56_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_56(PS_M_Array_Shader_56_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t1, s2 temp5 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r6, t0, s1 temp6 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r1.xyz, r0, -r6, r5 temp1.xyz = temp0.xyz * -temp6.xyz + temp5.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r6, r0 temp0 = temp6 * temp0; // mad r1.xyz, r0.w, r1, r0 temp1.xyz = temp0.www * temp1.xyz + temp0.xyz; // mad r1.xyz, r1, -c0.w, -c0.x temp1.xyz = temp1.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.x temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_57 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_57_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_57(PS_M_Array_Shader_57_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r0.xyz, r0, -c0.w, -c0.x temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r0.xyz, v1.w, r0, c0.x temp0.xyz = i.color1.www * temp0.xyz + float3(1, 1, 1); // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_58 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_58_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_58(PS_M_Array_Shader_58_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mad r1.xyz, r0, -c0.w, -c0.x temp1.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.x temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_59 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_59_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_59(PS_M_Array_Shader_59_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, -2 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v1 temp1.xyz = i.color1.xyz; // mad r1.xyz, t6, r0, r1 temp1.xyz = i.texcoord6.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r0.xyz, t5, r0, r2 temp0.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mad r1.xyz, r1, r0.w, r0 temp1.xyz = temp1.xyz * temp0.www + temp0.xyz; // mad r1.xyz, r1, -c0.w, -c0.x temp1.xyz = temp1.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mad r1.xyz, v1.w, r1, c0.x temp1.xyz = i.color1.www * temp1.xyz + float3(1, 1, 1); // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_60 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_60_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_60(PS_M_Array_Shader_60_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_61 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_61_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_61(PS_M_Array_Shader_61_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_62 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_62_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_62(PS_M_Array_Shader_62_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t1, s2 temp6 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mul r1.xyz, r6, r0 temp1.xyz = temp6.xyz * temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_63 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_63_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_63(PS_M_Array_Shader_63_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_64 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_64_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_64(PS_M_Array_Shader_64_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_65 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_65_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_65(PS_M_Array_Shader_65_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, 4 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t1, s2 temp6 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mul r1.xyz, r6, r0 temp1.xyz = temp6.xyz * temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r1.xyz, r1, c0.w temp1.xyz = temp1.xyz * float3(4, 4, 4); // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_66 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_66_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_66(PS_M_Array_Shader_66_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_67 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_67_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_67(PS_M_Array_Shader_67_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_68 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_68_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_68(PS_M_Array_Shader_68_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t1.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s4 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t1, s2 temp5 = tex2D(Texture_1Sampler, i.texcoord1.xy); // texld r6, t0, s1 temp6 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r7, t3, s3 temp7 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mad r1.xyz, r0, -r6, r5 temp1.xyz = temp0.xyz * -temp6.xyz + temp5.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r6, r0 temp0 = temp6 * temp0; // mad r1.xyz, r0.w, r1, r0 temp1.xyz = temp0.www * temp1.xyz + temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r7, r1 temp0.xyz = temp7.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_69 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_69_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_69(PS_M_Array_Shader_69_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s2 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t3, s1 temp5 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // add r0.xyz, r0, r0 temp0.xyz = temp0.xyz + temp0.xyz; // mul r0.xyz, r0, v1.w temp0.xyz = temp0.xyz * i.color1.www; // mul r0.xyz, r5, r0 temp0.xyz = temp5.xyz * temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_70 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_70_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_70(PS_M_Array_Shader_70_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v0 temp1.xyz = i.color.xyz; // mad r1.xyz, t5, r0, r1 temp1.xyz = i.texcoord5.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v1 temp2.xyz = i.color1.xyz; // mad r0.xyz, t6, r0, r2 temp0.xyz = i.texcoord6.xyz * temp0.xyz + temp2.xyz; // add r0.xyz, r1, r0 temp0.xyz = temp1.xyz + temp0.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // add r1.xyz, r0, r0 temp1.xyz = temp0.xyz + temp0.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } // PS_M_Array_Shader_71 Pixel_2_0 Has PRES False struct PS_M_Array_Shader_71_Input { float4 color : COLOR; float4 color1 : COLOR1; float2 texcoord : TEXCOORD; float2 texcoord2 : TEXCOORD2; float2 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float3 texcoord6 : TEXCOORD6; }; float4 PS_M_Array_Shader_71(PS_M_Array_Shader_71_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; // def c0, 1, 0, 0.25, 0 // dcl v0 // dcl v1 // dcl t0.xy // dcl t2.xy // dcl t3.xy // dcl t4.xyz // dcl t5.xyz // dcl t6.xyz // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // add r0.xy, t4, c11.zxyw temp0.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx; // add r1.xy, t4, c11.yzxw temp1.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz; // add r2.xy, t4, c11.wzyx temp2.xy = i.texcoord4.xy + Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz; // texld r0, r0, s0 temp0 = tex2D(ShadowMapSampler, temp0.xy); // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // texld r3, t4, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord4.xy); // texld r4, t2, s3 temp4 = tex2D(CloudTextureSampler, i.texcoord2.xy); // texld r5, t0, s1 temp5 = tex2D(Texture_0Sampler, i.texcoord.xy); // texld r6, t3, s2 temp6 = tex2D(ShroudTextureSampler, i.texcoord3.xy); // mov r3.y, r0.x temp3.y = temp0.x; // mov r3.z, r1.x temp3.z = temp1.x; // mov r3.w, r2.x temp3.w = temp2.x; // add r0, r3, -t4.z temp0 = temp3 + -i.texcoord4.z; // cmp r0, r0, c0.x, c0.y temp0 = (temp0 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r4.w, c0.x, r0 temp4.w = dot(float4(1, 1, 1, 1), temp0); // mul r4.w, r4.w, c0.z temp4.w = temp4.w * float1(0.25); // mul r0.xyz, r4, r4.w temp0.xyz = temp4.xyz * temp4.www; // mov r1.xyz, v1 temp1.xyz = i.color1.xyz; // mad r1.xyz, t6, r0, r1 temp1.xyz = i.texcoord6.xyz * temp0.xyz + temp1.xyz; // mov r2.xyz, v0 temp2.xyz = i.color.xyz; // mad r0.xyz, t5, r0, r2 temp0.xyz = i.texcoord5.xyz * temp0.xyz + temp2.xyz; // mov r0.w, v0.w temp0.w = i.color.w; // mul r0, r5, r0 temp0 = temp5 * temp0; // mad r1.xyz, r1, r0.w, r0 temp1.xyz = temp1.xyz * temp0.www + temp0.xyz; // add r1.xyz, r1, r1 temp1.xyz = temp1.xyz + temp1.xyz; // mul r1.xyz, r1, v1.w temp1.xyz = temp1.xyz * i.color1.www; // mul r0.xyz, r6, r1 temp0.xyz = temp6.xyz * temp1.xyz; // mov oC0, r0 out_color = temp0; // return out_color; } PixelShader PS_M_Array[72] = { compile ps_2_0 PS_M_Array_Shader_0(), // 228 compile ps_2_0 PS_M_Array_Shader_1(), // 229 compile ps_2_0 PS_M_Array_Shader_2(), // 230 compile ps_2_0 PS_M_Array_Shader_3(), // 231 compile ps_2_0 PS_M_Array_Shader_4(), // 232 compile ps_2_0 PS_M_Array_Shader_5(), // 233 compile ps_2_0 PS_M_Array_Shader_6(), // 234 compile ps_2_0 PS_M_Array_Shader_7(), // 235 compile ps_2_0 PS_M_Array_Shader_8(), // 236 compile ps_2_0 PS_M_Array_Shader_9(), // 237 compile ps_2_0 PS_M_Array_Shader_10(), // 238 compile ps_2_0 PS_M_Array_Shader_11(), // 239 compile ps_2_0 PS_M_Array_Shader_12(), // 240 compile ps_2_0 PS_M_Array_Shader_13(), // 241 compile ps_2_0 PS_M_Array_Shader_14(), // 242 compile ps_2_0 PS_M_Array_Shader_15(), // 243 compile ps_2_0 PS_M_Array_Shader_16(), // 244 compile ps_2_0 PS_M_Array_Shader_17(), // 245 compile ps_2_0 PS_M_Array_Shader_18(), // 246 compile ps_2_0 PS_M_Array_Shader_19(), // 247 compile ps_2_0 PS_M_Array_Shader_20(), // 248 compile ps_2_0 PS_M_Array_Shader_21(), // 249 compile ps_2_0 PS_M_Array_Shader_22(), // 250 compile ps_2_0 PS_M_Array_Shader_23(), // 251 compile ps_2_0 PS_M_Array_Shader_24(), // 252 compile ps_2_0 PS_M_Array_Shader_25(), // 253 compile ps_2_0 PS_M_Array_Shader_26(), // 254 compile ps_2_0 PS_M_Array_Shader_27(), // 255 compile ps_2_0 PS_M_Array_Shader_28(), // 256 compile ps_2_0 PS_M_Array_Shader_29(), // 257 compile ps_2_0 PS_M_Array_Shader_30(), // 258 compile ps_2_0 PS_M_Array_Shader_31(), // 259 compile ps_2_0 PS_M_Array_Shader_32(), // 260 compile ps_2_0 PS_M_Array_Shader_33(), // 261 compile ps_2_0 PS_M_Array_Shader_34(), // 262 compile ps_2_0 PS_M_Array_Shader_35(), // 263 compile ps_2_0 PS_M_Array_Shader_36(), // 264 compile ps_2_0 PS_M_Array_Shader_37(), // 265 compile ps_2_0 PS_M_Array_Shader_38(), // 266 compile ps_2_0 PS_M_Array_Shader_39(), // 267 compile ps_2_0 PS_M_Array_Shader_40(), // 268 compile ps_2_0 PS_M_Array_Shader_41(), // 269 compile ps_2_0 PS_M_Array_Shader_42(), // 270 compile ps_2_0 PS_M_Array_Shader_43(), // 271 compile ps_2_0 PS_M_Array_Shader_44(), // 272 compile ps_2_0 PS_M_Array_Shader_45(), // 273 compile ps_2_0 PS_M_Array_Shader_46(), // 274 compile ps_2_0 PS_M_Array_Shader_47(), // 275 compile ps_2_0 PS_M_Array_Shader_48(), // 276 compile ps_2_0 PS_M_Array_Shader_49(), // 277 compile ps_2_0 PS_M_Array_Shader_50(), // 278 compile ps_2_0 PS_M_Array_Shader_51(), // 279 compile ps_2_0 PS_M_Array_Shader_52(), // 280 compile ps_2_0 PS_M_Array_Shader_53(), // 281 compile ps_2_0 PS_M_Array_Shader_54(), // 282 compile ps_2_0 PS_M_Array_Shader_55(), // 283 compile ps_2_0 PS_M_Array_Shader_56(), // 284 compile ps_2_0 PS_M_Array_Shader_57(), // 285 compile ps_2_0 PS_M_Array_Shader_58(), // 286 compile ps_2_0 PS_M_Array_Shader_59(), // 287 compile ps_2_0 PS_M_Array_Shader_60(), // 288 compile ps_2_0 PS_M_Array_Shader_61(), // 289 compile ps_2_0 PS_M_Array_Shader_62(), // 290 compile ps_2_0 PS_M_Array_Shader_63(), // 291 compile ps_2_0 PS_M_Array_Shader_64(), // 292 compile ps_2_0 PS_M_Array_Shader_65(), // 293 compile ps_2_0 PS_M_Array_Shader_66(), // 294 compile ps_2_0 PS_M_Array_Shader_67(), // 295 compile ps_2_0 PS_M_Array_Shader_68(), // 296 compile ps_2_0 PS_M_Array_Shader_69(), // 297 compile ps_2_0 PS_M_Array_Shader_70(), // 298 compile ps_2_0 PS_M_Array_Shader_71(), // 299 }; // VSCreateShadowMap_Array_Shader_0 Vertex_2_0 Has PRES True struct VSCreateShadowMap_Array_Shader_0_Input { float4 position : POSITION; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct VSCreateShadowMap_Array_Shader_0_Output { float4 position : POSITION; float texcoord1 : TEXCOORD1; float color : COLOR; float2 texcoord : TEXCOORD; }; VSCreateShadowMap_Array_Shader_0_Output VSCreateShadowMap_Array_Shader_0(VSCreateShadowMap_Array_Shader_0_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 17 ConstInput 1 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul c11.xy, c2.x, c0.zw expr11.xy = Time.x * TexCoordTransform_0.zw; // mul r0.x, c1.x, c2.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c1.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c1.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c1.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c1.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c1.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c1.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c1.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c17.xy, r0.x, r0.yz expr17.xy = temp0.x * temp0.yz; } VSCreateShadowMap_Array_Shader_0_Output o; float4 temp0, temp1; // def c0, 1, 0, 0, 0 // dcl_position v0 // dcl_texcoord v1 // dcl_color v2 // mad r0, v0.xyzx, c0.xxxy, c0.yyyx temp0 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r1.x, r0, c124 temp1.x = dot(temp0, (World._m00_m10_m20_m30)); // dp4 r1.y, r0, c125 temp1.y = dot(temp0, (World._m01_m11_m21_m31)); // dp4 r1.z, r0, c126 temp1.z = dot(temp0, (World._m02_m12_m22_m32)); // mov r1.w, c0.x temp1.w = float1(1); // dp4 oPos.x, r1, c119 o.position.x = dot(temp1, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r1, c120 o.position.y = dot(temp1, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r1, c121 o.position.z = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r1, c122 o.position.w = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // dp4 oT1.x, r1, c20 o.texcoord1 = dot(temp1, (View._m02_m12_m22_m32)); // mov r0.x, c21.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul oD0.x, r0.x, v2.w o.color = temp0.x * i.color.w; // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad r0.xy, v1, r0, c11 temp0.xy = i.texcoord.xy * temp0.xy + expr11.xy; // add oT0.xy, r0, c17 o.texcoord = temp0 + expr17; // return o; } // VSCreateShadowMap_Array_Shader_1 Vertex_2_0 Has PRES True struct VSCreateShadowMap_Array_Shader_1_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct VSCreateShadowMap_Array_Shader_1_Output { float4 position : POSITION; float texcoord1 : TEXCOORD1; float color : COLOR; float2 texcoord : TEXCOORD; }; VSCreateShadowMap_Array_Shader_1_Output VSCreateShadowMap_Array_Shader_1(VSCreateShadowMap_Array_Shader_1_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 17 ConstInput 1 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul c11.xy, c2.x, c0.zw expr11.xy = Time.x * TexCoordTransform_0.zw; // mul r0.x, c1.x, c2.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c1.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c1.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c1.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c1.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c1.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c1.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c1.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c17.xy, r0.x, r0.yz expr17.xy = temp0.x * temp0.yz; } VSCreateShadowMap_Array_Shader_1_Output o; float4 temp0, temp1; float addr0; // def c0, 1, -1, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_texcoord v2 // dcl_color v3 // slt r0.x, v0.x, -v0.x temp0.x = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // frc r0.y, v0.x temp0.y = frac(i.blendindices.x); // add r0.z, -r0.y, v0.x temp0.z = -temp0.y + i.blendindices.x; // slt r0.y, -r0.y, r0.y temp0.y = (-temp0.y < temp0.y) ? 1 : 0; // mad r0.x, r0.x, r0.y, r0.z temp0.x = temp0.x * temp0.y + temp0.z; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // dp4 oT1.x, r0, c20 o.texcoord1 = dot(temp0, (View._m02_m12_m22_m32)); // mov r0.x, c21.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul oD0.x, r0.x, v3.w o.color = temp0.x * i.color.w; // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad r0.xy, v2, r0, c11 temp0.xy = i.texcoord.xy * temp0.xy + expr11.xy; // add oT0.xy, r0, c17 o.texcoord = temp0 + expr17; // return o; } // VSCreateShadowMap_Array_Shader_2 Vertex_2_0 Has PRES True struct VSCreateShadowMap_Array_Shader_2_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct VSCreateShadowMap_Array_Shader_2_Output { float4 position : POSITION; float texcoord1 : TEXCOORD1; float color : COLOR; float2 texcoord : TEXCOORD; }; VSCreateShadowMap_Array_Shader_2_Output VSCreateShadowMap_Array_Shader_2(VSCreateShadowMap_Array_Shader_2_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 17 ConstInput 1 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul c11.xy, c2.x, c0.zw expr11.xy = Time.x * TexCoordTransform_0.zw; // mul r0.x, c1.x, c2.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c1.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c1.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c1.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c1.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c1.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c1.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c1.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c17.xy, r0.x, r0.yz expr17.xy = temp0.x * temp0.yz; } VSCreateShadowMap_Array_Shader_2_Output o; float4 temp0, temp1, temp2; float2 addr0; // def c0, 1, -1, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_texcoord v4 // dcl_color v5 // slt r0.xy, v0, -v0 temp0.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // frc r0.zw, v0.xyxy temp0.zw = frac(i.blendindices.xy); // add r1.xy, -r0.zwzw, v0 temp1.xy = -temp0.zw + i.blendindices.xy; // slt r0.zw, -r0, r0 temp0.zw = (-temp0.zw < temp0.zw) ? 1 : 0; // mad r0.xy, r0, r0.zwzw, r1 temp0.xy = temp0.xy * temp0.zw + temp1.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v3.zxyy, c128[a0.y].yzxy temp0 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r0, c128[a0.y].wwwx, v3.xyzx, r0 temp0 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp0; // mul r1, v3.yzxz, c128[a0.y].zxyz temp1 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.y] temp1.xyz = temp0.www * WorldBones[0 + addr0.y].xyz; // mad r1.xyz, c128[a0.y].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.y].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.y].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.y].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.y].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.y].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.y] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.y].xyz; // mul r0.xyz, r0, v1.y temp0.xyz = temp0.xyz * i.blendweight.yyy; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r1.xyz, r1, c129[a0.x] temp1.xyz = temp1.xyz + WorldBones[1 + addr0.x].xyz; // mad r0.xyz, r1, v1.x, r0 temp0.xyz = temp1.xyz * i.blendweight.xxx + temp0.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 oPos.x, r0, c119 o.position.x = dot(temp0, (ViewProjection._m00_m10_m20_m30)); // dp4 oPos.y, r0, c120 o.position.y = dot(temp0, (ViewProjection._m01_m11_m21_m31)); // dp4 oPos.z, r0, c121 o.position.z = dot(temp0, (ViewProjection._m02_m12_m22_m32)); // dp4 oPos.w, r0, c122 o.position.w = dot(temp0, (ViewProjection._m03_m13_m23_m33)); // dp4 oT1.x, r0, c20 o.texcoord1 = dot(temp0, (View._m02_m12_m22_m32)); // mov r0.x, c21.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul oD0.x, r0.x, v5.w o.color = temp0.x * i.color.w; // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad r0.xy, v4, r0, c11 temp0.xy = i.texcoord.xy * temp0.xy + expr11.xy; // add oT0.xy, r0, c17 o.texcoord = temp0 + expr17; // return o; } // VSCreateShadowMap_Array_Shader_3 Vertex_2_0 Has PRES True struct VSCreateShadowMap_Array_Shader_3_Input { float4 position : POSITION; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct VSCreateShadowMap_Array_Shader_3_Output { float color : COLOR; float2 texcoord : TEXCOORD; float texcoord1 : TEXCOORD1; float4 position : POSITION; }; VSCreateShadowMap_Array_Shader_3_Output VSCreateShadowMap_Array_Shader_3(VSCreateShadowMap_Array_Shader_3_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 17 ConstInput 1 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul c11.xy, c2.x, c0.zw expr11.xy = Time.x * TexCoordTransform_0.zw; // mul r0.x, c1.x, c2.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c1.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c1.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c1.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c1.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c1.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c1.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c1.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c17.xy, r0.x, r0.yz expr17.xy = temp0.x * temp0.yz; } VSCreateShadowMap_Array_Shader_3_Output o; float4 temp0, temp1; // def c0, 1, 0, 0, 0 // dcl_position v0 // dcl_texcoord v1 // dcl_color v2 // mov r0.x, c21.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul oD0.x, r0.x, v2.w o.color = temp0.x * i.color.w; // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad r0.xy, v1, r0, c11 temp0.xy = i.texcoord.xy * temp0.xy + expr11.xy; // add oT0.xy, r0, c17 o.texcoord = temp0 + expr17; // mov r0.w, c0.x temp0.w = float1(1); // mad r1, v0.xyzx, c0.xxxy, c0.yyyx temp1 = i.position.xyzx * float4(1, 1, 1, 0) + float4(0, 0, 0, 1); // dp4 r0.x, r1, c124 temp0.x = dot(temp1, (World._m00_m10_m20_m30)); // dp4 r0.y, r1, c125 temp0.y = dot(temp1, (World._m01_m11_m21_m31)); // dp4 r0.z, r1, c126 temp0.z = dot(temp1, (World._m02_m12_m22_m32)); // dp4 oT1.x, r0, c20 o.texcoord1 = dot(temp0, (View._m02_m12_m22_m32)); // mov oPos, c0.x o.position = float4(1, 1, 1, 1); // return o; } // VSCreateShadowMap_Array_Shader_4 Vertex_2_0 Has PRES True struct VSCreateShadowMap_Array_Shader_4_Input { float4 blendindices : BLENDINDICES; float4 position : POSITION; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct VSCreateShadowMap_Array_Shader_4_Output { float color : COLOR; float2 texcoord : TEXCOORD; float texcoord1 : TEXCOORD1; float4 position : POSITION; }; VSCreateShadowMap_Array_Shader_4_Output VSCreateShadowMap_Array_Shader_4(VSCreateShadowMap_Array_Shader_4_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 17 ConstInput 1 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul c11.xy, c2.x, c0.zw expr11.xy = Time.x * TexCoordTransform_0.zw; // mul r0.x, c1.x, c2.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c1.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c1.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c1.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c1.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c1.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c1.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c1.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c17.xy, r0.x, r0.yz expr17.xy = temp0.x * temp0.yz; } VSCreateShadowMap_Array_Shader_4_Output o; float4 temp0, temp1; float addr0; // def c0, 1, -1, 0, 0 // dcl_blendindices v0 // dcl_position v1 // dcl_texcoord v2 // dcl_color v3 // mov r0.x, c21.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul oD0.x, r0.x, v3.w o.color = temp0.x * i.color.w; // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad r0.xy, v2, r0, c11 temp0.xy = i.texcoord.xy * temp0.xy + expr11.xy; // add oT0.xy, r0, c17 o.texcoord = temp0 + expr17; // slt r0.x, v0.x, -v0.x temp0.x = (i.blendindices.x < -i.blendindices.x) ? 1 : 0; // frc r0.y, v0.x temp0.y = frac(i.blendindices.x); // add r0.z, -r0.y, v0.x temp0.z = -temp0.y + i.blendindices.x; // slt r0.y, -r0.y, r0.y temp0.y = (-temp0.y < temp0.y) ? 1 : 0; // mad r0.x, r0.x, r0.y, r0.z temp0.x = temp0.x * temp0.y + temp0.z; // add r0.x, r0.x, r0.x temp0.x = temp0.x + temp0.x; // mova a0.x, r0.x addr0.x = temp0.x; // mul r0, v1.zxyy, c128[a0.x].yzxy temp0 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r0, c128[a0.x].wwwx, v1.xyzx, r0 temp0 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp0; // mul r1, v1.yzxz, c128[a0.x].zxyz temp1 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.x] temp1.xyz = temp0.www * WorldBones[0 + addr0.x].xyz; // mad r1.xyz, c128[a0.x].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.x].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.x].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.x].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.x].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.x].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.x] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.x].xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 oT1.x, r0, c20 o.texcoord1 = dot(temp0, (View._m02_m12_m22_m32)); // mov oPos, c0.x o.position = float4(1, 1, 1, 1); // return o; } // VSCreateShadowMap_Array_Shader_5 Vertex_2_0 Has PRES True struct VSCreateShadowMap_Array_Shader_5_Input { float4 blendindices : BLENDINDICES; float4 blendweight : BLENDWEIGHT; float4 position : POSITION; float4 position1 : POSITION1; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct VSCreateShadowMap_Array_Shader_5_Output { float color : COLOR; float2 texcoord : TEXCOORD; float texcoord1 : TEXCOORD1; float4 position : POSITION; }; VSCreateShadowMap_Array_Shader_5_Output VSCreateShadowMap_Array_Shader_5(VSCreateShadowMap_Array_Shader_5_Input i) { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 7 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 2 0 - ConstOutput: 17 ConstInput 1 1 - ConstOutput: 0 ConstInput 0 */ float4 expr11; float4 expr12; float4 expr13; float4 expr14; float4 expr15; float4 expr16; float4 expr17; { float4 temp0; float4 temp1; float4 temp2; // Expression_2_1 // mul c11.xy, c2.x, c0.zw expr11.xy = Time.x * TexCoordTransform_0.zw; // mul r0.x, c1.x, c2.x temp0.x = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x * Time.x; // add r1.x, r0.x, c1.w temp1.x = temp0.x + TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.w; // rcp r0.x, c1.z temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z); // mul r2.x, r1.x, r0.x temp2.x = temp1.x * temp0.x; // neg r0.x, r2.x temp0.x = -temp2.x; // ge r1.x, r2.x, r0.x temp1.x = temp2.x >= temp0.x; // max r1.y, r2.x, r0.x temp1.y = max(temp2.x, temp0.x); // frc r0.x, r1.y temp0.x = frac(temp1.y); // add r1.y, r0.x, r0.x temp1.y = temp0.x + temp0.x; // neg r1.z, r0.x temp1.z = -temp0.x; // mul r0.x, r1.x, r1.y temp0.x = temp1.x * temp1.y; // add r2.x, r1.z, r0.x temp2.x = temp1.z + temp0.x; // mul r0.x, r2.x, c1.z temp0.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // lt r0.y, c1.x, (0) temp0.y = TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.x < (0); // mul r1.x, r0.y, c1.z temp1.x = temp0.y * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.z; // add r2.x, r0.x, r1.x temp2.x = temp0.x + temp1.x; // rcp r0.x, c1.y temp0.x = 1.0f / (TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y); // mul r1.y, r2.x, r0.x temp1.y = temp2.x * temp0.x; // neg r0.y, r1.y temp0.y = -temp1.y; // ge r2.x, r1.y, r0.y temp2.x = temp1.y >= temp0.y; // max r2.y, r1.y, r0.y temp2.y = max(temp1.y, temp0.y); // frc r0.y, r2.y temp0.y = frac(temp2.y); // add r1.z, r0.y, r0.y temp1.z = temp0.y + temp0.y; // neg r1.w, r0.y temp1.w = -temp0.y; // mul r0.y, r2.x, r1.z temp0.y = temp2.x * temp1.z; // add r2.x, r1.w, r0.y temp2.x = temp1.w + temp0.y; // mul r1.x, r2.x, c1.y temp1.x = temp2.x * TextureAnimation_FPS_NumPerRow_LastFrame_FrameOffset_0.y; // frc r0.yz, r1.xy temp0.yz = frac(temp1.xy); // neg r1.zw, r0.yz temp1.zw = -temp0.yz; // add r0.yz, r1.xy, r1.zw temp0.yz = temp1.xy + temp1.zw; // mul c17.xy, r0.x, r0.yz expr17.xy = temp0.x * temp0.yz; } VSCreateShadowMap_Array_Shader_5_Output o; float4 temp0, temp1, temp2; float2 addr0; // def c0, 1, -1, 0, 0 // dcl_blendindices v0 // dcl_blendweight v1 // dcl_position v2 // dcl_position1 v3 // dcl_texcoord v4 // dcl_color v5 // mov r0.x, c21.x temp0.x = Opacity.x; // mul r0.x, r0.x, c1.x temp0.x = temp0.x * OpacityOverride.x; // mul oD0.x, r0.x, v5.w o.color = temp0.x * i.color.w; // mov r0.xy, c22 temp0.xy = TexCoordTransform_0.xy; // mad r0.xy, v4, r0, c11 temp0.xy = i.texcoord.xy * temp0.xy + expr11.xy; // add oT0.xy, r0, c17 o.texcoord = temp0 + expr17; // slt r0.xy, v0, -v0 temp0.xy = (i.blendindices.xy < -i.blendindices.xy) ? 1 : 0; // frc r0.zw, v0.xyxy temp0.zw = frac(i.blendindices.xy); // add r1.xy, -r0.zwzw, v0 temp1.xy = -temp0.zw + i.blendindices.xy; // slt r0.zw, -r0, r0 temp0.zw = (-temp0.zw < temp0.zw) ? 1 : 0; // mad r0.xy, r0, r0.zwzw, r1 temp0.xy = temp0.xy * temp0.zw + temp1.xy; // add r0.xy, r0, r0 temp0.xy = temp0.xy + temp0.xy; // mova a0.xy, r0 addr0.xy = temp0.xy; // mul r0, v3.zxyy, c128[a0.y].yzxy temp0 = i.position1.zxyy * WorldBones[0 + addr0.y].yzxy; // mad r0, c128[a0.y].wwwx, v3.xyzx, r0 temp0 = WorldBones[0 + addr0.y].wwwx * i.position1.xyzx + temp0; // mul r1, v3.yzxz, c128[a0.y].zxyz temp1 = i.position1.yzxz * WorldBones[0 + addr0.y].zxyz; // mad r0, r0, c0.xxxy, -r1 temp0 = temp0 * float4(1, 1, 1, -1) + -temp1; // mul r1.xyz, r0.w, c128[a0.y] temp1.xyz = temp0.www * WorldBones[0 + addr0.y].xyz; // mad r1.xyz, c128[a0.y].w, r0, -r1 temp1.xyz = WorldBones[0 + addr0.y].www * temp0.xyz + -temp1.xyz; // mad r1.xyz, c128[a0.y].yzxw, r0.zxyw, r1 temp1.xyz = WorldBones[0 + addr0.y].yzx * temp0.zxy + temp1.xyz; // mad r0.xyz, c128[a0.y].zxyw, -r0.yzxw, r1 temp0.xyz = WorldBones[0 + addr0.y].zxy * -temp0.yzx + temp1.xyz; // add r0.xyz, r0, c129[a0.y] temp0.xyz = temp0.xyz + WorldBones[1 + addr0.y].xyz; // mul r0.xyz, r0, v1.y temp0.xyz = temp0.xyz * i.blendweight.yyy; // mul r1, v2.zxyy, c128[a0.x].yzxy temp1 = i.position.zxyy * WorldBones[0 + addr0.x].yzxy; // mad r1, c128[a0.x].wwwx, v2.xyzx, r1 temp1 = WorldBones[0 + addr0.x].wwwx * i.position.xyzx + temp1; // mul r2, v2.yzxz, c128[a0.x].zxyz temp2 = i.position.yzxz * WorldBones[0 + addr0.x].zxyz; // mad r1, r1, c0.xxxy, -r2 temp1 = temp1 * float4(1, 1, 1, -1) + -temp2; // mul r2.xyz, r1.w, c128[a0.x] temp2.xyz = temp1.www * WorldBones[0 + addr0.x].xyz; // mad r2.xyz, c128[a0.x].w, r1, -r2 temp2.xyz = WorldBones[0 + addr0.x].www * temp1.xyz + -temp2.xyz; // mad r2.xyz, c128[a0.x].yzxw, r1.zxyw, r2 temp2.xyz = WorldBones[0 + addr0.x].yzx * temp1.zxy + temp2.xyz; // mad r1.xyz, c128[a0.x].zxyw, -r1.yzxw, r2 temp1.xyz = WorldBones[0 + addr0.x].zxy * -temp1.yzx + temp2.xyz; // add r1.xyz, r1, c129[a0.x] temp1.xyz = temp1.xyz + WorldBones[1 + addr0.x].xyz; // mad r0.xyz, r1, v1.x, r0 temp0.xyz = temp1.xyz * i.blendweight.xxx + temp0.xyz; // mov r0.w, c0.x temp0.w = float1(1); // dp4 oT1.x, r0, c20 o.texcoord1 = dot(temp0, (View._m02_m12_m22_m32)); // mov oPos, c0.x o.position = float4(1, 1, 1, 1); // return o; } VertexShader VSCreateShadowMap_Array[6] = { compile vs_2_0 VSCreateShadowMap_Array_Shader_0(), // 306 compile vs_2_0 VSCreateShadowMap_Array_Shader_1(), // 307 compile vs_2_0 VSCreateShadowMap_Array_Shader_2(), // 308 compile vs_2_0 VSCreateShadowMap_Array_Shader_3(), // 309 compile vs_2_0 VSCreateShadowMap_Array_Shader_4(), // 310 compile vs_2_0 VSCreateShadowMap_Array_Shader_5(), // 311 }; // PSCreateShadowMap_Array_Shader_0 Pixel_2_0 Has PRES False float4 PSCreateShadowMap_Array_Shader_0(float texcoord1 : TEXCOORD1) : COLOR { float4 out_color; float4 temp0; // dcl t1.x // mov r0, t1.x temp0 = texcoord1.x; // mov oC0, r0 out_color = temp0; // return out_color; } // PSCreateShadowMap_Array_Shader_1 Pixel_2_0 Has PRES False float4 PSCreateShadowMap_Array_Shader_1(float texcoord1 : TEXCOORD1) : COLOR { float4 out_color; float4 temp0; // dcl t1.x // mov r0, t1.x temp0 = texcoord1.x; // mov oC0, r0 out_color = temp0; // return out_color; } // PSCreateShadowMap_Array_Shader_2 Pixel_2_0 Has PRES False struct PSCreateShadowMap_Array_Shader_2_Input { float color : COLOR; float texcoord1 : TEXCOORD1; }; float4 PSCreateShadowMap_Array_Shader_2(PSCreateShadowMap_Array_Shader_2_Input i) : COLOR { float4 out_color; float4 temp0; // def c0, -0.3764706, 0, 0, 0 // dcl v0.x // dcl t1.x // add r0, v0.x, c0.x temp0 = i.color.x + float4(-0.3764706, -0.3764706, -0.3764706, -0.3764706); // texkill r0 clip(temp0); // mov r0, t1.x temp0 = i.texcoord1.x; // mov oC0, r0 out_color = temp0; // return out_color; } // PSCreateShadowMap_Array_Shader_3 Pixel_2_0 Has PRES False struct PSCreateShadowMap_Array_Shader_3_Input { float color : COLOR; float2 texcoord : TEXCOORD; float texcoord1 : TEXCOORD1; }; float4 PSCreateShadowMap_Array_Shader_3(PSCreateShadowMap_Array_Shader_3_Input i) : COLOR { float4 out_color; float4 temp0; // def c0, -0.3764706, 0, 0, 0 // dcl v0.x // dcl t0.xy // dcl t1.x // dcl_2d s0 // texld r0, t0, s0 temp0 = tex2D(Texture_0Sampler, i.texcoord.xy); // mad r0, v0.x, r0.w, c0.x temp0 = i.color.x * temp0.w + float4(-0.3764706, -0.3764706, -0.3764706, -0.3764706); // texkill r0 clip(temp0); // mov r0, t1.x temp0 = i.texcoord1.x; // mov oC0, r0 out_color = temp0; // return out_color; } PixelShader PSCreateShadowMap_Array[4] = { compile ps_2_0 PSCreateShadowMap_Array_Shader_0(), // 312 compile ps_2_0 PSCreateShadowMap_Array_Shader_1(), // 313 compile ps_2_0 PSCreateShadowMap_Array_Shader_2(), // 314 compile ps_2_0 PSCreateShadowMap_Array_Shader_3(), // 315 }; // _CreateShadowMap_Expression227 Expression_2_0 Has PRES False float _CreateShadowMap_Expression227() { float4 temp0; float4 temp1; float4 temp2; float1 expr0; // add r0.x, c2.x, (-1) temp0.x = BlendMode.x + (-1); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge r2.x, r0.x, r1.x temp2.x = temp0.x >= temp1.x; // add r0.x, r2.x, c1.x temp0.x = temp2.x + AlphaTestEnable.x; // neg r1.x, r0.x temp1.x = -temp0.x; // lt r2.x, r1.x, r0.x temp2.x = temp1.x < temp0.x; // add r0.x, r2.x, r2.x temp0.x = temp2.x + temp2.x; // min r0.y, c0.x, (1) temp0.y = min(NumTextures.x, (1)); // add c0.x, r0.x, r0.y expr0.x = temp0.x + temp0.y; return expr0; } // _CreateShadowMap_Expression228 Expression_2_0 Has PRES False float _CreateShadowMap_Expression228() { float4 temp0; float4 temp1; float4 temp2; float1 expr0; // add r0.x, c1.x, (-2) temp0.x = BlendMode.x + (-2); // mul r1.x, r0.x, r0.x temp1.x = temp0.x * temp0.x; // neg r0.x, r1.x temp0.x = -temp1.x; // ge r2.x, r0.x, r1.x temp2.x = temp0.x >= temp1.x; // mul r0.x, r2.x, (3) temp0.x = temp2.x * (3); // min r0.y, c0.x, (2) temp0.y = min(NumJointsPerVertex.x, (2)); // add c0.x, r0.x, r0.y expr0.x = temp0.x + temp0.y; return expr0; } // _Default_L_Expression229 Expression_2_0 Has PRES False float _Default_L_Expression229() { float4 temp0; float4 temp1; float1 expr0; // min r0.x, c1.x, (2) temp0.x = min(NumTextures.x, (2)); // mul r0.y, c2.x, (3) temp0.y = SecondaryTextureBlendMode.x * (3); // add r1.x, r0.x, r0.y temp1.x = temp0.x + temp0.y; // mul r0.x, c0.x, (36) temp0.x = HasShadow.x * (36); // add c0.x, r1.x, r0.x expr0.x = temp1.x + temp0.x; return expr0; } // _Default_L_Expression230 Expression_2_0 Has PRES False float _Default_L_Expression230() { float4 temp0; float4 temp1; float4 temp2; float1 expr0; // min r0.x, c3.x, (2) temp0.x = min(TexCoordMapper_0.x, (2)); // mul r1.x, r0.x, (3) temp1.x = temp0.x * (3); // min r0.x, c1.x, (2) temp0.x = min(NumJointsPerVertex.x, (2)); // add r2.x, r1.x, r0.x temp2.x = temp1.x + temp0.x; // min r0.x, c4.x, (1) temp0.x = min(TexCoordMapper_1.x, (1)); // mul r1.x, r0.x, (9) temp1.x = temp0.x * (9); // add r0.x, r2.x, r1.x temp0.x = temp2.x + temp1.x; // mul r0.y, c0.x, c2.x temp0.y = HasRecolorColors.x * UseRecolorColors.x; // mul r1.x, r0.y, (18) temp1.x = temp0.y * (18); // add c0.x, r0.x, r1.x expr0.x = temp0.x + temp1.x; return expr0; } // _Default_M_Expression231 Expression_2_0 Has PRES False float _Default_M_Expression231() { float4 temp0; float4 temp1; float1 expr0; // min r0.x, c1.x, (2) temp0.x = min(NumTextures.x, (2)); // mul r0.y, c2.x, (3) temp0.y = SecondaryTextureBlendMode.x * (3); // add r1.x, r0.x, r0.y temp1.x = temp0.x + temp0.y; // mul r0.x, c0.x, (36) temp0.x = HasShadow.x * (36); // add c0.x, r1.x, r0.x expr0.x = temp1.x + temp0.x; return expr0; } // _Default_M_Expression232 Expression_2_0 Has PRES False float _Default_M_Expression232() { float4 temp0; float4 temp1; float4 temp2; float1 expr0; // min r0.x, c3.x, (2) temp0.x = min(TexCoordMapper_0.x, (2)); // mul r1.x, r0.x, (3) temp1.x = temp0.x * (3); // min r0.x, c1.x, (2) temp0.x = min(NumJointsPerVertex.x, (2)); // add r2.x, r1.x, r0.x temp2.x = temp1.x + temp0.x; // min r0.x, c4.x, (1) temp0.x = min(TexCoordMapper_1.x, (1)); // mul r1.x, r0.x, (9) temp1.x = temp0.x * (9); // add r0.x, r2.x, r1.x temp0.x = temp2.x + temp1.x; // mul r0.y, c0.x, c2.x temp0.y = HasRecolorColors.x * UseRecolorColors.x; // mul r1.x, r0.y, (18) temp1.x = temp0.y * (18); // add c0.x, r0.x, r1.x expr0.x = temp0.x + temp1.x; return expr0; } // Default_Expression233 Expression_2_0 Has PRES False float Default_Expression233() { float4 temp0; float4 temp1; float1 expr0; // min r0.x, c1.x, (2) temp0.x = min(NumTextures.x, (2)); // mul r0.y, c2.x, (3) temp0.y = SecondaryTextureBlendMode.x * (3); // add r1.x, r0.x, r0.y temp1.x = temp0.x + temp0.y; // mul r0.x, c0.x, (36) temp0.x = HasShadow.x * (36); // add c0.x, r1.x, r0.x expr0.x = temp1.x + temp0.x; return expr0; } // Default_Expression234 Expression_2_0 Has PRES False float Default_Expression234() { float4 temp0; float4 temp1; float4 temp2; float1 expr0; // min r0.x, c3.x, (2) temp0.x = min(TexCoordMapper_0.x, (2)); // mul r1.x, r0.x, (3) temp1.x = temp0.x * (3); // min r0.x, c1.x, (2) temp0.x = min(NumJointsPerVertex.x, (2)); // add r2.x, r1.x, r0.x temp2.x = temp1.x + temp0.x; // min r0.x, c4.x, (1) temp0.x = min(TexCoordMapper_1.x, (1)); // mul r1.x, r0.x, (9) temp1.x = temp0.x * (9); // add r0.x, r2.x, r1.x temp0.x = temp2.x + temp1.x; // mul r0.y, c0.x, c2.x temp0.y = HasRecolorColors.x * UseRecolorColors.x; // mul r1.x, r0.y, (18) temp1.x = temp0.y * (18); // add c0.x, r0.x, r1.x expr0.x = temp0.x + temp1.x; return expr0; } technique Default { pass P0 { VertexShader = VS_Array[Default_Expression234()]; // 190 PixelShader = PS_Array[Default_Expression233()]; // 191 ZEnable = 1; ZFunc = 4; AlphaFunc = 7; AlphaRef = 96; } } technique _Default_M { pass P0 { VertexShader = VS_M_Array[_Default_M_Expression232()]; // 301 PixelShader = PS_M_Array[_Default_M_Expression231()]; // 302 ZEnable = 1; ZFunc = 4; AlphaFunc = 7; AlphaRef = 96; } } technique _Default_L { pass P0 { VertexShader = VS_M_Array[_Default_L_Expression230()]; // 304 PixelShader = PS_M_Array[_Default_L_Expression229()]; // 305 ZEnable = 1; ZFunc = 4; AlphaFunc = 7; AlphaRef = 96; } } technique _CreateShadowMap { pass P0 { VertexShader = VSCreateShadowMap_Array[_CreateShadowMap_Expression228()]; // 317 PixelShader = PSCreateShadowMap_Array[_CreateShadowMap_Expression227()]; // 318 ZEnable = 1; ZFunc = 4; AlphaBlendEnable = 0; AlphaTestEnable = 0; } }