mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-22 04:01:23 +00:00
GRIFFON: Move to useing ManagedSurface
This commit is contained in:
parent
4fbde03866
commit
b16ae30ebd
@ -730,7 +730,7 @@ void GriffonEngine::damageNPC(int npcnum, int damage, int spell) {
|
||||
rcDest.setWidth(16);
|
||||
rcDest.setHeight(16);
|
||||
|
||||
_tiles[curTileL]->blit(*_mapBg, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_tiles[curTileL]->blendBlitTo(*_mapBg, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
// firehydra sword chest
|
||||
|
@ -169,7 +169,7 @@ void GriffonEngine::showLogos() {
|
||||
}
|
||||
|
||||
_videoBuffer->fillRect(Common::Rect(0, 0, 320, 240), 0);
|
||||
_logosImg->blit(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, nullptr, MS_ARGB((int)y, (int)y, (int)y, (int)y));
|
||||
_logosImg->blendBlitTo(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, nullptr, MS_ARGB((int)y, (int)y, (int)y, (int)y));
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer->getPixels(), _videoBuffer->pitch, 0, 0, _videoBuffer->w, _videoBuffer->h);
|
||||
g_system->updateScreen();
|
||||
@ -206,8 +206,8 @@ void GriffonEngine::intro() {
|
||||
|
||||
_ticks = g_system->getMillis();
|
||||
|
||||
_videoBuffer->blit(*_videoBuffer3);
|
||||
_videoBuffer->blit(*_videoBuffer2);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer3);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer2);
|
||||
|
||||
_fpsr = 0.0;
|
||||
int y = 140;
|
||||
@ -245,12 +245,12 @@ void GriffonEngine::intro() {
|
||||
rc.left = -xofs;
|
||||
rc.top = 0;
|
||||
|
||||
_titleImg->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_titleImg->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
rc.left = -xofs + 320;
|
||||
rc.top = 0;
|
||||
|
||||
_titleImg->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_titleImg->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
if (++cnt >= 6) {
|
||||
cnt = 0;
|
||||
@ -361,8 +361,8 @@ void GriffonEngine::endOfGame() {
|
||||
break;
|
||||
|
||||
_videoBuffer2->fillRect(Common::Rect(0, 0, _videoBuffer2->w, _videoBuffer2->h), 0);
|
||||
_videoBuffer->setAlpha(255 - ya);
|
||||
_videoBuffer->blit(*_videoBuffer2);
|
||||
_videoBuffer->surfacePtr()->setAlpha(255 - ya);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer2);
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer2->getPixels(), _videoBuffer2->pitch, 0, 0, _videoBuffer2->w, _videoBuffer2->h);
|
||||
|
||||
@ -395,12 +395,12 @@ void GriffonEngine::endOfGame() {
|
||||
rc.left = -xofs;
|
||||
rc.top = 0;
|
||||
|
||||
_titleImg->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_titleImg->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
rc.left = -xofs + 320;
|
||||
rc.top = 0;
|
||||
|
||||
_titleImg->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_titleImg->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
y = y - spd * _fpsr;
|
||||
|
||||
@ -427,7 +427,7 @@ void GriffonEngine::endOfGame() {
|
||||
ya = CLIP(ya, 0, 255);
|
||||
}
|
||||
|
||||
_videoBuffer->setAlpha(ya);
|
||||
_videoBuffer->surfacePtr()->setAlpha(ya);
|
||||
g_system->copyRectToScreen(_videoBuffer->getPixels(), _videoBuffer->pitch, 0, 0, _videoBuffer->w, _videoBuffer->h);
|
||||
|
||||
_ticksPassed = _ticks;
|
||||
@ -486,9 +486,9 @@ void GriffonEngine::endOfGame() {
|
||||
|
||||
_videoBuffer->fillRect(Common::Rect(0, 0, _videoBuffer->w, _videoBuffer->h), 0);
|
||||
|
||||
_videoBuffer->setAlpha(y1);
|
||||
_videoBuffer2->blit(*_videoBuffer3);
|
||||
_videoBuffer->blit(*_videoBuffer3);
|
||||
_videoBuffer->surfacePtr()->setAlpha(y1);
|
||||
_videoBuffer2->blendBlitTo(*_videoBuffer3);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer3);
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer3->getPixels(), _videoBuffer3->pitch, 0, 0, _videoBuffer3->w, _videoBuffer3->h);
|
||||
g_system->updateScreen();
|
||||
@ -526,10 +526,10 @@ void GriffonEngine::endOfGame() {
|
||||
y1 = CLIP(y1, 0, 255);
|
||||
}
|
||||
|
||||
_videoBuffer->setAlpha(y1);
|
||||
_videoBuffer->surfacePtr()->setAlpha(y1);
|
||||
|
||||
_videoBuffer2->fillRect(Common::Rect(0, 0, _videoBuffer2->w, _videoBuffer2->h), 0);
|
||||
_videoBuffer->blit(*_videoBuffer2);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer2);
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer2->getPixels(), _videoBuffer2->pitch, 0, 0, _videoBuffer2->w, _videoBuffer2->h);
|
||||
|
||||
@ -572,8 +572,8 @@ void GriffonEngine::theEnd() {
|
||||
|
||||
for (float y = 0; y < 100; y += _fpsr) {
|
||||
_videoBuffer2->fillRect(Common::Rect(0, 0, _videoBuffer2->w, _videoBuffer2->h), 0);
|
||||
_videoBuffer->setAlpha((int)((100.0 - y) / 100 * 255));
|
||||
_videoBuffer->blit(*_videoBuffer2);
|
||||
_videoBuffer->surfacePtr()->setAlpha((int)((100.0 - y) / 100 * 255));
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer2);
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer2->getPixels(), _videoBuffer2->pitch, 0, 0, _videoBuffer2->w, _videoBuffer2->h);
|
||||
g_system->updateScreen();
|
||||
|
@ -71,8 +71,8 @@ void GriffonEngine::title(int mode) {
|
||||
|
||||
_ticks = g_system->getMillis();
|
||||
|
||||
_videoBuffer->blit(*_videoBuffer3);
|
||||
_videoBuffer->blit(*_videoBuffer2);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer3);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer2);
|
||||
|
||||
int cursel = 0;
|
||||
int ticks1 = _ticks;
|
||||
@ -104,17 +104,17 @@ void GriffonEngine::title(int mode) {
|
||||
rc.left = -xofs;
|
||||
rc.top = 0;
|
||||
|
||||
_titleImg->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_titleImg->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
rc.left = -xofs + 320.0;
|
||||
rc.top = 0;
|
||||
|
||||
_titleImg->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_titleImg->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
rc.left = 0;
|
||||
rc.top = 0;
|
||||
|
||||
_titleImg2->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_titleImg2->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
int y = 172;
|
||||
int x = 160 - 14 * 4;
|
||||
@ -131,7 +131,7 @@ void GriffonEngine::title(int mode) {
|
||||
rc.left = (int16)(x - 16 - 4 * cos(2 * PI * _itemyloc / 16));
|
||||
rc.top = (int16)(y - 4 + 16 * cursel);
|
||||
|
||||
_itemImg[15]->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_itemImg[15]->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
float yf = 255.0;
|
||||
if (_ticks < ticks1 + 1000) {
|
||||
@ -139,7 +139,7 @@ void GriffonEngine::title(int mode) {
|
||||
yf = CLIP<float>(yf, 0.0, 255.0);
|
||||
}
|
||||
|
||||
_videoBuffer->setAlpha((int)yf);
|
||||
_videoBuffer->surfacePtr()->setAlpha((int)yf);
|
||||
g_system->copyRectToScreen(_videoBuffer->getPixels(), _videoBuffer->pitch, 0, 0, _videoBuffer->w, _videoBuffer->h);
|
||||
g_system->updateScreen();
|
||||
|
||||
@ -300,8 +300,8 @@ void GriffonEngine::configMenu() {
|
||||
|
||||
_ticks = g_system->getMillis();
|
||||
|
||||
Graphics::TransparentSurface *configwindow = loadImage("art/configwindow.bmp", true);
|
||||
configwindow->setAlpha(160, true);
|
||||
Graphics::ManagedSurface *configwindow = loadImage("art/configwindow.bmp", true);
|
||||
configwindow->surfacePtr()->setAlpha(160, true);
|
||||
|
||||
int ticks1 = _ticks;
|
||||
|
||||
@ -316,16 +316,16 @@ void GriffonEngine::configMenu() {
|
||||
rcDest.setWidth(320);
|
||||
rcDest.setHeight(240);
|
||||
|
||||
_cloudImg->blit(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest, MS_ARGB(128, 255, 255, 255));
|
||||
_cloudImg->blendBlitTo(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest, MS_ARGB(128, 255, 255, 255));
|
||||
|
||||
rcDest.left = 256;
|
||||
rcDest.top = 192;
|
||||
rcDest.setWidth(320);
|
||||
rcDest.setHeight(240);
|
||||
|
||||
_cloudImg->blit(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest, MS_ARGB(128, 255, 255, 255));
|
||||
_cloudImg->blendBlitTo(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest, MS_ARGB(128, 255, 255, 255));
|
||||
|
||||
configwindow->blit(*_videoBuffer);
|
||||
configwindow->blendBlitTo(*_videoBuffer);
|
||||
|
||||
int sy = SY;
|
||||
|
||||
@ -377,16 +377,16 @@ void GriffonEngine::configMenu() {
|
||||
rc.left = 148 + 3 * cos(2 * PI * _itemyloc / 16.0);
|
||||
rc.top = sy + 8 * curselt - 4;
|
||||
|
||||
_itemImg[15]->blit(*_videoBuffer, rc.left, rc.top);
|
||||
_itemImg[15]->blendBlitTo(*_videoBuffer, rc.left, rc.top);
|
||||
|
||||
if (_ticks < ticks1 + 1000) {
|
||||
float yy = 255.0 * ((float)(_ticks - ticks1) / 1000.0);
|
||||
yy = CLIP<float>(yy, 0.0, 255.0);
|
||||
|
||||
_videoBuffer->setAlpha((uint8)yy);
|
||||
_videoBuffer->surfacePtr()->setAlpha((uint8)yy);
|
||||
}
|
||||
|
||||
_videoBuffer->blit(*_videoBuffer2);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer2);
|
||||
g_system->copyRectToScreen(_videoBuffer2->getPixels(), _videoBuffer2->pitch, 0, 0, _videoBuffer2->w, _videoBuffer2->h);
|
||||
|
||||
_ticksPassed = _ticks;
|
||||
@ -591,19 +591,19 @@ void GriffonEngine::renderSaveStates() {
|
||||
int ss = (_playera.sword - 1) * 3;
|
||||
if (_playera.sword == 3)
|
||||
ss = 18;
|
||||
_itemImg[ss]->blit(*_videoBuffer2, rcSrc.left, rcSrc.top);
|
||||
_itemImg[ss]->blendBlitTo(*_videoBuffer2, rcSrc.left, rcSrc.top);
|
||||
|
||||
rcSrc.left += 16;
|
||||
ss = (_playera.shield - 1) * 3 + 1;
|
||||
if (_playera.shield == 3)
|
||||
ss = 19;
|
||||
_itemImg[ss]->blit(*_videoBuffer2, rcSrc.left, rcSrc.top);
|
||||
_itemImg[ss]->blendBlitTo(*_videoBuffer2, rcSrc.left, rcSrc.top);
|
||||
|
||||
rcSrc.left += 16;
|
||||
ss = (_playera.armour - 1) * 3 + 2;
|
||||
if (_playera.armour == 3)
|
||||
ss = 20;
|
||||
_itemImg[ss]->blit(*_videoBuffer2, rcSrc.left, rcSrc.top);
|
||||
_itemImg[ss]->blendBlitTo(*_videoBuffer2, rcSrc.left, rcSrc.top);
|
||||
|
||||
int nx = rcSrc.left + 13 + 3 * 8;
|
||||
rcSrc.left = nx - 17;
|
||||
@ -612,7 +612,7 @@ void GriffonEngine::renderSaveStates() {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
rcSrc.left += 17;
|
||||
if (_playera.foundSpell[i])
|
||||
_itemImg[7 + i]->blit(*_videoBuffer2, rcSrc.left, rcSrc.top);
|
||||
_itemImg[7 + i]->blendBlitTo(*_videoBuffer2, rcSrc.left, rcSrc.top);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -648,7 +648,7 @@ void GriffonEngine::saveLoadNew() {
|
||||
uint32 color = *(uint32 *)_saveLoadImg->getBasePtr(120, 10);
|
||||
_saveLoadImg->fillRect(Common::Rect(125, 15, 160, 33), color);
|
||||
}
|
||||
_saveLoadImg->setAlpha(192, true);
|
||||
_saveLoadImg->surfacePtr()->setAlpha(192, true);
|
||||
|
||||
Common::TextToSpeechManager *ttsMan = g_system->getTextToSpeechManager();
|
||||
|
||||
@ -661,16 +661,16 @@ void GriffonEngine::saveLoadNew() {
|
||||
rcDest.setWidth(320);
|
||||
rcDest.setHeight(240);
|
||||
|
||||
_cloudImg->blit(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest, MS_ARGB(128, 255, 255, 255));
|
||||
_cloudImg->blendBlitTo(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest, MS_ARGB(128, 255, 255, 255));
|
||||
|
||||
rcDest.left = 256;
|
||||
rcDest.top = 192;
|
||||
rcDest.setWidth(320);
|
||||
rcDest.setHeight(240);
|
||||
|
||||
_cloudImg->blit(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest, MS_ARGB(128, 255, 255, 255));
|
||||
_cloudImg->blendBlitTo(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest, MS_ARGB(128, 255, 255, 255));
|
||||
|
||||
_saveLoadImg->blit(*_videoBuffer);
|
||||
_saveLoadImg->blendBlitTo(*_videoBuffer);
|
||||
|
||||
if (g_system->getEventManager()->pollEvent(_event)) {
|
||||
if (_event.type == Common::EVENT_QUIT || _event.type == Common::EVENT_RETURN_TO_LAUNCHER) {
|
||||
@ -790,7 +790,7 @@ void GriffonEngine::saveLoadNew() {
|
||||
}
|
||||
|
||||
// Render savestates
|
||||
_videoBuffer2->blit(*_videoBuffer);
|
||||
_videoBuffer2->blendBlitTo(*_videoBuffer);
|
||||
|
||||
// ------------------------------------------
|
||||
|
||||
@ -820,7 +820,7 @@ void GriffonEngine::saveLoadNew() {
|
||||
rcDest.top = (int16)(53 + (curRow - 1) * 48);
|
||||
}
|
||||
|
||||
_itemImg[15]->blit(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
_itemImg[15]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
|
||||
if (curRow != 0) {
|
||||
rcDest.top = 18;
|
||||
@ -829,18 +829,18 @@ void GriffonEngine::saveLoadNew() {
|
||||
else if (curCol == 2)
|
||||
rcDest.left = 170;
|
||||
|
||||
_itemImg[15]->blit(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
_itemImg[15]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
}
|
||||
|
||||
if (_ticks < ticks1 + 1000) {
|
||||
int yy = 255 * (_ticks - ticks1) / 1000;
|
||||
yy = CLIP(yy, 0, 255);
|
||||
|
||||
_videoBuffer->setAlpha((uint8)yy);
|
||||
_videoBuffer->surfacePtr()->setAlpha((uint8)yy);
|
||||
}
|
||||
|
||||
_videoBuffer3->fillRect(Common::Rect(0, 0, _videoBuffer3->w, _videoBuffer3->h), 0);
|
||||
_videoBuffer->blit(*_videoBuffer3);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer3);
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer3->getPixels(), _videoBuffer3->pitch, 0, 0, _videoBuffer3->w, _videoBuffer3->h);
|
||||
g_system->updateScreen();
|
||||
|
@ -85,7 +85,7 @@ const int invmap[4][7][13] = {
|
||||
};
|
||||
|
||||
|
||||
void game_fillrect(Graphics::TransparentSurface *surface, int x, int y, int w, int h, int color) {
|
||||
void game_fillrect(Graphics::ManagedSurface *surface, int x, int y, int w, int h, int color) {
|
||||
surface->fillRect(Common::Rect(x, y, x + w, y + h), color);
|
||||
}
|
||||
|
||||
@ -124,7 +124,7 @@ void GriffonEngine::drawAnims(int Layer) {
|
||||
rcDest.setWidth(16);
|
||||
rcDest.setHeight(16);
|
||||
|
||||
_tiles[curtilel]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_tiles[curtilel]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
if (Layer == 1) {
|
||||
@ -160,7 +160,7 @@ void GriffonEngine::drawAnims(int Layer) {
|
||||
}
|
||||
|
||||
if (pass)
|
||||
_tiles[curtilel]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_tiles[curtilel]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -217,7 +217,7 @@ void GriffonEngine::drawHud() {
|
||||
rcDest.top = iy;
|
||||
|
||||
if (ico != 99)
|
||||
_itemImg[ico]->blit(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
_itemImg[ico]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
if (ico == 99) {
|
||||
int alpha = (int)(RND() * 96) + 96;
|
||||
|
||||
@ -229,7 +229,7 @@ void GriffonEngine::drawHud() {
|
||||
rcDest.left = ix;
|
||||
rcDest.top = iy;
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -247,7 +247,7 @@ void GriffonEngine::drawHud() {
|
||||
rcSrc.left = rcSrc.left + 17;
|
||||
|
||||
if (_player.foundSpell[i]) {
|
||||
_itemImg[7 + i]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[7 + i]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
|
||||
game_fillrect(_videoBuffer, rcSrc.left, sy + 16, 16, 4, RGB(0, 32, 32));
|
||||
game_fillrect(_videoBuffer, rcSrc.left + 1, sy + 17,
|
||||
@ -262,16 +262,16 @@ void GriffonEngine::drawHud() {
|
||||
if (_selEnemyOn == false) {
|
||||
rcDest = Common::Rect(320, 240);
|
||||
_videoBuffer2->fillRect(rcDest, 0);
|
||||
_videoBuffer2->setAlpha((int)(_player.itemselshade * 4));
|
||||
_videoBuffer2->blit(*_videoBuffer);
|
||||
_videoBuffer2->surfacePtr()->setAlpha((int)(_player.itemselshade * 4));
|
||||
_videoBuffer2->blendBlitTo(*_videoBuffer);
|
||||
|
||||
int sy = 202;
|
||||
rcSrc.left = 46;
|
||||
rcSrc.top = 46;
|
||||
|
||||
_inventoryImg->setAlpha(160, true); // 128
|
||||
_inventoryImg->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_inventoryImg->setAlpha(255, true);
|
||||
_inventoryImg->surfacePtr()->setAlpha(160, true); // 128
|
||||
_inventoryImg->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_inventoryImg->surfacePtr()->setAlpha(255, true);
|
||||
|
||||
int sx = 54;
|
||||
sy = 55;
|
||||
@ -287,7 +287,7 @@ void GriffonEngine::drawHud() {
|
||||
amap = 3;
|
||||
if (_curMap > 5 && _curMap < 42)
|
||||
amap = 1;
|
||||
mapImg[amap]->blit(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
mapImg[amap]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
|
||||
long ccc = _videoBuffer->format.RGBToColor(128 + 127 * sin(3.141592 * 2 * _itemyloc / 16), 0, 0);
|
||||
|
||||
@ -348,19 +348,19 @@ void GriffonEngine::drawHud() {
|
||||
int ss = (_player.sword - 1) * 3;
|
||||
if (_player.sword == 3)
|
||||
ss = 18;
|
||||
_itemImg[ss]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[ss]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
|
||||
rcSrc.left = rcSrc.left + 16;
|
||||
ss = (_player.shield - 1) * 3 + 1;
|
||||
if (_player.shield == 3)
|
||||
ss = 19;
|
||||
_itemImg[ss]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[ss]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
|
||||
rcSrc.left = rcSrc.left + 16;
|
||||
ss = (_player.armour - 1) * 3 + 2;
|
||||
if (_player.armour == 3)
|
||||
ss = 20;
|
||||
_itemImg[ss]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[ss]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
|
||||
for (int i = 0; i <= 4; i++) {
|
||||
sx = 188;
|
||||
@ -368,15 +368,15 @@ void GriffonEngine::drawHud() {
|
||||
rcSrc.left = sx;
|
||||
rcSrc.top = sy;
|
||||
if (i == 0)
|
||||
_itemImg[6]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[6]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
else if (i == 1)
|
||||
_itemImg[12]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[12]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
else if (i == 2)
|
||||
_itemImg[17]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[17]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
else if (i == 3)
|
||||
_itemImg[16]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[16]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
else if (i == 4)
|
||||
_itemImg[14]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[14]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
|
||||
Common::sprintf_s(line, "x%i", _player.inventory[i]);
|
||||
drawString(_videoBuffer, line, sx + 17, sy + 7, 0);
|
||||
@ -390,7 +390,7 @@ void GriffonEngine::drawHud() {
|
||||
sy = rcSrc.top;
|
||||
|
||||
if (_player.foundSpell[i]) {
|
||||
_itemImg[7 + i]->blit(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
_itemImg[7 + i]->blendBlitTo(*_videoBuffer, rcSrc.left, rcSrc.top);
|
||||
|
||||
game_fillrect(_videoBuffer, rcSrc.left, sy + 16, 16, 4, RGB(0, 32, 32));
|
||||
game_fillrect(_videoBuffer, rcSrc.left + 1, sy + 17,
|
||||
@ -405,11 +405,11 @@ void GriffonEngine::drawHud() {
|
||||
if (_curItem == 5 + i) {
|
||||
rcDest.left = (float)(243 - 12 + 3 * sin(3.141592 * 2 * _itemyloc / 16));
|
||||
rcDest.top = 67 + 24 * i;
|
||||
_itemImg[15]->blit(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
_itemImg[15]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
} else if (_curItem == i) {
|
||||
rcDest.left = (float)(189 - 12 + 3 * sin(3.141592 * 2 * _itemyloc / 16));
|
||||
rcDest.top = 70 + 24 * i;
|
||||
_itemImg[15]->blit(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
_itemImg[15]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -425,7 +425,7 @@ void GriffonEngine::drawHud() {
|
||||
rcDest.top = (float)(_npcInfo[_curEnemy].y + 4 - 16 - sin(3.141592 / 8 * _itemyloc));
|
||||
}
|
||||
|
||||
_itemImg[13]->blit(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
_itemImg[13]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top);
|
||||
}
|
||||
}
|
||||
|
||||
@ -475,7 +475,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.top += (int)(RND() * 3) - 1;
|
||||
}
|
||||
|
||||
_anims[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
} else {
|
||||
int cframe = _npcInfo[i].cattackframe;
|
||||
|
||||
@ -489,7 +489,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.setWidth(24);
|
||||
rcDest.setHeight(24);
|
||||
|
||||
_animsAttack[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_animsAttack[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
}
|
||||
@ -506,7 +506,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = _npcInfo[i].bodysection[f].x - _animSet2[s].xofs;
|
||||
rcDest.top = _npcInfo[i].bodysection[f].y - _animSet2[s].yofs + 2;
|
||||
|
||||
_anims[2]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[2]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
}
|
||||
@ -527,7 +527,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = _npcInfo[i].bodysection[f].x - _animSet9[s].xofs;
|
||||
rcDest.top = _npcInfo[i].bodysection[f].y - _animSet9[s].yofs + 2;
|
||||
|
||||
_anims[9]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[9]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
}
|
||||
@ -549,7 +549,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = npx - 2;
|
||||
rcDest.top = npy - 24;
|
||||
|
||||
_anims[3]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[3]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
|
||||
}
|
||||
|
||||
@ -568,7 +568,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = npx - 2;
|
||||
rcDest.top = npy - 24;
|
||||
|
||||
_anims[4]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[4]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
|
||||
@ -587,7 +587,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
int x = 192 + ((int)(_itemyloc + ff * 5) % 3) * 64;
|
||||
if (x > 255)
|
||||
x = 255;
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(x, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(x, 255, 255, 255));
|
||||
|
||||
for (int f = 1; f <= 8; f++) {
|
||||
rcSrc.left = 16 * (int)(RND() * 2);
|
||||
@ -601,7 +601,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
x = 192 + f % 3 * 64;
|
||||
if (x > 255)
|
||||
x = 255;
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(x, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(x, 255, 255, 255));
|
||||
}
|
||||
|
||||
rcSrc.left = 0;
|
||||
@ -612,8 +612,8 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = _npcInfo[i].bodysection[10 * ff + 9].x - 21;
|
||||
rcDest.top = _npcInfo[i].bodysection[10 * ff + 9].y - 21;
|
||||
|
||||
_spellImg->setAlpha(192, true);
|
||||
_anims[5]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_spellImg->surfacePtr()->setAlpha(192, true);
|
||||
_anims[5]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
}
|
||||
@ -640,7 +640,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.top = rcDest.top + (int)(RND() * 3) - 1;
|
||||
}
|
||||
|
||||
_anims[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
// wizard
|
||||
@ -663,7 +663,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = rcDest.left + (int)(RND() * 3) - 1;
|
||||
rcDest.top = rcDest.top + (int)(RND() * 3) - 1;
|
||||
}
|
||||
_anims[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
// yellow dragon
|
||||
@ -685,7 +685,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = rcDest.left + (int)(RND() * 3) - 1;
|
||||
rcDest.top = rcDest.top + (int)(RND() * 3) - 1;
|
||||
}
|
||||
_anims[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
|
||||
@ -725,7 +725,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.top = rcDest.top + (int)(RND() * 3) - 1;
|
||||
}
|
||||
|
||||
_anims[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
} else {
|
||||
_npcInfo[i].floating = _npcInfo[i].floating + 0.25 * _fpsr;
|
||||
while (_npcInfo[i].floating >= 16)
|
||||
@ -743,7 +743,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.setWidth(24);
|
||||
rcDest.setHeight(24);
|
||||
|
||||
_animsAttack[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_animsAttack[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
}
|
||||
|
||||
@ -777,7 +777,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = sx + 32 + (int)(RND() * 3) - 1;
|
||||
rcDest.top = sy - (int)(RND() * 6);
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
}
|
||||
|
||||
for (int ii = 0; ii <= 8; ii++) {
|
||||
@ -796,7 +796,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
|
||||
int alpha = i2 / 3 * 224;
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
|
||||
int xloc = rcDest.left;
|
||||
int yloc = rcDest.top;
|
||||
@ -820,7 +820,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = (float)(sx + 36 - ii * 8 + ii * cos(3.14159 * 2 * (fr3 - ii) / 16) * 2);
|
||||
rcDest.top = (float)(sy + 16 + ii * sin(3.14159 * 2 * (fr3 - ii) / 16) * 3 - ii); // * 4
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
|
||||
xloc = rcDest.left;
|
||||
yloc = rcDest.top;
|
||||
@ -857,7 +857,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = rcDest.top + (int)(RND() * 3) - 1;
|
||||
}
|
||||
|
||||
_anims[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
} else {
|
||||
int cframe = (int)(_npcInfo[i].cattackframe);
|
||||
|
||||
@ -869,7 +869,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.left = sx;
|
||||
rcDest.top = sy;
|
||||
|
||||
_animsAttack[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_animsAttack[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
}
|
||||
|
||||
@ -908,7 +908,7 @@ void GriffonEngine::drawNPCs(int mode) {
|
||||
rcDest.top = rcDest.top + (int)(RND() * 3) - 1;
|
||||
}
|
||||
|
||||
_anims[sprite]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[sprite]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
rcDest.left = npx + 4;
|
||||
@ -989,7 +989,7 @@ void GriffonEngine::drawOver(int modx, int mody) {
|
||||
}
|
||||
|
||||
if (pass)
|
||||
_tiles[curtilel]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_tiles[curtilel]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1012,7 +1012,7 @@ void GriffonEngine::drawPlayer() {
|
||||
rcDest.setWidth(24);
|
||||
rcDest.setHeight(24);
|
||||
|
||||
_anims[f]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_anims[f]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
} else {
|
||||
rcSrc.left = (int)(_player.attackFrame / 4) * 24;
|
||||
rcSrc.top = _player.walkDir * 24;
|
||||
@ -1024,7 +1024,7 @@ void GriffonEngine::drawPlayer() {
|
||||
rcDest.setWidth(24);
|
||||
rcDest.setHeight(24);
|
||||
|
||||
_animsAttack[f]->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
_animsAttack[f]->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
long ccc = _videoBuffer->format.RGBToColor(224, 224, 64);
|
||||
@ -1120,7 +1120,7 @@ void GriffonEngine::drawView() {
|
||||
rc.setWidth(320);
|
||||
rc.setHeight(240);
|
||||
|
||||
_cloudImg->blit(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rc);
|
||||
_cloudImg->blendBlitTo(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rc);
|
||||
}
|
||||
|
||||
drawHud();
|
||||
@ -1133,7 +1133,7 @@ void GriffonEngine::swash() {
|
||||
do {
|
||||
y += 1 * _fpsr;
|
||||
|
||||
_videoBuffer->setAlpha((int)y);
|
||||
_videoBuffer->surfacePtr()->setAlpha((int)y);
|
||||
_videoBuffer->fillRect(Common::Rect(0, 0, _videoBuffer->w, _videoBuffer->h), 0);
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer->getPixels(), _videoBuffer->pitch, 0, 0, _videoBuffer->w, _videoBuffer->h);
|
||||
@ -1167,8 +1167,8 @@ void GriffonEngine::swash() {
|
||||
do {
|
||||
y += _fpsr;
|
||||
|
||||
_videoBuffer->setAlpha((int)(y * 25));
|
||||
_mapBg->blit(*_videoBuffer);
|
||||
_videoBuffer->surfacePtr()->setAlpha((int)(y * 25));
|
||||
_mapBg->blendBlitTo(*_videoBuffer);
|
||||
|
||||
if (_cloudsOn) {
|
||||
rcDest.left = (float)(256 + 256 * cos(3.141592 / 180 * _cloudAngle));
|
||||
@ -1176,7 +1176,7 @@ void GriffonEngine::swash() {
|
||||
rcDest.setWidth(320);
|
||||
rcDest.setHeight(240);
|
||||
|
||||
_cloudImg->blit(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest);
|
||||
_cloudImg->blendBlitTo(*_videoBuffer, 0, 0, Graphics::FLIP_NONE, &rcDest);
|
||||
}
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer->getPixels(), _videoBuffer->pitch, 0, 0, _videoBuffer->w, _videoBuffer->h);
|
||||
@ -1205,7 +1205,7 @@ void GriffonEngine::swash() {
|
||||
} while (y <= 10);
|
||||
|
||||
|
||||
_videoBuffer->setAlpha(255);
|
||||
_videoBuffer->surfacePtr()->setAlpha(255);
|
||||
}
|
||||
|
||||
|
||||
|
@ -74,15 +74,15 @@ void GriffonEngine::eventText(const char *stri) {
|
||||
int pause_ticks = _ticks + 500;
|
||||
int b_ticks = _ticks;
|
||||
|
||||
_videoBuffer->blit(*_videoBuffer3);
|
||||
_videoBuffer->blit(*_videoBuffer2);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer3);
|
||||
_videoBuffer->blendBlitTo(*_videoBuffer2);
|
||||
|
||||
do {
|
||||
g_system->getEventManager()->pollEvent(_event);
|
||||
|
||||
if ((_event.type == Common::EVENT_KEYDOWN || _event.type == Common::EVENT_CUSTOM_ENGINE_ACTION_START) && pause_ticks < _ticks)
|
||||
break;
|
||||
_videoBuffer2->blit(*_videoBuffer);
|
||||
_videoBuffer2->blendBlitTo(*_videoBuffer);
|
||||
|
||||
int fr = 192;
|
||||
|
||||
@ -91,9 +91,9 @@ void GriffonEngine::eventText(const char *stri) {
|
||||
if (fr > 192)
|
||||
fr = 192;
|
||||
|
||||
_windowImg->setAlpha(fr, true);
|
||||
_windowImg->surfacePtr()->setAlpha(fr, true);
|
||||
|
||||
_windowImg->blit(*_videoBuffer);
|
||||
_windowImg->blendBlitTo(*_videoBuffer);
|
||||
if (pause_ticks < _ticks)
|
||||
drawString(_videoBuffer, stri, x, 15, 0);
|
||||
|
||||
@ -119,12 +119,12 @@ void GriffonEngine::eventText(const char *stri) {
|
||||
g_system->delayMillis(10);
|
||||
} while (1);
|
||||
|
||||
_videoBuffer3->blit(*_videoBuffer);
|
||||
_videoBuffer3->blendBlitTo(*_videoBuffer);
|
||||
|
||||
_itemTicks = _ticks + 210;
|
||||
}
|
||||
|
||||
void GriffonEngine::drawLine(Graphics::TransparentSurface *buffer, int x1, int y1, int x2, int y2, int col) {
|
||||
void GriffonEngine::drawLine(Graphics::ManagedSurface *buffer, int x1, int y1, int x2, int y2, int col) {
|
||||
int xdif = x2 - x1;
|
||||
int ydif = y2 - y1;
|
||||
|
||||
@ -143,14 +143,14 @@ void GriffonEngine::drawLine(Graphics::TransparentSurface *buffer, int x1, int y
|
||||
}
|
||||
}
|
||||
|
||||
void GriffonEngine::drawString(Graphics::TransparentSurface *buffer, const char *stri, int xloc, int yloc, int col) {
|
||||
void GriffonEngine::drawString(Graphics::ManagedSurface *buffer, const char *stri, int xloc, int yloc, int col) {
|
||||
int l = strlen(stri);
|
||||
|
||||
for (int i = 0; i < l; i++) {
|
||||
rcDest.left = xloc + i * 8;
|
||||
rcDest.top = yloc;
|
||||
|
||||
_fontChr[stri[i] - 32][col]->blit(*buffer, rcDest.left, rcDest.top);
|
||||
_fontChr[stri[i] - 32][col]->blendBlitTo(*buffer, rcDest.left, rcDest.top);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@
|
||||
|
||||
#include "audio/mixer.h"
|
||||
|
||||
#include "graphics/transparent_surface.h"
|
||||
#include "graphics/managed_surface.h"
|
||||
|
||||
namespace Griffon {
|
||||
|
||||
@ -395,8 +395,8 @@ private:
|
||||
void addFloatIcon(int ico, float xloc, float yloc);
|
||||
void addFloatText(const char *stri, float xloc, float yloc, int col);
|
||||
void eventText(const char *stri);
|
||||
void drawLine(Graphics::TransparentSurface *buffer, int x1, int y1, int x2, int y2, int col);
|
||||
void drawString(Graphics::TransparentSurface *buffer, const char *stri, int xloc, int yloc, int col);
|
||||
void drawLine(Graphics::ManagedSurface *buffer, int x1, int y1, int x2, int y2, int col);
|
||||
void drawString(Graphics::ManagedSurface *buffer, const char *stri, int xloc, int yloc, int col);
|
||||
void drawProgress(int w, int wm);
|
||||
|
||||
// input.cpp
|
||||
@ -414,7 +414,7 @@ private:
|
||||
|
||||
// resources.cpp
|
||||
void initialize();
|
||||
Graphics::TransparentSurface *loadImage(const char *name, bool colorkey = false);
|
||||
Graphics::ManagedSurface *loadImage(const char *name, bool colorkey = false);
|
||||
void loadMap(int mapnum);
|
||||
void loadAnims();
|
||||
void loadFont();
|
||||
@ -450,23 +450,23 @@ private:
|
||||
bool hasFeature(EngineFeature f) const override;
|
||||
|
||||
private:
|
||||
Graphics::TransparentSurface *_video, *_videoBuffer, *_videoBuffer2, *_videoBuffer3;
|
||||
Graphics::ManagedSurface *_video, *_videoBuffer, *_videoBuffer2, *_videoBuffer3;
|
||||
|
||||
// system
|
||||
Graphics::TransparentSurface *_titleImg, *_titleImg2, *_inventoryImg;
|
||||
Graphics::TransparentSurface *_logosImg, *_theEndImg;
|
||||
Graphics::ManagedSurface *_titleImg, *_titleImg2, *_inventoryImg;
|
||||
Graphics::ManagedSurface *_logosImg, *_theEndImg;
|
||||
Common::Event _event;
|
||||
|
||||
Graphics::TransparentSurface *_mapBg, *_clipBg, *_clipBg2;
|
||||
Graphics::ManagedSurface *_mapBg, *_clipBg, *_clipBg2;
|
||||
unsigned int _clipSurround[4][4];
|
||||
|
||||
float _animSpeed; // CHECKME: it seems to always be 0.5
|
||||
int _rampData[40][24];
|
||||
|
||||
int _curMap;
|
||||
Graphics::TransparentSurface *_fontChr[224][5]; // 256 - 32
|
||||
Graphics::TransparentSurface *_itemImg[21], *_windowImg;
|
||||
Graphics::TransparentSurface *_spellImg;
|
||||
Graphics::ManagedSurface *_fontChr[224][5]; // 256 - 32
|
||||
Graphics::ManagedSurface *_itemImg[21], *_windowImg;
|
||||
Graphics::ManagedSurface *_spellImg;
|
||||
|
||||
bool _itemSelOn;
|
||||
int _curItem, _itemTicks;
|
||||
@ -482,7 +482,7 @@ private:
|
||||
float _fp, _fps, _fpsr; // CHECKME: _fp and _fps seems to be integers
|
||||
int _secsInGame, _secStart;
|
||||
|
||||
Graphics::TransparentSurface *mapImg[4];
|
||||
Graphics::ManagedSurface *mapImg[4];
|
||||
|
||||
Common::Rect rcSrc, rcDest;
|
||||
|
||||
@ -490,14 +490,14 @@ private:
|
||||
bool _dontDrawOver; // used in map24 so that the candles don't draw over the boss, default set to 0
|
||||
|
||||
// saveload info
|
||||
Graphics::TransparentSurface *_saveLoadImg;
|
||||
Graphics::ManagedSurface *_saveLoadImg;
|
||||
|
||||
// post info
|
||||
float _postInfo[21][3];
|
||||
int _postInfoNbr;
|
||||
|
||||
// cloud info
|
||||
Graphics::TransparentSurface *_cloudImg;
|
||||
Graphics::ManagedSurface *_cloudImg;
|
||||
float _cloudAngle;
|
||||
int _cloudsOn;
|
||||
|
||||
@ -512,13 +512,13 @@ private:
|
||||
int _asecstart;
|
||||
|
||||
// tile info
|
||||
Graphics::TransparentSurface *_tiles[4];
|
||||
Graphics::ManagedSurface *_tiles[4];
|
||||
int _tileinfo[3][40][24][3]; // maplayer, x, y, tiledata (tile, tilelayer)
|
||||
|
||||
// animation info
|
||||
Graphics::TransparentSurface *_anims[100];
|
||||
Graphics::ManagedSurface *_anims[100];
|
||||
// id number 0&1 = players
|
||||
Graphics::TransparentSurface *_animsAttack[100];
|
||||
Graphics::ManagedSurface *_animsAttack[100];
|
||||
// attack anims
|
||||
AttackOffsetStruct _playerAttackOfs[4][16];
|
||||
|
||||
|
@ -1307,7 +1307,7 @@ void GriffonEngine::updateSpells() {
|
||||
}
|
||||
|
||||
if (xloc > -16 && xloc < 304 && yloc > -16 && yloc < 224) {
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB((int)alf, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB((int)alf, 255, 255, 255));
|
||||
|
||||
if (_spellInfo[i].damagewho == 0) {
|
||||
for (int e = 1; e <= _lastNpc; e++) {
|
||||
@ -1382,7 +1382,7 @@ void GriffonEngine::updateSpells() {
|
||||
rcDest.left = xloc;
|
||||
rcDest.top = yloc;
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(255, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(255, 255, 255, 255));
|
||||
|
||||
_spellInfo[i].frame = _spellInfo[i].frame - 0.2 * _fpsr;
|
||||
if (_spellInfo[i].frame < 0)
|
||||
@ -1504,7 +1504,7 @@ void GriffonEngine::updateSpells() {
|
||||
rcDest.top = yloc;
|
||||
|
||||
if (xloc > -16 && xloc < 304 && yloc > -16 && yloc < 224) {
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(255, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(255, 255, 255, 255));
|
||||
|
||||
if (scatter) {
|
||||
if (_spellInfo[i].damagewho == 0) {
|
||||
@ -1583,7 +1583,7 @@ void GriffonEngine::updateSpells() {
|
||||
if (fra > 24)
|
||||
f = 192 * (1 - (fra - 24) / 8);
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(f, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(f, 255, 255, 255));
|
||||
|
||||
_spellInfo[i].frame = _spellInfo[i].frame - 0.3 * _fpsr;
|
||||
if (_spellInfo[i].frame < 0) {
|
||||
@ -1680,7 +1680,7 @@ void GriffonEngine::updateSpells() {
|
||||
rcDest.left = xloc;
|
||||
rcDest.top = yloc;
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
}
|
||||
} else {
|
||||
|
||||
@ -1712,7 +1712,7 @@ void GriffonEngine::updateSpells() {
|
||||
rcDest.left = xloc;
|
||||
rcDest.top = yloc;
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(192, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(192, 255, 255, 255));
|
||||
}
|
||||
|
||||
if (xloc < -1 || yloc < -1 || xloc > 304 || yloc > 224)
|
||||
@ -2089,7 +2089,7 @@ void GriffonEngine::updateSpellsUnder() {
|
||||
if (fra > 24)
|
||||
f = 160 * (1 - (fra - 24) / 8);
|
||||
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(f, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(f, 255, 255, 255));
|
||||
|
||||
_spellInfo[i].frame = _spellInfo[i].frame - 0.2 * _fpsr;
|
||||
if (_spellInfo[i].frame < 0)
|
||||
@ -2191,7 +2191,7 @@ void GriffonEngine::updateSpellsUnder() {
|
||||
rcDest.top = (int)yloc;
|
||||
|
||||
if (xloc > -1 && xloc < 304 && yloc > -1 && yloc < 224) {
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
|
||||
int sx = (xloc / 2 + 4);
|
||||
int sy = (yloc / 2 + 8);
|
||||
@ -2313,7 +2313,7 @@ void GriffonEngine::updateSpellsUnder() {
|
||||
rcDest.top = yloc;
|
||||
|
||||
if (xloc > -16 && xloc < 320 && yloc > -16 && yloc < 240) {
|
||||
_spellImg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
_spellImg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
|
||||
if (_spellInfo[i].damagewho == 1) {
|
||||
float xdif = (xloc + 8) - (_player.px + 12);
|
||||
|
@ -66,19 +66,19 @@ void GriffonEngine::initialize() {
|
||||
_floatIcon[i].ico = 0;
|
||||
}
|
||||
|
||||
_video = new Graphics::TransparentSurface;
|
||||
_video = new Graphics::ManagedSurface;
|
||||
_video->create(320, 240, g_system->getScreenFormat());
|
||||
_videoBuffer = new Graphics::TransparentSurface;
|
||||
_videoBuffer = new Graphics::ManagedSurface;
|
||||
_videoBuffer->create(320, 240, g_system->getScreenFormat());
|
||||
_videoBuffer2 = new Graphics::TransparentSurface;
|
||||
_videoBuffer2 = new Graphics::ManagedSurface;
|
||||
_videoBuffer2->create(320, 240, g_system->getScreenFormat());
|
||||
_videoBuffer3 = new Graphics::TransparentSurface;
|
||||
_videoBuffer3 = new Graphics::ManagedSurface;
|
||||
_videoBuffer3->create(320, 240, g_system->getScreenFormat());
|
||||
_mapBg = new Graphics::TransparentSurface;
|
||||
_mapBg = new Graphics::ManagedSurface;
|
||||
_mapBg->create(320, 240, g_system->getScreenFormat());
|
||||
_clipBg = new Graphics::TransparentSurface;
|
||||
_clipBg = new Graphics::ManagedSurface;
|
||||
_clipBg->create(320, 240, g_system->getScreenFormat());
|
||||
_clipBg2 = new Graphics::TransparentSurface;
|
||||
_clipBg2 = new Graphics::ManagedSurface;
|
||||
_clipBg2->create(320, 240, g_system->getScreenFormat());
|
||||
|
||||
for (int i = 0; i <= 3; i++) {
|
||||
@ -89,13 +89,13 @@ void GriffonEngine::initialize() {
|
||||
}
|
||||
|
||||
_cloudImg = loadImage("art/clouds.bmp", true);
|
||||
_cloudImg->setAlpha(64, true);
|
||||
_cloudImg->surfacePtr()->setAlpha(64, true);
|
||||
|
||||
_saveLoadImg = nullptr;
|
||||
|
||||
_titleImg = loadImage("art/titleb.bmp");
|
||||
_titleImg2 = loadImage("art/titlea.bmp", true);
|
||||
//_titleimg2->setAlpha(204, true);
|
||||
//_titleimg2->surfacePtr()->setAlpha(204, true);
|
||||
|
||||
_inventoryImg = loadImage("art/inventory.bmp", true);
|
||||
|
||||
@ -130,7 +130,7 @@ void GriffonEngine::initialize() {
|
||||
setupAudio();
|
||||
}
|
||||
|
||||
Graphics::TransparentSurface *GriffonEngine::loadImage(const char *name, bool colorkey) {
|
||||
Graphics::ManagedSurface *GriffonEngine::loadImage(const char *name, bool colorkey) {
|
||||
Common::File file;
|
||||
|
||||
file.open(name);
|
||||
@ -144,10 +144,10 @@ Graphics::TransparentSurface *GriffonEngine::loadImage(const char *name, bool co
|
||||
bitmapDecoder.loadStream(file);
|
||||
file.close();
|
||||
|
||||
Graphics::TransparentSurface *surface = new Graphics::TransparentSurface(*bitmapDecoder.getSurface()->convertTo(g_system->getScreenFormat()));
|
||||
Graphics::ManagedSurface *surface = new Graphics::ManagedSurface(bitmapDecoder.getSurface()->convertTo(g_system->getScreenFormat()));
|
||||
|
||||
if (colorkey)
|
||||
surface->applyColorKey(255, 0, 255);
|
||||
surface->surfacePtr()->applyColorKey(255, 0, 255);
|
||||
|
||||
return surface;
|
||||
}
|
||||
@ -321,7 +321,7 @@ void GriffonEngine::loadMap(int mapnum) {
|
||||
}
|
||||
}
|
||||
|
||||
_tiles[curtilel]->blit(*_mapBg, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
_tiles[curtilel]->blendBlitTo(*_mapBg, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(alpha, 255, 255, 255));
|
||||
|
||||
rcDest.left = x * 8;
|
||||
rcDest.top = y * 8;
|
||||
@ -1087,10 +1087,10 @@ void GriffonEngine::loadAnims() {
|
||||
}
|
||||
|
||||
void GriffonEngine::loadItemImgs() {
|
||||
Graphics::TransparentSurface *temp = loadImage("art/icons.bmp", true);
|
||||
Graphics::ManagedSurface *temp = loadImage("art/icons.bmp", true);
|
||||
|
||||
for (int i = 0; i <= 20; i++) {
|
||||
_itemImg[i] = new Graphics::TransparentSurface;
|
||||
_itemImg[i] = new Graphics::ManagedSurface;
|
||||
_itemImg[i]->create(16, 16, g_system->getScreenFormat());
|
||||
|
||||
rcSrc.left = i * 16;
|
||||
@ -1098,20 +1098,20 @@ void GriffonEngine::loadItemImgs() {
|
||||
rcSrc.setWidth(16);
|
||||
rcSrc.setHeight(16);
|
||||
|
||||
temp->blit(*_itemImg[i], 0, 0, Graphics::FLIP_NONE, &rcSrc);
|
||||
temp->blendBlitTo(*_itemImg[i], 0, 0, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
temp->free();
|
||||
}
|
||||
|
||||
void GriffonEngine::loadFont() {
|
||||
Graphics::TransparentSurface *font = loadImage("art/font.bmp", true);
|
||||
Graphics::ManagedSurface *font = loadImage("art/font.bmp", true);
|
||||
|
||||
for (int i = 32; i <= 255; i++)
|
||||
for (int f = 0; f <= 4; f++) {
|
||||
int i2 = i - 32;
|
||||
|
||||
_fontChr[i2][f] = new Graphics::TransparentSurface;
|
||||
_fontChr[i2][f] = new Graphics::ManagedSurface;
|
||||
_fontChr[i2][f]->create(8, 8, g_system->getScreenFormat());
|
||||
|
||||
int col = i2 % 40;
|
||||
@ -1125,7 +1125,7 @@ void GriffonEngine::loadFont() {
|
||||
|
||||
rcDest.left = 0;
|
||||
rcDest.top = 0;
|
||||
font->blit(*_fontChr[i2][f], rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
font->blendBlitTo(*_fontChr[i2][f], rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc);
|
||||
}
|
||||
|
||||
font->free();
|
||||
|
@ -122,7 +122,7 @@ void GriffonEngine::setupAudio() {
|
||||
const char *stri = "Loading...";
|
||||
drawString(_videoBuffer, stri, 160 - 4 * strlen(stri), 116, 0);
|
||||
|
||||
Graphics::TransparentSurface *loadimg = loadImage("art/load.bmp", true);
|
||||
Graphics::ManagedSurface *loadimg = loadImage("art/load.bmp", true);
|
||||
|
||||
rcSrc.left = 0;
|
||||
rcSrc.top = 0;
|
||||
@ -132,7 +132,7 @@ void GriffonEngine::setupAudio() {
|
||||
rcDest.left = 160 - 44;
|
||||
rcDest.top = 116 + 12;
|
||||
|
||||
loadimg->blit(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(160, 255, 255, 255));
|
||||
loadimg->blendBlitTo(*_videoBuffer, rcDest.left, rcDest.top, Graphics::FLIP_NONE, &rcSrc, MS_ARGB(160, 255, 255, 255));
|
||||
|
||||
g_system->copyRectToScreen(_videoBuffer->getPixels(), _videoBuffer->pitch, 0, 0, _videoBuffer->w, _videoBuffer->h);
|
||||
g_system->updateScreen();
|
||||
|
Loading…
x
Reference in New Issue
Block a user