aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/lol.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2009-06-22 02:36:54 +0000
committerJohannes Schickel2009-06-22 02:36:54 +0000
commit73ea378dee4e7ec31c7a898e7fcc3a65a9eb6cc1 (patch)
tree6d00cd2c533aeefb72d874f59aa01b9d0e918db5 /engines/kyra/lol.cpp
parent4bb392b593c492299dd916784548dc56bc0b25cb (diff)
downloadscummvm-rg350-73ea378dee4e7ec31c7a898e7fcc3a65a9eb6cc1.tar.gz
scummvm-rg350-73ea378dee4e7ec31c7a898e7fcc3a65a9eb6cc1.tar.bz2
scummvm-rg350-73ea378dee4e7ec31c7a898e7fcc3a65a9eb6cc1.zip
- Changed the following Screen functions to take a reference to a Palette object:
-> setScreenPalette -> fadePalette -> getFadeParams -> fadePalStep - Fixed initialization of 256 color palettes svn-id: r41743
Diffstat (limited to 'engines/kyra/lol.cpp')
-rw-r--r--engines/kyra/lol.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index 052a805843..66668ce08e 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -1677,7 +1677,7 @@ void LoLEngine::transformRegion(int x1, int y1, int x2, int y2, int w, int h, in
void LoLEngine::setPaletteBrightness(uint8 *palette, int brightness, int modifier) {
generateBrightnessPalette(palette, _screen->getPalette(1).getData(), brightness, modifier);
- _screen->fadePalette(_screen->getPalette(1).getData(), 5, 0);
+ _screen->fadePalette(_screen->getPalette(1), 5, 0);
_screen->_fadeFlag = 0;
}
@@ -2617,7 +2617,7 @@ int LoLEngine::processMagicLightning(int charNum, int spellLevel) {
mov->close();
delete mov;
- _screen->setScreenPalette(_screen->getPalette(1).getData());
+ _screen->setScreenPalette(_screen->getPalette(1));
_screen->copyPage(12, 2);
_screen->copyPage(12, 0);
updateDrawPage2();
@@ -2836,20 +2836,22 @@ void LoLEngine::callbackProcessMagicSwarm(WSAMovie_v2 *mov, int x, int y) {
}
void LoLEngine::callbackProcessMagicLightning(WSAMovie_v2 *mov, int x, int y) {
- uint8 *tpal = new uint8[768];
if (_lightningDiv == 2)
shakeScene(1, 2, 3, 0);
- uint8 *p1 = _screen->getPalette(1).getData();
+ const Palette &p1 = _screen->getPalette(1);
if (_lightningSfxFrame % _lightningDiv) {
_screen->setScreenPalette(p1);
} else {
- memcpy(tpal, p1, 768);
+ Palette tpal(p1.getNumColors());
+ tpal.copy(p1);
+
for (int i = 6; i < 384; i++) {
uint16 v = (tpal[i] * 120) / 64;
tpal[i] = (v < 64) ? v : 63;
}
+
_screen->setScreenPalette(tpal);
}
@@ -2864,7 +2866,6 @@ void LoLEngine::callbackProcessMagicLightning(WSAMovie_v2 *mov, int x, int y) {
}
_lightningSfxFrame++;
- delete[] tpal;
}
void LoLEngine::drinkBezelCup(int numUses, int charNum) {
@@ -3871,7 +3872,7 @@ void LoLEngine::displayAutomap() {
_screen->copyPage(2, 0);
_screen->updateScreen();
- _screen->fadePalette(_screen->getPalette(3).getData(), 10);
+ _screen->fadePalette(_screen->getPalette(3), 10);
uint32 delayTimer = _system->getMillis() + 8 * _tickLength;
while (!exitAutomap && !shouldQuit()) {