aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/graphics.cpp
diff options
context:
space:
mode:
authoruruk2014-02-14 17:12:00 +0100
committeruruk2014-02-14 17:12:09 +0100
commit616d9959f38c1facc2a0362173104dabe1ab1292 (patch)
tree56ebf5e7f3788831cc967e8b8b1859efd4cbffd0 /engines/avalanche/graphics.cpp
parentc5e7aa8e93cbc1bea8442ac88a4e6db9873763e2 (diff)
downloadscummvm-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.cpp33
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) {