pull/248/merge
Ben Antonellis 3 years ago committed by GitHub
commit 5881320c8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 36
      olcPixelGameEngine.h

@ -194,7 +194,7 @@
Author
~~~~~~
David Barr, aka javidx9, ©OneLoneCoder 2018, 2019, 2020, 2021
David Barr, aka javidx9, ©OneLoneCoder 2018, 2019, 2020, 2021
*/
#pragma endregion
@ -1306,14 +1306,10 @@ namespace olc
{
if (x >= 0 && x < width && y >= 0 && y < height)
return pColData[y * width + x];
else
return Pixel(0, 0, 0, 0);
}
else
{
return pColData[abs(y % height) * width + abs(x % width)];
}
}
bool Sprite::SetPixel(int32_t x, int32_t y, Pixel p)
{
@ -1322,7 +1318,6 @@ namespace olc
pColData[y * width + x] = p;
return true;
}
else
return false;
}
@ -1438,13 +1433,10 @@ namespace olc
pDecal = std::make_unique<olc::Decal>(pSprite.get(), filter, clamp);
return olc::rcode::OK;
}
else
{
pSprite.release();
pSprite = nullptr;
return olc::rcode::NO_FILE;
}
}
olc::Decal* Renderable::Decal() const
{ return pDecal.get(); }
@ -1764,7 +1756,6 @@ namespace olc
{
if (pDrawTarget)
return pDrawTarget->width;
else
return 0;
}
@ -1772,7 +1763,6 @@ namespace olc
{
if (pDrawTarget)
return pDrawTarget->height;
else
return 0;
}
@ -1830,9 +1820,7 @@ namespace olc
if (!pDrawTarget) return false;
if (nPixelMode == Pixel::NORMAL)
{
return pDrawTarget->SetPixel(x, y, p);
}
if (nPixelMode == Pixel::MASK)
{
@ -1852,9 +1840,7 @@ namespace olc
}
if (nPixelMode == Pixel::CUSTOM)
{
return pDrawTarget->SetPixel(x, y, funcPixelMode(x, y, p, pDrawTarget->GetPixel(x, y)));
}
return false;
}
@ -1952,6 +1938,10 @@ namespace olc
if (radius > 0)
{
Draw(x, y, p);
return;
}
int x0 = 0;
int y0 = radius;
int d = 3 - 2 * radius;
@ -1977,9 +1967,6 @@ namespace olc
d += 4 * (x0++ - y0--) + 10;
}
}
else
Draw(x, y, p);
}
void PixelGameEngine::FillCircle(const olc::vi2d& pos, int32_t radius, Pixel p)
{ FillCircle(pos.x, pos.y, radius, p); }
@ -1991,6 +1978,10 @@ namespace olc
if (radius > 0)
{
Draw(x, y, p);
return;
}
int x0 = 0;
int y0 = radius;
int d = 3 - 2 * radius;
@ -2019,9 +2010,6 @@ namespace olc
}
}
}
else
Draw(x, y, p);
}
void PixelGameEngine::DrawRect(const olc::vi2d& pos, const olc::vi2d& size, Pixel p)
{ DrawRect(pos.x, pos.y, size.x, size.y, p); }
@ -2552,8 +2540,9 @@ namespace olc
di.uv = { { 0.0f, 0.0f}, {0.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, 0.0f} };
olc::vf2d center;
float rd = ((pos[2].x - pos[0].x) * (pos[3].y - pos[1].y) - (pos[3].x - pos[1].x) * (pos[2].y - pos[0].y));
if (rd != 0)
{
if (rd == 0) return;
rd = 1.0f / rd;
float rn = ((pos[3].x - pos[1].x) * (pos[0].y - pos[1].y) - (pos[3].y - pos[1].y) * (pos[0].x - pos[1].x)) * rd;
float sn = ((pos[2].x - pos[0].x) * (pos[0].y - pos[1].y) - (pos[2].y - pos[0].y) * (pos[0].x - pos[1].x)) * rd;
@ -2568,7 +2557,6 @@ namespace olc
di.mode = nDecalMode;
vLayers[nTargetLayer].vecDecalInstance.push_back(di);
}
}
void PixelGameEngine::DrawWarpedDecal(olc::Decal* decal, const std::array<olc::vf2d, 4>& pos, const olc::Pixel& tint)
{ DrawWarpedDecal(decal, pos.data(), tint); }

Loading…
Cancel
Save