diff options
Diffstat (limited to 'engines/neverhood/graphics.cpp')
-rw-r--r-- | engines/neverhood/graphics.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/neverhood/graphics.cpp b/engines/neverhood/graphics.cpp index fa7c15211a..3d21e8e7de 100644 --- a/engines/neverhood/graphics.cpp +++ b/engines/neverhood/graphics.cpp @@ -74,6 +74,20 @@ void BaseSurface::drawSpriteResource(SpriteResource &spriteResource) { } } +void BaseSurface::drawSpriteResourceEx(SpriteResource &spriteResource, bool flipX, bool flipY, int16 width, int16 height) { + if (spriteResource.getDimensions().width <= _sysRect.width && + spriteResource.getDimensions().height <= _sysRect.height) { + if (width > 0 && width <= _sysRect.width) + _drawRect.width = width; + if (height > 0 && height <= _sysRect.height) + _drawRect.height = height; + if (_surface) { + clear(); + spriteResource.draw((byte*)_surface->pixels, _surface->pitch, flipX, flipY); + } + } +} + // Misc void parseBitmapResource(byte *sprite, bool *rle, NDimensions *dimensions, NPoint *position, byte **palette, byte **pixels) { |