diff options
author | lukaslw | 2014-05-02 22:31:18 +0200 |
---|---|---|
committer | lukaslw | 2014-06-22 20:07:55 +0200 |
commit | 6565c95279cbea8c2f94fc3d5d05adb675e7f327 (patch) | |
tree | 75f46ace95452e2b6c746faa91e451bfc964343b /engines/prince/graphics.cpp | |
parent | acf9ac241eb1d23d435643f0d0ff2c04d78945d9 (diff) | |
download | scummvm-rg350-6565c95279cbea8c2f94fc3d5d05adb675e7f327.tar.gz scummvm-rg350-6565c95279cbea8c2f94fc3d5d05adb675e7f327.tar.bz2 scummvm-rg350-6565c95279cbea8c2f94fc3d5d05adb675e7f327.zip |
PRINCE: makeShadowTable(), shadowMinus, begin of showHeroShadow()
Diffstat (limited to 'engines/prince/graphics.cpp')
-rw-r--r-- | engines/prince/graphics.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/prince/graphics.cpp b/engines/prince/graphics.cpp index 3f9517a6e9..c4e994fe7e 100644 --- a/engines/prince/graphics.cpp +++ b/engines/prince/graphics.cpp @@ -26,6 +26,8 @@ #include "graphics/palette.h" +#include "common/memstream.h" + namespace Prince { GraphicsMan::GraphicsMan(PrinceEngine *vm) @@ -33,11 +35,15 @@ GraphicsMan::GraphicsMan(PrinceEngine *vm) initGraphics(640, 480, true); _frontScreen = new Graphics::Surface(); _frontScreen->create(640, 480, Graphics::PixelFormat::createFormatCLUT8()); + _shadowTable70 = new byte[256 * 3]; + _shadowTable50 = new byte[256 * 3]; } GraphicsMan::~GraphicsMan() { _frontScreen->free(); delete _frontScreen; + delete[] _shadowTable70; + delete[] _shadowTable50; } void GraphicsMan::update() { @@ -82,6 +88,18 @@ void GraphicsMan::drawTransparent(uint16 posX, uint16 posY, const Graphics::Surf change(); } +void GraphicsMan::makeShadowTable(int brightness, byte *shadowPallete) { + int shadow = brightness * 256 / 100; + byte *orginalPallete = new byte[256 * 3]; + _vm->_system->getPaletteManager()->grabPalette(orginalPallete, 0, 256); + Common::MemoryReadStream readS(orginalPallete, 256 * 3); + Common::MemoryWriteStream writeS(shadowPallete, 256 * 3); + for(int i = 0; i < 256 * 3; i++) { + writeS.writeByte(readS.readByte() * shadow / 256); + } + delete[] orginalPallete; +} + } /* vim: set tabstop=4 noexpandtab: */ |