[Scummvm-git-logs] scummvm master -> 470755c12640be8aa13b2c958eee54938719fd4b
OMGPizzaGuy
noreply at scummvm.org
Thu Jan 5 00:23:26 UTC 2023
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b63ac203e7 UTLIMA8: Cleanup of soft render surface
470755c126 ULTIMA8: Use rect for render surface fill methods
Commit: b63ac203e756e08ef33df8e05b5e45b3fde587a4
https://github.com/scummvm/scummvm/commit/b63ac203e756e08ef33df8e05b5e45b3fde587a4
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2023-01-04T18:22:50-06:00
Commit Message:
UTLIMA8: Cleanup of soft render surface
Changed paths:
engines/ultima/ultima8/graphics/soft_render_surface.cpp
engines/ultima/ultima8/graphics/texture.h
diff --git a/engines/ultima/ultima8/graphics/soft_render_surface.cpp b/engines/ultima/ultima8/graphics/soft_render_surface.cpp
index 414c7492462..da1eae881bf 100644
--- a/engines/ultima/ultima8/graphics/soft_render_surface.cpp
+++ b/engines/ultima/ultima8/graphics/soft_render_surface.cpp
@@ -68,22 +68,22 @@ template<class uintX> void SoftRenderSurface<uintX>::FillAlpha(uint8 alpha, int3
return;
// An optimization.
- if ((int)(w * sizeof(uintX)) == _pitch) {
+ if (w * format.bytesPerPixel == _pitch) {
w *= h;
h = 1;
}
- uint8 *pixel = _pixels + sy * _pitch + sx * sizeof(uintX);
+ uint8 *pixel = _pixels + sy * _pitch + sx * format.bytesPerPixel;
uint8 *end = pixel + h * _pitch;
- uint8 *line_end = pixel + w * sizeof(uintX);
- int diff = _pitch - w * sizeof(uintX);
+ uint8 *line_end = pixel + w * format.bytesPerPixel;
+ int diff = _pitch - w * format.bytesPerPixel;
- uintX a = (((uintX)alpha) << format.aShift) & aMask;
+ uint32 a = (((uint32)alpha) << format.aShift) & aMask;
#ifdef CHECK_ALPHA_FILLS
- uintX c;
- uintX m;
+ uint32 c;
+ uint32 m;
if (a == 0) {
c = (format.bMask >> 1)&format.bMask;
m = format.bMask;
@@ -100,7 +100,7 @@ template<class uintX> void SoftRenderSurface<uintX>::FillAlpha(uint8 alpha, int3
#ifdef CHECK_ALPHA_FILLS
*dest = (*dest & ~m) | (c + (((*dest & m) >> 1)&m));
#endif
- pixel += sizeof(uintX);
+ pixel += format.bytesPerPixel;
}
line_end += _pitch;
@@ -109,10 +109,11 @@ template<class uintX> void SoftRenderSurface<uintX>::FillAlpha(uint8 alpha, int3
}
template<class uintX> void SoftRenderSurface<uintX>::FillBlended(uint32 rgba, int32 sx, int32 sy, int32 w, int32 h) {
- if ((rgba & TEX32_A_MASK) == TEX32_A_MASK) {
+ int alpha = TEX32_A(rgba);
+ if (alpha == 0xFF) {
Fill32(rgba, sx, sy, w, h);
return;
- } else if (!(rgba & TEX32_A_MASK)) {
+ } else if (!alpha) {
return;
}
@@ -125,29 +126,32 @@ template<class uintX> void SoftRenderSurface<uintX>::FillBlended(uint32 rgba, in
if (!w || !h) return;
+ const Graphics::PixelFormat &format = _surface->format;
+
// An optimization.
- if ((int)(w * sizeof(uintX)) == _pitch) {
+ if (w * format.bytesPerPixel == _pitch) {
w *= h;
h = 1;
}
- uint8 *pixel = _pixels + sy * _pitch + sx * sizeof(uintX);
+ uint8 *pixel = _pixels + sy * _pitch + sx * format.bytesPerPixel;
uint8 *end = pixel + h * _pitch;
- uint8 *line_end = pixel + w * sizeof(uintX);
- int diff = _pitch - w * sizeof(uintX);
+ uint8 *line_end = pixel + w * format.bytesPerPixel;
+ int diff = _pitch - w * format.bytesPerPixel;
- const Graphics::PixelFormat &format = _surface->format;
uint32 aMask = format.aMax() << format.aShift;
- int alpha = TEX32_A(rgba) + 1;
- rgba = TEX32_PACK_RGBA16(TEX32_R(rgba) * alpha, TEX32_G(rgba) * alpha, TEX32_B(rgba) * alpha, 255 * alpha);
+ rgba = TEX32_PACK_RGBA((TEX32_R(rgba) * alpha) >> 8,
+ (TEX32_G(rgba) * alpha) >> 8,
+ (TEX32_B(rgba) * alpha) >> 8,
+ (255 * alpha) >> 8);
while (pixel != end) {
while (pixel != line_end) {
uintX *dest = reinterpret_cast<uintX *>(pixel);
- uintX d = *dest;
+ uint32 d = *dest;
*dest = (d & aMask) | BlendPreModFast(rgba, d, format);
- pixel += sizeof(uintX);
+ pixel += format.bytesPerPixel;
}
line_end += _pitch;
@@ -191,10 +195,12 @@ template<class uintX> void SoftRenderSurface<uintX>::FadedBlit(const Graphics::M
if (px != dx) sx += dx - px;
if (py != dy) sy += dy - py;
- uint8 *pixel = _pixels + dy * _pitch + dx * sizeof(uintX);
- uint8 *line_end = pixel + w * sizeof(uintX);
+ const Graphics::PixelFormat &format = _surface->format;
+
+ uint8 *pixel = _pixels + dy * _pitch + dx * format.bytesPerPixel;
+ uint8 *line_end = pixel + w * format.bytesPerPixel;
uint8 *end = pixel + h * _pitch;
- int diff = _pitch - w * sizeof(uintX);
+ int diff = _pitch - w * format.bytesPerPixel;
uint32 a = TEX32_A(col32);
uint32 ia = 256 - a;
@@ -202,7 +208,6 @@ template<class uintX> void SoftRenderSurface<uintX>::FadedBlit(const Graphics::M
uint32 g = (TEX32_G(col32) * a);
uint32 b = (TEX32_B(col32) * a);
- const Graphics::PixelFormat &format = _surface->format;
const Graphics::PixelFormat &texformat = src.rawSurface().format;
if (texformat.bpp() == 32) {
@@ -211,18 +216,18 @@ template<class uintX> void SoftRenderSurface<uintX>::FadedBlit(const Graphics::M
while (pixel != end) {
if (!alpha_blend) while (pixel != line_end) {
- if (*texel & TEX32_A_MASK) {
+ if (TEX32_A(*texel)) {
*(reinterpret_cast<uintX *>(pixel)) = static_cast<uintX>(
format.RGBToColor(
(TEX32_R(*texel) * ia + r) >> 8,
(TEX32_G(*texel) * ia + g) >> 8,
(TEX32_B(*texel) * ia + b) >> 8));
}
- pixel += sizeof(uintX);
+ pixel += format.bytesPerPixel;
texel++;
}
else while (pixel != line_end) {
- uint32 alpha = *texel & TEX32_A_MASK;
+ uint32 alpha = TEX32_A(*texel);
if (alpha == 0xFF) {
*(reinterpret_cast<uintX *>(pixel)) = static_cast<uintX>(
format.RGBToColor(
@@ -236,16 +241,16 @@ template<class uintX> void SoftRenderSurface<uintX>::FadedBlit(const Graphics::M
uint8 r2, g2, b2;
format.colorToRGB(*dest, r2, g2, b2);
- uint32 dr = r2 * (256 - TEX32_A(Tsrc));
- uint32 dg = g2 * (256 - TEX32_A(Tsrc));
- uint32 db = b2 * (256 - TEX32_A(Tsrc));
- dr += TEX32_R(Tsrc) * ia + ((r * TEX32_A(Tsrc)) >> 8);
- dg += TEX32_G(Tsrc) * ia + ((g * TEX32_A(Tsrc)) >> 8);
- db += TEX32_B(Tsrc) * ia + ((b * TEX32_A(Tsrc)) >> 8);
+ uint32 dr = r2 * (256 - alpha);
+ uint32 dg = g2 * (256 - alpha);
+ uint32 db = b2 * (256 - alpha);
+ dr += TEX32_R(Tsrc) * ia + ((r * alpha) >> 8);
+ dg += TEX32_G(Tsrc) * ia + ((g * alpha) >> 8);
+ db += TEX32_B(Tsrc) * ia + ((b * alpha) >> 8);
*dest = format.RGBToColor(dr >> 8, dg >> 8, db >> 8);
}
- pixel += sizeof(uintX);
+ pixel += format.bytesPerPixel;
texel++;
}
@@ -260,11 +265,11 @@ template<class uintX> void SoftRenderSurface<uintX>::FadedBlit(const Graphics::M
while (pixel != end) {
while (pixel != line_end) {
// Uh, not supported right now
- //if (*texel & RenderSurface::a_mask)
+ //if (TEX32_A(*texel))
{
*(reinterpret_cast<uintX *>(pixel)) = BlendHighlight(*texel, r, g, b, 1, ia, format);
}
- pixel += sizeof(uintX);
+ pixel += format.bytesPerPixel;
texel++;
}
@@ -316,10 +321,12 @@ template<class uintX> void SoftRenderSurface<uintX>::MaskedBlit(const Graphics::
if (px != dx) sx += dx - px;
if (py != dy) sy += dy - py;
- uint8 *pixel = _pixels + dy * _pitch + dx * sizeof(uintX);
- uint8 *line_end = pixel + w * sizeof(uintX);
+ const Graphics::PixelFormat &format = _surface->format;
+
+ uint8 *pixel = _pixels + dy * _pitch + dx * format.bytesPerPixel;
+ uint8 *line_end = pixel + w * format.bytesPerPixel;
uint8 *end = pixel + h * _pitch;
- int diff = _pitch - w * sizeof(uintX);
+ int diff = _pitch - w * format.bytesPerPixel;
uint32 a = TEX32_A(col32);
uint32 ia = 256 - a;
@@ -327,7 +334,6 @@ template<class uintX> void SoftRenderSurface<uintX>::MaskedBlit(const Graphics::
uint32 g = (TEX32_G(col32) * a);
uint32 b = (TEX32_B(col32) * a);
- const Graphics::PixelFormat &format = _surface->format;
uint32 aMask = format.aMax() << format.aShift;
int texbpp = src.rawSurface().format.bpp();
@@ -340,7 +346,7 @@ template<class uintX> void SoftRenderSurface<uintX>::MaskedBlit(const Graphics::
while (pixel != line_end) {
uintX *dest = reinterpret_cast<uintX *>(pixel);
- if (*texel & TEX32_A_MASK) {
+ if (TEX32_A(*texel)) {
if (!aMask || (*dest & aMask)) {
*dest = static_cast<uintX>(
format.RGBToColor(
@@ -349,7 +355,7 @@ template<class uintX> void SoftRenderSurface<uintX>::MaskedBlit(const Graphics::
(TEX32_B(*texel) * ia + b) >> 8));
}
}
- pixel += sizeof(uintX);
+ pixel += format.bytesPerPixel;
texel++;
}
} else {
@@ -357,7 +363,7 @@ template<class uintX> void SoftRenderSurface<uintX>::MaskedBlit(const Graphics::
uintX *dest = reinterpret_cast<uintX *>(pixel);
if (!aMask || (*dest & aMask)) {
- uint32 alpha = *texel & TEX32_A_MASK;
+ uint32 alpha = TEX32_A(*texel);
if (alpha == 0xFF) {
*dest = static_cast<uintX>(
format.RGBToColor(
@@ -369,17 +375,17 @@ template<class uintX> void SoftRenderSurface<uintX>::MaskedBlit(const Graphics::
uint8 r2, g2, b2;
format.colorToRGB(*dest, r2, g2, b2);
- uint32 dr = r2 * (256 - TEX32_A(Tsrc));
- uint32 dg = g2 * (256 - TEX32_A(Tsrc));
- uint32 db = b2 * (256 - TEX32_A(Tsrc));
- dr += TEX32_R(Tsrc) * ia + ((r * TEX32_A(Tsrc)) >> 8);
- dg += TEX32_G(Tsrc) * ia + ((g * TEX32_A(Tsrc)) >> 8);
- db += TEX32_B(Tsrc) * ia + ((b * TEX32_A(Tsrc)) >> 8);
+ uint32 dr = r2 * (256 - alpha);
+ uint32 dg = g2 * (256 - alpha);
+ uint32 db = b2 * (256 - alpha);
+ dr += TEX32_R(Tsrc) * ia + ((r * alpha) >> 8);
+ dg += TEX32_G(Tsrc) * ia + ((g * alpha) >> 8);
+ db += TEX32_B(Tsrc) * ia + ((b * alpha) >> 8);
*dest = format.RGBToColor(dr >> 8, dg >> 8, db >> 8);
}
}
- pixel += sizeof(uintX);
+ pixel += format.bytesPerPixel;
texel++;
}
}
@@ -401,7 +407,7 @@ template<class uintX> void SoftRenderSurface<uintX>::MaskedBlit(const Graphics::
if (*dest & aMask) {
*dest = BlendHighlight(*texel, r, g, b, 1, ia, format);
}
- pixel += sizeof(uintX);
+ pixel += format.bytesPerPixel;
texel++;
}
diff --git a/engines/ultima/ultima8/graphics/texture.h b/engines/ultima/ultima8/graphics/texture.h
index fc993e86adc..3d0641e1e2d 100644
--- a/engines/ultima/ultima8/graphics/texture.h
+++ b/engines/ultima/ultima8/graphics/texture.h
@@ -48,11 +48,6 @@ namespace Ultima8 {
#define TEX32_PACK_RGBA(r,g,b,a) (((a)<<TEX32_A_SHIFT)|((r)<<TEX32_R_SHIFT)|\
((g)<<TEX32_G_SHIFT)|((b)<<TEX32_B_SHIFT))
-#define TEX32_PACK_RGBA16(r,g,b,a) ((((a)>>8)<<TEX32_A_SHIFT)|\
- (((r)>>8)<<TEX32_R_SHIFT)|\
- (((g)>>8)<<TEX32_G_SHIFT)|\
- (((b)>>8)<<TEX32_B_SHIFT))
-
} // End of namespace Ultima8
} // End of namespace Ultima
Commit: 470755c12640be8aa13b2c958eee54938719fd4b
https://github.com/scummvm/scummvm/commit/470755c12640be8aa13b2c958eee54938719fd4b
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2023-01-04T18:22:51-06:00
Commit Message:
ULTIMA8: Use rect for render surface fill methods
Changed paths:
engines/ultima/ultima8/graphics/render_surface.cpp
engines/ultima/ultima8/graphics/render_surface.h
engines/ultima/ultima8/graphics/soft_render_surface.cpp
engines/ultima/ultima8/graphics/soft_render_surface.h
engines/ultima/ultima8/gumps/desktop_gump.cpp
engines/ultima/ultima8/gumps/message_box_gump.cpp
engines/ultima/ultima8/gumps/minimap_gump.cpp
engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
engines/ultima/ultima8/gumps/widgets/text_widget.cpp
engines/ultima/ultima8/ultima8.cpp
diff --git a/engines/ultima/ultima8/graphics/render_surface.cpp b/engines/ultima/ultima8/graphics/render_surface.cpp
index c45977c18db..4616213ea1c 100644
--- a/engines/ultima/ultima8/graphics/render_surface.cpp
+++ b/engines/ultima/ultima8/graphics/render_surface.cpp
@@ -323,8 +323,8 @@ bool RenderSurface::IsFlipped() const {
//
// Desc: Fill buffer (using a RGB colour)
//
-void RenderSurface::Fill32(uint32 rgb, int32 sx, int32 sy, int32 w, int32 h) {
- Rect rect(sx, sy, sx + w, sy + h);
+void RenderSurface::Fill32(uint32 rgb, const Rect &r) {
+ Rect rect = r;
rect.clip(_clipWindow);
rgb = _surface->format.RGBToColor((rgb >> 16) & 0xFF, (rgb >> 8) & 0xFF, rgb & 0xFF);
_surface->fillRect(Common::Rect(rect.left + _ox, rect.top + _oy, rect.right + _ox, rect.bottom + _oy), rgb);
diff --git a/engines/ultima/ultima8/graphics/render_surface.h b/engines/ultima/ultima8/graphics/render_surface.h
index 95d042e1138..286e5931034 100644
--- a/engines/ultima/ultima8/graphics/render_surface.h
+++ b/engines/ultima/ultima8/graphics/render_surface.h
@@ -149,13 +149,17 @@ public:
//
//! Fill buffer (using a RGB colour)
- virtual void Fill32(uint32 rgb, int32 sx, int32 sy, int32 w, int32 h);
+ void Fill32(uint32 rgb, int32 sx, int32 sy, int32 w, int32 h) {
+ Fill32(rgb, Rect(sx, sy, sx + w, sy + h));
+ }
+
+ virtual void Fill32(uint32 rgb, const Rect &r);
//! Fill alpha channel
- virtual void FillAlpha(uint8 alpha, int32 sx, int32 sy, int32 w, int32 h) = 0;
+ virtual void FillAlpha(uint8 alpha, const Rect &r) = 0;
//! Fill the region doing alpha blending
- virtual void FillBlended(uint32 rgba, int32 sx, int32 sy, int32 w, int32 h) = 0;
+ virtual void FillBlended(uint32 rgba, const Rect &r) = 0;
//
// The rule for painting methods:
diff --git a/engines/ultima/ultima8/graphics/soft_render_surface.cpp b/engines/ultima/ultima8/graphics/soft_render_surface.cpp
index da1eae881bf..aadda655ed8 100644
--- a/engines/ultima/ultima8/graphics/soft_render_surface.cpp
+++ b/engines/ultima/ultima8/graphics/soft_render_surface.cpp
@@ -54,15 +54,13 @@ template<class uintX> SoftRenderSurface<uintX>::SoftRenderSurface(Graphics::Mana
//#define CHECK_ALPHA_FILLS
-template<class uintX> void SoftRenderSurface<uintX>::FillAlpha(uint8 alpha, int32 sx, int32 sy, int32 w, int32 h) {
+template<class uintX> void SoftRenderSurface<uintX>::FillAlpha(uint8 alpha, const Rect &r) {
const Graphics::PixelFormat &format = _surface->format;
uint32 aMask = format.aMax() << format.aShift;
- Rect rect(sx, sy, sx + w, sy + h);
+ Rect rect = r;
rect.clip(_clipWindow);
- sx = rect.left;
- sy = rect.top;
- w = rect.width();
- h = rect.height();
+ int32 w = rect.width();
+ int32 h = rect.height();
if (!w || !h || !aMask)
return;
@@ -73,7 +71,7 @@ template<class uintX> void SoftRenderSurface<uintX>::FillAlpha(uint8 alpha, int3
h = 1;
}
- uint8 *pixel = _pixels + sy * _pitch + sx * format.bytesPerPixel;
+ uint8 *pixel = _pixels + rect.top * _pitch + rect.left * format.bytesPerPixel;
uint8 *end = pixel + h * _pitch;
uint8 *line_end = pixel + w * format.bytesPerPixel;
@@ -108,21 +106,19 @@ template<class uintX> void SoftRenderSurface<uintX>::FillAlpha(uint8 alpha, int3
}
}
-template<class uintX> void SoftRenderSurface<uintX>::FillBlended(uint32 rgba, int32 sx, int32 sy, int32 w, int32 h) {
+template<class uintX> void SoftRenderSurface<uintX>::FillBlended(uint32 rgba, const Rect &r) {
int alpha = TEX32_A(rgba);
if (alpha == 0xFF) {
- Fill32(rgba, sx, sy, w, h);
+ Fill32(rgba, r);
return;
} else if (!alpha) {
return;
}
- Rect rect(sx, sy, sx + w, sy + h);
+ Rect rect = r;
rect.clip(_clipWindow);
- sx = rect.left;
- sy = rect.top;
- w = rect.width();
- h = rect.height();
+ int32 w = rect.width();
+ int32 h = rect.height();
if (!w || !h) return;
@@ -134,7 +130,7 @@ template<class uintX> void SoftRenderSurface<uintX>::FillBlended(uint32 rgba, in
h = 1;
}
- uint8 *pixel = _pixels + sy * _pitch + sx * format.bytesPerPixel;
+ uint8 *pixel = _pixels + rect.top * _pitch + rect.left * format.bytesPerPixel;
uint8 *end = pixel + h * _pitch;
uint8 *line_end = pixel + w * format.bytesPerPixel;
diff --git a/engines/ultima/ultima8/graphics/soft_render_surface.h b/engines/ultima/ultima8/graphics/soft_render_surface.h
index 21856bed641..602eb0a8ee4 100644
--- a/engines/ultima/ultima8/graphics/soft_render_surface.h
+++ b/engines/ultima/ultima8/graphics/soft_render_surface.h
@@ -44,10 +44,10 @@ public:
//
//! Fill alpha channel
- void FillAlpha(uint8 alpha, int32 sx, int32 sy, int32 w, int32 h) override;
+ void FillAlpha(uint8 alpha, const Rect &r) override;
// Fill the region doing alpha blending
- void FillBlended(uint32 rgba, int32 sx, int32 sy, int32 w, int32 h) override;
+ void FillBlended(uint32 rgba, const Rect &r) override;
//
// The rule for painting methods:
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.cpp b/engines/ultima/ultima8/gumps/desktop_gump.cpp
index aae3efe1513..09906ad9b55 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.cpp
+++ b/engines/ultima/ultima8/gumps/desktop_gump.cpp
@@ -60,7 +60,7 @@ void DesktopGump::PaintChildren(RenderSurface *surf, int32 lerp_factor, bool sca
// Background is partially transparent
if (_fadedModal && dynamic_cast<ModalGump *>(g) &&
!dynamic_cast<TargetGump *>(g) && !g->IsHidden())
- surf->FillBlended(0x7F000000, 0, 0, _dims.width(), _dims.height());
+ surf->FillBlended(0x7F000000, _dims);
g->Paint(surf, lerp_factor, scaled);
}
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.cpp b/engines/ultima/ultima8/gumps/message_box_gump.cpp
index 95600a99137..dde173cbc9e 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.cpp
+++ b/engines/ultima/ultima8/gumps/message_box_gump.cpp
@@ -114,7 +114,7 @@ void MessageBoxGump::Close(bool no_del) {
void MessageBoxGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool /*scaled*/) {
// Background is partially transparent
- surf->FillBlended(0x80000000, 0, 0, _dims.width(), _dims.height());
+ surf->FillBlended(0x80000000, _dims);
uint32 line_colour = 0xFFFFFFFF;
if (!IsFocus()) line_colour = 0xFF7F7F7F;
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.cpp b/engines/ultima/ultima8/gumps/minimap_gump.cpp
index 44b18cc3ab4..734fb1809cd 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.cpp
+++ b/engines/ultima/ultima8/gumps/minimap_gump.cpp
@@ -116,11 +116,11 @@ void MiniMapGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled)
surf->DrawLine32(color, _dims.right -1, _dims.top, _dims.right - 1, _dims.bottom - 1);
// Dimensions minus border
- Common::Rect dims(_dims.left, _dims.top, _dims.right, _dims.bottom);
+ Rect dims = _dims;
dims.grow(-1);
// Fill the background
- surf->Fill32(0xFF000000, dims.left, dims.top, dims.width(), dims.height());
+ surf->Fill32(0xFF000000, dims);
// Center on avatar
int sx = _ax - dims.width() / 2;
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
index c4b8e8636c4..25593279e4a 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
@@ -87,7 +87,7 @@ void ShapeViewerGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool /*s
return;
}
- surf->Fill32(_background, 0, 0, _dims.width(), _dims.height());
+ surf->Fill32(_background, _dims);
int32 posx = (_dims.width() - _shapeW) / 2 + _shapeX;
int32 posy = (_dims.height() - _shapeH) / 2 + _shapeY - 25;
diff --git a/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp b/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
index 22c2f970c3c..b337da34105 100644
--- a/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
@@ -156,7 +156,7 @@ void EditWidget::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled)
renderText();
if (scaled && _gameFont && getFont()->isHighRes()) {
- surf->FillAlpha(0xFF, _dims.left, _dims.top, _dims.width(), _dims.height());
+ surf->FillAlpha(0xFF, _dims);
return;
}
@@ -176,7 +176,7 @@ void EditWidget::PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 s
Rect rect(_dims);
GumpRectToScreenSpace(rect, ROUND_OUTSIDE);
- surf->FillAlpha(0x00, rect.left, rect.top, rect.width(), rect.height());
+ surf->FillAlpha(0x00, rect);
}
// don't handle any mouse motion events, so let parent handle them for us.
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
index d65919c95e6..f0beddded5a 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
@@ -164,7 +164,7 @@ void TextWidget::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled)
renderText();
if (scaled && _gameFont && getFont()->isHighRes()) {
- surf->FillAlpha(0xFF, _dims.left, _dims.top, _dims.width(), _dims.height());
+ surf->FillAlpha(0xFF, _dims);
return;
}
@@ -196,7 +196,7 @@ void TextWidget::PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 s
Rect rect(_dims);
GumpRectToScreenSpace(rect, ROUND_OUTSIDE);
- surf->FillAlpha(0x00, rect.left, rect.top, rect.width(), rect.height());
+ surf->FillAlpha(0x00, rect);
}
// don't handle any mouse motion events, so let parent handle them for us.
diff --git a/engines/ultima/ultima8/ultima8.cpp b/engines/ultima/ultima8/ultima8.cpp
index 152bec22cf7..c2de86104a5 100644
--- a/engines/ultima/ultima8/ultima8.cpp
+++ b/engines/ultima/ultima8/ultima8.cpp
@@ -623,11 +623,11 @@ void Ultima8Engine::paint() {
Rect r;
_screen->GetSurfaceDims(r);
if (_highRes)
- _screen->Fill32(0, 0, 0, r.width(), r.height());
+ _screen->Fill32(0, r);
#ifdef DEBUG
// Fill the screen with an annoying color so we can see fast area bugs
- _screen->Fill32(0xFF10FF10, 0, 0, r.width(), r.height());
+ _screen->Fill32(0xFF10FF10, r);
#endif
_desktopGump->Paint(_screen, _lerpFactor, false);
More information about the Scummvm-git-logs
mailing list