Are you able to fix Company of Heroes 2 for me?
  5 / 5    
Just wanted to ask if this part where 3dmigoto does not dump the shaders properly can be fixed by doing some improvements for other games or would it have to be specific for this one only?
Just wanted to ask if this part where 3dmigoto does not dump the shaders properly can be fixed by doing some improvements for other games or would it have to be specific for this one only?

Acer H5360 / BenQ XL2420T + 3D Vision 2 Kit - EVGA GTX 980TI 6GB - i7-3930K@4.0GHz - DX79SI- 16GB RAM@2133 - Win10x64 Home - HTC VIVE

#61
Posted 02/01/2016 10:04 PM   
[quote="tehace"]Just wanted to ask if this part where 3dmigoto does not dump the shaders properly can be fixed by doing some improvements for other games or would it have to be specific for this one only? [/quote] Initializer problem has been fixed in recent 3Dmigoto, please give it another try. For this variants of an array of float4, it may not generate exactly the right code, but we can manually fix it. (I have no example games with this variant to debug completely). If you get a glitch, post it here, and we can manually fix it. I'm nearly certain you'll get the rest of the shader now.
tehace said:Just wanted to ask if this part where 3dmigoto does not dump the shaders properly can be fixed by doing some improvements for other games or would it have to be specific for this one only?

Initializer problem has been fixed in recent 3Dmigoto, please give it another try. For this variants of an array of float4, it may not generate exactly the right code, but we can manually fix it. (I have no example games with this variant to debug completely).

