aboutsummaryrefslogtreecommitdiff
path: root/engines/prince/prince.h
diff options
context:
space:
mode:
authorlukaslw2014-08-16 22:54:38 +0200
committerlukaslw2014-08-16 22:54:38 +0200
commit9bda7c37c376a7c925a4b44184dddc952813c2d5 (patch)
treeb2443f11f25b817ee2dc9dbd3b7fb0194390fb82 /engines/prince/prince.h
parent422054f81cdcdd3f962afd8f777e83458b3f4588 (diff)
downloadscummvm-rg350-9bda7c37c376a7c925a4b44184dddc952813c2d5.tar.gz
scummvm-rg350-9bda7c37c376a7c925a4b44184dddc952813c2d5.tar.bz2
scummvm-rg350-9bda7c37c376a7c925a4b44184dddc952813c2d5.zip
PRINCE: Shadows drawing - update
Diffstat (limited to 'engines/prince/prince.h')
-rw-r--r--engines/prince/prince.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/engines/prince/prince.h b/engines/prince/prince.h
index 7e4592ad54..3c7b381caf 100644
--- a/engines/prince/prince.h
+++ b/engines/prince/prince.h
@@ -227,6 +227,7 @@ struct DrawNode {
int posZ;
int32 width;
int32 height;
+ int32 scaleValue;
Graphics::Surface *s;
Graphics::Surface *originalRoomSurface;
void *data;
@@ -325,19 +326,28 @@ public:
uint16 _sceneWidth;
int32 _picWindowX;
int32 _picWindowY;
- int16 _lightX; // for hero shadow
- int16 _lightY;
+
Image::BitmapDecoder *_roomBmp;
MhwanhDecoder *_suitcaseBmp;
Room *_room;
Script *_script;
InterpreterFlags *_flags;
Interpreter *_interpreter;
+ GraphicsMan *_graph;
uint8 _currentMidi;
byte *_zoomBitmap;
byte *_shadowBitmap;
byte *_transTable;
+ int16 _scaleValue; // scale for hero or special shadow animation
+ int16 _lightX; // for hero shadow
+ int16 _lightY;
+ int32 _shadScaleValue;
+ int32 _shadLineLen;
+ byte *_shadowLine;
+ void setShadowScale(int32 shadowScale);
+ static void plotShadowLinePoint(int x, int y, int color, void *data);
+
static const int16 kFPS = 15;
static const int16 kMaxPicWidth = 1280;
@@ -345,6 +355,7 @@ public:
static const int16 kZoomStep = 4;
static const int32 kZoomBitmapLen = kMaxPicHeight / kZoomStep * kMaxPicWidth / kZoomStep;
static const int32 kShadowBitmapSize = kMaxPicWidth * kMaxPicHeight / 8;
+ static const int16 kShadowLineArraySize = 2 * 1280 * 4;
static const int16 kZoomBitmapWidth = kMaxPicWidth / kZoomStep;
static const int16 kZoomBitmapHeight = kMaxPicHeight / kZoomStep;
static const int16 kNormalWidth = 640;
@@ -630,7 +641,6 @@ private:
Graphics::Surface *_cursor2;
Cursor *_cursor3;
Debugger *_debugger;
- GraphicsMan *_graph;
Font *_font;
MusicPlayer *_midiPlayer;