diff options
author | Robert Göffringmann | 2003-07-12 04:21:20 +0000 |
---|---|---|
committer | Robert Göffringmann | 2003-07-12 04:21:20 +0000 |
commit | b241be004d0a0a4c7ff65595def095a1939cc03f (patch) | |
tree | 7f0ab954857f8c8fd5c8435f1b0f379c823c6499 | |
parent | 3c604ee891d4e5332fd817cb32c4a93b6da4f1a9 (diff) | |
download | scummvm-rg350-b241be004d0a0a4c7ff65595def095a1939cc03f.tar.gz scummvm-rg350-b241be004d0a0a4c7ff65595def095a1939cc03f.tar.bz2 scummvm-rg350-b241be004d0a0a4c7ff65595def095a1939cc03f.zip |
removed useless _backScreen from SkyScreen
svn-id: r8923
-rw-r--r-- | sky/logic.cpp | 5 | ||||
-rw-r--r-- | sky/screen.cpp | 23 | ||||
-rw-r--r-- | sky/screen.h | 1 |
3 files changed, 7 insertions, 22 deletions
diff --git a/sky/logic.cpp b/sky/logic.cpp index 9caf1ba0a1..1b3b939baf 100644 --- a/sky/logic.cpp +++ b/sky/logic.cpp @@ -2288,7 +2288,10 @@ bool SkyLogic::fnPrintCredit(uint32 a, uint32 b, uint32 c) { lowTextManager_t creditText = _skyText->lowTextManager(a , 240, 0, 248, true); Compact *credCompact = SkyState::fetchCompact(creditText.compactNum); credCompact->xcood = 168; - credCompact->ycood = (uint16)c; + if ((a == 558) && (c == 215)) + credCompact->ycood = 211; + else + credCompact->ycood = (uint16)c; _scriptVariables[RESULT] = creditText.compactNum; return true; } diff --git a/sky/screen.cpp b/sky/screen.cpp index 32bc7ed113..68ea64b765 100644 --- a/sky/screen.cpp +++ b/sky/screen.cpp @@ -51,7 +51,6 @@ SkyScreen::SkyScreen(OSystem *pSystem, SkyDisk *pDisk) { _system->init_size(FULL_SCREEN_WIDTH, FULL_SCREEN_HEIGHT); _gameGrid = (uint8 *)malloc(GRID_X * GRID_Y * 2); - _backScreen = (uint8 *)malloc(GAME_SCREEN_WIDTH * GAME_SCREEN_HEIGHT); forceRefresh(); _currentScreen = NULL; @@ -81,7 +80,6 @@ SkyScreen::~SkyScreen(void) { free(_gameGrid); if (_currentScreen) free(_currentScreen); - if (_backScreen) free(_backScreen); } void SkyScreen::clearScreen(void) { @@ -170,7 +168,7 @@ void SkyScreen::recreate(void) { if (!screenData) { error("SkyScreen::recreate():\nSkyState::fetchItem(SkyLogic::_scriptVariables[LAYER_0_ID](%X)) returned NULL",SkyLogic::_scriptVariables[LAYER_0_ID]); } - uint8 *screenPos = _backScreen; + uint8 *screenPos = _currentScreen; for (uint8 cnty = 0; cnty < GRID_Y; cnty++) { for (uint8 cntx = 0; cntx < GRID_X; cntx++) { @@ -196,9 +194,6 @@ void SkyScreen::recreate(void) { void SkyScreen::flip(bool doUpdate) { - SkyState::_systemVars.mouseFlag |= MF_NO_UPDATE; - uint8 *screenPos = _currentScreen; - uint8 *backPos = _backScreen; uint32 copyX, copyWidth; copyX = copyWidth = 0; for (uint8 cnty = 0; cnty < GRID_Y; cnty++) { @@ -207,28 +202,16 @@ void SkyScreen::flip(bool doUpdate) { _gameGrid[cnty * GRID_X + cntx] &= ~1; if (!copyWidth) copyX = cntx * GRID_W; copyWidth += GRID_W; - uint8 *copySrc = backPos; - uint8 *copyDest = screenPos; - for (uint8 gridLineCnt = 0; gridLineCnt < GRID_H; gridLineCnt++) { - memcpy(copyDest, copySrc, GRID_W); - copySrc += GAME_SCREEN_WIDTH; - copyDest += GAME_SCREEN_WIDTH; - } } else if (copyWidth) { _system->copy_rect(_currentScreen + cnty * GRID_H * GAME_SCREEN_WIDTH + copyX, GAME_SCREEN_WIDTH, copyX, cnty * GRID_H, copyWidth, GRID_H); copyWidth = 0; } - backPos += GRID_W; - screenPos += GRID_W; } if (copyWidth) { _system->copy_rect(_currentScreen + cnty * GRID_H * GAME_SCREEN_WIDTH + copyX, GAME_SCREEN_WIDTH, copyX, cnty * GRID_H, copyWidth, GRID_H); copyWidth = 0; } - screenPos += (GRID_H - 1) * GAME_SCREEN_WIDTH; - backPos += (GRID_H - 1) * GAME_SCREEN_WIDTH; } - SkyState::_systemVars.mouseFlag &= ~MF_NO_UPDATE; if (doUpdate) _system->update_screen(); } @@ -663,7 +646,7 @@ void SkyScreen::drawSprite(uint8 *spriteInfo, Compact *sprCompact) { } } _sprX = (uint32)spriteX; - uint8 *screenPtr = _backScreen + _sprY * GAME_SCREEN_WIDTH + _sprX; + uint8 *screenPtr = _currentScreen + _sprY * GAME_SCREEN_WIDTH + _sprX; if ((_sprHeight > 192) || (_sprY > 192)) { _sprWidth = 0; return; @@ -730,7 +713,7 @@ void SkyScreen::verticalMask(void) { if (_sprWidth == 0) return ; uint32 startGridOfs = (_sprY + _sprHeight - 1) * GRID_X + _sprX; - uint8 *startScreenPtr = (_sprY + _sprHeight - 1) * GRID_H * GAME_SCREEN_WIDTH + _sprX * GRID_W + _backScreen; + uint8 *startScreenPtr = (_sprY + _sprHeight - 1) * GRID_H * GAME_SCREEN_WIDTH + _sprX * GRID_W + _currentScreen; for (uint32 layerCnt = LAYER_1_ID; layerCnt <= LAYER_3_ID; layerCnt++) { uint32 gridOfs = startGridOfs; diff --git a/sky/screen.h b/sky/screen.h index 59ab046266..6ad9cf63e5 100644 --- a/sky/screen.h +++ b/sky/screen.h @@ -100,7 +100,6 @@ private: uint8 *_gameGrid; uint8 *_currentScreen; uint8 *_scrollScreen; - uint8 *_backScreen; struct { uint32 framesLeft; uint32 delay; |