If you get a glitch, post it here, and we can manually fix it. I'm nearly certain you'll get the rest of the shader now.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#62
Posted 02/02/2016 06:53 AM   
ok I guess this get worse than better :) let me explain. I've tried using the 1.2.27 version but I got this error when I try to launch the game http://thc333.com/coh1227.jpg This error persists up until I downgrade to 1.2.13. This seem to be the latest version that doesnt cause this error to occur at start. Unfortunateley when I try to dump the ground shader using this version Im getting this error [code]>>>> vertex shader marked: vertex shader hash = 566a42c68d2cbf0c visited index buffer hash = 1484e276 visited index buffer hash = 24b98c1e visited index buffer hash = 8291ca52 visited index buffer hash = c5039bd4 visited index buffer hash = dd728d06 visited pixel shader hash = 662ee2ed4ba8d6ef StereoScreenShot on Mark: D:\games\steamv2\Steam\steamapps\common\Company of Heroes 2\ShaderFixes\566a42c68d2cbf0c-vs.jps, result: 0 creating HLSL representation. error parsing shader> Error parsing buffer item: // 0x00000000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x00 error parsing shader> 3 Error parsing buffer offset: cb2[0].xyzw error parsing shader> 3 Error parsing buffer offset: cb2[1].xyzw error parsing shader> 3 Error parsing buffer offset: cb2[2].xyzw error parsing shader> 3 Error parsing buffer offset: cb0[70].xy error parsing shader> 3 Error parsing buffer offset: cb0[72].x error parsing shader> 3 Error parsing buffer offset: cb0[72].x error parsing shader> 3 Error parsing buffer offset: cb0[83].x error parsing shader> 3 Error parsing buffer offset: cb0[70].xyxy error parsing shader> 3 Error parsing buffer offset: cb0[72].x error parsing shader> 3 Error parsing buffer offset: cb0[72].x error parsing shader> 3 Error parsing buffer offset: cb0[70].xyxy error parsing shader> 3 Error parsing buffer offset: cb0[72].x error parsing shader> 3 Error parsing buffer offset: cb0[72].x marked shader file already exists: D:\games\steamv2\Steam\steamapps\common\Company of Heroes 2\ShaderFixes\566a42c68d2cbf0c-vs_replace.txt >Replacement shader found. Re-Loading replacement HLSL code from 566a42c68d2cbf0c-vs_replace.txt Reload source code loaded. Size = 19174 compiling replacement HLSL code with shader model vs_4_0 compile result for replacement HLSL shader: 80004005 --------------------------------------------- BEGIN --------------------------------------------- D:\games\steamv2\Steam\steamapps\common\Company of Heroes 2\wrapper1349(1,8-13): error X3000: syntax error: unexpected token 'mixed4' ---------------------------------------------- END ----------------------------------------------[/code] whatever is dumped looks like this [code]Buffer<mixed4> t48 : register(t48); cbuffer GlobalBuffer : register(b0) { float4x4 View : packoffset(c0); float4x4 Projection : packoffset(c4); float4x4 InvViewProj : packoffset(c8); float3 EyePosition : packoffset(c12) = float3(0,0,0); float3 DirLight0_Dir : packoffset(c13) = float3(-0.577000022,-0.577000022,0.577000022); float4 DirLight0_Diffuse : packoffset(c14) = float4(1,1,1,1); float4 PointLightActive : packoffset(c15) = float4(0,0,0,0); float4 PointLight0_Position_AttenStart : packoffset(c16) = float4(0,0,0,10000); float4 PointLight0_Diffuse_AttenInvRange : packoffset(c17) = float4(1,1,1,1); float4 PointLight1_Position_AttenStart : packoffset(c18) = float4(0,0,0,10000); float4 PointLight1_Diffuse_AttenInvRange : packoffset(c19) = float4(1,1,1,1); float4 PointLight2_Position_AttenStart : packoffset(c20) = float4(0,0,0,10000); float4 PointLight2_Diffuse_AttenInvRange : packoffset(c21) = float4(1,1,1,1); float4 PointLight3_Position_AttenStart : packoffset(c22) = float4(0,0,0,10000); float4 PointLight3_Diffuse_AttenInvRange : packoffset(c23) = float4(1,1,1,1); float4 SHLight[7] : packoffset(c24) = float4(0,0,0,0); SamplerState TerrainHeightSampler_s : register(s0); Texture2D<float4> TerrainHeightTexture : register(t64); Texture2D<float4> StereoParams : register(t125); Texture1D<float4> IniParams : register(t120); void main( float3 v0 : POSITION0, float4 v1 : TEXCOORD0, out float4 o0 : SV_Position0, out float2 o1 : TEXCOORD0, out float p1 : TEXCOORD3, out float p1 : TEXCOORD4, out float4 o2 : TEXCOORD1, out float3 o3 : TEXCOORD2) { float4 r0,r1,r2,r3,r4; uint4 bitmask, uiDest; float4 fDest; r0.xyzw = t48.Load(float4(0,0,0,0)).xyzw; r0.zw = v1.zw * float2(1,-1) + float2(0,1); o1.xy = r0.zw * float2(0.03125,0.03125) + v1.xy; r1.xyz = v0.xyz; r1.w = 1; r2.x = dot(r1.xyzw, cb2[0].xyzw); r0.z = dot(r1.xyzw, cb2[1].xyzw); r2.z = dot(r1.xyzw, cb2[2].xyzw); r1.xy = r2.xz * cb0[70].xyxx + float2(0.5,0.5); r1.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r1.xy, 0).zxyw; r0.w = dot(r1.yz, float2(0.99609375,0.00392156886)); r1.y = cb0[72].x * r0.w; r0.z = r0.w * cb0[72].x + r0.z; r0.x = 0.5 < r0.x; if (r0.x == 0) { r1.x = 0; } r0.x = min(cb0[83].x, r1.x); r0.w = r0.y == 0.000000; r1.x = r0.z + r0.x; r2.y = r0.w ? r1.x : r0.z; r2.w = 1; r3.x = dot(r2.xyzw, View._m00_m10_m20_m30); r3.y = dot(r2.xyzw, View._m01_m11_m21_m31); r3.z = dot(r2.xyzw, View._m02_m12_m22_m32); r3.w = 1; o0.x = dot(r3.xyzw, Projection._m00_m10_m20_m30); o0.y = dot(r3.xyzw, Projection._m01_m11_m21_m31); o0.z = dot(r3.xyzw, Projection._m02_m12_m22_m32); o0.w = dot(r3.xyzw, Projection._m03_m13_m23_m33); r3.xyzw = float4(-1,0,1,0) + r2.xzxz; r3.xyzw = r3.xyzw * cb0[70].xyxy + float4(0.5,0.5,0.5,0.5); r4.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r3.xy, 0).xyzw; r0.z = dot(r4.xy, float2(0.99609375,0.00392156886)); r0.z = r0.z * cb0[72].x + -r1.y; r3.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r3.zw, 0).xyzw; r0.w = dot(r3.xy, float2(0.99609375,0.00392156886)); r0.w = -r0.w * cb0[72].x + r1.y; r3.xyzw = float4(0,-1,0,1) + r2.xzxz; r3.xyzw = r3.xyzw * cb0[70].xyxy + float4(0.5,0.5,0.5,0.5); r4.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r3.xy, 0).xyzw; r1.x = dot(r4.xy, float2(0.99609375,0.00392156886)); r1.x = r1.x * cb0[72].x + -r1.y; r3.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r3.zw, 0).xyzw; r1.z = dot(r3.xy, float2(0.99609375,0.00392156886)); r1.y = -r1.z * cb0[72].x + r1.y; r0.z = r0.z + r0.w; r3.x = 0.5 * r0.z; r0.z = r1.x + r1.y; r3.z = 0.5 * r0.z; r3.y = saturate(-r3.x * r3.z + 1); r0.z = dot(r3.xyz, r3.xyz); r0.z = rsqrt(r0.z); o2.xyz = r3.xyz * r0.zzz; o1.zw = r0.xy; o3.xyz = r2.xyz; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384 // // using 3Dmigoto v1.2.13 on Wed Feb 03 12:59:32 2016 // // // Buffer Definitions: // // cbuffer GlobalBuffer // { // // float4x4 View; // Offset: 0 Size: 64 // float4x4 Projection; // Offset: 64 Size: 64 // float4x4 InvViewProj; // Offset: 128 Size: 64 [unused] // float3 EyePosition; // Offset: 192 Size: 12 [unused] // = 0x00000000 0x00000000 0x00000000 // float3 DirLight0_Dir; // Offset: 208 Size: 12 [unused] // = 0xbf13b646 0xbf13b646 0x3f13b646 // float4 DirLight0_Diffuse; // Offset: 224 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 PointLightActive; // Offset: 240 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x00000000 // float4 PointLight0_Position_AttenStart;// Offset: 256 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x461c4000 // float4 PointLight0_Diffuse_AttenInvRange;// Offset: 272 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 PointLight1_Position_AttenStart;// Offset: 288 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x461c4000 // float4 PointLight1_Diffuse_AttenInvRange;// Offset: 304 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 PointLight2_Position_AttenStart;// Offset: 320 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x461c4000 // float4 PointLight2_Diffuse_AttenInvRange;// Offset: 336 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 PointLight3_Position_AttenStart;// Offset: 352 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x461c4000 // float4 PointLight3_Diffuse_AttenInvRange;// Offset: 368 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 SHLight[7]; // Offset: 384 Size: 112 [unused] // = 0x00000000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x00000000 // 0x00000000 0x00000000 0x00000000 0x00000000 // float AmbientScale; // Offset: 496 Size: 4 [unused] // = 0x3f800000 // float AmbientScaleFX; // Offset: 500 Size: 4 [unused] // = 0x3f800000 // float4 AmbientRotation; // Offset: 512 Size: 16 [unused] // = 0x3f800000 0x00000000 0x00000000 0x3f800000 // float4x4 unAdjustedShadowViewMatrix;// Offset: 528 Size: 64 [unused] // float4x4 ShadowVPMatrix; // Offset: 592 Size: 64 [unused] // float4x4 ShadowVPMatrixNear; // Offset: 656 Size: 64 [unused] // float4x4 ShadowVPMatrixFar; // Offset: 720 Size: 64 [unused] // float4 ShadowNearShift; // Offset: 784 Size: 16 [unused] // float4 ShadowNearScale; // Offset: 800 Size: 16 [unused] // float3 ShadowNearFarCutOff; // Offset: 816 Size: 12 [unused] // float ShadowTextureResolution; // Offset: 828 Size: 4 [unused] // float2 ShadowBias; // Offset: 832 Size: 8 [unused] // = 0x3f800000 0x3dcccccd // float2 ShadowSampleOffsetPCF0; // Offset: 840 Size: 8 [unused] // float2 ShadowSampleOffsetPCF1; // Offset: 848 Size: 8 [unused] // float2 ShadowSampleOffsetPCF2; // Offset: 856 Size: 8 [unused] // float2 ShadowSampleOffsetPCF3; // Offset: 864 Size: 8 [unused] // float ShadowCubeDepthBias; // Offset: 872 Size: 4 [unused] // = 0x3f800000 // float ShadowCubeNormalBias; // Offset: 876 Size: 4 [unused] // = 0x3dcccccd // float3 ShadowCubeCoords[4]; // Offset: 880 Size: 60 [unused] // float ShadowCubeSizes[4]; // Offset: 944 Size: 52 [unused] // int CurrentShadowCube; // Offset: 996 Size: 4 [unused] // = 0xffffffff // float4x3 sun_cloud_matrix; // Offset: 1008 Size: 48 [unused] // float sun_cloud_intensity; // Offset: 1056 Size: 4 [unused] // float4 fogConstant; // Offset: 1072 Size: 16 [unused] // = 0x3b83126f 0xc6435000 0x41a00000 0x3fc00000 // float3 fog_light_direction; // Offset: 1088 Size: 12 [unused] // = 0x3f800000 0x00000000 0x00000000 // float2 g_LAO_Parameters; // Offset: 1104 Size: 8 [unused] // = 0x00000000 0x00000000 // float4 terrainSizeInv; // Offset: 1120 Size: 16 // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float2 playableSizeInv; // Offset: 1136 Size: 8 [unused] // = 0x3f800000 0x3f800000 // float2 chunkSize; // Offset: 1144 Size: 8 [unused] // = 0x3f800000 0x3f800000 // float2 terrainHeightRanges; // Offset: 1152 Size: 8 // = 0x43160000 0x43160000 // float4x4 compositorViewProjection; // Offset: 1168 Size: 64 [unused] // float4 compositorViewRemap; // Offset: 1232 Size: 16 [unused] // = 0x3f000000 0x3f000000 0x3f000000 0x3f000000 // float4 dummySpace[2]; // Offset: 1248 Size: 32 [unused] // float4 g_currentTime; // Offset: 1280 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x00000000 // float4 snowParameters; // Offset: 1296 Size: 16 [unused] // = 0x00000000 0x3f800000 0x00000000 0x3f800000 // float4 snowEdgeFadeParameters; // Offset: 1312 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x41800000 0x40800000 // float4 snowDepthParameters; // Offset: 1328 Size: 16 // = 0x3ecccccd 0x3f800000 0x3f800000 0x3f800000 // float2 snowSparkleParameters; // Offset: 1344 Size: 8 [unused] // = 0x3fe66666 0x00000000 // float4 g_clipping_parameters; // Offset: 1360 Size: 16 [unused] // float4 exposure_control; // Offset: 1376 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x00000000 // float4 g_lighting_parameters; // Offset: 1392 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x00000000 0x00000000 // float4 g_desaturation; // Offset: 1408 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x00000000 // float4 g_soldier_light_desaturation;// Offset: 1424 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x00000000 // float4 g_vehicle_light_desaturation;// Offset: 1440 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x00000000 // float2 atmosphericSkyBlend; // Offset: 1456 Size: 8 [unused] // = 0x3d21cac1 0xbd2a64c3 // float4 g_post_process_parameters; // Offset: 1472 Size: 16 [unused] // = 0x3e3851ec 0x40a00000 0x41200000 0x3f666666 // float postprocess_sepia; // Offset: 1488 Size: 4 [unused] // = 0x00000000 // float4 g_solder_light_colour; // Offset: 1504 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 g_solder_light_direction; // Offset: 1520 Size: 16 [unused] // = 0x00000000 0xbf800000 0x00000000 0x00000000 // float4 g_vehicle_light_colour; // Offset: 1536 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 g_vehicle_light_direction; // Offset: 1552 Size: 16 [unused] // = 0x00000000 0xbf800000 0x00000000 0x00000000 // float3 fxlight_sunDirection; // Offset: 1568 Size: 12 [unused] // = 0x00000000 0x00000000 0x3f800000 // float3 fxlight_sunColour; // Offset: 1584 Size: 12 [unused] // = 0x3f666666 0x3f800000 0x3f800000 // float3 fxlight_ambColour; // Offset: 1600 Size: 12 [unused] // = 0x3f000000 0x3f0ccccd 0x3f19999a // float2 fxlight_modifiers; // Offset: 1616 Size: 8 [unused] // = 0x3f800000 0x3dcccccd // float2 fx_texelSizes; // Offset: 1624 Size: 8 [unused] // = 0x3a000000 0x3f7fe000 // float4 WaterTint; // Offset: 1632 Size: 16 [unused] // float2 WaterAspectRatio; // Offset: 1648 Size: 8 [unused] // = 0x3f800000 0x3f800000 // float2 WaterColourWindScale; // Offset: 1656 Size: 8 [unused] // float4 WaterReflection_SurfaceOffset;// Offset: 1664 Size: 16 [unused] // float2 WaterReflection_WindDirection;// Offset: 1680 Size: 8 [unused] // float WaterReflection_SurfaceBumpiness;// Offset: 1688 Size: 4 [unused] // float4 WaterReflection_ScreenScaleOffset;// Offset: 1696 Size: 16 [unused] // float4 IceHealthThresholds; // Offset: 1712 Size: 16 [unused] // = 0x3ea8f5c3 0x3f28f5c3 0x3f800000 0x3f800000 // float4 IceSlushColour_Tiling; // Offset: 1728 Size: 16 [unused] // float4 IceStressedColour_Tiling; // Offset: 1744 Size: 16 [unused] // float4 IceSolidColour_Tiling; // Offset: 1760 Size: 16 [unused] // float2 IceSectorTiling_InvWidth; // Offset: 1776 Size: 8 [unused] // float2 IceSlushReveal; // Offset: 1784 Size: 8 [unused] // float4x4 ViewOverride[6]; // Offset: 1792 Size: 384 [unused] // float4x4 ProjectionOverride[6]; // Offset: 2176 Size: 384 [unused] // float4 FOWTextureWorldScaleOffset; // Offset: 2560 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x00000000 0x00000000 // float4 fow_visited; // Offset: 2576 Size: 16 [unused] // float4 fow_hidden; // Offset: 2592 Size: 16 [unused] // float4 fow_blend; // Offset: 2608 Size: 16 [unused] // float4 g_topDownRange; // Offset: 2624 Size: 16 [unused] // float4x4 topDownVPMatrix; // Offset: 2640 Size: 64 [unused] // float4 g_topDownTexureSize; // Offset: 2704 Size: 16 [unused] // = 0x00000000 0x00000000 0x3f800000 0x3f800000 // float4 muckParameters; // Offset: 2720 Size: 16 [unused] // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 g_windVectorAndTime; // Offset: 2736 Size: 16 [unused] // float4 g_trackMapSize; // Offset: 2752 Size: 16 [unused] // float g_snowIsMud; // Offset: 2768 Size: 4 [unused] // = 0x00000000 // // } // // cbuffer WorldMatrixBuffer // { // // float4x3 worldMatrixArray[2]; // Offset: 0 Size: 96 // // } // // tbuffer ShaderBuffer // { // // float terrainsnow; // Offset: 0 Size: 4 // = 0x3f800000 // float deformTerrain; // Offset: 4 Size: 4 [unused] // = 0x00000000 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // TerrainHeightSampler sampler NA NA 0 1 // ShaderBuffer tbuffer NA NA 48 1 // TerrainHeightTexture texture float4 2d 64 1 // GlobalBuffer cbuffer NA NA 0 1 // WorldMatrixBuffer cbuffer NA NA 2 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // POSITION 0 xyz 0 NONE float xyz // TEXCOORD 0 xyzw 1 NONE float xyzw // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float xyzw // TEXCOORD 0 xy 1 NONE float xy // TEXCOORD 3 z 1 NONE float z // TEXCOORD 4 w 1 NONE float w // TEXCOORD 1 xyz 2 NONE float xyz // TEXCOORD 2 xyz 3 NONE float xyz // vs_4_0 dcl_constantbuffer cb0[84], immediateIndexed dcl_constantbuffer cb2[3], immediateIndexed dcl_sampler s0, mode_default dcl_resource_buffer (mixed,mixed,mixed,mixed) t48 dcl_resource_texture2d (float,float,float,float) t64 dcl_input v0.xyz dcl_input v1.xyzw dcl_output_siv o0.xyzw, position dcl_output o1.xy dcl_output o1.z dcl_output o1.w dcl_output o2.xyz dcl_output o3.xyz dcl_temps 5 ld r0.xyzw, l(0, 0, 0, 0), t48.xyzw mad r0.zw, v1.zzzw, l(0.000000, 0.000000, 1.000000, -1.000000), l(0.000000, 0.000000, 0.000000, 1.000000) mad o1.xy, r0.zwzz, l(0.031250, 0.031250, 0.000000, 0.000000), v1.xyxx mov r1.xyz, v0.xyzx mov r1.w, l(1.000000) dp4 r2.x, r1.xyzw, cb2[0].xyzw dp4 r0.z, r1.xyzw, cb2[1].xyzw dp4 r2.z, r1.xyzw, cb2[2].xyzw mad r1.xy, r2.xzxx, cb0[70].xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) sample_l r1.xyzw, r1.xyxx, t64.zxyw, s0, l(0.000000) dp2 r0.w, r1.yzyy, l(0.996093750, 0.00392156886, 0.000000, 0.000000) mul r1.y, r0.w, cb0[72].x mad r0.z, r0.w, cb0[72].x, r0.z lt r0.x, l(0.500000), r0.x if_z r0.x mov r1.x, l(0) endif min r0.x, r1.x, cb0[83].x eq r0.w, r0.y, l(0.000000) add r1.x, r0.x, r0.z movc r2.y, r0.w, r1.x, r0.z mov r2.w, l(1.000000) dp4 r3.x, r2.xyzw, cb0[0].xyzw dp4 r3.y, r2.xyzw, cb0[1].xyzw dp4 r3.z, r2.xyzw, cb0[2].xyzw mov r3.w, l(1.000000) dp4 o0.x, r3.xyzw, cb0[4].xyzw dp4 o0.y, r3.xyzw, cb0[5].xyzw dp4 o0.z, r3.xyzw, cb0[6].xyzw dp4 o0.w, r3.xyzw, cb0[7].xyzw add r3.xyzw, r2.xzxz, l(-1.000000, 0.000000, 1.000000, 0.000000) mad r3.xyzw, r3.xyzw, cb0[70].xyxy, l(0.500000, 0.500000, 0.500000, 0.500000) sample_l r4.xyzw, r3.xyxx, t64.xyzw, s0, l(0.000000) dp2 r0.z, r4.xyxx, l(0.996093750, 0.00392156886, 0.000000, 0.000000) mad r0.z, r0.z, cb0[72].x, -r1.y sample_l r3.xyzw, r3.zwzz, t64.xyzw, s0, l(0.000000) dp2 r0.w, r3.xyxx, l(0.996093750, 0.00392156886, 0.000000, 0.000000) mad r0.w, -r0.w, cb0[72].x, r1.y add r3.xyzw, r2.xzxz, l(0.000000, -1.000000, 0.000000, 1.000000) mad r3.xyzw, r3.xyzw, cb0[70].xyxy, l(0.500000, 0.500000, 0.500000, 0.500000) sample_l r4.xyzw, r3.xyxx, t64.xyzw, s0, l(0.000000) dp2 r1.x, r4.xyxx, l(0.996093750, 0.00392156886, 0.000000, 0.000000) mad r1.x, r1.x, cb0[72].x, -r1.y sample_l r3.xyzw, r3.zwzz, t64.xyzw, s0, l(0.000000) dp2 r1.z, r3.xyxx, l(0.996093750, 0.00392156886, 0.000000, 0.000000) mad r1.y, -r1.z, cb0[72].x, r1.y add r0.z, r0.w, r0.z mul r3.x, r0.z, l(0.500000) add r0.z, r1.y, r1.x mul r3.z, r0.z, l(0.500000) mad_sat r3.y, -r3.x, r3.z, l(1.000000) dp3 r0.z, r3.xyzx, r3.xyzx rsq r0.z, r0.z mul o2.xyz, r0.zzzz, r3.xyzx mov o1.zw, r0.xxxy mov o3.xyz, r2.xyzx ret // Approximately 57 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Interesting found is that now the winter maps I've checked render the ground properly... http://photos.3dvisionlive.com/tehace/image/56b1efd8e7e5647e3800013b/ Here is a better example from the map that have both summer/winter versions of it Summer (ground wrong) - http://photos.3dvisionlive.com/tehace/image/56b1f155e7e5647e3800013c/ Winter (ground proper) - http://photos.3dvisionlive.com/tehace/image/56b1f16be7e5645345000126/ What bothers me tho is that they seem to be the same VS/PS... EDIT: the game have a freecam and the summer ground seem to appear somewaht properly when you pan the cammera as if you were standing on the ground http://photos.3dvisionlive.com/tehace/image/56b1f311e7e5641b7a000137/ but gets disconnected from objects from the regular izometric perspective as well as from the top down http://photos.3dvisionlive.com/tehace/image/56b1f324e7e564b2600003a4/
ok I guess this get worse than better :) let me explain.

