this is data that should've been in the help file but wasn't...
just copy and save as a dba
it is the COMPLETE list of Vertex Shader Format/Type/Data Bits
`// Flexible vertex format bits
`//
#constant D3DFVF_RESERVED0 0x001
#constant D3DFVF_POSITION_MASK 0x00E
#constant D3DFVF_XYZ 0x002
#constant D3DFVF_XYZRHW 0x004
#constant D3DFVF_XYZB1 0x006
#constant D3DFVF_XYZB2 0x008
#constant D3DFVF_XYZB3 0x00a
#constant D3DFVF_XYZB4 0x00c
#constant D3DFVF_XYZB5 0x00e
`// D3DFVF_SPECULAR should be used instead of D3DFVF_TANGENT
#constant D3DFVF_NORMAL 0x010
#constant D3DFVF_PSIZE 0x020
#constant D3DFVF_DIFFUSE 0x040
#constant D3DFVF_SPECULAR 0x080
#constant D3DFVF_TEXCOUNT_MASK 0xf00
#constant D3DFVF_TEXCOUNT_SHIFT 8
#constant D3DFVF_TEX0 0x000
#constant D3DFVF_TEX1 0x100
#constant D3DFVF_TEX2 0x200
#constant D3DFVF_TEX3 0x300
#constant D3DFVF_TEX4 0x400
#constant D3DFVF_TEX5 0x500
#constant D3DFVF_TEX6 0x600
#constant D3DFVF_TEX7 0x700
#constant D3DFVF_TEX8 0x800
#constant D3DFVF_LASTBETA_UBYTE4 0x1000
#constant D3DFVF_RESERVED2 0xE000 // 4 reserved bits
`// bit declarations for Vertex Shader Constant Types fields
`// 1D float expanded to (value, 0., 0., 1.)
#constant D3DVSDT_FLOAT1 0x00
`// 2D float expanded to (value, value, 0., 1.)
#constant D3DVSDT_FLOAT2 0x01
`// 3D float expanded to (value, value, value, 1.)
#constant D3DVSDT_FLOAT3 0x02
`// 4D float
#constant D3DVSDT_FLOAT4 0x03
`// 4D packed unsigned bytes mapped to 0. to 1. range
`// Input is in 32Bit Color format (ARGB) expanded to (R, G, B, A)
#constant D3DVSDT_D3DCOLOR 0x04
`// 4D unsigned byte
#constant D3DVSDT_UBYTE4 0x05
`// 2D signed short expanded to (value, value, 0., 1.)
#constant D3DVSDT_SHORT2 0x06
`// 4D signed short
#constant D3DVSDT_SHORT4 0x07
`// assignments of vertex input registers for fixed function vertex shader
#constant D3DVSDE_POSITION 0
#constant D3DVSDE_BLENDWEIGHT 1
#constant D3DVSDE_BLENDINDICES 2
#constant D3DVSDE_NORMAL 3
#constant D3DVSDE_PSIZE 4
#constant D3DVSDE_DIFFUSE 5
#constant D3DVSDE_SPECULAR 6
#constant D3DVSDE_TEXCOORD0 7
#constant D3DVSDE_TEXCOORD1 8
#constant D3DVSDE_TEXCOORD2 9
#constant D3DVSDE_TEXCOORD3 10
#constant D3DVSDE_TEXCOORD4 11
#constant D3DVSDE_TEXCOORD5 12
#constant D3DVSDE_TEXCOORD6 13
#constant D3DVSDE_TEXCOORD7 14
#constant D3DVSDE_POSITION2 15
#constant D3DVSDE_NORMAL2 16
`// Maximum supported number of texture coordinate sets
#constant D3DDP_MAXTEXCOORD 8
`// Macros to set texture coordinate format bits in the FVF id
`// Two floating point values
#constant D3DFVF_TEXTUREFORMAT2 0
`// One floating point value
#constant D3DFVF_TEXTUREFORMAT1 3
`// Three floating point values
#constant D3DFVF_TEXTUREFORMAT3 1
`// Four floating point values
#constant D3DFVF_TEXTUREFORMAT4 2
`//--------------------------------------------
`// name: D3DFVF_TEXCOORDSIZE1( )
`// desc: returns offset to texcoords
`//--------------------------------------------
function D3DFVF_TEXCOORDSIZE1( CoordIndex )
local r as dword
r=(D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
endfunction
`//--------------------------------------------
`// name: D3DFVF_TEXCOORDSIZE2( )
`// desc: returns offset to texcoords
`//--------------------------------------------
function D3DFVF_TEXCOORDSIZE2( CoordIndex )
local r as dword
r=(D3DFVF_TEXTUREFORMAT2)
endfunction r
`//--------------------------------------------
`// name: D3DFVF_TEXCOORDSIZE3( )
`// desc: returns offset to texcoords
`//--------------------------------------------
function D3DFVF_TEXCOORDSIZE3( CoordIndex )
local r as dword
r=(D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
endfunction r
`//--------------------------------------------
`// name: D3DFVF_TEXCOORDSIZE4( )
`// desc: returns offset to texcoords
`//--------------------------------------------
function D3DFVF_TEXCOORDSIZE4( CoordIndex )
local r as dword
r=(D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
endfunction r
