Skip to content

Commit

Permalink
FULLPIPE: Implement Movement::draw()
Browse files Browse the repository at this point in the history
  • Loading branch information
sev- committed Sep 6, 2013
1 parent 9f52e9f commit 2167968
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 0 deletions.
18 changes: 18 additions & 0 deletions engines/fullpipe/gfx.cpp
Expand Up @@ -798,6 +798,24 @@ Bitmap *Bitmap::reverseImage() {
return this;
}

Bitmap *Bitmap::flipVertical() {
warning("STUB: Bitmap::flipVertical()");

return this;
}

void Bitmap::drawShaded(int type, int x, int y, byte *palette) {
warning("STUB: Bitmap::drawShaded(%d, %d, %d)", type, x, y);

putDib(x, y, (int32 *)palette);
}

void Bitmap::drawRotated(int x, int y, int angle, byte *palette) {
warning("STUB: Bitmap::drawShaded(%d, %d, %d)", x, y, angle);

putDib(x, y, (int32 *)palette);
}

bool BigPicture::load(MfcArchive &file) {
debug(5, "BigPicture::load()");
Picture::load(file);
Expand Down
4 changes: 4 additions & 0 deletions engines/fullpipe/gfx.h
Expand Up @@ -52,6 +52,10 @@ struct Bitmap {
void copier(uint16 *dest, byte *src, int len, int32 *palette, bool cb05_format);

Bitmap *reverseImage();
Bitmap *flipVertical();

void drawShaded(int type, int x, int y, byte *palette);
void drawRotated(int x, int y, int angle, byte *palette);
};

class Picture : public MemoryObject {
Expand Down
50 changes: 50 additions & 0 deletions engines/fullpipe/statics.cpp
Expand Up @@ -313,6 +313,56 @@ Movement *StaticANIObject::getMovementByName(char *name) {

void Movement::draw(bool flipFlag, int angle) {
warning("STUB: Movement::draw(%d, %d)", flipFlag, angle);

Common::Point point;

getCurrDynamicPhaseXY(point);

int x = _ox - point.x;
int y = _oy - point.y;

if (_currDynamicPhase->getPaletteData())
g_fullpipe->_globalPalette = _currDynamicPhase->getPaletteData();

if (_currDynamicPhase->getAlpha() < 0xFF) {
warning("Movement::draw: alpha < 0xff: %d", _currDynamicPhase->getAlpha());
//vrtSetAlphaBlendMode(g_vrtDrawHandle, 1, _currDynamicPhase->getAlpha());
}

Bitmap *bmp;
if (_currMovement) {
bmp = _currDynamicPhase->getPixelData()->reverseImage();
} else {
bmp = _currDynamicPhase->getPixelData();
}

if (flipFlag) {
bmp->flipVertical()->drawShaded(1, x, y + 30 + _currDynamicPhase->_rect->bottom, _currDynamicPhase->_paletteData);
} if (angle) {
bmp->drawRotated(x, y, angle, _currDynamicPhase->_paletteData);
} else {
bmp->putDib(x, y, (int32 *)_currDynamicPhase->_paletteData);
}

if (_currDynamicPhase->_rect->top) {
if (!_currDynamicPhase->_convertedBitmap) {
//v12 = Picture_getPixelData(v5);
//v13 = Bitmap_convertTo16Bit565(v12, (unsigned int *)&_currDynamicPhase->rect);
//_currDynamicPhase->convertedBitmap = v13;
}

if (_currDynamicPhase->_convertedBitmap) {
if (_currMovement) {
//vrtSetAlphaBlendMode(g_vrtDrawHandle, 1, LOBYTE(_currDynamicPhase->rect.top));
_currDynamicPhase->_convertedBitmap->reverseImage()->putDib(x, y, (int32 *)_currDynamicPhase->_paletteData);
//vrtSetAlphaBlendMode(g_vrtDrawHandle, 0, 255);
} else {
//vrtSetAlphaBlendMode(g_vrtDrawHandle, 1, LOBYTE(_currDynamicPhase->rect.top));
_currDynamicPhase->_convertedBitmap->putDib(x, y, (int32 *)_currDynamicPhase->_paletteData);
//vrtSetAlphaBlendMode(g_vrtDrawHandle, 0, 255);
}
}
}
}


Expand Down

0 comments on commit 2167968

Please sign in to comment.