I've tried using the 1.2.27 version but I got this error when I try to launch the game
http://thc333.com/coh1227.jpg

This error persists up until I downgrade to 1.2.13. This seem to be the latest version that doesnt cause this error to occur at start. Unfortunateley when I try to dump the ground shader using this version Im getting this error

>>>> vertex shader marked: vertex shader hash = 566a42c68d2cbf0c
visited index buffer hash = 1484e276
visited index buffer hash = 24b98c1e
visited index buffer hash = 8291ca52
visited index buffer hash = c5039bd4
visited index buffer hash = dd728d06
visited pixel shader hash = 662ee2ed4ba8d6ef
StereoScreenShot on Mark: D:\games\steamv2\Steam\steamapps\common\Company of Heroes 2\ShaderFixes\566a42c68d2cbf0c-vs.jps, result: 0
creating HLSL representation.
error parsing shader> Error parsing buffer item: // 0x00000000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x00
error parsing shader> 3 Error parsing buffer offset: cb2[0].xyzw
error parsing shader> 3 Error parsing buffer offset: cb2[1].xyzw
error parsing shader> 3 Error parsing buffer offset: cb2[2].xyzw
error parsing shader> 3 Error parsing buffer offset: cb0[70].xy
error parsing shader> 3 Error parsing buffer offset: cb0[72].x
error parsing shader> 3 Error parsing buffer offset: cb0[72].x
error parsing shader> 3 Error parsing buffer offset: cb0[83].x
error parsing shader> 3 Error parsing buffer offset: cb0[70].xyxy
error parsing shader> 3 Error parsing buffer offset: cb0[72].x
error parsing shader> 3 Error parsing buffer offset: cb0[72].x
error parsing shader> 3 Error parsing buffer offset: cb0[70].xyxy
error parsing shader> 3 Error parsing buffer offset: cb0[72].x
error parsing shader> 3 Error parsing buffer offset: cb0[72].x
marked shader file already exists: D:\games\steamv2\Steam\steamapps\common\Company of Heroes 2\ShaderFixes\566a42c68d2cbf0c-vs_replace.txt
>Replacement shader found. Re-Loading replacement HLSL code from 566a42c68d2cbf0c-vs_replace.txt
Reload source code loaded. Size = 19174
compiling replacement HLSL code with shader model vs_4_0
compile result for replacement HLSL shader: 80004005
--------------------------------------------- BEGIN ---------------------------------------------
D:\games\steamv2\Steam\steamapps\common\Company of Heroes 2\wrapper1349(1,8-13): error X3000: syntax error: unexpected token 'mixed4'
---------------------------------------------- END ----------------------------------------------


