aboutsummaryrefslogtreecommitdiff
path: root/sky/control.cpp
diff options
context:
space:
mode:
authorRobert Göffringmann2003-07-14 09:16:12 +0000
committerRobert Göffringmann2003-07-14 09:16:12 +0000
commitd971845fab4473e6e2f609cd9463993223f55f80 (patch)
tree58e2b9b935c6c5ec0a9130279188e35af093e2dd /sky/control.cpp
parent40eac8b182143586e4e336ff3a1412c6c27ec697 (diff)
downloadscummvm-rg350-d971845fab4473e6e2f609cd9463993223f55f80.tar.gz
scummvm-rg350-d971845fab4473e6e2f609cd9463993223f55f80.tar.bz2
scummvm-rg350-d971845fab4473e6e2f609cd9463993223f55f80.zip
fixed text drawing bug and made sure autosave doesn't save if engine is in logic_choose mode
svn-id: r9006
Diffstat (limited to 'sky/control.cpp')
-rw-r--r--sky/control.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/sky/control.cpp b/sky/control.cpp
index 23cdbd21a0..4d20239a54 100644
--- a/sky/control.cpp
+++ b/sky/control.cpp
@@ -122,18 +122,16 @@ void SkyTextResource::drawToScreen(bool doMask) {
_oldX = _x;
_oldY = _y;
cpWidth = (PAN_LINE_WIDTH > (GAME_SCREEN_WIDTH - _x))?(GAME_SCREEN_WIDTH - _x):(PAN_LINE_WIDTH);
- if (_spriteData && (cpWidth > _spriteData->s_width))
+ if (cpWidth > _spriteData->s_width)
cpWidth = _spriteData->s_width;
- if (_spriteData)
- cpHeight = (_spriteData->s_height > (GAME_SCREEN_HEIGHT - _y))?(GAME_SCREEN_HEIGHT - _y):(_spriteData->s_height);
- else
- cpHeight = PAN_CHAR_HEIGHT;
+ cpHeight = (_spriteData->s_height > (GAME_SCREEN_HEIGHT - _y))?(GAME_SCREEN_HEIGHT - _y):(_spriteData->s_height);
+
uint8 *screenPos = _screen + _y * GAME_SCREEN_WIDTH + _x;
uint8 *copyDest = _oldScreen;
uint8 *copySrc = ((uint8 *)_spriteData) + sizeof(dataFileHeader);
for (cnty = 0; cnty < cpHeight; cnty++) {
memcpy(copyDest, screenPos, cpWidth);
- for (cntx = 0; cntx < PAN_LINE_WIDTH; cntx++)
+ for (cntx = 0; cntx < cpWidth; cntx++)
if (copySrc[cntx]) screenPos[cntx] = copySrc[cntx];
copySrc += _spriteData->s_width;
copyDest += PAN_LINE_WIDTH;