mirror of
https://github.com/holub/mame
synced 2025-05-29 00:53:09 +03:00
Improved Rectangle drawing in the RDP core. [Harmony]
This commit is contained in:
parent
5a1cca0de5
commit
269a16687f
@ -1758,19 +1758,19 @@ void N64::RDP::Processor::CmdTriangleSTZ(UINT32 w1, UINT32 w2)
|
||||
|
||||
void N64::RDP::Rectangle::InitFromBuffer(UINT32 *data)
|
||||
{
|
||||
m_xl = ((data[0] >> 12) & 0xfff) >> 2;
|
||||
m_yl = ((data[0] >> 0) & 0xfff) >> 2;
|
||||
m_xh = ((data[1] >> 12) & 0xfff) >> 2;
|
||||
m_yh = ((data[1] >> 0) & 0xfff) >> 2;
|
||||
m_xl = (data[0] >> 12) & 0xfff;
|
||||
m_yl = (data[0] >> 0) & 0xfff;
|
||||
m_xh = (data[1] >> 12) & 0xfff;
|
||||
m_yh = (data[1] >> 0) & 0xfff;
|
||||
}
|
||||
|
||||
void N64::RDP::TexRectangle::InitFromBuffer(UINT32 *data)
|
||||
{
|
||||
m_tilenum = (data[1] >> 24) & 0x7;
|
||||
m_xl = ((data[0] >> 12) & 0xfff) >> 2;
|
||||
m_yl = ((data[0] >> 0) & 0xfff) >> 2;
|
||||
m_xh = ((data[1] >> 12) & 0xfff) >> 2;
|
||||
m_yh = ((data[1] >> 0) & 0xfff) >> 2;
|
||||
m_xl = (data[0] >> 12) & 0xfff;
|
||||
m_yl = (data[0] >> 0) & 0xfff;
|
||||
m_xh = (data[1] >> 12) & 0xfff;
|
||||
m_yh = (data[1] >> 0) & 0xfff;
|
||||
m_s = (data[2] >> 16) & 0xffff;
|
||||
m_t = (data[2] >> 0) & 0xffff;
|
||||
m_dsdx = (data[3] >> 16) & 0xffff;
|
||||
|
@ -49,10 +49,10 @@ void Rectangle::Draw1Cycle()
|
||||
UINT8* hb = &m_rdp->GetHiddenBits()[m_misc_state->m_fb_address >> 1];
|
||||
|
||||
int index, i, j;
|
||||
int x1 = m_xh;
|
||||
int x2 = m_xl;
|
||||
int y1 = m_yh;
|
||||
int y2 = m_yl;
|
||||
int x1 = m_xh >> 2;
|
||||
int x2 = m_xl >> 2;
|
||||
int y1 = m_yh >> 2;
|
||||
int y2 = m_yl >> 2;
|
||||
UINT16 fill_color1 = (m_rdp->GetFillColor32() >> 16) & 0xffff;
|
||||
UINT16 fill_color2 = (m_rdp->GetFillColor32() >> 0) & 0xffff;
|
||||
int fill_cvg1 = (fill_color1 & 1) ? 8 : 1;
|
||||
@ -196,10 +196,10 @@ void Rectangle::Draw2Cycle()
|
||||
UINT8* hb = &m_rdp->GetHiddenBits()[m_misc_state->m_fb_address >> 1];
|
||||
|
||||
int index, i, j;
|
||||
int x1 = m_xh;
|
||||
int x2 = m_xl;
|
||||
int y1 = m_yh;
|
||||
int y2 = m_yl;
|
||||
int x1 = m_xh >> 2;
|
||||
int x2 = m_xl >> 2;
|
||||
int y1 = m_yh >> 2;
|
||||
int y2 = m_yl >> 2;
|
||||
UINT16 fill_color1;
|
||||
UINT16 fill_color2;
|
||||
int fill_cvg1;
|
||||
@ -410,10 +410,10 @@ void Rectangle::DrawFill()
|
||||
UINT8* hb = &m_rdp->GetHiddenBits()[m_misc_state->m_fb_address >> 1];
|
||||
|
||||
int index, i, j;
|
||||
int x1 = m_xh;
|
||||
int x2 = m_xl;
|
||||
int y1 = m_yh;
|
||||
int y2 = m_yl;
|
||||
int x1 = m_xh >> 2;
|
||||
int x2 = m_xl >> 2;
|
||||
int y1 = m_yh >> 2;
|
||||
int y2 = m_yl >> 2;
|
||||
UINT16 fill_color1;
|
||||
UINT16 fill_color2;
|
||||
int fill_cvg1;
|
||||
|
@ -51,10 +51,10 @@ void TexRectangle::DrawDefault()
|
||||
UINT32 tilenum2 = 0;
|
||||
N64::RDP::Tile *tex_tile2 = NULL;
|
||||
|
||||
int x1 = m_xh;
|
||||
int x2 = m_xl;
|
||||
int y1 = m_yh;
|
||||
int y2 = m_yl;
|
||||
int x1 = m_xh >> 2;
|
||||
int x2 = m_xl >> 2;
|
||||
int y1 = m_yh >> 2;
|
||||
int y2 = m_yl >> 2;
|
||||
|
||||
if (x2 <= x1)
|
||||
{
|
||||
@ -366,10 +366,10 @@ void TexRectangle::DrawCopy()
|
||||
|
||||
N64::RDP::Tile *tex_tile = &m_rdp->GetTiles()[m_tilenum];
|
||||
|
||||
int x1 = m_xh;
|
||||
int x2 = m_xl;
|
||||
int y1 = m_yh;
|
||||
int y2 = m_yl;
|
||||
int x1 = m_xh >> 2;
|
||||
int x2 = m_xl >> 2;
|
||||
int y1 = m_yh >> 2;
|
||||
int y2 = m_yl >> 2;
|
||||
|
||||
if (x2 <= x1)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user