aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Göffringmann2003-07-12 04:21:20 +0000
committerRobert Göffringmann2003-07-12 04:21:20 +0000
commitb241be004d0a0a4c7ff65595def095a1939cc03f (patch)
tree7f0ab954857f8c8fd5c8435f1b0f379c823c6499
parent3c604ee891d4e5332fd817cb32c4a93b6da4f1a9 (diff)
downloadscummvm-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.cpp5
-rw-r--r--sky/screen.cpp23
-rw-r--r--sky/screen.h1
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;