I guess I'm just doing everything wrong and maybe I missinformed you so if you have a look at this you maybe can tell me the right way to go

This is how I generate my terrain:
int iChunks = 4;
m_pLand->GenerateTerrain("Game\\Levels\\Version01\\heightmap.dds", cTV_PRECISION_AVERAGE, iChunks , iChunks, -iChunks*256/2, 0, -iChunks*256/2, false);
I then wan't to split the texture for all the landscape into 4 pieces to keep quality so I use ExpandTexture and it shows up great.
It works great to draw it in my shader too IF I use the semantic TEXTURE0.
Now I want a normalmap to work with this. How do I solve it best way?
I think the best way would have been if I could just do ExpandTextureEx(Layer_normal) and add them up just like the diffusetexture and then use TEXTURE01 semantic in the shader but there is no ExpandTextureEx for landscapes :/
.. So instead I thought that I put together all 4 pieces of my normalmaps and use SetTextureEx(1, texture) but then it doesnt scale over the whole landscape..
so instead I set each piece with the SetEffectTextureParameter and work with them in the shader. One for each bumpmap and then I check the worldposition of the pixel and fetches the the pixel from the correct normalmaptexture.
Anyway here's the code you asked for:
struct SSceneVertexToPixel
{
float4 Position : POSITION;
float4 RealDistance : TEXCOORD1;
float2 TexCoords : TEXCOORD2;
float3 Light : TEXCOORD3;
float4 ShadowMapSamplingPos : TEXCOORD4;
float4 ObjectPosition : TEXCOORD5;
};
Texture xColoredTexture : TEXTURE0;
sampler ColoredTextureSampler = sampler_state { texture = <xColoredTexture> ; MaxAnisotropy = 16; magfilter = LINEAR; minfilter = LINEAR; mipfilter=LINEAR; AddressU = mirror; AddressV = mirror;};
texture BumpMap01;
sampler BumpMapSampler01 = sampler_state { texture = <BumpMap01> ; magfilter = LINEAR; minfilter = LINEAR; mipfilter=LINEAR; AddressU = clamp; AddressV = clamp;};
texture BumpMap02;
sampler BumpMapSampler02 = sampler_state { texture = <BumpMap02> ; magfilter = LINEAR; minfilter = LINEAR; mipfilter=LINEAR; AddressU = clamp; AddressV = clamp;};
texture BumpMap03;
sampler BumpMapSampler03 = sampler_state { texture = <BumpMap03> ; magfilter = LINEAR; minfilter = LINEAR; mipfilter=LINEAR; AddressU = clamp; AddressV = clamp;};
texture BumpMap04;
sampler BumpMapSampler04 = sampler_state { texture = <BumpMap04> ; magfilter = LINEAR; minfilter = LINEAR; mipfilter=LINEAR; AddressU = clamp; AddressV = clamp;};