I found this code,but it don´t work cause of dx9c... is there anybody who know to update it????please help me!

bmap blend1 = <blend1.tga>;
bmap blend2 = <blend2.tga>;
bmap blend3 = <blend3.tga>;

function textur ()
{

bmap_to_mipmap(mtl.skin1);
bmap_to_mipmap(mtl.skin2);
bmap_to_mipmap(mtl.skin3);


mtl.matrix11 = float(20);
mtl.matrix22 = float(20);

}


material detail
{

skin1 = blend1;
Skin2 = blend2;
Skin3 = blend3;



event = terrain;

effect =
"
matrix matMtl;

texture mtlSkin1; // Blending map for Pass P1
texture mtlSkin2; // Blending map for Pass P2
texture mtlSkin3;
texture entSkin1; // Tileable Tex for Pass P0
texture entSkin2; // Tileable Tex for Pass P2
texture entSkin3; // Tileable Tex for Pass P3
texture entSkin4;




technique ffp_terrain_tex
{
pass P0
{

alphablendenable=false;
alphatestenable=false;
zenable=true;
zwriteenable=true;
Texture[0] = <entSkin1>;
magFilter[0]=linear;
minFilter[0]=linear;
mipFilter[0]=linear;
TextureTransformFlags[0] = Count2;
TextureTransform[0] = <matMtl>;
texcoordindex[0]=0;
ColorArg1[0] = Texture;
ColorOp[0] = selectarg1;
alphaop[0]=disable;
colorop[1]=disable;
alphaop[1]=disable;
}
pass P1
{
alphablendenable=true;
srcblend=srcalpha;
destblend=invsrcalpha;
alphatestenable=true;
alpharef=0x00000000;
alphafunc=Greater;
Zbias=1;
Texture[0] = <mtlSkin1>;
magFilter[0]=linear;
minFilter[0]=linear;
mipFilter[0]=linear;
TextureTransformFlags[0] = disable;
texcoordindex[0]=0;
ColorArg1[0] = current;
ColorOp[0] = selectarg1;
alphaarg1[0] = texture | alphareplicate;
alphaop[0]=selectarg1;
Texture[1] = <entSkin2>;
zenable=true;
zwriteenable=true;
magFilter[1]=linear;
minFilter[1]=linear;
mipFilter[1]=linear;
TextureTransformFlags[1] = Count2;
TextureTransform[1] = <matMtl>;
texcoordindex[1]=1;
ColorArg1[1] = texture;
ColorOp[1] = modulate;
alphaarg1[1] = current | alphareplicate;
alphaop[1]=disable;
colorop[2]=disable;
alphaop[2]=disable;
}
pass P2
{
alphablendenable=true;
srcblend=srcalpha;
destblend=invsrcalpha;
alphatestenable=true;
alpharef=0x00000000;
alphafunc=Greater;
Zbias=1;
Texture[0] = <mtlSkin2>;
magFilter[0]=linear;
minFilter[0]=linear;
mipFilter[0]=linear;
TextureTransformFlags[0] = disable;
texcoordindex[0]=1;
ColorArg1[0] = current;
ColorOp[0] = selectarg1;
alphaarg1[0] = texture | alphareplicate;
alphaop[0]=selectarg1;
Texture[1] = <entSkin3>;
zenable=true;
zwriteenable=true;
magFilter[1]=linear;
minFilter[1]=linear;
mipFilter[1]=linear;
TextureTransformFlags[1] = Count2;
TextureTransform[1] = <matMtl>;
texcoordindex[1]=0;
ColorArg1[1] = texture;
ColorOp[1] = modulate;
alphaarg1[1] = current | alphareplicate;
alphaop[1]=disable;
colorop[2]=disable;
alphaop[2]=disable;
}
pass P3
{
alphablendenable=true;
srcblend=srcalpha;
destblend=invsrcalpha;
alphatestenable=true;
alpharef=0x00000000;
alphafunc=Greater;
Zbias=1;
Texture[0] = <mtlSkin3>;
magFilter[0]=linear;
minFilter[0]=linear;
mipFilter[0]=linear;
TextureTransformFlags[0] = disable;
texcoordindex[0]=1;
ColorArg1[0] = current;
ColorOp[0] = selectarg1;
alphaarg1[0] = texture | alphareplicate;
alphaop[0]=selectarg1;
Texture[1] = <entSkin4>;
zenable=true;
zwriteenable=true;
magFilter[1]=linear;
minFilter[1]=linear;
mipFilter[1]=linear;
TextureTransformFlags[1] = Count2;
TextureTransform[1] = <matMtl>;
texcoordindex[1]=0;
ColorArg1[1] = texture;
ColorOp[1] = modulate;
alphaarg1[1] = current | alphareplicate;
alphaop[1]=disable;
colorop[2]=disable;
alphaop[2]=disable;
}
}

";

}
action hmp
{
my.transparent=off;
my.material = detail;

}