"%s register: Unsupported Method of %s (only D3DDECLMETHOD_DEFAULT for now) for VertexDeclaration (type %s)\n",
VertexDecl9_DeclUsages[pToken->Usage],
VertexDecl9_DeclMethods[pToken->Method],
VertexDecl9_DeclTypes[pToken->Type]
);
}
if(oldStream!=stream){
if(FALSE==invalid_fvf){
fvf|=tex<<D3DFVF_TEXCOUNT_SHIFT;
tex=0;
object->fvf[oldStream]=fvf;
object->allFVF|=fvf;
}else{
object->fvf[oldStream]=0;
tex=0;
}
/* reset valid/invalid fvf */
fvf=0;
invalid_fvf=FALSE;
}
switch(pToken->Usage){
caseD3DDECLUSAGE_POSITION:
if(0<pToken->UsageIndex){
invalid_fvf=TRUE;
TRACE("Mismatched UsageIndex (%u) in VertexDeclaration for D3DDECLUSAGE_POSITION register: unsupported type %s\n",pToken->UsageIndex,VertexDecl9_DeclTypes[type]);
}
switch(type){
caseD3DDECLTYPE_FLOAT3:fvf|=D3DFVF_XYZ;break;
caseD3DDECLTYPE_FLOAT4:fvf|=D3DFVF_XYZRHW;break;
default:
/** Mismatched use of a register, invalid for fixed function fvf computing (ok for VS) */
invalid_fvf=TRUE;
TRACE("Mismatched use in VertexDeclaration of D3DDECLUSAGE_POSITION register: unsupported type %s\n",VertexDecl9_DeclTypes[type]);
}
break;
caseD3DDECLUSAGE_BLENDWEIGHT:
switch(type){
caseD3DDECLTYPE_FLOAT1:fvf|=D3DFVF_XYZB1;break;
caseD3DDECLTYPE_FLOAT2:fvf|=D3DFVF_XYZB2;break;
caseD3DDECLTYPE_FLOAT3:fvf|=D3DFVF_XYZB3;break;
caseD3DDECLTYPE_FLOAT4:fvf|=D3DFVF_XYZB4;break;
default:
/** Mismatched use of a register, invalid for fixed function fvf computing (ok for VS) */
invalid_fvf=TRUE;
TRACE("Mismatched use in VertexDeclaration of D3DDECLUSAGE_BLENDWEIGHT register: unsupported type %s\n",VertexDecl9_DeclTypes[type]);
/** Mismatched use of a register, invalid for fixed function fvf computing (ok for VS) */
invalid_fvf=TRUE;
TRACE("Mismatched use in VertexDeclaration of D3DDECLUSAGE_BLENDINDINCES register: unsupported type %s\n",VertexDecl9_DeclTypes[type]);
}
break;
caseD3DDECLUSAGE_NORMAL:
if(0<pToken->UsageIndex){
invalid_fvf=TRUE;
TRACE("Mismatched UsageIndex (%u) in VertexDeclaration for D3DDECLUSAGE_NORMAL register: unsupported type %s\n",pToken->UsageIndex,VertexDecl9_DeclTypes[type]);
}
switch(type){
caseD3DDECLTYPE_FLOAT3:fvf|=D3DFVF_NORMAL;break;
default:
/** Mismatched use of a register, invalid for fixed function fvf computing (ok for VS) */
invalid_fvf=TRUE;
TRACE("Mismatched use in VertexDeclaration of D3DDECLUSAGE_NORMAL register: unsupported type %s\n",VertexDecl9_DeclTypes[type]);
}
break;
caseD3DDECLUSAGE_PSIZE:
switch(type){
caseD3DDECLTYPE_FLOAT1:fvf|=D3DFVF_PSIZE;break;
default:
/** Mismatched use of a register, invalid for fixed function fvf computing (ok for VS) */
invalid_fvf=TRUE;
TRACE("Mismatched use in VertexDeclaration of D3DDECLUSAGE_PSIZE register: unsupported type %s\n",VertexDecl9_DeclTypes[type]);