basically changing the angle of the specular light should not be complicated, it is defined in the fragment shared:
var fragSource01:String = "" +
// texture and normal
"tex ft0, v0, fs0 <2d,linear,nomip>\n" + // read from texture
"nrm ft1.xyz, v1.xyz\n" + // renormalize normal
// diffuse light
"dp3 ft1, fc2.xyz, ft1.xyz \n" + // directional light contribution
"max ft1, ft1, fc0 \n"+ // clamp to [0, dot]
"mul ft1, ft1, fc3 \n"+ // contribution from light
// specular light
"dp3 ft2, fc5.xyz, ft1.xyz \n" + // specular light contribution
"max ft2, ft2, fc0 \n"+ // clamp to [0, dot]
"pow ft2, ft2, fc6 \n"+ // exponent by shinyness
"mul ft2, ft2, fc7 \n"+ // contribution from light
"mul ft2.w, ft2.w, ft0.w \n"+ // apply texture alpha to specular
"mul ft2.w, ft2.w, fc9.w \n"+ // apply Transparency
// diffuse + ambient are applied to texture
"add ft1, ft1, fc1 \n"+ // combine diffuse and ambient
"add ft1, ft1, fc8 \n"+ // add selection color
"mul ft1, ft1, ft0 \n"+ // apply to texture
"mul ft1.w, ft1.w, fc9.w \n"+ // apply Transparency
// specular isn't applied to texture; just add it to output
"add oc, ft1, ft2;" // combine for result
I think these 2 lines determine the direction of the specular light direction
"dp3 ft2, fc5.xyz, ft1.xyz \n" + // specular light contribution
"max ft2, ft2, fc0 \n"+ // clamp to [0, dot]
what should I change in order to make it half the angle between the viewpoint and the light direction?