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(ps_3_0, c5) : 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 : register(ps_3_0, i0) ; struct { float3 Color; float3 Position; float2 Range_Inner_Outer; } PointLight[8] : register(ps_3_0, c89) ; struct { float4 WorldPositionMultiplier_XYZZ; float2 CurrentOffsetUV; } Cloud : register(vs_3_0, c117) ; float3 NoCloudMultiplier = { 1, 1, 1 }; float3 RecolorColorDummy ; column_major float4x4 ShadowMapWorldToShadow : 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_3_0, c123) ; column_major float4x4 ViewProjection : register(vs_2_0, c119) : register(vs_3_0, c119) ; float4 WorldBones[128] ; bool HasShadow ; texture ShadowMap ; // 6 sampler2D ShadowMapSampler : register(ps_3_0, s0) = sampler_state { Texture = ; // 9 MinFilter = 1; MagFilter = 1; MipFilter = 0; AddressU = 3; AddressV = 3; }; float4 Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize : register(ps_3_0, c11) ; float2 MapCellSize = { 10, 10 }; texture MacroSampler ; // 17 sampler2D MacroSamplerSampler = sampler_state { Texture = ; // 21 MinFilter = 2; MagFilter = 2; MipFilter = 2; AddressU = 1; AddressV = 1; }; int _SasGlobal : SasGlobal ; int NumJointsPerVertex ; column_major float4x3 World : World : register(vs_2_0, c124) : register(vs_3_0, c124); texture CloudTexture ; // 30 sampler2D CloudTextureSampler = sampler_state { Texture = ; // 34 MinFilter = 2; MagFilter = 2; MipFilter = 2; AddressU = 1; AddressV = 1; }; texture DiffuseTexture ; // 39 sampler2D DiffuseTextureSampler : register(ps_2_0, s0) = sampler_state { Texture = ; // 41 MinFilter = 3; MagFilter = 2; MipFilter = 2; MaxAnisotropy = 8; AddressU = 1; AddressV = 1; }; texture NormalMap ; // 44 sampler2D NormalMapSampler = sampler_state { Texture = ; // 46 MinFilter = 3; MagFilter = 2; MipFilter = 2; MaxAnisotropy = 8; AddressU = 1; AddressV = 1; }; texture SpecMap ; // 49 sampler2D SpecMapSampler = sampler_state { Texture = ; // 51 MinFilter = 3; MagFilter = 2; MipFilter = 2; MaxAnisotropy = 8; AddressU = 1; AddressV = 1; }; struct { float4 ScaleUV_OffsetUV; } Shroud : register(vs_2_0, c11) : register(vs_3_0, c11) = { 1, 1, 0, 0 }; texture ShroudTexture ; // 56 sampler2D ShroudTextureSampler : register(ps_2_0, s1) = sampler_state { Texture = ; // 59 MinFilter = 2; MagFilter = 2; MipFilter = 2; AddressU = 3; AddressV = 3; }; float Time : Time; // PS_H_Array_Shader_0 Pixel_3_0 Has PRES True struct PS_H_Array_Shader_0_Input { float2 texcoord : TEXCOORD; float3 texcoord1 : TEXCOORD1; float3 texcoord2 : TEXCOORD2; float3 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float4 texcoord6 : TEXCOORD6; float3 texcoord7 : TEXCOORD7; float4 color : COLOR; }; float4 PS_H_Array_Shader_0(PS_H_Array_Shader_0_Input i) : COLOR { /* PRSI OutputRegisterOffset: 11 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 1 Unknown3: 0 Unknown4: 0 Unknown5: 11 Unknown6: 1 Mappings: 1 0 - ConstOutput: 0 ConstInput 0 */ float4 expr11; { float4 temp0; // Expression_2_1 // mul r0.x, c0.x, (66) temp0.x = MapCellSize.x * (66); // rcp c11.x, r0.x expr11.x = 1.0f / (temp0.x); } float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5; float3 temp6; float2 temp7; // def c0, -4, -5, -6, -7 // def c1, 50, 1, -1, 0 // def c2, 0, 1, 2, 3 // def c3, 2.2, 2, -1, -0.75 // dcl_texcoord v0.xy // dcl_texcoord1_centroid v1.xyz // dcl_texcoord2_centroid v2.xyz // dcl_texcoord3_centroid v3.xyz // dcl_texcoord4 v4.xyz // dcl_texcoord6 v5 // dcl_texcoord7 v6.xyz // dcl_color v7 // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // dcl_2d s5 // texld r0, v0, s2 temp0 = tex2D(DiffuseTextureSampler, i.texcoord.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, c3.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); // mul oC0.w, r0.w, v7.w out_color.w = temp0.w * i.color.w; // texld r0, v0, s3 temp0 = tex2D(NormalMapSampler, i.texcoord.xy); // mad r0.xyz, r0, c3.y, c3.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mul r0.xyz, r0, -c3.wwzw temp0.xyz = temp0.xyz * float3(0.75, 0.75, 1); // dp3 r2.x, r0, v1 temp2.x = dot(temp0.xyz, i.texcoord1.xyz); // dp3 r2.y, r0, v2 temp2.y = dot(temp0.xyz, i.texcoord2.xyz); // dp3 r2.z, r0, v3 temp2.z = dot(temp0.xyz, i.texcoord3.xyz); // nrm r0.xyz, r2 temp0.xyz = normalize(temp2.xyz).xyz; // texld r2, v0, s4 temp2 = tex2D(SpecMapSampler, i.texcoord.xy); // mov r2.yzw, v7.xxyz temp2.yzw = i.color.xyz; // mov r0.w, c2.x temp0.w = float1(0); // rep i0 for (int it0 = 0; it0 < NumPointLights; ++it0) { // add r3, r0.w, -c2 temp3 = temp0.w + float4(-0, -1, -2, -3); // add r4, r0.w, c0 temp4 = temp0.w + float4(-4, -5, -6, -7); // mov r5.x, c2.x temp5.x = float1(0); // cmp r5.yzw, -r3_abs.x, c89.xxyz, r5.x temp5.yzw = (-abs(temp3).xxx >= 0) ? PointLight[0].Color.xyz : temp5.xxx; // cmp r6.xyz, -r3_abs.x, c90, r5.x temp6.xyz = (-abs(temp3).xxx >= 0) ? PointLight[0].Position.xyz : temp5.xxx; // cmp r7.xy, -r3_abs.x, c91, r5.x temp7.xy = (-abs(temp3).xx >= 0) ? PointLight[0].Range_Inner_Outer.xy : temp5.xx; // cmp r5.xyz, -r3_abs.y, c92, r5.yzww temp5.xyz = (-abs(temp3).yyy >= 0) ? PointLight[1].Color.xyz : temp5.yzw; // cmp r6.xyz, -r3_abs.y, c93, r6 temp6.xyz = (-abs(temp3).yyy >= 0) ? PointLight[1].Position.xyz : temp6.xyz; // cmp r3.xy, -r3_abs.y, c94, r7 temp3.xy = (-abs(temp3).yy >= 0) ? PointLight[1].Range_Inner_Outer.xy : temp7.xy; // cmp r5.xyz, -r3_abs.z, c95, r5 temp5.xyz = (-abs(temp3).zzz >= 0) ? PointLight[2].Color.xyz : temp5.xyz; // cmp r6.xyz, -r3_abs.z, c96, r6 temp6.xyz = (-abs(temp3).zzz >= 0) ? PointLight[2].Position.xyz : temp6.xyz; // cmp r3.xy, -r3_abs.z, c97, r3 temp3.xy = (-abs(temp3).zz >= 0) ? PointLight[2].Range_Inner_Outer.xy : temp3.xy; // cmp r5.xyz, -r3_abs.w, c98, r5 temp5.xyz = (-abs(temp3).www >= 0) ? PointLight[3].Color.xyz : temp5.xyz; // cmp r6.xyz, -r3_abs.w, c99, r6 temp6.xyz = (-abs(temp3).www >= 0) ? PointLight[3].Position.xyz : temp6.xyz; // cmp r3.xy, -r3_abs.w, c100, r3 temp3.xy = (-abs(temp3).ww >= 0) ? PointLight[3].Range_Inner_Outer.xy : temp3.xy; // cmp r5.xyz, -r4_abs.x, c101, r5 temp5.xyz = (-abs(temp4).xxx >= 0) ? PointLight[4].Color.xyz : temp5.xyz; // cmp r6.xyz, -r4_abs.x, c102, r6 temp6.xyz = (-abs(temp4).xxx >= 0) ? PointLight[4].Position.xyz : temp6.xyz; // cmp r3.xy, -r4_abs.x, c103, r3 temp3.xy = (-abs(temp4).xx >= 0) ? PointLight[4].Range_Inner_Outer.xy : temp3.xy; // cmp r5.xyz, -r4_abs.y, c104, r5 temp5.xyz = (-abs(temp4).yyy >= 0) ? PointLight[5].Color.xyz : temp5.xyz; // cmp r6.xyz, -r4_abs.y, c105, r6 temp6.xyz = (-abs(temp4).yyy >= 0) ? PointLight[5].Position.xyz : temp6.xyz; // cmp r3.xy, -r4_abs.y, c106, r3 temp3.xy = (-abs(temp4).yy >= 0) ? PointLight[5].Range_Inner_Outer.xy : temp3.xy; // cmp r5.xyz, -r4_abs.z, c107, r5 temp5.xyz = (-abs(temp4).zzz >= 0) ? PointLight[6].Color.xyz : temp5.xyz; // cmp r6.xyz, -r4_abs.z, c108, r6 temp6.xyz = (-abs(temp4).zzz >= 0) ? PointLight[6].Position.xyz : temp6.xyz; // cmp r3.xy, -r4_abs.z, c109, r3 temp3.xy = (-abs(temp4).zz >= 0) ? PointLight[6].Range_Inner_Outer.xy : temp3.xy; // cmp r4.xyz, -r4_abs.w, c110, r5 temp4.xyz = (-abs(temp4).www >= 0) ? PointLight[7].Color.xyz : temp5.xyz; // cmp r5.xyz, -r4_abs.w, c111, r6 temp5.xyz = (-abs(temp4).www >= 0) ? PointLight[7].Position.xyz : temp6.xyz; // cmp r3.xy, -r4_abs.w, c112, r3 temp3.xy = (-abs(temp4).ww >= 0) ? PointLight[7].Range_Inner_Outer.xy : temp3.xy; // add r5.xyz, r5, -v4 temp5.xyz = temp5.xyz + -i.texcoord4.xyz; // dp3 r1.w, r5, r5 temp1.w = dot(temp5.xyz, temp5.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r3.z, r1.w temp3.z = 1.0f / temp1.w; // mul r5.xyz, r5, r1.w temp5.xyz = temp5.xyz * temp1.www; // add r1.w, -r3.x, r3.z temp1.w = -temp3.x + temp3.z; // add r3.x, -r3.x, r3.y temp3.x = -temp3.x + temp3.y; // rcp r3.x, r3.x temp3.x = 1.0f / temp3.x; // mad_sat r1.w, r1.w, -r3.x, -c3.z temp1.w = saturate(temp1.w * -temp3.x + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r3.xyz, r4, r1.w temp3.xyz = temp4.xyz * temp1.www; // dp3 r1.w, r0, r5 temp1.w = dot(temp0.xyz, temp5.xyz); // max r3.w, r1.w, c2.x temp3.w = max(temp1.w, float1(0)); // mad r2.yzw, r3.xxyz, r3.w, r2 temp2.yzw = temp3.xyz * temp3.www + temp2.yzw; // add r0.w, r0.w, -c3.z temp0.w = temp0.w + float1(1); // endrep } // mul r2.yzw, r1.xxyz, r2 temp2.yzw = temp1.xyz * temp2.yzw; // add r2.yzw, r2, r2 temp2.yzw = temp2.yzw + temp2.yzw; // dp3 r0.w, r0, c6 temp0.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r0.x, r0, v6 temp0.x = dot(temp0.xyz, i.texcoord7.xyz); // cmp r0.y, -r0.w, c2.x, c2.y temp0.y = (-temp0.w >= 0) ? float1(0) : float1(1); // mul r0.z, r0.w, r0.y temp0.z = temp0.w * temp0.y; // cmp r0.w, -r0.x, c2.x, c2.y temp0.w = (-temp0.x >= 0) ? float1(0) : float1(1); // mul r0.y, r0.y, r0.w temp0.y = temp0.y * temp0.w; // pow r1.w, r0.x, c1.x temp1.w = pow(temp0.x, float1(50)); // mul r0.x, r0.y, r1.w temp0.x = temp0.y * temp1.w; // texld r3, v5.zwzw, s1 temp3 = tex2D(CloudTextureSampler, i.texcoord6.zw); // log r4.x, r3.x temp4.x = log2(temp3.x); // log r4.y, r3.y temp4.y = log2(temp3.y); // log r4.z, r3.z temp4.z = log2(temp3.z); // mul r3.xyz, r4, c3.x temp3.xyz = temp4.xyz * float3(2.2, 2.2, 2.2); // exp r4.x, r3.x temp4.x = exp2(temp3.x); // exp r4.y, r3.y temp4.y = exp2(temp3.y); // exp r4.z, r3.z temp4.z = exp2(temp3.z); // mul r3.xyz, r4, c5 temp3.xyz = temp4.xyz * DirectionalLight[0].Color.xyz; // mul r0.x, r2.x, r0.x temp0.x = temp2.x * temp0.x; // mad r0.xyz, r0.z, r1, r0.x temp0.xyz = temp0.zzz * temp1.xyz + temp0.xxx; // mad r0.xyz, r3, r0, r2.yzww temp0.xyz = temp3.xyz * temp0.xyz + temp2.yzw; // mov r1.yz, c1 temp1.yz = float2(1, -1); // mul r1.xy, r1.yzzw, c11.x temp1.xy = temp1.yz * expr11.xx; // mul r1.xy, r1, v4 temp1.xy = temp1.xy * i.texcoord4.xy; // texld r1, r1, s0 temp1 = tex2D(MacroSamplerSampler, temp1.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, c3.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; // texld r1, v5, s5 temp1 = tex2D(ShroudTextureSampler, i.texcoord6.xy); // mul oC0.xyz, r0, r1.x out_color.xyz = temp0.xyz * temp1.xxx; // return out_color; } // PS_H_Array_Shader_1 Pixel_3_0 Has PRES True struct PS_H_Array_Shader_1_Input { float2 texcoord : TEXCOORD; float3 texcoord1 : TEXCOORD1; float3 texcoord2 : TEXCOORD2; float3 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float3 texcoord5 : TEXCOORD5; float4 texcoord6 : TEXCOORD6; float3 texcoord7 : TEXCOORD7; float4 color : COLOR; }; float4 PS_H_Array_Shader_1(PS_H_Array_Shader_1_Input i) : COLOR { /* PRSI OutputRegisterOffset: 12 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 1 Unknown3: 0 Unknown4: 0 Unknown5: 12 Unknown6: 1 Mappings: 1 0 - ConstOutput: 0 ConstInput 0 */ float4 expr12; { float4 temp0; // Expression_2_1 // mul r0.x, c0.x, (66) temp0.x = MapCellSize.x * (66); // rcp c12.x, r0.x expr12.x = 1.0f / (temp0.x); } float4 out_color; float4 temp0, temp1, temp2, temp3, temp4, temp5, temp6; float2 temp7; // def c0, -4, -5, -6, -7 // def c1, 2.2, 2, -1, -0.75 // def c2, 50, 0.25, 1, -1 // def c3, 0, 1, 2, 3 // dcl_texcoord v0.xy // dcl_texcoord1_centroid v1.xyz // dcl_texcoord2_centroid v2.xyz // dcl_texcoord3_centroid v3.xyz // dcl_texcoord4 v4.xyz // dcl_texcoord5 v5.xyz // dcl_texcoord6 v6 // dcl_texcoord7 v7.xyz // dcl_color v8 // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // dcl_2d s5 // dcl_2d s6 // texld r0, v0, s3 temp0 = tex2D(DiffuseTextureSampler, i.texcoord.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, c1.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); // mul oC0.w, r0.w, v8.w out_color.w = temp0.w * i.color.w; // texld r0, v0, s4 temp0 = tex2D(NormalMapSampler, i.texcoord.xy); // mad r0.xyz, r0, c1.y, c1.z temp0.xyz = temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mul r0.xyz, r0, -c1.wwzw temp0.xyz = temp0.xyz * float3(0.75, 0.75, 1); // dp3 r2.x, r0, v1 temp2.x = dot(temp0.xyz, i.texcoord1.xyz); // dp3 r2.y, r0, v2 temp2.y = dot(temp0.xyz, i.texcoord2.xyz); // dp3 r2.z, r0, v3 temp2.z = dot(temp0.xyz, i.texcoord3.xyz); // nrm r0.xyz, r2 temp0.xyz = normalize(temp2.xyz).xyz; // texld r2, v0, s5 temp2 = tex2D(SpecMapSampler, i.texcoord.xy); // mov r2.yzw, v8.xxyz temp2.yzw = i.color.xyz; // mov r0.w, c3.x temp0.w = float1(0); // rep i0 for (int it0 = 0; it0 < NumPointLights; ++it0) { // add r3, r0.w, -c3 temp3 = temp0.w + float4(-0, -1, -2, -3); // add r4, r0.w, c0 temp4 = temp0.w + float4(-4, -5, -6, -7); // mov r5.x, c3.x temp5.x = float1(0); // cmp r5.yzw, -r3_abs.x, c89.xxyz, r5.x temp5.yzw = (-abs(temp3).xxx >= 0) ? PointLight[0].Color.xyz : temp5.xxx; // cmp r6.xyz, -r3_abs.x, c90, r5.x temp6.xyz = (-abs(temp3).xxx >= 0) ? PointLight[0].Position.xyz : temp5.xxx; // cmp r7.xy, -r3_abs.x, c91, r5.x temp7.xy = (-abs(temp3).xx >= 0) ? PointLight[0].Range_Inner_Outer.xy : temp5.xx; // cmp r5.xyz, -r3_abs.y, c92, r5.yzww temp5.xyz = (-abs(temp3).yyy >= 0) ? PointLight[1].Color.xyz : temp5.yzw; // cmp r6.xyz, -r3_abs.y, c93, r6 temp6.xyz = (-abs(temp3).yyy >= 0) ? PointLight[1].Position.xyz : temp6.xyz; // cmp r3.xy, -r3_abs.y, c94, r7 temp3.xy = (-abs(temp3).yy >= 0) ? PointLight[1].Range_Inner_Outer.xy : temp7.xy; // cmp r5.xyz, -r3_abs.z, c95, r5 temp5.xyz = (-abs(temp3).zzz >= 0) ? PointLight[2].Color.xyz : temp5.xyz; // cmp r6.xyz, -r3_abs.z, c96, r6 temp6.xyz = (-abs(temp3).zzz >= 0) ? PointLight[2].Position.xyz : temp6.xyz; // cmp r3.xy, -r3_abs.z, c97, r3 temp3.xy = (-abs(temp3).zz >= 0) ? PointLight[2].Range_Inner_Outer.xy : temp3.xy; // cmp r5.xyz, -r3_abs.w, c98, r5 temp5.xyz = (-abs(temp3).www >= 0) ? PointLight[3].Color.xyz : temp5.xyz; // cmp r6.xyz, -r3_abs.w, c99, r6 temp6.xyz = (-abs(temp3).www >= 0) ? PointLight[3].Position.xyz : temp6.xyz; // cmp r3.xy, -r3_abs.w, c100, r3 temp3.xy = (-abs(temp3).ww >= 0) ? PointLight[3].Range_Inner_Outer.xy : temp3.xy; // cmp r5.xyz, -r4_abs.x, c101, r5 temp5.xyz = (-abs(temp4).xxx >= 0) ? PointLight[4].Color.xyz : temp5.xyz; // cmp r6.xyz, -r4_abs.x, c102, r6 temp6.xyz = (-abs(temp4).xxx >= 0) ? PointLight[4].Position.xyz : temp6.xyz; // cmp r3.xy, -r4_abs.x, c103, r3 temp3.xy = (-abs(temp4).xx >= 0) ? PointLight[4].Range_Inner_Outer.xy : temp3.xy; // cmp r5.xyz, -r4_abs.y, c104, r5 temp5.xyz = (-abs(temp4).yyy >= 0) ? PointLight[5].Color.xyz : temp5.xyz; // cmp r6.xyz, -r4_abs.y, c105, r6 temp6.xyz = (-abs(temp4).yyy >= 0) ? PointLight[5].Position.xyz : temp6.xyz; // cmp r3.xy, -r4_abs.y, c106, r3 temp3.xy = (-abs(temp4).yy >= 0) ? PointLight[5].Range_Inner_Outer.xy : temp3.xy; // cmp r5.xyz, -r4_abs.z, c107, r5 temp5.xyz = (-abs(temp4).zzz >= 0) ? PointLight[6].Color.xyz : temp5.xyz; // cmp r6.xyz, -r4_abs.z, c108, r6 temp6.xyz = (-abs(temp4).zzz >= 0) ? PointLight[6].Position.xyz : temp6.xyz; // cmp r3.xy, -r4_abs.z, c109, r3 temp3.xy = (-abs(temp4).zz >= 0) ? PointLight[6].Range_Inner_Outer.xy : temp3.xy; // cmp r4.xyz, -r4_abs.w, c110, r5 temp4.xyz = (-abs(temp4).www >= 0) ? PointLight[7].Color.xyz : temp5.xyz; // cmp r5.xyz, -r4_abs.w, c111, r6 temp5.xyz = (-abs(temp4).www >= 0) ? PointLight[7].Position.xyz : temp6.xyz; // cmp r3.xy, -r4_abs.w, c112, r3 temp3.xy = (-abs(temp4).ww >= 0) ? PointLight[7].Range_Inner_Outer.xy : temp3.xy; // add r5.xyz, r5, -v4 temp5.xyz = temp5.xyz + -i.texcoord4.xyz; // dp3 r1.w, r5, r5 temp1.w = dot(temp5.xyz, temp5.xyz); // rsq r1.w, r1.w temp1.w = 1 / sqrt(temp1.w); // rcp r3.z, r1.w temp3.z = 1.0f / temp1.w; // mul r5.xyz, r5, r1.w temp5.xyz = temp5.xyz * temp1.www; // add r1.w, -r3.x, r3.z temp1.w = -temp3.x + temp3.z; // add r3.x, -r3.x, r3.y temp3.x = -temp3.x + temp3.y; // rcp r3.x, r3.x temp3.x = 1.0f / temp3.x; // mad_sat r1.w, r1.w, -r3.x, -c1.z temp1.w = saturate(temp1.w * -temp3.x + float1(1)); // mul r1.w, r1.w, r1.w temp1.w = temp1.w * temp1.w; // mul r3.xyz, r4, r1.w temp3.xyz = temp4.xyz * temp1.www; // dp3 r1.w, r0, r5 temp1.w = dot(temp0.xyz, temp5.xyz); // max r3.w, r1.w, c3.x temp3.w = max(temp1.w, float1(0)); // mad r2.yzw, r3.xxyz, r3.w, r2 temp2.yzw = temp3.xyz * temp3.www + temp2.yzw; // add r0.w, r0.w, -c1.z temp0.w = temp0.w + float1(1); // endrep } // mul r2.yzw, r1.xxyz, r2 temp2.yzw = temp1.xyz * temp2.yzw; // add r2.yzw, r2, r2 temp2.yzw = temp2.yzw + temp2.yzw; // dp3 r0.w, r0, c6 temp0.w = dot(temp0.xyz, DirectionalLight[0].Direction.xyz); // dp3 r0.x, r0, v7 temp0.x = dot(temp0.xyz, i.texcoord7.xyz); // cmp r0.y, -r0.w, c3.x, c3.y temp0.y = (-temp0.w >= 0) ? float1(0) : float1(1); // mul r0.z, r0.w, r0.y temp0.z = temp0.w * temp0.y; // cmp r1.w, -r0.x, c3.x, c3.y temp1.w = (-temp0.x >= 0) ? float1(0) : float1(1); // mul r0.y, r0.y, r1.w temp0.y = temp0.y * temp1.w; // pow r1.w, r0.x, c2.x temp1.w = pow(temp0.x, float1(50)); // mul r0.w, r0.y, r1.w temp0.w = temp0.y * temp1.w; // texld r3, v5, s0 temp3 = tex2D(ShadowMapSampler, i.texcoord5.xy); // add r0.xy, c11.zxzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord5.xy; // texld r4, r0, s0 temp4 = tex2D(ShadowMapSampler, temp0.xy); // add r0.xy, c11.yzzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord5.xy; // texld r5, r0, s0 temp5 = tex2D(ShadowMapSampler, temp0.xy); // add r0.xy, c11.wzzw, v5 temp0.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord5.xy; // texld r6, r0, s0 temp6 = tex2D(ShadowMapSampler, temp0.xy); // mov r3.y, r4.x temp3.y = temp4.x; // mov r3.z, r5.x temp3.z = temp5.x; // mov r3.w, r6.x temp3.w = temp6.x; // add r3, r3, -v5.z temp3 = temp3 + -i.texcoord5.z; // cmp r3, r3, c3.y, c3.x temp3 = (temp3 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.x, -c1.z, r3 temp0.x = dot(float4(1, 1, 1, 1), temp3); // mul r0.x, r0.x, c2.y temp0.x = temp0.x * float1(0.25); // mul r0.xy, r0.zwzw, r0.x temp0.xy = temp0.zw * temp0.xx; // texld r3, v6.zwzw, s2 temp3 = tex2D(CloudTextureSampler, i.texcoord6.zw); // log r4.x, r3.x temp4.x = log2(temp3.x); // log r4.y, r3.y temp4.y = log2(temp3.y); // log r4.z, r3.z temp4.z = log2(temp3.z); // mul r3.xyz, r4, c1.x temp3.xyz = temp4.xyz * float3(2.2, 2.2, 2.2); // exp r4.x, r3.x temp4.x = exp2(temp3.x); // exp r4.y, r3.y temp4.y = exp2(temp3.y); // exp r4.z, r3.z temp4.z = exp2(temp3.z); // mul r3.xyz, r4, c5 temp3.xyz = temp4.xyz * DirectionalLight[0].Color.xyz; // mul r0.y, r2.x, r0.y temp0.y = temp2.x * temp0.y; // mad r0.xyz, r0.x, r1, r0.y temp0.xyz = temp0.xxx * temp1.xyz + temp0.yyy; // mad r0.xyz, r3, r0, r2.yzww temp0.xyz = temp3.xyz * temp0.xyz + temp2.yzw; // mov r1.zw, c2 temp1.zw = float2(1, -1); // mul r1.xy, r1.zwzw, c12.x temp1.xy = temp1.zw * expr12.xx; // mul r1.xy, r1, v4 temp1.xy = temp1.xy * i.texcoord4.xy; // texld r1, r1, s1 temp1 = tex2D(MacroSamplerSampler, temp1.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, c1.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; // texld r1, v6, s6 temp1 = tex2D(ShroudTextureSampler, i.texcoord6.xy); // mul oC0.xyz, r0, r1.x out_color.xyz = temp0.xyz * temp1.xxx; // return out_color; } PixelShader PS_H_Array[2] = { compile ps_3_0 PS_H_Array_Shader_0(), // 63 compile ps_3_0 PS_H_Array_Shader_1(), // 64 }; // PS_M_Array_Shader_0 Pixel_3_0 Has PRES False struct PS_M_Array_Shader_0_Input { float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; }; float4 PS_M_Array_Shader_0(PS_M_Array_Shader_0_Input i) : COLOR { float4 out_color; float4 temp0, temp1; float3 temp2; // def c0, 2, -1, 0.75, 1 // def c1, 2.2, 0, 0, 0 // dcl_texcoord v0 // dcl_texcoord1 v1 // dcl_color v2 // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // texld r0, v0, s3 temp0 = /* not implemented _pp modifier */ tex2D(NormalMapSampler, i.texcoord.xy); // mad_pp r0.xyz, r0, c0.x, c0.y temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mul_pp r0.xyz, r0, c0.zzww temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * float3(0.75, 0.75, 1); // nrm_pp r1.xyz, r0 temp1.xyz = /* not implemented _pp modifier */ normalize(temp0.xyz).xyz; // dp3 r0.x, r1, c6 temp0.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // max r1.x, r0.x, c1.y temp1.x = max(temp0.x, float1(0)); // mul_pp r0.xyz, r1.x, c5 temp0.xyz = /* not implemented _pp modifier */ temp1.xxx * DirectionalLight[0].Color.xyz; // texld r1, v1.zwzw, s1 temp1 = tex2D(CloudTextureSampler, i.texcoord1.zw); // 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, c1.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp_pp r2.x, r1.x temp2.x = /* not implemented _pp modifier */ exp2(temp1.x); // exp_pp r2.y, r1.y temp2.y = /* not implemented _pp modifier */ exp2(temp1.y); // exp_pp r2.z, r1.z temp2.z = /* not implemented _pp modifier */ exp2(temp1.z); // mad r0.xyz, r0, r2, v2 temp0.xyz = temp0.xyz * temp2.xyz + i.color.xyz; // texld r1, v0, s2 temp1 = /* not implemented _pp modifier */ tex2D(DiffuseTextureSampler, i.texcoord.xy); // mul_pp r0.xyz, r0, r1 temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * temp1.xyz; // mul_pp oC0.w, r1.w, v2.w out_color.w = /* not implemented _pp modifier */ temp1.w * i.color.w; // texld r1, v0.zwzw, s0 temp1 = /* not implemented _pp modifier */ tex2D(MacroSamplerSampler, i.texcoord.zw); // mul_pp r0.xyz, r0, r1 temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * temp1.xyz; // texld r1, v1, s4 temp1 = /* not implemented _pp modifier */ tex2D(ShroudTextureSampler, i.texcoord1.xy); // mul_pp oC0.xyz, r0, r1.x out_color.xyz = /* not implemented _pp modifier */ temp0.xyz * temp1.xxx; // return out_color; } // PS_M_Array_Shader_1 Pixel_3_0 Has PRES False struct PS_M_Array_Shader_1_Input { float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float3 texcoord2 : TEXCOORD2; float4 color : COLOR; }; float4 PS_M_Array_Shader_1(PS_M_Array_Shader_1_Input i) : COLOR { float4 out_color; float4 temp0, temp1, temp2; // def c0, 2, -1, 0.75, 1 // def c1, 2.2, 0, 1, 0.25 // dcl_texcoord v0 // dcl_texcoord1 v1 // dcl_texcoord2 v2.xyz // dcl_color v3 // dcl_2d s0 // dcl_2d s1 // dcl_2d s2 // dcl_2d s3 // dcl_2d s4 // dcl_2d s5 // texld r0, v0, s4 temp0 = /* not implemented _pp modifier */ tex2D(NormalMapSampler, i.texcoord.xy); // mad_pp r0.xyz, r0, c0.x, c0.y temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * float3(2, 2, 2) + float3(-1, -1, -1); // mul_pp r0.xyz, r0, c0.zzww temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * float3(0.75, 0.75, 1); // nrm_pp r1.xyz, r0 temp1.xyz = /* not implemented _pp modifier */ normalize(temp0.xyz).xyz; // dp3 r0.x, r1, c6 temp0.x = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // max r1.x, r0.x, c1.y temp1.x = max(temp0.x, float1(0)); // mul_pp r0.xyz, r1.x, c5 temp0.xyz = /* not implemented _pp modifier */ temp1.xxx * DirectionalLight[0].Color.xyz; // texld r1, v1.zwzw, s2 temp1 = tex2D(CloudTextureSampler, i.texcoord1.zw); // 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, c1.x temp1.xyz = temp2.xyz * float3(2.2, 2.2, 2.2); // exp_pp r2.x, r1.x temp2.x = /* not implemented _pp modifier */ exp2(temp1.x); // exp_pp r2.y, r1.y temp2.y = /* not implemented _pp modifier */ exp2(temp1.y); // exp_pp r2.z, r1.z temp2.z = /* not implemented _pp modifier */ exp2(temp1.z); // mul_pp r0.xyz, r0, r2 temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * temp2.xyz; // add r1.xy, c11.zxzw, v2 temp1.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.zx + i.texcoord2.xy; // texld r1, r1, s0 temp1 = tex2D(ShadowMapSampler, temp1.xy); // mov r1.y, r1.x temp1.y = temp1.x; // add r2.xy, c11.yzzw, v2 temp2.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.yz + i.texcoord2.xy; // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // mov r1.z, r2.x temp1.z = temp2.x; // add r2.xy, c11.wzzw, v2 temp2.xy = Shadowmap_Zero_Zero_OneOverMapSize_OneOverMapSize.wz + i.texcoord2.xy; // texld r2, r2, s0 temp2 = tex2D(ShadowMapSampler, temp2.xy); // mov r1.w, r2.x temp1.w = temp2.x; // texld r2, v2, s0 temp2 = tex2D(ShadowMapSampler, i.texcoord2.xy); // mov r1.x, r2.x temp1.x = temp2.x; // add r1, r1, -v2.z temp1 = temp1 + -i.texcoord2.z; // cmp r1, r1, c1.z, c1.y temp1 = (temp1 >= 0) ? float4(1, 1, 1, 1) : float4(0, 0, 0, 0); // dp4 r0.w, c0.w, r1 temp0.w = dot(float4(1, 1, 1, 1), temp1); // mul r0.w, r0.w, c1.w temp0.w = temp0.w * float1(0.25); // mad r0.xyz, r0, r0.w, v3 temp0.xyz = temp0.xyz * temp0.www + i.color.xyz; // texld r1, v0, s3 temp1 = /* not implemented _pp modifier */ tex2D(DiffuseTextureSampler, i.texcoord.xy); // mul_pp r0.xyz, r0, r1 temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * temp1.xyz; // mul_pp oC0.w, r1.w, v3.w out_color.w = /* not implemented _pp modifier */ temp1.w * i.color.w; // texld r1, v0.zwzw, s1 temp1 = /* not implemented _pp modifier */ tex2D(MacroSamplerSampler, i.texcoord.zw); // mul_pp r0.xyz, r0, r1 temp0.xyz = /* not implemented _pp modifier */ temp0.xyz * temp1.xyz; // texld r1, v1, s5 temp1 = /* not implemented _pp modifier */ tex2D(ShroudTextureSampler, i.texcoord1.xy); // mul_pp oC0.xyz, r0, r1.x out_color.xyz = /* not implemented _pp modifier */ temp0.xyz * temp1.xxx; // return out_color; } PixelShader PS_M_Array[2] = { compile ps_3_0 PS_M_Array_Shader_0(), // 67 compile ps_3_0 PS_M_Array_Shader_1(), // 68 }; // _CreateShadowMap_PixelShader5 Pixel_2_0 Has PRES False struct _CreateShadowMap_PixelShader5_Input { float2 texcoord : TEXCOORD; float texcoord1 : TEXCOORD1; float color : COLOR; }; float4 _CreateShadowMap_PixelShader5(_CreateShadowMap_PixelShader5_Input i) : COLOR { float4 out_color; float4 temp0; // def c0, -0.3764706, 0, 0, 0 // dcl t0.xy // dcl t1.x // dcl v0.x // dcl_2d s0 // texld r0, t0, s0 temp0 = tex2D(DiffuseTextureSampler, i.texcoord.xy); // mad r0, r0.w, v0.x, c0.x temp0 = temp0.w * 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; } // _CreateShadowMap_VertexShader6 Vertex_2_0 Has PRES False struct _CreateShadowMap_VertexShader6_Input { float4 position : POSITION; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct _CreateShadowMap_VertexShader6_Output { float4 position : POSITION; float texcoord1 : TEXCOORD1; float color : COLOR; float2 texcoord : TEXCOORD; }; _CreateShadowMap_VertexShader6_Output _CreateShadowMap_VertexShader6(_CreateShadowMap_VertexShader6_Input i) { _CreateShadowMap_VertexShader6_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 r0.y, r1, c122 temp0.y = dot(temp1, (ViewProjection._m03_m13_m23_m33)); // dp4 r0.x, r1, c121 temp0.x = dot(temp1, (ViewProjection._m02_m12_m22_m32)); // rcp r0.z, r0.y temp0.z = 1.0f / temp0.y; // mov oPos.zw, r0.xyxy o.position.zw = temp0.xy; // mul oT1.x, r0.x, r0.z o.texcoord1 = temp0.x * temp0.z; // mul oD0.x, v2.w, c1.x o.color = i.color.w * OpacityOverride.x; // mov oT0.xy, v1 o.texcoord = i.texcoord; // return o; } // Default_L_PixelShader7 Pixel_2_0 Has PRES False struct Default_L_PixelShader7_Input { float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; }; float4 Default_L_PixelShader7(Default_L_PixelShader7_Input i) : COLOR { float4 out_color; float4 temp0, temp1; // dcl t0 // dcl t1 // dcl_2d s0 // dcl_2d s1 // mov r0.x, t0.z temp0.x = i.texcoord.z; // mov r0.y, t0.w temp0.y = i.texcoord.w; // texld r0, r0, s1 temp0 = tex2D(ShroudTextureSampler, temp0.xy); // texld r1, t0, s0 temp1 = tex2D(DiffuseTextureSampler, i.texcoord.xy); // mul r1, r1, t1 temp1 = temp1 * i.texcoord1; // mul r1.xyz, r0.x, r1 temp1.xyz = temp0.xxx * temp1.xyz; // mov oC0, r1 out_color = temp1; // return out_color; } // Default_L_VertexShader8 Vertex_2_0 Has PRES False struct Default_L_VertexShader8_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct Default_L_VertexShader8_Output { float4 position : POSITION; float4 texcoord1 : TEXCOORD1; float4 texcoord : TEXCOORD; }; Default_L_VertexShader8_Output Default_L_VertexShader8(Default_L_VertexShader8_Input i) { Default_L_VertexShader8_Output o; float4 temp0, temp1; float3 temp2; // def c0, 1, 0, 0, 0 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_color v3 // 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)); // mov r1.w, c0.x temp1.w = float1(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 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 r0.xy, r1, c11.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // dp3 r1.x, v1, c124 temp1.x = dot(i.normal.xyz, (World._m00_m10_m20_m30).xyz); // dp3 r1.y, v1, c125 temp1.y = dot(i.normal.xyz, (World._m01_m11_m21_m31).xyz); // dp3 r1.z, v1, c126 temp1.z = dot(i.normal.xyz, (World._m02_m12_m22_m32).xyz); // dp3 r0.z, r1, c8 temp0.z = dot(temp1.xyz, DirectionalLight[1].Direction.xyz); // max r0.z, r0.z, c0.y temp0.z = max(temp0.z, float1(0)); // mul r2.xyz, r0.z, c7 temp2.xyz = temp0.zzz * DirectionalLight[1].Color.xyz; // dp3 r0.z, r1, c6 temp0.z = dot(temp1.xyz, DirectionalLight[0].Direction.xyz); // dp3 r0.w, r1, c10 temp0.w = dot(temp1.xyz, DirectionalLight[2].Direction.xyz); // max r0.z, r0.z, c0.y temp0.z = max(temp0.z, float1(0)); // mad r1.xyz, c5, r0.z, r2 temp1.xyz = DirectionalLight[0].Color.xyz * temp0.zzz + temp2.xyz; // max r0.z, r0.w, c0.y temp0.z = max(temp0.w, float1(0)); // mad r1.xyz, c9, r0.z, r1 temp1.xyz = DirectionalLight[2].Color.xyz * temp0.zzz + temp1.xyz; // add r1.xyz, r1, c4 temp1.xyz = temp1.xyz + AmbientLightColor.xyz; // mov r1.w, c1.x temp1.w = OpacityOverride.x; // mul oT1, r1, v3 o.texcoord1 = temp1 * i.color; // mul oT0.zw, r0.xyxy, c11.xyxy o.texcoord.zw = temp0.xy * Shroud.ScaleUV_OffsetUV.xy; // mov oT0.xy, v2 o.texcoord.xy = i.texcoord.xy; // return o; } // Default_M_Expression9 Expression_2_0 Has PRES False float Default_M_Expression9() { float1 expr0; // mov c0.x, c0.x expr0.x = HasShadow.x; return expr0; } // Default_M_VertexShader10 Vertex_3_0 Has PRES True struct Default_M_VertexShader10_Input { float4 position : POSITION; float4 normal : NORMAL; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct Default_M_VertexShader10_Output { float4 position : POSITION; float4 texcoord : TEXCOORD; float4 texcoord1 : TEXCOORD1; float4 texcoord2 : TEXCOORD2; float4 color : COLOR; }; Default_M_VertexShader10_Output Default_M_VertexShader10(Default_M_VertexShader10_Input i) { /* PRSI OutputRegisterOffset: 12 Unknown1: 0 Unknown2: 0 OutputRegisterCount: 1 Unknown3: 0 Unknown4: 0 Unknown5: 12 Unknown6: 1 Mappings: 1 0 - ConstOutput: 0 ConstInput 0 */ float4 expr12; { float4 temp0; // Expression_2_1 // mul r0.x, c0.x, (66) temp0.x = MapCellSize.x * (66); // rcp c12.x, r0.x expr12.x = 1.0f / (temp0.x); } Default_M_VertexShader10_Output o; float4 temp0, temp1; // def c0, 1, 0, -1, -0.0015 // dcl_position v0 // dcl_normal v1 // dcl_texcoord v2 // dcl_color v3 // dcl_position o0 // dcl_texcoord o1 // dcl_texcoord1 o2 // dcl_texcoord2 o3 // dcl_color o4 // 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)); // mov r1.w, c0.x temp1.w = float1(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 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)); // 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); // dp3 r0.w, r0, c10 temp0.w = dot(temp0.xyz, DirectionalLight[2].Direction.xyz); // dp3 r0.x, r0, c8 temp0.x = dot(temp0.xyz, DirectionalLight[1].Direction.xyz); // max r0.y, r0.w, c0.y temp0.y = max(temp0.w, float1(0)); // mul r0.yzw, r0.y, c9.xxyz temp0.yzw = temp0.yyy * DirectionalLight[2].Color.xyz; // max r0.x, r0.x, c0.y temp0.x = max(temp0.x, float1(0)); // mad r0.xyz, c7, r0.x, r0.yzww temp0.xyz = DirectionalLight[1].Color.xyz * temp0.xxx + temp0.yzw; // add r0.xyz, r0, c4 temp0.xyz = temp0.xyz + AmbientLightColor.xyz; // mov r0.w, c1.x temp0.w = OpacityOverride.x; // mul o4, r0, v3 o.color = temp0 * i.color; // add r0.xy, r1, c11.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o2.xy, r0, c11 o.texcoord1.xy = temp0.xy * Shroud.ScaleUV_OffsetUV.xy; // 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 o2.zw, r0.xyxy, c118.xyxy o.texcoord1.zw = temp0.xy + Cloud.CurrentOffsetUV.xy; // mov r0.xz, c0 temp0.xz = float2(1, -1); // mul r0.xy, r0.xzzw, c12.x temp0.xy = temp0.xz * expr12.xx; // mul o1.zw, r1.xyxy, r0.xyxy o.texcoord.zw = temp1.xy * temp0.xy; // mov o1.xy, v2 o.texcoord.xy = i.texcoord.xy; // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o3.w, r0.x o.texcoord2.w = temp0.x; // dp4 r0.x, r1, c113 temp0.x = 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)); // mad o3.xyz, r0.xzww, r0.y, c0.yyww o.texcoord2.xyz = temp0.xzw * temp0.yyy + float3(0, 0, -0.0015); // return o; } // Default_Expression11 Expression_2_0 Has PRES False float Default_Expression11() { float1 expr0; // mov c0.x, c0.x expr0.x = HasShadow.x; return expr0; } // Default_VertexShader12 Vertex_3_0 Has PRES False struct Default_VertexShader12_Input { float4 position : POSITION; float4 normal : NORMAL; float4 tangent : TANGENT; float4 binormal : BINORMAL; float4 texcoord : TEXCOORD; float4 color : COLOR; }; struct Default_VertexShader12_Output { float4 position : POSITION; float2 texcoord : TEXCOORD; float3 texcoord1 : TEXCOORD1; float3 texcoord2 : TEXCOORD2; float3 texcoord3 : TEXCOORD3; float3 texcoord4 : TEXCOORD4; float4 texcoord5 : TEXCOORD5; float4 texcoord6 : TEXCOORD6; float3 texcoord7 : TEXCOORD7; float4 color : COLOR; }; Default_VertexShader12_Output Default_VertexShader12(Default_VertexShader12_Input i) { Default_VertexShader12_Output o; float4 temp0, temp1; // def c0, 1, 0, 0.5, -0.0015 // dcl_position v0 // dcl_normal v1 // dcl_tangent v2 // dcl_binormal v3 // dcl_texcoord v4 // dcl_color v5 // dcl_position o0 // dcl_texcoord o1.xy // dcl_texcoord1 o2.xyz // dcl_texcoord2 o3.xyz // dcl_texcoord3 o4.xyz // dcl_texcoord4 o5.xyz // dcl_texcoord5 o6 // dcl_texcoord6 o7 // dcl_texcoord7 o8.xyz // dcl_color o9 // 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); // dp3 r0.w, r0, c10 temp0.w = dot(temp0.xyz, DirectionalLight[2].Direction.xyz); // max r0.w, r0.w, c0.y temp0.w = max(temp0.w, float1(0)); // mul r1.xyz, r0.w, c9 temp1.xyz = temp0.www * DirectionalLight[2].Color.xyz; // dp3 r0.w, r0, c8 temp0.w = dot(temp0.xyz, DirectionalLight[1].Direction.xyz); // mov o2.z, r0.x o.texcoord1.z = temp0.x; // mov o3.z, r0.y o.texcoord2.z = temp0.y; // mov o4.z, r0.z o.texcoord3.z = temp0.z; // max r0.x, r0.w, c0.y temp0.x = max(temp0.w, float1(0)); // mad r0.xyz, c7, r0.x, r1 temp0.xyz = DirectionalLight[1].Color.xyz * temp0.xxx + temp1.xyz; // add r0.xyz, r0, c4 temp0.xyz = temp0.xyz + AmbientLightColor.xyz; // mul r0.xyz, r0, v5 temp0.xyz = temp0.xyz * i.color.xyz; // mov r0.w, c1.x temp0.w = OpacityOverride.x; // mad r1, v5.w, c0.yyyx, c0.zzzy temp1 = i.color.w * float4(0, 0, 0, 1) + float4(0.5, 0.5, 0.5, 0); // mul o9, r0, r1 o.color = temp0 * temp1; // 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)); // add r0.xyz, -r1, c123 temp0.xyz = -temp1.xyz + EyePosition.xyz; // dp3 r0.w, r0, r0 temp0.w = dot(temp0.xyz, temp0.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mad r0.xyz, r0, r0.w, c6 temp0.xyz = temp0.xyz * temp0.www + DirectionalLight[0].Direction.xyz; // dp3 r0.w, r0, r0 temp0.w = dot(temp0.xyz, temp0.xyz); // rsq r0.w, r0.w temp0.w = 1 / sqrt(temp0.w); // mul o8.xyz, r0, r0.w o.texcoord7 = temp0 * temp0.w; // 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 r0.xy, r1, c11.zwzw temp0.xy = temp1.xy + Shroud.ScaleUV_OffsetUV.zw; // mul o7.xy, r0, c11 o.texcoord6.xy = temp0.xy * Shroud.ScaleUV_OffsetUV.xy; // 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 o7.zw, r0.xyxy, c118.xyxy o.texcoord6.zw = temp0.xy + Cloud.CurrentOffsetUV.xy; // mov o1.xy, v4 o.texcoord = i.texcoord; // dp3 r0.x, v3, c124 temp0.x = dot(i.binormal.xyz, (World._m00_m10_m20_m30).xyz); // mov o2.x, -r0.x o.texcoord1.x = -temp0.x; // dp3 r0.x, v2, c124 temp0.x = dot(i.tangent.xyz, (World._m00_m10_m20_m30).xyz); // mov o2.y, -r0.x o.texcoord1.y = -temp0.x; // dp3 r0.x, v3, c125 temp0.x = dot(i.binormal.xyz, (World._m01_m11_m21_m31).xyz); // mov o3.x, -r0.x o.texcoord2.x = -temp0.x; // dp3 r0.x, v2, c125 temp0.x = dot(i.tangent.xyz, (World._m01_m11_m21_m31).xyz); // mov o3.y, -r0.x o.texcoord2.y = -temp0.x; // dp3 r0.x, v3, c126 temp0.x = dot(i.binormal.xyz, (World._m02_m12_m22_m32).xyz); // mov o4.x, -r0.x o.texcoord3.x = -temp0.x; // dp3 r0.x, v2, c126 temp0.x = dot(i.tangent.xyz, (World._m02_m12_m22_m32).xyz); // mov o4.y, -r0.x o.texcoord3.y = -temp0.x; // mov o5.xyz, r1 o.texcoord4 = temp1; // dp4 r0.x, r1, c116 temp0.x = dot(temp1, (ShadowMapWorldToShadow._m03_m13_m23_m33)); // rcp r0.y, r0.x temp0.y = 1.0f / temp0.x; // mov o6.w, r0.x o.texcoord5.w = temp0.x; // dp4 r0.x, r1, c113 temp0.x = 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)); // mad o6.xyz, r0.xzww, r0.y, c0.yyww o.texcoord5.xyz = temp0.xzw * temp0.yyy + float3(0, 0, -0.0015); // return o; } technique Default { pass p0 { VertexShader = compile vs_3_0 Default_VertexShader12(); // 65 PixelShader = PS_H_Array[Default_Expression11()]; // 66 ZEnable = 1; ZFunc = 4; ZWriteEnable = 1; CullMode = 2; AlphaBlendEnable = 0; AlphaTestEnable = 1; AlphaFunc = 7; AlphaRef = 96; } } technique Default_M { pass p0 { VertexShader = compile vs_3_0 Default_M_VertexShader10(); // 69 PixelShader = PS_M_Array[Default_M_Expression9()]; // 70 ZEnable = 1; ZFunc = 4; ZWriteEnable = 1; CullMode = 2; AlphaBlendEnable = 0; AlphaTestEnable = 1; AlphaFunc = 7; AlphaRef = 96; } } technique Default_L { pass p0 { VertexShader = compile vs_2_0 Default_L_VertexShader8(); // 71 PixelShader = compile ps_2_0 Default_L_PixelShader7(); // 72 ZEnable = 1; ZFunc = 4; ZWriteEnable = 1; CullMode = 2; AlphaBlendEnable = 0; AlphaTestEnable = 1; AlphaFunc = 7; AlphaRef = 96; } } technique _CreateShadowMap { pass p0 { VertexShader = compile vs_2_0 _CreateShadowMap_VertexShader6(); // 73 PixelShader = compile ps_2_0 _CreateShadowMap_PixelShader5(); // 74 ZEnable = 1; ZFunc = 4; ZWriteEnable = 1; CullMode = 2; AlphaBlendEnable = 0; AlphaTestEnable = 0; } }