Introduced Xbox version of X_D3DCOLOR
This commit is contained in:
parent
6eb6665a42
commit
5a3e54fadd
|
@ -5052,7 +5052,7 @@ xbox::void_xt WINAPI xbox::EMUPATCH(D3DDevice_SetVertexData4s)
|
|||
xbox::void_xt WINAPI xbox::EMUPATCH(D3DDevice_SetVertexDataColor)
|
||||
(
|
||||
int_xt Register,
|
||||
D3DCOLOR Color
|
||||
X_D3DCOLOR Color
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
|
@ -5100,8 +5100,8 @@ xbox::void_xt WINAPI xbox::EMUPATCH(D3DDevice_Clear)
|
|||
dword_xt Count,
|
||||
CONST X_D3DRECT *pRects,
|
||||
dword_xt Flags,
|
||||
D3DCOLOR Color,
|
||||
float Z,
|
||||
X_D3DCOLOR Color,
|
||||
float Z,
|
||||
dword_xt Stencil
|
||||
)
|
||||
{
|
||||
|
@ -6855,7 +6855,7 @@ xbox::void_xt WINAPI xbox::EMUPATCH(D3DDevice_UpdateOverlay)
|
|||
CONST X_RECT *SrcRect,
|
||||
CONST X_RECT *DstRect,
|
||||
bool_xt EnableColorKey,
|
||||
D3DCOLOR ColorKey
|
||||
X_D3DCOLOR ColorKey
|
||||
)
|
||||
{
|
||||
LOG_FUNC_BEGIN
|
||||
|
|
|
@ -3874,7 +3874,7 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_GetLight)
|
|||
VOID WINAPI XTL::EMUPATCH(D3DPalette_Lock)
|
||||
(
|
||||
X_D3DPalette *pThis,
|
||||
D3DCOLOR **ppColors,
|
||||
X_D3DCOLOR **ppColors,
|
||||
DWORD Flags
|
||||
)
|
||||
{
|
||||
|
@ -3884,7 +3884,7 @@ VOID WINAPI XTL::EMUPATCH(D3DPalette_Lock)
|
|||
LOG_FUNC_ARG(Flags)
|
||||
LOG_FUNC_END;
|
||||
|
||||
XB_trampoline(VOID, WINAPI, D3DPalette_Lock, (X_D3DPalette*, D3DCOLOR**, DWORD));
|
||||
XB_trampoline(VOID, WINAPI, D3DPalette_Lock, (X_D3DPalette*, X_D3DCOLOR**, DWORD));
|
||||
XB_D3DPalette_Lock(pThis, ppColors, Flags);
|
||||
|
||||
// Check if this palette is in use by a texture stage, and force it to be re-converted if yes
|
||||
|
@ -3898,7 +3898,7 @@ VOID WINAPI XTL::EMUPATCH(D3DPalette_Lock)
|
|||
// ******************************************************************
|
||||
// * patch: IDirect3DPalette8_Lock2
|
||||
// ******************************************************************
|
||||
D3DCOLOR * WINAPI XTL::EMUPATCH(D3DPalette_Lock2)
|
||||
xbox::X_D3DCOLOR * WINAPI XTL::EMUPATCH(D3DPalette_Lock2)
|
||||
(
|
||||
X_D3DPalette *pThis,
|
||||
DWORD Flags
|
||||
|
@ -3910,7 +3910,7 @@ D3DCOLOR * WINAPI XTL::EMUPATCH(D3DPalette_Lock2)
|
|||
LOG_FUNC_END;
|
||||
|
||||
XB_trampoline(D3DCOLOR*, WINAPI, D3DPalette_Lock2, (X_D3DPalette*, DWORD));
|
||||
D3DCOLOR* pData = XB_D3DPalette_Lock2(pThis, Flags);
|
||||
X_D3DCOLOR* pData = XB_D3DPalette_Lock2(pThis, Flags);
|
||||
|
||||
// Check if this palette is in use by a texture stage, and force it to be re-converted if yes
|
||||
for (int i = 0; i < XTL::X_D3DTS_STAGECOUNT; i++) {
|
||||
|
|
|
@ -721,7 +721,7 @@ xbox::void_xt WINAPI EMUPATCH(D3DDevice_SetVertexData4s)
|
|||
xbox::void_xt WINAPI EMUPATCH(D3DDevice_SetVertexDataColor)
|
||||
(
|
||||
int_xt Register,
|
||||
D3DCOLOR Color
|
||||
X_D3DCOLOR Color
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -746,8 +746,8 @@ xbox::void_xt WINAPI EMUPATCH(D3DDevice_Clear)
|
|||
dword_xt Count,
|
||||
CONST X_D3DRECT *pRects,
|
||||
dword_xt Flags,
|
||||
D3DCOLOR Color,
|
||||
float Z,
|
||||
X_D3DCOLOR Color,
|
||||
float Z,
|
||||
dword_xt Stencil
|
||||
);
|
||||
|
||||
|
@ -975,7 +975,7 @@ xbox::void_xt WINAPI EMUPATCH(D3DDevice_UpdateOverlay)
|
|||
CONST X_RECT *SrcRect,
|
||||
CONST X_RECT *DstRect,
|
||||
bool_xt EnableColorKey,
|
||||
D3DCOLOR ColorKey
|
||||
X_D3DCOLOR ColorKey
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -1576,15 +1576,15 @@ xbox::void_xt WINAPI EMUPATCH(D3DDevice_SetSoftDisplayFilter)
|
|||
// ******************************************************************
|
||||
xbox::void_xt WINAPI EMUPATCH(D3DPalette_Lock)
|
||||
(
|
||||
X_D3DPalette *pThis,
|
||||
D3DCOLOR **ppColors,
|
||||
X_D3DPalette *pThis,
|
||||
X_D3DCOLOR **ppColors,
|
||||
dword_xt Flags
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: IDirect3DPalette8_Lock2
|
||||
// ******************************************************************
|
||||
D3DCOLOR * WINAPI EMUPATCH(D3DPalette_Lock2)
|
||||
xbox::X_D3DCOLOR * WINAPI EMUPATCH(D3DPalette_Lock2)
|
||||
(
|
||||
X_D3DPalette *pThis,
|
||||
dword_xt Flags
|
||||
|
|
|
@ -306,16 +306,16 @@ void XboxTextureStateConverter::Apply()
|
|||
static D3D11_SAMPLER_DESC g_GlobalSamplerDesc = {}; // TODO : Move to globals section
|
||||
|
||||
switch (State) {
|
||||
case xbox::X_D3DTSS_ADDRESSU: g_GlobalSamplerDesc.AddressU = pcValue; break;
|
||||
case xbox::X_D3DTSS_ADDRESSV: g_GlobalSamplerDesc.AddressV = pcValue; break;
|
||||
case xbox::X_D3DTSS_ADDRESSW: g_GlobalSamplerDesc.AddressW = pcValue; break;
|
||||
case xbox::X_D3DTSS_MAGFILTER: g_GlobalSamplerDesc.Filter = pcValue; break; // TODO : Which Filter??
|
||||
case xbox::X_D3DTSS_MINFILTER: g_GlobalSamplerDesc.Filter = pcValue; break; // TODO : Which Filter??
|
||||
case xbox::X_D3DTSS_MIPFILTER: g_GlobalSamplerDesc.Filter = pcValue; break; // TODO : Which Filter??
|
||||
case xbox::X_D3DTSS_MIPMAPLODBIAS: g_GlobalSamplerDesc.MipLODBias = pcValue; break;
|
||||
case xbox::X_D3DTSS_MAXMIPLEVEL: g_GlobalSamplerDesc.MaxLOD = pcValue; break; // TODO : What about MinLOD?
|
||||
case xbox::X_D3DTSS_MAXANISOTROPY: g_GlobalSamplerDesc.MaxAnisotropy = pcValue; break;
|
||||
case xbox::X_D3DTSS_BORDERCOLOR: g_GlobalSamplerDesc.BorderColor = D3DCOLOR(pcValue); break;
|
||||
case xbox::X_D3DTSS_ADDRESSU: g_GlobalSamplerDesc.AddressU = static_cast<D3D11_TEXTURE_ADDRESS_MODE>(pcValue); break;
|
||||
case xbox::X_D3DTSS_ADDRESSV: g_GlobalSamplerDesc.AddressV = static_cast<D3D11_TEXTURE_ADDRESS_MODE>(pcValue); break;
|
||||
case xbox::X_D3DTSS_ADDRESSW: g_GlobalSamplerDesc.AddressW = static_cast<D3D11_TEXTURE_ADDRESS_MODE>(pcValue); break;
|
||||
case xbox::X_D3DTSS_MAGFILTER: g_GlobalSamplerDesc.Filter = static_cast<D3D11_FILTER>(pcValue); break; // TODO : There's only 1, not 3 Filter members?
|
||||
case xbox::X_D3DTSS_MINFILTER: g_GlobalSamplerDesc.Filter = static_cast<D3D11_FILTER>(pcValue); break; // TODO : There's only 1, not 3 Filter members?
|
||||
case xbox::X_D3DTSS_MIPFILTER: g_GlobalSamplerDesc.Filter = static_cast<D3D11_FILTER>(pcValue); break; // TODO : There's only 1, not 3 Filter members?
|
||||
case xbox::X_D3DTSS_MIPMAPLODBIAS: g_GlobalSamplerDesc.MipLODBias = /*TODO:FLOAT*/(pcValue); break;
|
||||
case xbox::X_D3DTSS_MAXMIPLEVEL: g_GlobalSamplerDesc.MaxLOD = /*TODO:FLOAT*/(pcValue); break; // TODO : What about MinLOD?
|
||||
case xbox::X_D3DTSS_MAXANISOTROPY: g_GlobalSamplerDesc.MaxAnisotropy = pcValue; break; // Note : MaxAnisotropy type is UINT
|
||||
case xbox::X_D3DTSS_BORDERCOLOR: g_GlobalSamplerDesc.BorderColor = D3DXCOLOR(pcValue); break; // Note : BorderColor type is float[4]
|
||||
}
|
||||
|
||||
ID3D11SamplerState *pSamplerState = nullptr;
|
||||
|
|
|
@ -1443,7 +1443,7 @@ const RenderStateInfo DxbxRenderStateInfo[1+xbox::X_D3DRS_DONOTCULLUNCOMPRESSED]
|
|||
{ "D3DRS_STENCILWRITEMASK" /*= 73*/, 3424, xtBYTE, NV2A_STENCIL_MASK, D3DRS_STENCILWRITEMASK, "BYTE write mask applied to values written to stencil buffer" },
|
||||
{ "D3DRS_BLENDOP" /*= 74*/, 3424, xtD3DBLENDOP, NV2A_BLEND_EQUATION, D3DRS_BLENDOP },
|
||||
{ "D3DRS_BLENDCOLOR" /*= 75*/, 3424, xtD3DCOLOR, NV2A_BLEND_COLOR, D3DRS_BLENDFACTOR, "D3DCOLOR for D3DBLEND_CONSTANTCOLOR" },
|
||||
// D3D9 D3DRS_BLENDFACTOR : D3DCOLOR used for a constant blend factor during alpha blending for devices that support D3DPBLENDCAPS_BLENDFACTOR
|
||||
// D3D9 D3DRS_BLENDFACTOR : X_D3DCOLOR used for a constant blend factor during alpha blending for devices that support D3DPBLENDCAPS_BLENDFACTOR
|
||||
{ "D3DRS_SWATHWIDTH" /*= 76*/, 3424, xtD3DSWATH, NV2A_SWATH_WIDTH },
|
||||
{ "D3DRS_POLYGONOFFSETZSLOPESCALE" /*= 77*/, 3424, xtFloat, NV2A_POLYGON_OFFSET_FACTOR, D3DRS_UNSUPPORTED, "float Z factor for shadow maps" },
|
||||
{ "D3DRS_POLYGONOFFSETZOFFSET" /*= 78*/, 3424, xtFloat, NV2A_POLYGON_OFFSET_UNITS },
|
||||
|
|
|
@ -128,6 +128,12 @@ typedef enum _X_D3DBASISTYPE { // Based on Direct3D 9 TODO : verify on Xbox
|
|||
D3DBASIS_FORCE_DWORD = 0x7fffffff
|
||||
} X_D3DBASISTYPE, *LPX_D3DBASISTYPE;
|
||||
|
||||
#ifdef CXBX_USE_D3D11
|
||||
typedef DWORD X_D3DCOLOR;
|
||||
#else
|
||||
typedef D3DCOLOR X_D3DCOLOR;
|
||||
#endif
|
||||
|
||||
/* CubeMap Face identifiers */
|
||||
typedef enum _X_D3DCUBEMAP_FACES
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue