function mtl_uvspeed_render()
{
mtl.matrix31 = floatd(my.skill1*total_ticks,256);
mtl.matrix32 = floatd(my.skill2*total_ticks,256);
}
function mtl_uvspeed_init()
{
// copy standard model material properties
mtl_copy(mat_model);
mat_identity(mtl.matrix);
mtl.event = mtl_uvspeed_render;
mtl.ENABLE_RENDER = on;
}
MATERIAL mtl_uvspeed =
{
event = mtl_uvspeed_init;
effect = "
matrix matMtl;
technique uvspeed
{
pass one
{
TextureTransformFlags[0] = Count2;
TextureTransform[0] = <matMtl>;
}
}
technique fallback { pass one { } }
";
}
action track()
{
my.material = mtl_uvspeed;
while(1)
{
my.skill1 += time_step * my_speed;
wait(1);
}
}