mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-02 09:03:37 +00:00
Code refactor: move gDP.rectColor initialization to gDP.cpp
This commit is contained in:
parent
0dc261813a
commit
1c72ef16fd
|
@ -828,21 +828,13 @@ void GraphicsDrawer::drawLine(int _v0, int _v1, float _width)
|
|||
gfxContext.drawLine(lineWidth, vertexBuf);
|
||||
}
|
||||
|
||||
void GraphicsDrawer::drawRect(int _ulx, int _uly, int _lrx, int _lry, float *_pColor)
|
||||
void GraphicsDrawer::drawRect(int _ulx, int _uly, int _lrx, int _lry)
|
||||
{
|
||||
m_texrectDrawer.draw();
|
||||
|
||||
if (!_canDraw())
|
||||
return;
|
||||
|
||||
if (gDP.otherMode.cycleType == G_CYC_FILL) {
|
||||
gDP.rectColor.r = _pColor[0];
|
||||
gDP.rectColor.g = _pColor[1];
|
||||
gDP.rectColor.b = _pColor[2];
|
||||
gDP.rectColor.a = _pColor[3];
|
||||
} else {
|
||||
gDP.rectColor = gDPInfo::Color();
|
||||
}
|
||||
gSP.changed &= ~CHANGED_GEOMETRYMODE; // Don't update cull mode
|
||||
if (gSP.changed || gDP.changed)
|
||||
_updateStates(DrawingState::Rect);
|
||||
|
@ -1064,12 +1056,6 @@ void GraphicsDrawer::drawTexturedRect(const TexturedRectParams & _params)
|
|||
_updateTextures();
|
||||
cmbInfo.updateParameters();
|
||||
} else {
|
||||
gDP.rectColor = gDPInfo::Color();
|
||||
if (gDP.otherMode.cycleType < G_CYC_COPY) {
|
||||
if (gDP.combine.mA0 == G_ACMUX_0 && gDP.combine.aA0 == G_ACMUX_SHADE)
|
||||
gDP.rectColor.a = 1.0f;
|
||||
}
|
||||
|
||||
if (_params.texrectCmd && (gSP.changed | gDP.changed) != 0)
|
||||
_updateStates(DrawingState::TexRect);
|
||||
gfxContext.enable(enable::CULL_FACE, false);
|
||||
|
|
|
@ -45,7 +45,7 @@ public:
|
|||
|
||||
void drawLine(int _v0, int _v1, float _width);
|
||||
|
||||
void drawRect(int _ulx, int _uly, int _lrx, int _lry, float * _pColor);
|
||||
void drawRect(int _ulx, int _uly, int _lrx, int _lry);
|
||||
|
||||
struct TexturedRectParams
|
||||
{
|
||||
|
|
25
src/gDP.cpp
25
src/gDP.cpp
|
@ -777,10 +777,10 @@ void gDPFillRectangle( s32 ulx, s32 uly, s32 lrx, s32 lry )
|
|||
|
||||
if (depthBuffer != dbCleared) {
|
||||
frameBufferList().setBufferChanged();
|
||||
f32 fillColor[4];
|
||||
gDPGetFillColor(fillColor);
|
||||
|
||||
if (gDP.otherMode.cycleType == G_CYC_FILL) {
|
||||
f32 fillColor[4];
|
||||
gDPGetFillColor(fillColor);
|
||||
if ((depthBuffer == dbNone) &&
|
||||
(ulx == 0) &&
|
||||
(uly == 0) &&
|
||||
|
@ -788,10 +788,17 @@ void gDPFillRectangle( s32 ulx, s32 uly, s32 lrx, s32 lry )
|
|||
(lry == gDP.scissor.lry)) {
|
||||
frameBufferList().fillRDRAM(ulx, uly, lrx, lry);
|
||||
drawer.clearColorBuffer(fillColor);
|
||||
} else
|
||||
drawer.drawRect(ulx, uly, lrx, lry, fillColor);
|
||||
} else
|
||||
drawer.drawRect(ulx, uly, lrx, lry, fillColor);
|
||||
} else {
|
||||
gDP.rectColor.r = fillColor[0];
|
||||
gDP.rectColor.g = fillColor[1];
|
||||
gDP.rectColor.b = fillColor[2];
|
||||
gDP.rectColor.a = fillColor[3];
|
||||
drawer.drawRect(ulx, uly, lrx, lry);
|
||||
}
|
||||
} else {
|
||||
gDP.rectColor = gDPInfo::Color();
|
||||
drawer.drawRect(ulx, uly, lrx, lry);
|
||||
}
|
||||
}
|
||||
|
||||
if (lrx == gDP.colorImage.width) {
|
||||
|
@ -870,6 +877,12 @@ void gDPTextureRectangle(f32 ulx, f32 uly, f32 lrx, f32 lry, s32 tile, f32 s, f3
|
|||
lrt = t + (lry - uly - 1) * dtdy;
|
||||
}
|
||||
|
||||
gDP.rectColor = gDPInfo::Color();
|
||||
if (gDP.otherMode.cycleType < G_CYC_COPY) {
|
||||
if (gDP.combine.mA0 == G_ACMUX_0 && gDP.combine.aA0 == G_ACMUX_SHADE)
|
||||
gDP.rectColor.a = 1.0f;
|
||||
}
|
||||
|
||||
GraphicsDrawer & drawer = dwnd().getDrawer();
|
||||
GraphicsDrawer::TexturedRectParams params(ulx, uly, lrx, lry, s, t, lrs, lrt, fabsf(dsdx), fabsf(dtdy),
|
||||
flip, false, true, frameBufferList().getCurrent());
|
||||
|
|
Loading…
Reference in New Issue
Block a user