Applied X_D3DVSDT constants

This commit is contained in:
PatrickvL 2017-02-08 17:24:17 +01:00
parent 504d4adf5c
commit 9a470a7c5d
2 changed files with 40 additions and 40 deletions

View File

@ -510,42 +510,42 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
{ {
switch(pStreamPatch->pTypes[uiType]) switch(pStreamPatch->pTypes[uiType])
{ {
case 0x12: // FLOAT1 case X_D3DVSDT_FLOAT1: // 0x12:
memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew], memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew],
&pOrigData[uiVertex * uiStride + dwPosOrig], &pOrigData[uiVertex * uiStride + dwPosOrig],
sizeof(FLOAT)); sizeof(FLOAT));
dwPosOrig += sizeof(FLOAT); dwPosOrig += sizeof(FLOAT);
dwPosNew += sizeof(FLOAT); dwPosNew += sizeof(FLOAT);
break; break;
case 0x22: // FLOAT2 case X_D3DVSDT_FLOAT2: // 0x22:
memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew], memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew],
&pOrigData[uiVertex * uiStride + dwPosOrig], &pOrigData[uiVertex * uiStride + dwPosOrig],
2 * sizeof(FLOAT)); 2 * sizeof(FLOAT));
dwPosOrig += 2 * sizeof(FLOAT); dwPosOrig += 2 * sizeof(FLOAT);
dwPosNew += 2 * sizeof(FLOAT); dwPosNew += 2 * sizeof(FLOAT);
break; break;
case 0x32: // FLOAT3 case X_D3DVSDT_FLOAT3: // 0x32:
memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew], memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew],
&pOrigData[uiVertex * uiStride + dwPosOrig], &pOrigData[uiVertex * uiStride + dwPosOrig],
3 * sizeof(FLOAT)); 3 * sizeof(FLOAT));
dwPosOrig += 3 * sizeof(FLOAT); dwPosOrig += 3 * sizeof(FLOAT);
dwPosNew += 3 * sizeof(FLOAT); dwPosNew += 3 * sizeof(FLOAT);
break; break;
case 0x42: // FLOAT4 case X_D3DVSDT_FLOAT4: // 0x42:
memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew], memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew],
&pOrigData[uiVertex * uiStride + dwPosOrig], &pOrigData[uiVertex * uiStride + dwPosOrig],
4 * sizeof(FLOAT)); 4 * sizeof(FLOAT));
dwPosOrig += 4 * sizeof(FLOAT); dwPosOrig += 4 * sizeof(FLOAT);
dwPosNew += 4 * sizeof(FLOAT); dwPosNew += 4 * sizeof(FLOAT);
break; break;
case 0x40: // D3DCOLOR case X_D3DVSDT_D3DCOLOR: // 0x40:
memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew], memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew],
&pOrigData[uiVertex * uiStride + dwPosOrig], &pOrigData[uiVertex * uiStride + dwPosOrig],
sizeof(XTL::D3DCOLOR)); sizeof(XTL::D3DCOLOR));
dwPosOrig += sizeof(XTL::D3DCOLOR); dwPosOrig += sizeof(XTL::D3DCOLOR);
dwPosNew += sizeof(XTL::D3DCOLOR); dwPosNew += sizeof(XTL::D3DCOLOR);
break; break;
case 0x16: //NORMPACKED3 case X_D3DVSDT_NORMPACKED3: // 0x16:
{ {
DWORD dwPacked = ((DWORD *)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]; DWORD dwPacked = ((DWORD *)&pOrigData[uiVertex * uiStride + dwPosOrig])[0];
@ -557,7 +557,7 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
dwPosNew += 3 * sizeof(FLOAT); dwPosNew += 3 * sizeof(FLOAT);
} }
break; break;
case 0x15: // SHORT1 case X_D3DVSDT_SHORT1: // 0x15:
// Make it a SHORT2 // Make it a SHORT2
(*((SHORT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew + 0 * sizeof(SHORT)])) = *(SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig]; (*((SHORT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew + 0 * sizeof(SHORT)])) = *(SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig];
(*((SHORT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew + 1 * sizeof(SHORT)])) = 0x00; (*((SHORT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew + 1 * sizeof(SHORT)])) = 0x00;
@ -566,14 +566,14 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
dwPosNew += 2 * sizeof(SHORT); dwPosNew += 2 * sizeof(SHORT);
break; break;
case 0x25: // SHORT2 case X_D3DVSDT_SHORT2: // 0x25:
memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew], memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew],
&pOrigData[uiVertex * uiStride+dwPosOrig], &pOrigData[uiVertex * uiStride+dwPosOrig],
2 * sizeof(SHORT)); 2 * sizeof(SHORT));
dwPosOrig += 2 * sizeof(SHORT); dwPosOrig += 2 * sizeof(SHORT);
dwPosNew += 2 * sizeof(SHORT); dwPosNew += 2 * sizeof(SHORT);
break; break;
case 0x35: // SHORT3 case X_D3DVSDT_SHORT3: // 0x35:
memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew], memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew],
&pOrigData[uiVertex * uiStride + dwPosOrig], &pOrigData[uiVertex * uiStride + dwPosOrig],
3 * sizeof(SHORT)); 3 * sizeof(SHORT));
@ -584,21 +584,21 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
dwPosNew += 4 * sizeof(SHORT); dwPosNew += 4 * sizeof(SHORT);
break; break;
case 0x45: // SHORT4 case X_D3DVSDT_SHORT4: // 0x45:
memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew], memcpy(&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew],
&pOrigData[uiVertex * uiStride + dwPosOrig], &pOrigData[uiVertex * uiStride + dwPosOrig],
4 * sizeof(SHORT)); 4 * sizeof(SHORT));
dwPosOrig += 4 * sizeof(SHORT); dwPosOrig += 4 * sizeof(SHORT);
dwPosNew += 4 * sizeof(SHORT); dwPosNew += 4 * sizeof(SHORT);
break; break;
case 0x14: // PBYTE1 case X_D3DVSDT_PBYTE1: // 0x14:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 255.0f;
dwPosOrig += 1 * sizeof(BYTE); dwPosOrig += 1 * sizeof(BYTE);
dwPosNew += 1 * sizeof(FLOAT); dwPosNew += 1 * sizeof(FLOAT);
break; break;
case 0x24: // PBYTE2 case X_D3DVSDT_PBYTE2: // 0x24:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 255.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 255.0f;
@ -606,7 +606,7 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
dwPosNew += 2 * sizeof(FLOAT); dwPosNew += 2 * sizeof(FLOAT);
break; break;
case 0x34: // PBYTE3 case X_D3DVSDT_PBYTE3: // 0x34:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 255.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 255.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[2]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[2]) / 255.0f;
@ -615,7 +615,7 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
dwPosNew += 3 * sizeof(FLOAT); dwPosNew += 3 * sizeof(FLOAT);
break; break;
case 0x44: // PBYTE4 case X_D3DVSDT_PBYTE4: // 0x44:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 255.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 255.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[2]) / 255.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = ((FLOAT)((BYTE*)&pOrigData[uiVertex * uiStride + dwPosOrig])[2]) / 255.0f;
@ -625,20 +625,20 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
dwPosNew += 4 * sizeof(FLOAT); dwPosNew += 4 * sizeof(FLOAT);
break; break;
case 0x11: // NORMSHORT1 case X_D3DVSDT_NORMSHORT1: // 0x11:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 32767.0f;
dwPosOrig += 1 * sizeof(SHORT); dwPosOrig += 1 * sizeof(SHORT);
dwPosNew += 1 * sizeof(FLOAT); dwPosNew += 1 * sizeof(FLOAT);
break; break;
case 0x21: // NORMSHORT2 case X_D3DVSDT_NORMSHORT2: // 0x21:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 32767.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 32767.0f;
dwPosOrig += 2 * sizeof(SHORT); dwPosOrig += 2 * sizeof(SHORT);
dwPosNew += 2 * sizeof(FLOAT); dwPosNew += 2 * sizeof(FLOAT);
break; break;
case 0x31: // NORMSHORT3 case X_D3DVSDT_NORMSHORT3: // 0x31:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 32767.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 32767.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[2]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[2]) / 32767.0f;
@ -646,7 +646,7 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
dwPosOrig += 3 * sizeof(SHORT); dwPosOrig += 3 * sizeof(SHORT);
dwPosNew += 3 * sizeof(FLOAT); dwPosNew += 3 * sizeof(FLOAT);
break; break;
case 0x41: // NORMSHORT4 case X_D3DVSDT_NORMSHORT4: // 0x41:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]) / 32767.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]) / 32767.0f;
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[2]) / 32767.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = ((FLOAT)((SHORT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[2]) / 32767.0f;
@ -655,7 +655,7 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
dwPosOrig += 4 * sizeof(SHORT); dwPosOrig += 4 * sizeof(SHORT);
dwPosNew += 4 * sizeof(FLOAT); dwPosNew += 4 * sizeof(FLOAT);
break; break;
case 0x72: // FLOAT2H case X_D3DVSDT_FLOAT2H: // 0x72:
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0]; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[0] = ((FLOAT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[0];
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1]; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[1] = ((FLOAT*)&pOrigData[uiVertex * uiStride + dwPosOrig])[1];
((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = 0.0f; ((FLOAT *)&pNewData[uiVertex * pStreamPatch->ConvertedStride + dwPosNew])[2] = 0.0f;
@ -663,7 +663,7 @@ bool XTL::VertexPatcher::PatchStream(VertexPatchDesc *pPatchDesc,
break; break;
/*TODO /*TODO
case 0x02: case X_D3DVSDT_NONE: // 0x02:
printf("D3DVSDT_NONE / xbox ext. nsp /"); printf("D3DVSDT_NONE / xbox ext. nsp /");
dwNewDataType = 0xFF; dwNewDataType = 0xFF;
break; break;

View File

@ -1762,113 +1762,113 @@ static void VshConvertToken_STREAMDATA_REG(DWORD *pToken,
switch(DataType) switch(DataType)
{ {
case 0x12: case X_D3DVSDT_FLOAT1: // 0x12:
DbgVshPrintf("D3DVSDT_FLOAT1"); DbgVshPrintf("D3DVSDT_FLOAT1");
NewDataType = D3DVSDT_FLOAT1; NewDataType = D3DVSDT_FLOAT1;
pPatchData->ConvertedStride += sizeof(FLOAT); pPatchData->ConvertedStride += sizeof(FLOAT);
break; break;
case 0x22: case X_D3DVSDT_FLOAT2: // 0x22:
DbgVshPrintf("D3DVSDT_FLOAT2"); DbgVshPrintf("D3DVSDT_FLOAT2");
NewDataType = D3DVSDT_FLOAT2; NewDataType = D3DVSDT_FLOAT2;
pPatchData->ConvertedStride += 2*sizeof(FLOAT); pPatchData->ConvertedStride += 2*sizeof(FLOAT);
break; break;
case 0x32: case X_D3DVSDT_FLOAT3: // 0x32:
DbgVshPrintf("D3DVSDT_FLOAT3"); DbgVshPrintf("D3DVSDT_FLOAT3");
NewDataType = D3DVSDT_FLOAT3; NewDataType = D3DVSDT_FLOAT3;
pPatchData->ConvertedStride += 3*sizeof(FLOAT); pPatchData->ConvertedStride += 3*sizeof(FLOAT);
break; break;
case 0x42: case X_D3DVSDT_FLOAT4: // 0x42:
DbgVshPrintf("D3DVSDT_FLOAT4"); DbgVshPrintf("D3DVSDT_FLOAT4");
NewDataType = D3DVSDT_FLOAT4; NewDataType = D3DVSDT_FLOAT4;
pPatchData->ConvertedStride += 4*sizeof(FLOAT); pPatchData->ConvertedStride += 4*sizeof(FLOAT);
break; break;
case 0x40: case X_D3DVSDT_D3DCOLOR: // 0x40:
DbgVshPrintf("D3DVSDT_D3DCOLOR"); DbgVshPrintf("D3DVSDT_D3DCOLOR");
NewDataType = D3DVSDT_D3DCOLOR; NewDataType = D3DVSDT_D3DCOLOR;
pPatchData->ConvertedStride += sizeof(D3DCOLOR); pPatchData->ConvertedStride += sizeof(D3DCOLOR);
break; break;
case 0x25: case X_D3DVSDT_SHORT2: // 0x25:
DbgVshPrintf("D3DVSDT_SHORT2"); DbgVshPrintf("D3DVSDT_SHORT2");
NewDataType = D3DVSDT_SHORT2; NewDataType = D3DVSDT_SHORT2;
pPatchData->ConvertedStride += 2*sizeof(XTL::SHORT); pPatchData->ConvertedStride += 2*sizeof(XTL::SHORT);
break; break;
case 0x45: case X_D3DVSDT_SHORT4: // 0x45:
DbgVshPrintf("D3DVSDT_SHORT4"); DbgVshPrintf("D3DVSDT_SHORT4");
NewDataType = D3DVSDT_SHORT4; NewDataType = D3DVSDT_SHORT4;
pPatchData->ConvertedStride += 4*sizeof(XTL::SHORT); pPatchData->ConvertedStride += 4*sizeof(XTL::SHORT);
break; break;
case 0x11: case X_D3DVSDT_NORMSHORT1: // 0x11:
DbgVshPrintf("D3DVSDT_NORMSHORT1 /* xbox ext. */"); DbgVshPrintf("D3DVSDT_NORMSHORT1 /* xbox ext. */");
NewDataType = D3DVSDT_SHORT2; // hmm, emulation? NewDataType = D3DVSDT_SHORT2; // hmm, emulation?
pPatchData->ConvertedStride += 2*sizeof(XTL::SHORT); pPatchData->ConvertedStride += 2*sizeof(XTL::SHORT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x21: case X_D3DVSDT_NORMSHORT2: // 0x21:
DbgVshPrintf("D3DVSDT_NORMSHORT2 /* xbox ext. */"); DbgVshPrintf("D3DVSDT_NORMSHORT2 /* xbox ext. */");
NewDataType = D3DVSDT_SHORT2; NewDataType = D3DVSDT_SHORT2;
pPatchData->ConvertedStride += 2*sizeof(XTL::SHORT); pPatchData->ConvertedStride += 2*sizeof(XTL::SHORT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x31: case X_D3DVSDT_NORMSHORT3: // 0x31:
DbgVshPrintf("D3DVSDT_NORMSHORT3 /* xbox ext. nsp */"); DbgVshPrintf("D3DVSDT_NORMSHORT3 /* xbox ext. nsp */");
NewDataType = D3DVSDT_SHORT4; NewDataType = D3DVSDT_SHORT4;
pPatchData->ConvertedStride += 4*sizeof(XTL::SHORT); pPatchData->ConvertedStride += 4*sizeof(XTL::SHORT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x41: case X_D3DVSDT_NORMSHORT4: // 0x41:
DbgVshPrintf("D3DVSDT_NORMSHORT4 /* xbox ext. */"); DbgVshPrintf("D3DVSDT_NORMSHORT4 /* xbox ext. */");
NewDataType = D3DVSDT_SHORT4; NewDataType = D3DVSDT_SHORT4;
pPatchData->ConvertedStride += 4*sizeof(XTL::SHORT); pPatchData->ConvertedStride += 4*sizeof(XTL::SHORT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x16: case X_D3DVSDT_NORMPACKED3: // 0x16:
DbgVshPrintf("D3DVSDT_NORMPACKED3 /* xbox ext. nsp */"); DbgVshPrintf("D3DVSDT_NORMPACKED3 /* xbox ext. nsp */");
NewDataType = D3DVSDT_FLOAT3;//0xFF; //32bit NewDataType = D3DVSDT_FLOAT3;//0xFF; //32bit
pPatchData->ConvertedStride += 3*sizeof(FLOAT); pPatchData->ConvertedStride += 3*sizeof(FLOAT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x15: case X_D3DVSDT_SHORT1: // 0x15:
DbgVshPrintf("D3DVSDT_SHORT1 /* xbox ext. nsp */"); DbgVshPrintf("D3DVSDT_SHORT1 /* xbox ext. nsp */");
NewDataType = D3DVSDT_SHORT2; NewDataType = D3DVSDT_SHORT2;
pPatchData->ConvertedStride += 2*sizeof(XTL::SHORT); pPatchData->ConvertedStride += 2*sizeof(XTL::SHORT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x35: case X_D3DVSDT_SHORT3: // 0x35:
DbgVshPrintf("D3DVSDT_SHORT3 /* xbox ext. nsp */"); DbgVshPrintf("D3DVSDT_SHORT3 /* xbox ext. nsp */");
NewDataType = D3DVSDT_SHORT4; NewDataType = D3DVSDT_SHORT4;
pPatchData->ConvertedStride += 4*sizeof(XTL::SHORT); pPatchData->ConvertedStride += 4*sizeof(XTL::SHORT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x14: case X_D3DVSDT_PBYTE1: // 0x14:
DbgVshPrintf("D3DVSDT_PBYTE1 /* xbox ext. nsp */"); DbgVshPrintf("D3DVSDT_PBYTE1 /* xbox ext. nsp */");
NewDataType = D3DVSDT_FLOAT1; NewDataType = D3DVSDT_FLOAT1;
pPatchData->ConvertedStride += 1*sizeof(FLOAT); pPatchData->ConvertedStride += 1*sizeof(FLOAT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x24: case X_D3DVSDT_PBYTE2: // 0x24:
DbgVshPrintf("D3DVSDT_PBYTE2 /* xbox ext. nsp */"); DbgVshPrintf("D3DVSDT_PBYTE2 /* xbox ext. nsp */");
NewDataType = D3DVSDT_FLOAT2; NewDataType = D3DVSDT_FLOAT2;
pPatchData->ConvertedStride += 2*sizeof(FLOAT); pPatchData->ConvertedStride += 2*sizeof(FLOAT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x34: case X_D3DVSDT_PBYTE3: // 0x34:
DbgVshPrintf("D3DVSDT_PBYTE3 /* xbox ext. nsp */"); DbgVshPrintf("D3DVSDT_PBYTE3 /* xbox ext. nsp */");
NewDataType = D3DVSDT_FLOAT3; NewDataType = D3DVSDT_FLOAT3;
pPatchData->ConvertedStride += 3*sizeof(FLOAT); pPatchData->ConvertedStride += 3*sizeof(FLOAT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x44: case X_D3DVSDT_PBYTE4: // 0x44:
DbgVshPrintf("D3DVSDT_PBYTE4 /* xbox ext. */"); DbgVshPrintf("D3DVSDT_PBYTE4 /* xbox ext. */");
NewDataType = D3DVSDT_FLOAT4; NewDataType = D3DVSDT_FLOAT4;
pPatchData->ConvertedStride += 4*sizeof(FLOAT); pPatchData->ConvertedStride += 4*sizeof(FLOAT);
break; break;
case 0x72: case X_D3DVSDT_FLOAT2H: // 0x72:
DbgVshPrintf("D3DVSDT_FLOAT2H /* xbox ext. */"); DbgVshPrintf("D3DVSDT_FLOAT2H /* xbox ext. */");
NewDataType = D3DVSDT_FLOAT3; NewDataType = D3DVSDT_FLOAT3;
pPatchData->ConvertedStride += 3*sizeof(FLOAT); pPatchData->ConvertedStride += 3*sizeof(FLOAT);
pPatchData->NeedPatching = TRUE; pPatchData->NeedPatching = TRUE;
break; break;
case 0x02: case X_D3DVSDT_NONE: // 0x02:
DbgVshPrintf("D3DVSDT_NONE /* xbox ext. nsp */"); DbgVshPrintf("D3DVSDT_NONE /* xbox ext. nsp */");
NewDataType = 0xFF; NewDataType = 0xFF;
break; break;