diff options
author | johndoe123 | 2011-07-05 18:19:46 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:30:58 +0200 |
commit | 056b69f0c8b2c69f3040fa54268b22c6463627b0 (patch) | |
tree | f1087de601bb89280b4322d4b2272d1a2aefc6ed /engines/neverhood/graphics.cpp | |
parent | 6b71d177925ff21787fb792dc05ac048eadbbca3 (diff) | |
download | scummvm-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.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) { |