i haven't done any shader programming since a long time... laugh

i have to do a very simple water shader with a sin() wave. my question is, does anyone have any tips about how to handle the normals? how should i transform them to still get a correct lighting? rotate them with sin()/cos() somehow or is there a better way?

this is what i have so far (it needs to be shader model 1.1 unfortunately):
Code:
MATERIAL* mtl_water =
{
	effect =
	"
		float3 vecSunDir;
		float4 vecTime;
		float4x4 matWorld;
		float4x4 matWorldViewProj;
	   
		texture entSkin1;
		
		sampler SKIN1 = sampler_state {texture = <entSkin1>;};
		
		//----------------------------------------------------------------------- color
		void p0mainVS(
			in float4 inPosition : POSITION0,
			in float2 inTexCoord : TEXCOORD0,
			in float3 inNormal : NORMAL,
			out float4 outPosition : POSITION0,
			out float2 outTexCoord : TEXCOORD0,
			out float3 outDiffuse : COLOR0) 
		{
			inPosition.y += sin((vecTime.w + inPosition.x) * 0.1) * 8;
			outPosition = mul(inPosition, matWorldViewProj);
			outTexCoord = inTexCoord;
			outDiffuse = saturate(dot(mul(inNormal, matWorld), -vecSunDir)) * 0.6 + 0.4;
		}
		
		void p0mainPS(
			in float4 inTexCoord: TEXCOORD0,
			in float3 inDiffuse : COLOR0,
			out float4 outColor : COLOR0)
		{
			float4 color = tex2D(SKIN1, inTexCoord);
			outColor = color * float4(inDiffuse, 0.8);
		}
		
		//----------------------------------------------------------------------- technique
		technique t0
		{
			pass p0
		 	{
				//zWriteEnable = false;
  				VertexShader = compile vs_1_1 p0mainVS();
  				PixelShader = compile ps_1_1 p0mainPS();
		 	}
		}
		
	";
}