> +    switch (FVF & 0xe)
You should use D3DFVF_POSITION_MASK instead of 0xe here.

> +    texture = FVF >> 16;
> +
> +    for (i = 0; i < ((FVF&D3DFVF_TEXCOUNT_MASK) >> D3DFVF_TEXCOUNT_SHIFT); 
> i++)
> +    {
> +     switch (texture & 3)
> +     {
> +      case D3DFVF_TEXTUREFORMAT1:
> +           size = size + sizeof(FLOAT);
> +           break;
> +      case D3DFVF_TEXTUREFORMAT2:
> +           size = size + sizeof(FLOAT) * 2;
> +           break;
> +      case D3DFVF_TEXTUREFORMAT3:
> +           size = size + sizeof(FLOAT) * 3;
> +           break;
> +      case D3DFVF_TEXTUREFORMAT4:
> +           size = size + sizeof(FLOAT) * 4;
> +           break;
> +      default:
> +           break;
> +      }
> +      texture = texture >> 2;
> +    }
It's not completely obvious where you get the different shifts and
masks here, a comment wouldn't hurt.


Reply via email to