aboutsummaryrefslogtreecommitdiff
path: root/engines/prince/graphics.cpp
diff options
context:
space:
mode:
authorlukaslw2014-05-07 21:55:25 +0200
committerlukaslw2014-06-22 20:07:58 +0200
commit11fc17fc50d171d567e21ba49e39f10f448cb769 (patch)
tree74dba15d7acea272a8e00a52d13a535e50fdd89e /engines/prince/graphics.cpp
parent2dc0b21bea761af1e216cae768ed02529a1038ed (diff)
downloadscummvm-rg350-11fc17fc50d171d567e21ba49e39f10f448cb769.tar.gz
scummvm-rg350-11fc17fc50d171d567e21ba49e39f10f448cb769.tar.bz2
scummvm-rg350-11fc17fc50d171d567e21ba49e39f10f448cb769.zip
PRINCE: Change init() to Graphics::drawLine(), code clean up
Diffstat (limited to 'engines/prince/graphics.cpp')
-rw-r--r--engines/prince/graphics.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/engines/prince/graphics.cpp b/engines/prince/graphics.cpp
index ea03204657..1edf22cfac 100644
--- a/engines/prince/graphics.cpp
+++ b/engines/prince/graphics.cpp
@@ -98,31 +98,28 @@ void GraphicsMan::makeShadowTable(int brightness, byte *shadowPallete) {
int32 currColor;
int shadow = brightness * 256 / 100;
- byte *originalPallete = new byte[256 * 3];
+ byte *originalPallete = (byte *)malloc(256 * 3);
_vm->_system->getPaletteManager()->grabPalette(originalPallete, 0, 256);
- Common::MemoryReadStream readFirstStream(originalPallete, 256 * 3);
- Common::MemoryWriteStream writeStream(shadowPallete, 256);
for (int i = 0; i < 256; i++) {
- redFirstOrg = readFirstStream.readByte() * shadow / 256;
- greenFirstOrg = readFirstStream.readByte() * shadow / 256;
- blueFirstOrg = readFirstStream.readByte() * shadow / 256;
+ redFirstOrg = originalPallete[3 * i] * shadow / 256;
+ greenFirstOrg = originalPallete[3 * i + 1] * shadow / 256;
+ blueFirstOrg = originalPallete[3 * i + 2] * shadow / 256;
currColor = 0;
- Common::MemoryReadStream readSecondStream(originalPallete, 256 * 3);
bigValue = 999999999; // infinity
for (int j = 0; j < 256; j++) {
- redSecondOrg = readSecondStream.readByte();
+ redSecondOrg = originalPallete[3 * j];
redNew = redFirstOrg - redSecondOrg;
redNew = redNew * redNew;
- greenSecondOrg = readSecondStream.readByte();
+ greenSecondOrg = originalPallete[3 * j + 1];
greenNew = greenFirstOrg - greenSecondOrg;
greenNew = greenNew * greenNew;
- blueSecondOrg = readSecondStream.readByte();
+ blueSecondOrg = originalPallete[3 * j + 2];
blueNew = blueFirstOrg - blueSecondOrg;
blueNew = blueNew * blueNew;
@@ -137,9 +134,9 @@ void GraphicsMan::makeShadowTable(int brightness, byte *shadowPallete) {
break;
}
}
- writeStream.writeByte(currColor);
+ shadowPallete[i] = currColor;
}
- delete[] originalPallete;
+ free(originalPallete);
}
}