aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/isomap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/saga/isomap.cpp')
-rw-r--r--engines/saga/isomap.cpp23
1 files changed, 4 insertions, 19 deletions
diff --git a/engines/saga/isomap.cpp b/engines/saga/isomap.cpp
index b889397280..b49a9e1d0a 100644
--- a/engines/saga/isomap.cpp
+++ b/engines/saga/isomap.cpp
@@ -26,9 +26,7 @@
// Isometric level module
#include "saga/saga.h"
-
#include "saga/gfx.h"
-
#include "saga/sagaresnames.h"
#include "saga/scene.h"
#include "saga/isomap.h"
@@ -405,23 +403,10 @@ void IsoMap::drawSprite(Surface *ds, SpriteList &spriteList, int spriteNumber, c
spritePointer.x = screenPosition.x + xAlign;
spritePointer.y = screenPosition.y + yAlign;
- _tileClip.left = spritePointer.x;
- _tileClip.top = spritePointer.y;
- _tileClip.right = spritePointer.x + width;
- _tileClip.bottom = spritePointer.y + height;
-
- if (_tileClip.left < 0) {
- _tileClip.left = 0;
- }
- if (_tileClip.right > _vm->getDisplayWidth()) {
- _tileClip.right = _vm->getDisplayWidth();
- }
- if (_tileClip.top < 0) {
- _tileClip.top = 0;
- }
- if (_tileClip.bottom > _vm->_scene->getHeight()) {
- _tileClip.bottom = _vm->_scene->getHeight();
- }
+ _tileClip.left = CLIP((int)spritePointer.x, 0, _vm->getDisplayWidth());
+ _tileClip.right = CLIP((int)spritePointer.x + width, 0, _vm->getDisplayWidth());
+ _tileClip.top = CLIP((int)spritePointer.y, 0, _vm->_scene->getHeight());
+ _tileClip.bottom = CLIP((int)spritePointer.y + height, 0, _vm->_scene->getHeight());
_vm->_sprite->drawClip(ds, clip, spritePointer, width, height, spriteBuffer);
drawTiles(ds, &location);