diff options
author | uruk | 2014-02-14 17:12:00 +0100 |
---|---|---|
committer | uruk | 2014-02-14 17:12:09 +0100 |
commit | 616d9959f38c1facc2a0362173104dabe1ab1292 (patch) | |
tree | 56ebf5e7f3788831cc967e8b8b1859efd4cbffd0 /engines/avalanche/graphics.cpp | |
parent | c5e7aa8e93cbc1bea8442ac88a4e6db9873763e2 (diff) | |
download | scummvm-rg350-616d9959f38c1facc2a0362173104dabe1ab1292.tar.gz scummvm-rg350-616d9959f38c1facc2a0362173104dabe1ab1292.tar.bz2 scummvm-rg350-616d9959f38c1facc2a0362173104dabe1ab1292.zip |
AVALANCHE: Move/rename/implement SEU::titles().
Diffstat (limited to 'engines/avalanche/graphics.cpp')
-rw-r--r-- | engines/avalanche/graphics.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index e1d92230a5..a1087375b2 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -698,6 +698,39 @@ void GraphicManager::helpDrawHighlight(byte which, Color color) { } /** + * @remarks Originally called 'titles' + */ +void GraphicManager::seuDrawTitle() { + Common::File file; + + if (!file.open("shoot1.avd")) + error("AVALANCHE: ShootEmUp: File not found: shoot1.avd"); + + const uint16 width = 320; + const uint16 height = 200; + + Graphics::Surface picture = loadPictureRaw(file, width, height); + + Graphics::Surface doubledPicture; + doubledPicture.create(width * 2, height, Graphics::PixelFormat::createFormatCLUT8()); + + // These cycles are for doubling the picture's width. + for (int x = (width * 2) - 2 ; x >= 0; x -= 2) { + for (int y = 0; y < height; y++) { + *(byte *)doubledPicture.getBasePtr(x, y) = *(byte *)doubledPicture.getBasePtr(x + 1, y) = *(byte *)picture.getBasePtr(x / 2, y); + } + } + + drawPicture(_surface, doubledPicture, 0, 0); + refreshScreen(); + + picture.free(); + doubledPicture.free(); + + file.close(); +} + +/** * This function mimics Pascal's getimage(). */ Graphics::Surface GraphicManager::loadPictureGraphic(Common::File &file) { |