whatever is dumped looks like this

Buffer<mixed4> t48 : register(t48);


cbuffer GlobalBuffer : register(b0)
{
float4x4 View : packoffset(c0);
float4x4 Projection : packoffset(c4);
float4x4 InvViewProj : packoffset(c8);
float3 EyePosition : packoffset(c12) = float3(0,0,0);
float3 DirLight0_Dir : packoffset(c13) = float3(-0.577000022,-0.577000022,0.577000022);
float4 DirLight0_Diffuse : packoffset(c14) = float4(1,1,1,1);
float4 PointLightActive : packoffset(c15) = float4(0,0,0,0);
float4 PointLight0_Position_AttenStart : packoffset(c16) = float4(0,0,0,10000);
float4 PointLight0_Diffuse_AttenInvRange : packoffset(c17) = float4(1,1,1,1);
float4 PointLight1_Position_AttenStart : packoffset(c18) = float4(0,0,0,10000);
float4 PointLight1_Diffuse_AttenInvRange : packoffset(c19) = float4(1,1,1,1);
float4 PointLight2_Position_AttenStart : packoffset(c20) = float4(0,0,0,10000);
float4 PointLight2_Diffuse_AttenInvRange : packoffset(c21) = float4(1,1,1,1);
float4 PointLight3_Position_AttenStart : packoffset(c22) = float4(0,0,0,10000);
float4 PointLight3_Diffuse_AttenInvRange : packoffset(c23) = float4(1,1,1,1);
float4 SHLight[7] : packoffset(c24) = float4(0,0,0,0);
SamplerState TerrainHeightSampler_s : register(s0);
Texture2D<float4> TerrainHeightTexture : register(t64);

Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main(
float3 v0 : POSITION0,
float4 v1 : TEXCOORD0,
out float4 o0 : SV_Position0,
out float2 o1 : TEXCOORD0,
out float p1 : TEXCOORD3,
out float p1 : TEXCOORD4,
out float4 o2 : TEXCOORD1,
out float3 o3 : TEXCOORD2)
{
float4 r0,r1,r2,r3,r4;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyzw = t48.Load(float4(0,0,0,0)).xyzw;
r0.zw = v1.zw * float2(1,-1) + float2(0,1);
o1.xy = r0.zw * float2(0.03125,0.03125) + v1.xy;
r1.xyz = v0.xyz;
r1.w = 1;
r2.x = dot(r1.xyzw, cb2[0].xyzw);
r0.z = dot(r1.xyzw, cb2[1].xyzw);
r2.z = dot(r1.xyzw, cb2[2].xyzw);
r1.xy = r2.xz * cb0[70].xyxx + float2(0.5,0.5);
r1.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r1.xy, 0).zxyw;
r0.w = dot(r1.yz, float2(0.99609375,0.00392156886));
r1.y = cb0[72].x * r0.w;
r0.z = r0.w * cb0[72].x + r0.z;
r0.x = 0.5 < r0.x;
if (r0.x == 0) {
r1.x = 0;
}
r0.x = min(cb0[83].x, r1.x);
r0.w = r0.y == 0.000000;
r1.x = r0.z + r0.x;
r2.y = r0.w ? r1.x : r0.z;
r2.w = 1;
r3.x = dot(r2.xyzw, View._m00_m10_m20_m30);
r3.y = dot(r2.xyzw, View._m01_m11_m21_m31);
r3.z = dot(r2.xyzw, View._m02_m12_m22_m32);
r3.w = 1;
o0.x = dot(r3.xyzw, Projection._m00_m10_m20_m30);
o0.y = dot(r3.xyzw, Projection._m01_m11_m21_m31);
o0.z = dot(r3.xyzw, Projection._m02_m12_m22_m32);
o0.w = dot(r3.xyzw, Projection._m03_m13_m23_m33);
r3.xyzw = float4(-1,0,1,0) + r2.xzxz;
r3.xyzw = r3.xyzw * cb0[70].xyxy + float4(0.5,0.5,0.5,0.5);
r4.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r3.xy, 0).xyzw;
r0.z = dot(r4.xy, float2(0.99609375,0.00392156886));
r0.z = r0.z * cb0[72].x + -r1.y;
r3.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r3.zw, 0).xyzw;
r0.w = dot(r3.xy, float2(0.99609375,0.00392156886));
r0.w = -r0.w * cb0[72].x + r1.y;
r3.xyzw = float4(0,-1,0,1) + r2.xzxz;
r3.xyzw = r3.xyzw * cb0[70].xyxy + float4(0.5,0.5,0.5,0.5);
r4.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r3.xy, 0).xyzw;
r1.x = dot(r4.xy, float2(0.99609375,0.00392156886));
r1.x = r1.x * cb0[72].x + -r1.y;
r3.xyzw = TerrainHeightTexture.SampleLevel(TerrainHeightSampler_s, r3.zw, 0).xyzw;
r1.z = dot(r3.xy, float2(0.99609375,0.00392156886));
r1.y = -r1.z * cb0[72].x + r1.y;
r0.z = r0.z + r0.w;
r3.x = 0.5 * r0.z;
r0.z = r1.x + r1.y;
r3.z = 0.5 * r0.z;
r3.y = saturate(-r3.x * r3.z + 1);
r0.z = dot(r3.xyz, r3.xyz);
r0.z = rsqrt(r0.z);
o2.xyz = r3.xyz * r0.zzz;
o1.zw = r0.xy;
o3.xyz = r2.xyz;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
//
// using 3Dmigoto v1.2.13 on Wed Feb 03 12:59:32 2016
//
//
// Buffer Definitions:
//
// cbuffer GlobalBuffer
// {
//
// float4x4 View; // Offset: 0 Size: 64
// float4x4 Projection; // Offset: 64 Size: 64
// float4x4 InvViewProj; // Offset: 128 Size: 64 [unused]
// float3 EyePosition; // Offset: 192 Size: 12 [unused]
// = 0x00000000 0x00000000 0x00000000
// float3 DirLight0_Dir; // Offset: 208 Size: 12 [unused]
// = 0xbf13b646 0xbf13b646 0x3f13b646
// float4 DirLight0_Diffuse; // Offset: 224 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 PointLightActive; // Offset: 240 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x00000000
// float4 PointLight0_Position_AttenStart;// Offset: 256 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x461c4000
// float4 PointLight0_Diffuse_AttenInvRange;// Offset: 272 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 PointLight1_Position_AttenStart;// Offset: 288 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x461c4000
// float4 PointLight1_Diffuse_AttenInvRange;// Offset: 304 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 PointLight2_Position_AttenStart;// Offset: 320 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x461c4000
// float4 PointLight2_Diffuse_AttenInvRange;// Offset: 336 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 PointLight3_Position_AttenStart;// Offset: 352 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x461c4000
// float4 PointLight3_Diffuse_AttenInvRange;// Offset: 368 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 SHLight[7]; // Offset: 384 Size: 112 [unused]
// = 0x00000000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x00000000
// 0x00000000 0x00000000 0x00000000 0x00000000
// float AmbientScale; // Offset: 496 Size: 4 [unused]
// = 0x3f800000
// float AmbientScaleFX; // Offset: 500 Size: 4 [unused]
// = 0x3f800000
// float4 AmbientRotation; // Offset: 512 Size: 16 [unused]
// = 0x3f800000 0x00000000 0x00000000 0x3f800000
// float4x4 unAdjustedShadowViewMatrix;// Offset: 528 Size: 64 [unused]
// float4x4 ShadowVPMatrix; // Offset: 592 Size: 64 [unused]
// float4x4 ShadowVPMatrixNear; // Offset: 656 Size: 64 [unused]
// float4x4 ShadowVPMatrixFar; // Offset: 720 Size: 64 [unused]
// float4 ShadowNearShift; // Offset: 784 Size: 16 [unused]
// float4 ShadowNearScale; // Offset: 800 Size: 16 [unused]
// float3 ShadowNearFarCutOff; // Offset: 816 Size: 12 [unused]
// float ShadowTextureResolution; // Offset: 828 Size: 4 [unused]
// float2 ShadowBias; // Offset: 832 Size: 8 [unused]
// = 0x3f800000 0x3dcccccd
// float2 ShadowSampleOffsetPCF0; // Offset: 840 Size: 8 [unused]
// float2 ShadowSampleOffsetPCF1; // Offset: 848 Size: 8 [unused]
// float2 ShadowSampleOffsetPCF2; // Offset: 856 Size: 8 [unused]
// float2 ShadowSampleOffsetPCF3; // Offset: 864 Size: 8 [unused]
// float ShadowCubeDepthBias; // Offset: 872 Size: 4 [unused]
// = 0x3f800000
// float ShadowCubeNormalBias; // Offset: 876 Size: 4 [unused]
// = 0x3dcccccd
// float3 ShadowCubeCoords[4]; // Offset: 880 Size: 60 [unused]
// float ShadowCubeSizes[4]; // Offset: 944 Size: 52 [unused]
// int CurrentShadowCube; // Offset: 996 Size: 4 [unused]
// = 0xffffffff
// float4x3 sun_cloud_matrix; // Offset: 1008 Size: 48 [unused]
// float sun_cloud_intensity; // Offset: 1056 Size: 4 [unused]
// float4 fogConstant; // Offset: 1072 Size: 16 [unused]
// = 0x3b83126f 0xc6435000 0x41a00000 0x3fc00000
// float3 fog_light_direction; // Offset: 1088 Size: 12 [unused]
// = 0x3f800000 0x00000000 0x00000000
// float2 g_LAO_Parameters; // Offset: 1104 Size: 8 [unused]
// = 0x00000000 0x00000000
// float4 terrainSizeInv; // Offset: 1120 Size: 16
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float2 playableSizeInv; // Offset: 1136 Size: 8 [unused]
// = 0x3f800000 0x3f800000
// float2 chunkSize; // Offset: 1144 Size: 8 [unused]
// = 0x3f800000 0x3f800000
// float2 terrainHeightRanges; // Offset: 1152 Size: 8
// = 0x43160000 0x43160000
// float4x4 compositorViewProjection; // Offset: 1168 Size: 64 [unused]
// float4 compositorViewRemap; // Offset: 1232 Size: 16 [unused]
// = 0x3f000000 0x3f000000 0x3f000000 0x3f000000
// float4 dummySpace[2]; // Offset: 1248 Size: 32 [unused]
// float4 g_currentTime; // Offset: 1280 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x00000000
// float4 snowParameters; // Offset: 1296 Size: 16 [unused]
// = 0x00000000 0x3f800000 0x00000000 0x3f800000
// float4 snowEdgeFadeParameters; // Offset: 1312 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x41800000 0x40800000
// float4 snowDepthParameters; // Offset: 1328 Size: 16
// = 0x3ecccccd 0x3f800000 0x3f800000 0x3f800000
// float2 snowSparkleParameters; // Offset: 1344 Size: 8 [unused]
// = 0x3fe66666 0x00000000
// float4 g_clipping_parameters; // Offset: 1360 Size: 16 [unused]
// float4 exposure_control; // Offset: 1376 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x00000000
// float4 g_lighting_parameters; // Offset: 1392 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x00000000 0x00000000
// float4 g_desaturation; // Offset: 1408 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x00000000
// float4 g_soldier_light_desaturation;// Offset: 1424 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x00000000
// float4 g_vehicle_light_desaturation;// Offset: 1440 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x00000000
// float2 atmosphericSkyBlend; // Offset: 1456 Size: 8 [unused]
// = 0x3d21cac1 0xbd2a64c3
// float4 g_post_process_parameters; // Offset: 1472 Size: 16 [unused]
// = 0x3e3851ec 0x40a00000 0x41200000 0x3f666666
// float postprocess_sepia; // Offset: 1488 Size: 4 [unused]
// = 0x00000000
// float4 g_solder_light_colour; // Offset: 1504 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 g_solder_light_direction; // Offset: 1520 Size: 16 [unused]
// = 0x00000000 0xbf800000 0x00000000 0x00000000
// float4 g_vehicle_light_colour; // Offset: 1536 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 g_vehicle_light_direction; // Offset: 1552 Size: 16 [unused]
// = 0x00000000 0xbf800000 0x00000000 0x00000000
// float3 fxlight_sunDirection; // Offset: 1568 Size: 12 [unused]
// = 0x00000000 0x00000000 0x3f800000
// float3 fxlight_sunColour; // Offset: 1584 Size: 12 [unused]
// = 0x3f666666 0x3f800000 0x3f800000
// float3 fxlight_ambColour; // Offset: 1600 Size: 12 [unused]
// = 0x3f000000 0x3f0ccccd 0x3f19999a
// float2 fxlight_modifiers; // Offset: 1616 Size: 8 [unused]
// = 0x3f800000 0x3dcccccd
// float2 fx_texelSizes; // Offset: 1624 Size: 8 [unused]
// = 0x3a000000 0x3f7fe000
// float4 WaterTint; // Offset: 1632 Size: 16 [unused]
// float2 WaterAspectRatio; // Offset: 1648 Size: 8 [unused]
// = 0x3f800000 0x3f800000
// float2 WaterColourWindScale; // Offset: 1656 Size: 8 [unused]
// float4 WaterReflection_SurfaceOffset;// Offset: 1664 Size: 16 [unused]
// float2 WaterReflection_WindDirection;// Offset: 1680 Size: 8 [unused]
// float WaterReflection_SurfaceBumpiness;// Offset: 1688 Size: 4 [unused]
// float4 WaterReflection_ScreenScaleOffset;// Offset: 1696 Size: 16 [unused]
// float4 IceHealthThresholds; // Offset: 1712 Size: 16 [unused]
// = 0x3ea8f5c3 0x3f28f5c3 0x3f800000 0x3f800000
// float4 IceSlushColour_Tiling; // Offset: 1728 Size: 16 [unused]
// float4 IceStressedColour_Tiling; // Offset: 1744 Size: 16 [unused]
// float4 IceSolidColour_Tiling; // Offset: 1760 Size: 16 [unused]
// float2 IceSectorTiling_InvWidth; // Offset: 1776 Size: 8 [unused]
// float2 IceSlushReveal; // Offset: 1784 Size: 8 [unused]
// float4x4 ViewOverride[6]; // Offset: 1792 Size: 384 [unused]
// float4x4 ProjectionOverride[6]; // Offset: 2176 Size: 384 [unused]
// float4 FOWTextureWorldScaleOffset; // Offset: 2560 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x00000000 0x00000000
// float4 fow_visited; // Offset: 2576 Size: 16 [unused]
// float4 fow_hidden; // Offset: 2592 Size: 16 [unused]
// float4 fow_blend; // Offset: 2608 Size: 16 [unused]
// float4 g_topDownRange; // Offset: 2624 Size: 16 [unused]
// float4x4 topDownVPMatrix; // Offset: 2640 Size: 64 [unused]
// float4 g_topDownTexureSize; // Offset: 2704 Size: 16 [unused]
// = 0x00000000 0x00000000 0x3f800000 0x3f800000
// float4 muckParameters; // Offset: 2720 Size: 16 [unused]
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 g_windVectorAndTime; // Offset: 2736 Size: 16 [unused]
// float4 g_trackMapSize; // Offset: 2752 Size: 16 [unused]
// float g_snowIsMud; // Offset: 2768 Size: 4 [unused]
// = 0x00000000
//
// }
//
// cbuffer WorldMatrixBuffer
// {
//
// float4x3 worldMatrixArray[2]; // Offset: 0 Size: 96
//
// }
//
// tbuffer ShaderBuffer
// {
//
// float terrainsnow; // Offset: 0 Size: 4
// = 0x3f800000
// float deformTerrain; // Offset: 4 Size: 4 [unused]
// = 0x00000000
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// TerrainHeightSampler sampler NA NA 0 1
// ShaderBuffer tbuffer NA NA 48 1
// TerrainHeightTexture texture float4 2d 64 1
// GlobalBuffer cbuffer NA NA 0 1
// WorldMatrixBuffer cbuffer NA NA 2 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyz 0 NONE float xyz
// TEXCOORD 0 xyzw 1 NONE float xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xyzw
// TEXCOORD 0 xy 1 NONE float xy
// TEXCOORD 3 z 1 NONE float z
// TEXCOORD 4 w 1 NONE float w
// TEXCOORD 1 xyz 2 NONE float xyz
// TEXCOORD 2 xyz 3 NONE float xyz
//
vs_4_0
dcl_constantbuffer cb0[84], immediateIndexed
dcl_constantbuffer cb2[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_buffer (mixed,mixed,mixed,mixed) t48
dcl_resource_texture2d (float,float,float,float) t64
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_output_siv o0.xyzw, position
dcl_output o1.xy
dcl_output o1.z
dcl_output o1.w
dcl_output o2.xyz
dcl_output o3.xyz
dcl_temps 5
ld r0.xyzw, l(0, 0, 0, 0), t48.xyzw
mad r0.zw, v1.zzzw, l(0.000000, 0.000000, 1.000000, -1.000000), l(0.000000, 0.000000, 0.000000, 1.000000)
mad o1.xy, r0.zwzz, l(0.031250, 0.031250, 0.000000, 0.000000), v1.xyxx
mov r1.xyz, v0.xyzx
mov r1.w, l(1.000000)
dp4 r2.x, r1.xyzw, cb2[0].xyzw
dp4 r0.z, r1.xyzw, cb2[1].xyzw
dp4 r2.z, r1.xyzw, cb2[2].xyzw
mad r1.xy, r2.xzxx, cb0[70].xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
sample_l r1.xyzw, r1.xyxx, t64.zxyw, s0, l(0.000000)
dp2 r0.w, r1.yzyy, l(0.996093750, 0.00392156886, 0.000000, 0.000000)
mul r1.y, r0.w, cb0[72].x
mad r0.z, r0.w, cb0[72].x, r0.z
lt r0.x, l(0.500000), r0.x
if_z r0.x
mov r1.x, l(0)
endif
min r0.x, r1.x, cb0[83].x
eq r0.w, r0.y, l(0.000000)
add r1.x, r0.x, r0.z
movc r2.y, r0.w, r1.x, r0.z
mov r2.w, l(1.000000)
dp4 r3.x, r2.xyzw, cb0[0].xyzw
dp4 r3.y, r2.xyzw, cb0[1].xyzw
dp4 r3.z, r2.xyzw, cb0[2].xyzw
mov r3.w, l(1.000000)
dp4 o0.x, r3.xyzw, cb0[4].xyzw
dp4 o0.y, r3.xyzw, cb0[5].xyzw
dp4 o0.z, r3.xyzw, cb0[6].xyzw
dp4 o0.w, r3.xyzw, cb0[7].xyzw
add r3.xyzw, r2.xzxz, l(-1.000000, 0.000000, 1.000000, 0.000000)
mad r3.xyzw, r3.xyzw, cb0[70].xyxy, l(0.500000, 0.500000, 0.500000, 0.500000)
sample_l r4.xyzw, r3.xyxx, t64.xyzw, s0, l(0.000000)
dp2 r0.z, r4.xyxx, l(0.996093750, 0.00392156886, 0.000000, 0.000000)
mad r0.z, r0.z, cb0[72].x, -r1.y
sample_l r3.xyzw, r3.zwzz, t64.xyzw, s0, l(0.000000)
dp2 r0.w, r3.xyxx, l(0.996093750, 0.00392156886, 0.000000, 0.000000)
mad r0.w, -r0.w, cb0[72].x, r1.y
add r3.xyzw, r2.xzxz, l(0.000000, -1.000000, 0.000000, 1.000000)
mad r3.xyzw, r3.xyzw, cb0[70].xyxy, l(0.500000, 0.500000, 0.500000, 0.500000)
sample_l r4.xyzw, r3.xyxx, t64.xyzw, s0, l(0.000000)
dp2 r1.x, r4.xyxx, l(0.996093750, 0.00392156886, 0.000000, 0.000000)
mad r1.x, r1.x, cb0[72].x, -r1.y
sample_l r3.xyzw, r3.zwzz, t64.xyzw, s0, l(0.000000)
dp2 r1.z, r3.xyxx, l(0.996093750, 0.00392156886, 0.000000, 0.000000)
mad r1.y, -r1.z, cb0[72].x, r1.y
add r0.z, r0.w, r0.z
mul r3.x, r0.z, l(0.500000)
add r0.z, r1.y, r1.x
mul r3.z, r0.z, l(0.500000)
mad_sat r3.y, -r3.x, r3.z, l(1.000000)
dp3 r0.z, r3.xyzx, r3.xyzx
rsq r0.z, r0.z
mul o2.xyz, r0.zzzz, r3.xyzx
mov o1.zw, r0.xxxy
mov o3.xyz, r2.xyzx
ret
// Approximately 57 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/



Interesting found is that now the winter maps I've checked render the ground properly...
http://photos.3dvisionlive.com/tehace/image/56b1efd8e7e5647e3800013b/

Here is a better example from the map that have both summer/winter versions of it
Summer (ground wrong) - http://photos.3dvisionlive.com/tehace/image/56b1f155e7e5647e3800013c/
Winter (ground proper) - http://photos.3dvisionlive.com/tehace/image/56b1f16be7e5645345000126/

What bothers me tho is that they seem to be the same VS/PS...

EDIT: the game have a freecam and the summer ground seem to appear somewaht properly when you pan the cammera as if you were standing on the ground
http://photos.3dvisionlive.com/tehace/image/56b1f311e7e5641b7a000137/
but gets disconnected from objects from the regular izometric perspective as well as from the top down
http://photos.3dvisionlive.com/tehace/image/56b1f324e7e564b2600003a4/

Acer H5360 / BenQ XL2420T + 3D Vision 2 Kit - EVGA GTX 980TI 6GB - i7-3930K@4.0GHz - DX79SI- 16GB RAM@2133 - Win10x64 Home - HTC VIVE

#63
Posted 02/03/2016 12:26 PM   
[quote="tehace"]ok I guess this get worse than better :) let me explain. I've tried using the 1.2.27 version but I got this error when I try to launch the game http://thc333.com/coh1227.jpg This error persists up until I downgrade to 1.2.13. This seem to be the latest version that doesnt cause this error to occur at start. Unfortunateley when I try to dump the ground shader using this version Im getting this error [/quote]Thanks for tracking down the exact version - that would seem to point the finger at a change we made in 1.2.14 to fix crashes in FC4 but in doing so must have broken this one. I'll download the game and see if I can find a solution that works for both - if nothing else I can probably make that change configurable. [quote]whatever is dumped looks like this[/quote]Yeah, we will need to get the latest version working I think - the declarations are pretty badly damaged on this one. Looking at the code I think in this case you can fix the mixed4 issue by replacing this line: [code]Buffer<mixed4> t48 : register(t48);[/code] With this: [code]Buffer<float4> t48 : register(t48);[/code] But we still need to fix the rest of the declarations first.
tehace said:ok I guess this get worse than better :) let me explain.

