Get rid of global variable.
This commit is contained in:
parent
738daf8bae
commit
f3f8d5d0a3
|
@ -4100,6 +4100,7 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetVertexData4f)
|
||||||
}
|
}
|
||||||
|
|
||||||
int o = g_InlineVertexBuffer_TableOffset;
|
int o = g_InlineVertexBuffer_TableOffset;
|
||||||
|
static bool m_DiffuseSet = false;
|
||||||
uint FVFPosType = g_InlineVertexBuffer_FVF & D3DFVF_POSITION_MASK;
|
uint FVFPosType = g_InlineVertexBuffer_FVF & D3DFVF_POSITION_MASK;
|
||||||
|
|
||||||
switch(Register)
|
switch(Register)
|
||||||
|
@ -4113,11 +4114,11 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetVertexData4f)
|
||||||
g_InlineVertexBuffer_Table[o].Position.z = c;
|
g_InlineVertexBuffer_Table[o].Position.z = c;
|
||||||
g_InlineVertexBuffer_Table[o].Rhw = d; // Was : 1.0f; // Dxbx note : Why set Rhw to 1.0? And why ignore d?
|
g_InlineVertexBuffer_Table[o].Rhw = d; // Was : 1.0f; // Dxbx note : Why set Rhw to 1.0? And why ignore d?
|
||||||
|
|
||||||
if (o > 0 && g_InlineVertexBuffer_DiffuseFlag == 0) {
|
if (o > 0 && !m_DiffuseSet) {
|
||||||
g_InlineVertexBuffer_Table[o].Diffuse = g_InlineVertexBuffer_Table[o - 1].Diffuse;
|
g_InlineVertexBuffer_Table[o].Diffuse = g_InlineVertexBuffer_Table[o - 1].Diffuse;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_InlineVertexBuffer_DiffuseFlag = 0;
|
m_DiffuseSet = false;
|
||||||
|
|
||||||
switch (g_InlineVertexBuffer_FVF & D3DFVF_POSITION_MASK) {
|
switch (g_InlineVertexBuffer_FVF & D3DFVF_POSITION_MASK) {
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -4197,7 +4198,7 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetVertexData4f)
|
||||||
{
|
{
|
||||||
g_InlineVertexBuffer_Table[o].Diffuse = D3DCOLOR_COLORVALUE(a, b, c, d);
|
g_InlineVertexBuffer_Table[o].Diffuse = D3DCOLOR_COLORVALUE(a, b, c, d);
|
||||||
g_InlineVertexBuffer_FVF |= D3DFVF_DIFFUSE;
|
g_InlineVertexBuffer_FVF |= D3DFVF_DIFFUSE;
|
||||||
g_InlineVertexBuffer_DiffuseFlag = 1;
|
m_DiffuseSet = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,6 @@ extern DWORD XTL::g_InlineVertexBuffer_FVF = 0;
|
||||||
extern struct XTL::_D3DIVB *XTL::g_InlineVertexBuffer_Table = nullptr;
|
extern struct XTL::_D3DIVB *XTL::g_InlineVertexBuffer_Table = nullptr;
|
||||||
extern UINT XTL::g_InlineVertexBuffer_TableLength = 0;
|
extern UINT XTL::g_InlineVertexBuffer_TableLength = 0;
|
||||||
extern UINT XTL::g_InlineVertexBuffer_TableOffset = 0;
|
extern UINT XTL::g_InlineVertexBuffer_TableOffset = 0;
|
||||||
extern UINT XTL::g_InlineVertexBuffer_DiffuseFlag = 0;
|
|
||||||
|
|
||||||
FLOAT *g_InlineVertexBuffer_pData = nullptr;
|
FLOAT *g_InlineVertexBuffer_pData = nullptr;
|
||||||
UINT g_InlineVertexBuffer_DataSize = 0;
|
UINT g_InlineVertexBuffer_DataSize = 0;
|
||||||
|
|
|
@ -119,7 +119,6 @@ extern struct _D3DIVB
|
||||||
|
|
||||||
extern UINT g_InlineVertexBuffer_TableLength;
|
extern UINT g_InlineVertexBuffer_TableLength;
|
||||||
extern UINT g_InlineVertexBuffer_TableOffset;
|
extern UINT g_InlineVertexBuffer_TableOffset;
|
||||||
extern UINT g_InlineVertexBuffer_DiffuseFlag;
|
|
||||||
|
|
||||||
extern VOID EmuFlushIVB();
|
extern VOID EmuFlushIVB();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue