aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek/graphics.cpp
diff options
context:
space:
mode:
authorMatthew Stewart2018-07-23 05:36:32 -0400
committerEugene Sandulenko2018-08-09 08:37:30 +0200
commiteff87179da0554446837a732bb6855f6c7f8a890 (patch)
tree87ace1e7847dcf6d589f60a33fb5acfcdc1d91e7 /engines/startrek/graphics.cpp
parent565bf0e96750588e8a7f6816e79683e97896f8de (diff)
downloadscummvm-rg350-eff87179da0554446837a732bb6855f6c7f8a890.tar.gz
scummvm-rg350-eff87179da0554446837a732bb6855f6c7f8a890.tar.bz2
scummvm-rg350-eff87179da0554446837a732bb6855f6c7f8a890.zip
STARTREK: Half-done implementation of drawR3Shape
Handles drawing, scaling, probably rotating objects in space.
Diffstat (limited to 'engines/startrek/graphics.cpp')
-rw-r--r--engines/startrek/graphics.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/startrek/graphics.cpp b/engines/startrek/graphics.cpp
index 6fe1c8f9ba..1612dc0347 100644
--- a/engines/startrek/graphics.cpp
+++ b/engines/startrek/graphics.cpp
@@ -105,6 +105,10 @@ void Graphics::fillBackgroundRect(const Common::Rect &rect, byte color) {
}
}
+byte *Graphics::getBackgroundPixels() {
+ return _backgroundImage->pixels;
+}
+
void Graphics::clearScreenAndPriBuffer() {
Common::fill(_priData, _priData + sizeof(_priData), 0);
@@ -131,6 +135,17 @@ void Graphics::loadPalette(const Common::String &paletteName) {
lutStream->read(_lutData, 256);
}
+void Graphics::copyRectBetweenBitmaps(Bitmap *destBitmap, int destX, int destY, Bitmap *srcBitmap, int srcX, int srcY, int width, int height) {
+ byte *src = srcBitmap->pixels + srcX + srcY * srcBitmap->width;
+ byte *dest = destBitmap->pixels + destX + destY * destBitmap->width;
+
+ for (int y = 0; y < height; y++) {
+ memcpy(dest, src, width);
+ src += srcBitmap->width;
+ dest += destBitmap->width;
+ }
+}
+
void Graphics::fadeinScreen() {
while (_paletteFadeLevel <= 100) {
TrekEvent event;