diff options
| author | Max Horn | 2007-02-15 10:30:30 +0000 | 
|---|---|---|
| committer | Max Horn | 2007-02-15 10:30:30 +0000 | 
| commit | 41898a3dd973a53e11ada1abea5299362493a28b (patch) | |
| tree | 70954e5ea42249d861a4d347b15382355bd95a1b | |
| parent | ec27c53491a60258ecb8a67a023964d5ff94b9ab (diff) | |
| download | scummvm-rg350-41898a3dd973a53e11ada1abea5299362493a28b.tar.gz scummvm-rg350-41898a3dd973a53e11ada1abea5299362493a28b.tar.bz2 scummvm-rg350-41898a3dd973a53e11ada1abea5299362493a28b.zip | |
Fix for bug #1451720: MANIACNES: Actors don't appear if outside camera range
svn-id: r25600
| -rw-r--r-- | engines/scumm/costume.cpp | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/engines/scumm/costume.cpp b/engines/scumm/costume.cpp index 82201a6017..aba347f939 100644 --- a/engines/scumm/costume.cpp +++ b/engines/scumm/costume.cpp @@ -655,6 +655,11 @@ byte NESCostumeRenderer::drawLimb(const Actor *a, int limb) {  			x = -x;  		} +		left = MIN(left, _actorX + x); +		right = MAX(right, _actorX + x + 8); +		top = MIN(top, _actorY + y); +		bottom = MAX(bottom, _actorY + y + 8); +  		if ((_actorX + x < 0) || (_actorX + x + 8 >= _out.w))  			continue;  		if ((_actorY + y < 0) || (_actorY + y + 8 >= _out.h)) @@ -681,10 +686,6 @@ byte NESCostumeRenderer::drawLimb(const Actor *a, int limb) {  					*((byte *)_out.pixels + my * _out.pitch + mx) = palette[c];  			}  		} -		left = MIN(left, _actorX + x); -		right = MAX(right, _actorX + x + 8); -		top = MIN(top, _actorY + y); -		bottom = MAX(bottom, _actorY + y + 8);  	}  	_draw_top = top; | 