I've tried using the 1.2.27 version but I got this error when I try to launch the game

http://thc333.com/coh1227.jpg


This error persists up until I downgrade to 1.2.13. This seem to be the latest version that doesnt cause this error to occur at start. Unfortunateley when I try to dump the ground shader using this version Im getting this error
Thanks for tracking down the exact version - that would seem to point the finger at a change we made in 1.2.14 to fix crashes in FC4 but in doing so must have broken this one. I'll download the game and see if I can find a solution that works for both - if nothing else I can probably make that change configurable.

whatever is dumped looks like this
Yeah, we will need to get the latest version working I think - the declarations are pretty badly damaged on this one. Looking at the code I think in this case you can fix the mixed4 issue by replacing this line:

Buffer<mixed4> t48 : register(t48);


With this:

Buffer<float4> t48 : register(t48);


But we still need to fix the rest of the declarations first.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#64
Posted 02/03/2016 04:23 PM   
@tehace: Thanks for narrowing that down. You might also try swapping the Evil Update KB2670838. i.e. remove it if you've got it, or add it if you don't. That will related to the fix made in 1.2.14 and would help clarify. Also, make sure that you are rendering with DX11. I don't know if the game allows other renderers like DX10, but we specifically allow DX11 and reject others. Hopefully we can find some change we make to the game or setup itself, as this is the first game to fail that 1.2.14 test, and it would be nice to not have to special case it. You'll need the most recent version to get that big initializer to work.
@tehace: Thanks for narrowing that down. You might also try swapping the Evil Update KB2670838. i.e. remove it if you've got it, or add it if you don't. That will related to the fix made in 1.2.14 and would help clarify.

