aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/graphics.cpp
diff options
context:
space:
mode:
authorjohndoe1232011-07-05 18:19:46 +0000
committerWillem Jan Palenstijn2013-05-08 20:30:58 +0200
commit056b69f0c8b2c69f3040fa54268b22c6463627b0 (patch)
treef1087de601bb89280b4322d4b2272d1a2aefc6ed /engines/neverhood/graphics.cpp
parent6b71d177925ff21787fb792dc05ac048eadbbca3 (diff)
downloadscummvm-rg350-056b69f0c8b2c69f3040fa54268b22c6463627b0.tar.gz
scummvm-rg350-056b69f0c8b2c69f3040fa54268b22c6463627b0.tar.bz2
scummvm-rg350-056b69f0c8b2c69f3040fa54268b22c6463627b0.zip
NEVERHOOD: Module1000 and Scene1001 skeletons
- Implement BaseSurface::drawSpriteResourceEx - Use CollisionMan in Scene - Some cleanup
Diffstat (limited to 'engines/neverhood/graphics.cpp')
-rw-r--r--engines/neverhood/graphics.cpp14
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) {