diff options
author | Robert Göffringmann | 2003-06-30 16:59:41 +0000 |
---|---|---|
committer | Robert Göffringmann | 2003-06-30 16:59:41 +0000 |
commit | b421c9fde992191f61f324e9741875e3667a7a87 (patch) | |
tree | 9f53ca3fa4ab9b44d480abb7720e1760ac020d03 /sky | |
parent | 1f0c925c2b953c2832f478307ece40f9eb50058c (diff) | |
download | scummvm-rg350-b421c9fde992191f61f324e9741875e3667a7a87.tar.gz scummvm-rg350-b421c9fde992191f61f324e9741875e3667a7a87.tar.bz2 scummvm-rg350-b421c9fde992191f61f324e9741875e3667a7a87.zip |
finally fixed this stupid animation bug
svn-id: r8675
Diffstat (limited to 'sky')
-rw-r--r-- | sky/logic.cpp | 3 | ||||
-rw-r--r-- | sky/screen.cpp | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/sky/logic.cpp b/sky/logic.cpp index efb1dc7f23..c18ca5b6ec 100644 --- a/sky/logic.cpp +++ b/sky/logic.cpp @@ -697,7 +697,7 @@ bool SkyLogic::collide(Compact *cpt) { x -= m1->colOffset; // compensate for inner x offsets x += m2->colOffset; - if ((x + m2->colWidth) >= _compact->xcood) // their rightmoast + if ((x + m2->colWidth) < _compact->xcood) // their rightmoast return false; x -= m1->colWidth; // our left, their right @@ -1280,6 +1280,7 @@ bool SkyLogic::fnCacheFast(uint32 a, uint32 b, uint32 c) { bool SkyLogic::fnDrawScreen(uint32 a, uint32 b, uint32 c) { debug(5, "Call: fnDrawScreen(%X, %X)\n",a,b); + SkyState::_systemVars.currentPalette = a; _skyScreen->fnDrawScreen(a, b); return true; } diff --git a/sky/screen.cpp b/sky/screen.cpp index 7b5b175617..324ed0500e 100644 --- a/sky/screen.cpp +++ b/sky/screen.cpp @@ -300,6 +300,12 @@ void SkyScreen::fnFadeUp(uint32 palNum, uint32 scroll) { //_currentScreen points to new screen, //_scrollScreen points to graphic showing old room + if (scroll == 13) scroll = 123; // script bug (?) in lower area + if ((scroll != 123) && (scroll != 321) && (scroll)) { + warning("unknown scroll parameter %d",scroll); + scroll = 0; + } + if ((scroll == 0) || (SkyState::_systemVars.systemFlags & SF_NO_SCROLL)) { uint8 *palette = (uint8*)SkyState::fetchCompact(palNum); if (palette == NULL) @@ -350,7 +356,7 @@ void SkyScreen::fnFadeUp(uint32 palNum, uint32 scroll) { } showScreen(_currentScreen); free(_scrollScreen); - } else error("Unknown scroll parameter: %d\n",scroll); + } } void SkyScreen::waitForTimer(void) { |