Also, make sure that you are rendering with DX11. I don't know if the game allows other renderers like DX10, but we specifically allow DX11 and reject others. Hopefully we can find some change we make to the game or setup itself, as this is the first game to fail that 1.2.14 test, and it would be nice to not have to special case it.


You'll need the most recent version to get that big initializer to work.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#65
Posted 02/04/2016 12:28 AM   
I remember searching for a way to launch this game in other DX than 11 and havent foudn anything so I guess it only runs in 11. I did had that evil update installed although after uninstalling it I have the same error occuring while launching the game with 1.2.14
I remember searching for a way to launch this game in other DX than 11 and havent foudn anything so I guess it only runs in 11.

I did had that evil update installed although after uninstalling it I have the same error occuring while launching the game with 1.2.14

Acer H5360 / BenQ XL2420T + 3D Vision 2 Kit - EVGA GTX 980TI 6GB - i7-3930K@4.0GHz - DX79SI- 16GB RAM@2133 - Win10x64 Home - HTC VIVE

#66
Posted 02/04/2016 11:30 AM   
How is things progressing? Feel free to add me on steam I'm not that hard to find.
How is things progressing?

Feel free to add me on steam I'm not that hard to find.

Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?

donations: ulfjalmbrant@hotmail.com

#67
Posted 02/04/2016 06:11 PM   
  5 / 5    
Scroll To Top