mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-12 03:56:20 +00:00
Changed Screen::getPalette to return a reference to a Palette object.
svn-id: r41741
This commit is contained in:
parent
9da52cb282
commit
882662977f
@ -281,7 +281,7 @@ void KyraEngine_HoF::scrollInventoryWheel() {
|
||||
int frames = movie.opened() ? movie.frames() : 6;
|
||||
memcpy(_screenBuffer, _screen->getCPagePtr(2), 64000);
|
||||
uint8 overlay[0x100];
|
||||
_screen->generateOverlay(_screen->getPalette(0), overlay, 0, 50);
|
||||
_screen->generateOverlay(_screen->getPalette(0).getData(), overlay, 0, 50);
|
||||
_screen->hideMouse();
|
||||
_screen->copyRegion(0x46, 0x90, 0x46, 0x79, 0x71, 0x17, 0, 2, Screen::CR_NO_P_CHECK);
|
||||
_screen->showMouse();
|
||||
@ -365,9 +365,9 @@ int KyraEngine_HoF::bookButton(Button *button) {
|
||||
_screen->showMouse();
|
||||
}
|
||||
|
||||
memcpy(_screen->getPalette(2), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(2).copy(_screen->getPalette(0));
|
||||
_screen->fadeToBlack(7, &_updateFunctor);
|
||||
_res->loadFileToBuf("_BOOK.COL", _screen->getPalette(0), 768);
|
||||
_res->loadFileToBuf("_BOOK.COL", _screen->getPalette(0).getData(), 768);
|
||||
loadBookBkgd();
|
||||
showBookPage();
|
||||
_screen->copyRegion(0, 0, 0, 0, 0x140, 0xC8, 2, 0, Screen::CR_NO_P_CHECK);
|
||||
@ -375,7 +375,7 @@ int KyraEngine_HoF::bookButton(Button *button) {
|
||||
|
||||
int oldItemInHand = _itemInHand;
|
||||
removeHandItem();
|
||||
_screen->fadePalette(_screen->getPalette(0), 7);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 7);
|
||||
_screen->showMouse();
|
||||
|
||||
bookLoop();
|
||||
@ -393,8 +393,8 @@ int KyraEngine_HoF::bookButton(Button *button) {
|
||||
}
|
||||
|
||||
setHandItem(_itemInHand);
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(2), 768);
|
||||
_screen->fadePalette(_screen->getPalette(0), 7, &_updateFunctor);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2));
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 7, &_updateFunctor);
|
||||
_screen->showMouse();
|
||||
|
||||
if (!queryGameFlag(4) && !queryGameFlag(0xB8)) {
|
||||
@ -800,26 +800,26 @@ void GUI_HoF::createScreenThumbnail(Graphics::Surface &dst) {
|
||||
}
|
||||
|
||||
void GUI_HoF::setupPalette() {
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
|
||||
uint8 *palette = _screen->getPalette(0);
|
||||
uint8 *palette = _screen->getPalette(0).getData();
|
||||
for (int i = 0; i < 768; ++i)
|
||||
palette[i] >>= 1;
|
||||
|
||||
static const uint8 guiPal[] = { 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFc, 0xFD, 0xFE };
|
||||
|
||||
for (uint i = 0; i < ARRAYSIZE(guiPal); ++i)
|
||||
memcpy(_screen->getPalette(0)+guiPal[i]*3, _screen->getPalette(1)+guiPal[i]*3, 3);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1), guiPal[i], 1);
|
||||
|
||||
if (_isDeathMenu)
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x64);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 0x64);
|
||||
else
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
void GUI_HoF::restorePalette() {
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(1), 768);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
void GUI_HoF::resetState(int item) {
|
||||
|
@ -1024,25 +1024,25 @@ void GUI_LoK::fadePalette() {
|
||||
static const int16 menuPalIndexes[] = {248, 249, 250, 251, 252, 253, 254, -1};
|
||||
int index = 0;
|
||||
|
||||
memcpy(_screen->getPalette(2), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(2).copy(_screen->getPalette(0));
|
||||
|
||||
for (int i = 0; i < 768; i++)
|
||||
_screen->getPalette(0)[i] >>= 1;
|
||||
|
||||
while (menuPalIndexes[index] != -1) {
|
||||
memcpy(&_screen->getPalette(0)[menuPalIndexes[index]*3], &_screen->getPalette(2)[menuPalIndexes[index]*3], 3);
|
||||
index++;
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2), menuPalIndexes[index], 1);
|
||||
++index;
|
||||
}
|
||||
|
||||
_screen->fadePalette(_screen->getPalette(0), 2);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 2);
|
||||
}
|
||||
|
||||
void GUI_LoK::restorePalette() {
|
||||
if (_vm->gameFlags().platform == Common::kPlatformAmiga)
|
||||
return;
|
||||
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(2), 768);
|
||||
_screen->fadePalette(_screen->getPalette(0), 2);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2));
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 2);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
@ -1814,7 +1814,7 @@ int LoLEngine::clickedAutomap(Button *button) {
|
||||
displayAutomap();
|
||||
|
||||
gui_drawPlayField();
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, _lampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, _lampEffect);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -1842,7 +1842,7 @@ int LoLEngine::clickedLamp(Button *button) {
|
||||
}
|
||||
|
||||
if (_brightness)
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, _lampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, _lampEffect);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -674,13 +674,13 @@ void KyraEngine_MR::showAlbum() {
|
||||
_screen->copyRegionToBuffer(0, 0, 0, 320, 200, _screenBuffer);
|
||||
_screen->copyRegionToBuffer(4, 0, 0, 320, 200, _album.backUpPage);
|
||||
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
_screen->fadeToBlack(9);
|
||||
|
||||
int itemInHand = _itemInHand;
|
||||
removeHandItem();
|
||||
|
||||
_res->loadFileToBuf("ALBUM.COL", _screen->getPalette(0), 768);
|
||||
_res->loadFileToBuf("ALBUM.COL", _screen->getPalette(0).getData(), 768);
|
||||
loadAlbumPage();
|
||||
loadAlbumPageWSA();
|
||||
|
||||
@ -693,7 +693,7 @@ void KyraEngine_MR::showAlbum() {
|
||||
printAlbumPageText();
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
|
||||
_screen->updateScreen();
|
||||
_screen->fadePalette(_screen->getPalette(0), 9);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 9);
|
||||
|
||||
processAlbum();
|
||||
|
||||
@ -707,8 +707,8 @@ void KyraEngine_MR::showAlbum() {
|
||||
_screen->copyBlockToPage(0, 0, 0, 320, 200, _screenBuffer);
|
||||
_screen->copyBlockToPage(4, 0, 0, 320, 200, _album.backUpPage);
|
||||
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(1), 768);
|
||||
_screen->fadePalette(_screen->getPalette(0), 9);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1));
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 9);
|
||||
|
||||
delete[] _album.backUpRect;
|
||||
_album.backUpRect = 0;
|
||||
|
@ -415,7 +415,7 @@ void KyraEngine_HoF::startup() {
|
||||
setupLangButtonShapes();
|
||||
loadInventoryShapes();
|
||||
|
||||
_res->loadFileToBuf("PALETTE.COL", _screen->getPalette(0), 0x300);
|
||||
_res->loadFileToBuf("PALETTE.COL", _screen->getPalette(0).getData(), 0x300);
|
||||
_screen->loadBitmap("_PLAYFLD.CPS", 3, 3, 0);
|
||||
_screen->copyPage(3, 0);
|
||||
_screen->showMouse();
|
||||
@ -919,9 +919,9 @@ void KyraEngine_HoF::showMessage(const char *string, int16 palIndex) {
|
||||
if (string) {
|
||||
if (palIndex != -1 || _fadeMessagePalette) {
|
||||
palIndex *= 3;
|
||||
memcpy(_messagePal, _screen->getPalette(0) + palIndex, 3);
|
||||
memmove(_screen->getPalette(0) + 765, _screen->getPalette(0) + palIndex, 3);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
memcpy(_messagePal, _screen->getPalette(0).getData() + palIndex, 3);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(0), palIndex / 3, 1, 255);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
int x = _text->getCenterStringX(string, 0, 320);
|
||||
@ -978,8 +978,8 @@ void KyraEngine_HoF::fadeMessagePalette() {
|
||||
}
|
||||
|
||||
if (updatePalette) {
|
||||
memcpy(_screen->getPalette(0) + 765, _messagePal, 3);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(_messagePal, 0, 1, 255);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
} else {
|
||||
_fadeMessagePalette = false;
|
||||
}
|
||||
@ -1139,18 +1139,18 @@ void KyraEngine_HoF::updateCharPal(int unk1) {
|
||||
|
||||
if (palEntry != _charPalEntry && unk1) {
|
||||
const uint8 *src = &_scenePal[(palEntry << 4) * 3];
|
||||
uint8 *ptr = _screen->getPalette(0) + 336;
|
||||
uint8 *ptr = _screen->getPalette(0).getData() + 336;
|
||||
for (int i = 0; i < 48; ++i) {
|
||||
*ptr -= (*ptr - *src) >> 1;
|
||||
++ptr;
|
||||
++src;
|
||||
}
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
unkVar1 = true;
|
||||
_charPalEntry = palEntry;
|
||||
} else if (unkVar1 || !unk1) {
|
||||
memcpy(_screen->getPalette(0) + 336, &_scenePal[(palEntry << 4) * 3], 48);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(_scenePal, palEntry << 4, 16, 112);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
unkVar1 = false;
|
||||
}
|
||||
}
|
||||
@ -1656,24 +1656,24 @@ void KyraEngine_HoF::displayInvWsaLastFrame() {
|
||||
#pragma mark -
|
||||
|
||||
void KyraEngine_HoF::setCauldronState(uint8 state, bool paletteFade) {
|
||||
memcpy(_screen->getPalette(2), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(2).copy(_screen->getPalette(0));
|
||||
Common::SeekableReadStream *file = _res->createReadStream("_POTIONS.PAL");
|
||||
if (!file)
|
||||
error("Couldn't load cauldron palette");
|
||||
file->seek(state*18, SEEK_SET);
|
||||
file->read(_screen->getPalette(2)+723, 18);
|
||||
file->read(_screen->getPalette(2).getData() + 723, 18);
|
||||
delete file;
|
||||
file = 0;
|
||||
|
||||
if (paletteFade) {
|
||||
snd_playSoundEffect((state == 0) ? 0x6B : 0x66);
|
||||
_screen->fadePalette(_screen->getPalette(2), 0x4B, &_updateFunctor);
|
||||
_screen->fadePalette(_screen->getPalette(2).getData(), 0x4B, &_updateFunctor);
|
||||
} else {
|
||||
_screen->setScreenPalette(_screen->getPalette(2));
|
||||
_screen->setScreenPalette(_screen->getPalette(2).getData());
|
||||
_screen->updateScreen();
|
||||
}
|
||||
|
||||
memcpy(_screen->getPalette(0)+723, _screen->getPalette(2)+723, 18);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2), 241, 6);
|
||||
_cauldronState = state;
|
||||
_cauldronUseCount = 0;
|
||||
//if (state == 5)
|
||||
@ -1833,13 +1833,13 @@ void KyraEngine_HoF::cauldronRndPaletteFade() {
|
||||
if (!file)
|
||||
error("Couldn't load cauldron palette");
|
||||
file->seek(index*18, SEEK_SET);
|
||||
file->read(_screen->getPalette(0)+723, 18);
|
||||
file->read(_screen->getPalette(0).getData()+723, 18);
|
||||
snd_playSoundEffect(0x6A);
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x1E, &_updateFunctor);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 0x1E, &_updateFunctor);
|
||||
file->seek(0, SEEK_SET);
|
||||
file->read(_screen->getPalette(0)+723, 18);
|
||||
file->read(_screen->getPalette(0).getData()+723, 18);
|
||||
delete file;
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x1E, &_updateFunctor);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 0x1E, &_updateFunctor);
|
||||
}
|
||||
|
||||
void KyraEngine_HoF::resetCauldronStateTable(int idx) {
|
||||
|
@ -358,7 +358,7 @@ void KyraEngine_LoK::startup() {
|
||||
loadButtonShapes();
|
||||
initMainButtonList();
|
||||
loadMainScreen();
|
||||
_screen->loadPalette("PALETTE.COL", _screen->getPalette(0));
|
||||
_screen->loadPalette("PALETTE.COL", _screen->getPalette(0).getData());
|
||||
|
||||
// XXX
|
||||
_animator->initAnimStateList();
|
||||
|
@ -230,8 +230,8 @@ Common::Error KyraEngine_MR::init() {
|
||||
_screen->setAnimBlockPtr(3500);
|
||||
_screen->setScreenDim(0);
|
||||
|
||||
_res->loadFileToBuf("PALETTE.COL", _screen->getPalette(0), 768);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_res->loadFileToBuf("PALETTE.COL", _screen->getPalette(0).getData(), 768);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
return Common::kNoError;
|
||||
}
|
||||
@ -267,7 +267,7 @@ Common::Error KyraEngine_MR::go() {
|
||||
_screen->_curPage = 0;
|
||||
_screen->clearPage(0);
|
||||
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
// XXX
|
||||
playMenuAudioFile();
|
||||
@ -328,8 +328,8 @@ Common::Error KyraEngine_MR::go() {
|
||||
|
||||
void KyraEngine_MR::initMainMenu() {
|
||||
_menuAnim = new WSAMovie_v2(this);
|
||||
_menuAnim->open("REVENGE.WSA", 1, _screen->getPalette(0));
|
||||
memset(_screen->getPalette(0), 0, 3);
|
||||
_menuAnim->open("REVENGE.WSA", 1, _screen->getPalette(0).getData());
|
||||
memset(_screen->getPalette(0).getData(), 0, 3);
|
||||
|
||||
_menu = new MainMenu(this);
|
||||
MainMenu::StaticData data = {
|
||||
@ -378,7 +378,7 @@ void KyraEngine_MR::playVQA(const char *name) {
|
||||
}
|
||||
|
||||
_screen->hideMouse();
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
fadeOutMusic(60);
|
||||
_screen->fadeToBlack(60);
|
||||
_screen->clearPage(0);
|
||||
@ -395,7 +395,7 @@ void KyraEngine_MR::playVQA(const char *name) {
|
||||
memset(pal, 1, sizeof(pal));
|
||||
_screen->setScreenPalette(pal);
|
||||
_screen->clearPage(0);
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(1), 768);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1));
|
||||
_wasPlayingVQA = true;
|
||||
}
|
||||
}
|
||||
@ -627,9 +627,9 @@ void KyraEngine_MR::startup() {
|
||||
loadInterfaceShapes();
|
||||
|
||||
musicUpdate(0);
|
||||
_res->loadFileToBuf("PALETTE.COL", _screen->getPalette(0), 768);
|
||||
_res->loadFileToBuf("PALETTE.COL", _screen->getPalette(0).getData(), 768);
|
||||
_paletteOverlay = new uint8[256];
|
||||
_screen->generateOverlay(_screen->getPalette(0), _paletteOverlay, 0xF0, 0x19);
|
||||
_screen->generateOverlay(_screen->getPalette(0).getData(), _paletteOverlay, 0xF0, 0x19);
|
||||
|
||||
loadInterface();
|
||||
musicUpdate(0);
|
||||
@ -899,7 +899,7 @@ void KyraEngine_MR::updateCharAnimFrame(int character, int *table) {
|
||||
void KyraEngine_MR::updateCharPal(int unk1) {
|
||||
int layer = _screen->getLayer(_mainCharacter.x1, _mainCharacter.y1) - 1;
|
||||
const uint8 *src = _costPalBuffer + _characterShapeFile * 72;
|
||||
uint8 *dst = _screen->getPalette(0) + 432;
|
||||
uint8 *dst = _screen->getPalette(0).getData() + 432;
|
||||
const int8 *sceneDatPal = &_sceneDatPalette[layer * 3];
|
||||
|
||||
if (layer != _lastCharPalLayer && unk1) {
|
||||
@ -919,7 +919,7 @@ void KyraEngine_MR::updateCharPal(int unk1) {
|
||||
}
|
||||
}
|
||||
_charPalUpdate = true;
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_lastCharPalLayer = layer;
|
||||
} else if (_charPalUpdate || !unk1) {
|
||||
memcpy(dst, src, 72);
|
||||
@ -936,7 +936,7 @@ void KyraEngine_MR::updateCharPal(int unk1) {
|
||||
}
|
||||
}
|
||||
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_charPalUpdate = false;
|
||||
}
|
||||
}
|
||||
|
@ -778,20 +778,20 @@ int LoLEngine::mainMenu() {
|
||||
|
||||
void LoLEngine::startup() {
|
||||
_screen->clearPage(0);
|
||||
_screen->loadBitmap("PLAYFLD.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("PLAYFLD.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
|
||||
uint8 *tmpPal = new uint8[0x300];
|
||||
memcpy(tmpPal, _screen->getPalette(0), 0x300);
|
||||
memset(_screen->getPalette(0), 0x3f, 0x180);
|
||||
memcpy(_screen->getPalette(0) + 3, tmpPal + 3, 3);
|
||||
memset(_screen->getPalette(0) + 0x240, 0x3f, 12);
|
||||
_screen->generateOverlay(_screen->getPalette(0), _screen->_paletteOverlay1, 1, 96);
|
||||
_screen->generateOverlay(_screen->getPalette(0), _screen->_paletteOverlay2, 144, 65);
|
||||
memcpy(_screen->getPalette(0), tmpPal, 0x300);
|
||||
memcpy(tmpPal, _screen->getPalette(0).getData(), 0x300);
|
||||
memset(_screen->getPalette(0).getData(), 0x3f, 0x180);
|
||||
_screen->getPalette(0).copy(tmpPal, 1, 1);
|
||||
memset(_screen->getPalette(0).getData() + 0x240, 0x3f, 12);
|
||||
_screen->generateOverlay(_screen->getPalette(0).getData(), _screen->_paletteOverlay1, 1, 96);
|
||||
_screen->generateOverlay(_screen->getPalette(0).getData(), _screen->_paletteOverlay2, 144, 65);
|
||||
_screen->getPalette(0).copy(tmpPal, 0, 256);
|
||||
delete[] tmpPal;
|
||||
|
||||
memset(_screen->getPalette(1), 0, 0x300);
|
||||
memset(_screen->getPalette(2), 0, 0x300);
|
||||
_screen->getPalette(1).clear();
|
||||
_screen->getPalette(2).clear();
|
||||
|
||||
loadItemIconShapes();
|
||||
_screen->setMouseCursor(0, 0, _itemIconShapes[0x85]);
|
||||
@ -1541,7 +1541,7 @@ void LoLEngine::restoreAfterSceneWindowDialogue(int redraw) {
|
||||
if (_screen->_fadeFlag != 2)
|
||||
_screen->fadeClearSceneWindow(10);
|
||||
gui_drawPlayField();
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, _lampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, _lampEffect);
|
||||
_screen->_fadeFlag = 0;
|
||||
}
|
||||
|
||||
@ -1676,8 +1676,8 @@ void LoLEngine::transformRegion(int x1, int y1, int x2, int y2, int w, int h, in
|
||||
}
|
||||
|
||||
void LoLEngine::setPaletteBrightness(uint8 *palette, int brightness, int modifier) {
|
||||
generateBrightnessPalette(palette, _screen->getPalette(1), brightness, modifier);
|
||||
_screen->fadePalette(_screen->getPalette(1), 5, 0);
|
||||
generateBrightnessPalette(palette, _screen->getPalette(1).getData(), brightness, modifier);
|
||||
_screen->fadePalette(_screen->getPalette(1).getData(), 5, 0);
|
||||
_screen->_fadeFlag = 0;
|
||||
}
|
||||
|
||||
@ -2067,7 +2067,7 @@ int LoLEngine::processMagicHealSelectTarget() {
|
||||
int LoLEngine::processMagicHeal(int charNum, int spellLevel) {
|
||||
if (!_healOverlay) {
|
||||
_healOverlay = new uint8[256];
|
||||
_screen->generateGrayOverlay(_screen->getPalette(1), _healOverlay, 52, 22, 20, 0, 256, true);
|
||||
_screen->generateGrayOverlay(_screen->getPalette(1).getData(), _healOverlay, 52, 22, 20, 0, 256, true);
|
||||
}
|
||||
|
||||
const uint8 *healShpFrames = 0;
|
||||
@ -2189,8 +2189,8 @@ int LoLEngine::processMagicIce(int charNum, int spellLevel) {
|
||||
uint8 *swampCol = new uint8[768];
|
||||
|
||||
if (_currentLevel == 11 && !(_flagsTable[52] & 0x04)) {
|
||||
uint8 *sc = _screen->getPalette(0);
|
||||
uint8 *dc = _screen->getPalette(2);
|
||||
uint8 *sc = _screen->getPalette(0).getData();
|
||||
uint8 *dc = _screen->getPalette(2).getData();
|
||||
for (int i = 1; i < 768; i++)
|
||||
SWAP(sc[i], dc[i]);
|
||||
_flagsTable[52] |= 0x04;
|
||||
@ -2200,7 +2200,7 @@ int LoLEngine::processMagicIce(int charNum, int spellLevel) {
|
||||
|
||||
uint8 *sc = _res->fileData("swampice.col", 0);
|
||||
memcpy(swampCol, sc, 384);
|
||||
uint8 *s = _screen->getPalette(1);
|
||||
uint8 *s = _screen->getPalette(1).getData();
|
||||
for (int i = 384; i < 768; i++)
|
||||
swampCol[i] = tpal[i] = s[i] & 0x3f;
|
||||
|
||||
@ -2217,7 +2217,7 @@ int LoLEngine::processMagicIce(int charNum, int spellLevel) {
|
||||
generateBrightnessPalette(swampCol, swampCol, _brightness, _lampEffect);
|
||||
swampCol[0] = swampCol[1] = swampCol[2] = tpal[0] = tpal[1] = tpal[2] = 0;
|
||||
|
||||
generateBrightnessPalette(_screen->getPalette(0), s, _brightness, _lampEffect);
|
||||
generateBrightnessPalette(_screen->getPalette(0).getData(), s, _brightness, _lampEffect);
|
||||
|
||||
int sX = 112;
|
||||
int sY = 0;
|
||||
@ -2306,7 +2306,7 @@ int LoLEngine::processMagicIce(int charNum, int spellLevel) {
|
||||
enableSysTimer(2);
|
||||
|
||||
if (_currentLevel != 11)
|
||||
generateBrightnessPalette(_screen->getPalette(0), swampCol, _brightness, _lampEffect);
|
||||
generateBrightnessPalette(_screen->getPalette(0).getData(), swampCol, _brightness, _lampEffect);
|
||||
|
||||
playSpellAnimation(0, 0, 0, 2, 0, 0, 0, tpal, swampCol, 40, 0);
|
||||
|
||||
@ -2617,7 +2617,7 @@ int LoLEngine::processMagicLightning(int charNum, int spellLevel) {
|
||||
mov->close();
|
||||
delete mov;
|
||||
|
||||
_screen->setScreenPalette(_screen->getPalette(1));
|
||||
_screen->setScreenPalette(_screen->getPalette(1).getData());
|
||||
_screen->copyPage(12, 2);
|
||||
_screen->copyPage(12, 0);
|
||||
updateDrawPage2();
|
||||
@ -2736,7 +2736,7 @@ int LoLEngine::processMagicSwarm(int charNum, int damage) {
|
||||
int LoLEngine::processMagicVaelansCube() {
|
||||
uint8 *tmpPal1 = new uint8[768];
|
||||
uint8 *tmpPal2 = new uint8[768];
|
||||
uint8 *sp1 = _screen->getPalette(1);
|
||||
uint8 *sp1 = _screen->getPalette(1).getData();
|
||||
|
||||
memcpy(tmpPal1, sp1, 768);
|
||||
memcpy(tmpPal2, sp1, 768);
|
||||
@ -2840,7 +2840,7 @@ void LoLEngine::callbackProcessMagicLightning(WSAMovie_v2 *mov, int x, int y) {
|
||||
if (_lightningDiv == 2)
|
||||
shakeScene(1, 2, 3, 0);
|
||||
|
||||
uint8 *p1 = _screen->getPalette(1);
|
||||
uint8 *p1 = _screen->getPalette(1).getData();
|
||||
|
||||
if (_lightningSfxFrame % _lightningDiv) {
|
||||
_screen->setScreenPalette(p1);
|
||||
@ -3659,9 +3659,9 @@ void LoLEngine::restoreSwampPalette() {
|
||||
if (_currentLevel != 11)
|
||||
return;
|
||||
|
||||
uint8 *s = _screen->getPalette(2);
|
||||
uint8 *d = _screen->getPalette(0);
|
||||
uint8 *d2 = _screen->getPalette(1);
|
||||
uint8 *s = _screen->getPalette(2).getData();
|
||||
uint8 *d = _screen->getPalette(0).getData();
|
||||
uint8 *d2 = _screen->getPalette(1).getData();
|
||||
|
||||
for (int i = 1; i < 768; i++)
|
||||
SWAP(s[i], d[i]);
|
||||
@ -3841,14 +3841,14 @@ void LoLEngine::displayAutomap() {
|
||||
uint8 *tmpWll = new uint8[80];
|
||||
memcpy(tmpWll, _wllBuffer4, 80);
|
||||
|
||||
_screen->loadBitmap("parch.cps", 2, 2, _screen->getPalette(3));
|
||||
_screen->loadBitmap("parch.cps", 2, 2, _screen->getPalette(3).getData());
|
||||
_screen->loadBitmap("autobut.shp", 3, 5, 0);
|
||||
const uint8 *shp = _screen->getCPagePtr(5);
|
||||
|
||||
for (int i = 0; i < 109; i++)
|
||||
_automapShapes[i] = _screen->getPtrToShape(shp, i + 11);
|
||||
|
||||
_screen->generateGrayOverlay(_screen->getPalette(3), _mapOverlay, 52, 0, 0, 0, 256, false);
|
||||
_screen->generateGrayOverlay(_screen->getPalette(3).getData(), _mapOverlay, 52, 0, 0, 0, 256, false);
|
||||
|
||||
_screen->loadFont(Screen::FID_9_FNT, "FONT9PN.FNT");
|
||||
_screen->loadFont(Screen::FID_6_FNT, "FONT6PN.FNT");
|
||||
@ -3871,7 +3871,7 @@ void LoLEngine::displayAutomap() {
|
||||
|
||||
_screen->copyPage(2, 0);
|
||||
_screen->updateScreen();
|
||||
_screen->fadePalette(_screen->getPalette(3), 10);
|
||||
_screen->fadePalette(_screen->getPalette(3).getData(), 10);
|
||||
uint32 delayTimer = _system->getMillis() + 8 * _tickLength;
|
||||
|
||||
while (!exitAutomap && !shouldQuit()) {
|
||||
@ -4009,7 +4009,7 @@ void LoLEngine::loadMapLegendData(int level) {
|
||||
|
||||
void LoLEngine::drawMapPage(int pageNum) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
_screen->loadBitmap("parch.cps", pageNum, pageNum, _screen->getPalette(3));
|
||||
_screen->loadBitmap("parch.cps", pageNum, pageNum, _screen->getPalette(3).getData());
|
||||
|
||||
int cp = _screen->setCurPage(pageNum);
|
||||
Screen::FontId of = _screen->setFont(Screen::FID_9_FNT);
|
||||
|
@ -396,14 +396,14 @@ void KyraEngine_HoF::unloadScene() {
|
||||
|
||||
void KyraEngine_HoF::loadScenePal() {
|
||||
uint16 sceneId = _mainCharacter.sceneId;
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
|
||||
char filename[14];
|
||||
strcpy(filename, _sceneList[sceneId].filename1);
|
||||
strcat(filename, ".COL");
|
||||
_screen->loadBitmap(filename, 3, 3, 0);
|
||||
memcpy(_screen->getPalette(1), _screen->getCPagePtr(3), 384);
|
||||
memset(_screen->getPalette(1), 0, 3);
|
||||
_screen->getPalette(1).copy(_screen->getCPagePtr(3), 0, 128);
|
||||
memset(_screen->getPalette(1).getData(), 0, 3);
|
||||
memcpy(_scenePal, _screen->getCPagePtr(3)+336, 432);
|
||||
}
|
||||
|
||||
@ -669,15 +669,15 @@ void KyraEngine_HoF::initSceneScreen(int unk1) {
|
||||
}
|
||||
|
||||
if (_noScriptEnter) {
|
||||
memset(_screen->getPalette(0), 0, 384);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
memset(_screen->getPalette(0).getData(), 0, 384);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 144, 2, 0, Screen::CR_NO_P_CHECK);
|
||||
|
||||
if (_noScriptEnter) {
|
||||
_screen->setScreenPalette(_screen->getPalette(1));
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(1), 384);
|
||||
_screen->setScreenPalette(_screen->getPalette(1).getData());
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1), 0, 128);
|
||||
}
|
||||
|
||||
updateCharPal(0);
|
||||
@ -695,11 +695,8 @@ void KyraEngine_HoF::freeSceneShapePtrs() {
|
||||
}
|
||||
|
||||
void KyraEngine_HoF::fadeScenePal(int srcIndex, int delayTime) {
|
||||
uint8 *dst = _screen->getPalette(0) + 336;
|
||||
const uint8 *src = _scenePal + (srcIndex << 4)*3;
|
||||
memcpy(dst, src, 48);
|
||||
|
||||
_screen->fadePalette(_screen->getPalette(0), delayTime, &_updateFunctor);
|
||||
_screen->getPalette(0).copy(_scenePal, srcIndex << 4, 16, 112);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), delayTime, &_updateFunctor);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
@ -406,7 +406,7 @@ void KyraEngine_LoK::startSceneScript(int brandonAlive) {
|
||||
_screen->clearPage(3);
|
||||
_res->exists(fileNameBuffer, true);
|
||||
// FIXME: check this hack for amiga version
|
||||
_screen->loadBitmap(fileNameBuffer, 3, 3, (_flags.platform == Common::kPlatformAmiga ? _screen->getPalette(0) : 0));
|
||||
_screen->loadBitmap(fileNameBuffer, 3, 3, (_flags.platform == Common::kPlatformAmiga ? _screen->getPalette(0).getData() : 0));
|
||||
_sprites->loadSceneShapes();
|
||||
_exitListPtr = 0;
|
||||
|
||||
@ -770,9 +770,9 @@ void KyraEngine_LoK::initSceneObjectList(int brandonAlive) {
|
||||
void KyraEngine_LoK::initSceneScreen(int brandonAlive) {
|
||||
if (_flags.platform == Common::kPlatformAmiga) {
|
||||
if (_unkScreenVar1 && !queryGameFlag(0xF0)) {
|
||||
memset(_screen->getPalette(2), 0, 32*3);
|
||||
_screen->getPalette(2).clear();
|
||||
if (_currentCharacter->sceneId != 117 || !queryGameFlag(0xB3))
|
||||
_screen->setScreenPalette(_screen->getPalette(2));
|
||||
_screen->setScreenPalette(_screen->getPalette(2).getData());
|
||||
}
|
||||
|
||||
if (_unkScreenVar2 == 1)
|
||||
@ -782,12 +782,12 @@ void KyraEngine_LoK::initSceneScreen(int brandonAlive) {
|
||||
|
||||
if (_unkScreenVar1 && !queryGameFlag(0xA0)) {
|
||||
if (_currentCharacter->sceneId == 45 && _paletteChanged)
|
||||
memcpy(_screen->getPalette(0) + 12*3, _screen->getPalette(4) + 12*3, 2);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(4), 12, 1);
|
||||
|
||||
if (_currentCharacter->sceneId >= 229 && _currentCharacter->sceneId <= 245 && (_brandonStatusBit & 1))
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(0) + 320*3, 64);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(10));
|
||||
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
} else {
|
||||
if (_unkScreenVar1 && !queryGameFlag(0xA0)) {
|
||||
@ -797,7 +797,7 @@ void KyraEngine_LoK::initSceneScreen(int brandonAlive) {
|
||||
col >>= 2;
|
||||
_screen->getPalette(0)[684+i] = col;
|
||||
}
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
if (_unkScreenVar2 == 1)
|
||||
@ -807,10 +807,10 @@ void KyraEngine_LoK::initSceneScreen(int brandonAlive) {
|
||||
|
||||
if (_unkScreenVar1 && _paletteChanged) {
|
||||
if (!queryGameFlag(0xA0)) {
|
||||
memcpy(_screen->getPalette(0) + 684, _screen->getPalette(1) + 684, 60);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1), 228, 20);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
} else {
|
||||
memset(_screen->getPalette(0), 0, 768);
|
||||
_screen->getPalette(0).clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ void LoLEngine::loadLevel(int index) {
|
||||
addLevelItems();
|
||||
deleteMonstersFromBlock(_currentBlock);
|
||||
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0), _screen->_grayOverlay, 32, 16, 0, 0, 128, true);
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0).getData(), _screen->_grayOverlay, 32, 16, 0, 0, 128, true);
|
||||
|
||||
_sceneDefaultUpdate = 0;
|
||||
if (_screen->_fadeFlag == 3)
|
||||
@ -94,7 +94,7 @@ void LoLEngine::loadLevel(int index) {
|
||||
|
||||
gui_drawPlayField();
|
||||
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, _lampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, _lampEffect);
|
||||
setMouseCursorToItemInHand();
|
||||
|
||||
snd_playTrack(_curMusicTheme);
|
||||
@ -379,11 +379,9 @@ void LoLEngine::loadLevelGraphics(const char *file, int specialColor, int weight
|
||||
v += 128;
|
||||
|
||||
if (_lastOverridePalFilePtr) {
|
||||
uint8 *tpal = _res->fileData(_lastOverridePalFilePtr, 0);
|
||||
memcpy(_screen->getPalette(0), tpal, 384);
|
||||
delete[] tpal;
|
||||
_res->loadFileToBuf(_lastOverridePalFilePtr, _screen->getPalette(0).getData(), 384);
|
||||
} else {
|
||||
memcpy(_screen->getPalette(0), v, 384);
|
||||
_screen->getPalette(0).copy(v, 0, 128);
|
||||
}
|
||||
|
||||
v += 384;
|
||||
@ -393,14 +391,12 @@ void LoLEngine::loadLevelGraphics(const char *file, int specialColor, int weight
|
||||
memcpy(_screen->getPalette(0) + 384, tmpPal, 384);*/
|
||||
|
||||
if (_currentLevel == 11) {
|
||||
uint8 *swampPal = _res->fileData("SWAMPICE.COL", 0);
|
||||
memcpy(_screen->getPalette(2), swampPal, 384);
|
||||
memcpy(_screen->getPalette(2) + 384, _screen->getPalette(0) + 384, 384);
|
||||
delete[] swampPal;
|
||||
_res->loadFileToBuf("SWAMPICE.COL", _screen->getPalette(2).getData(), 384);
|
||||
_screen->getPalette(2).copy(_screen->getPalette(0), 128);
|
||||
|
||||
if (_flagsTable[52] & 0x04) {
|
||||
uint8 *pal0 = _screen->getPalette(0);
|
||||
uint8 *pal2 = _screen->getPalette(2);
|
||||
uint8 *pal0 = _screen->getPalette(0).getData();
|
||||
uint8 *pal2 = _screen->getPalette(2).getData();
|
||||
for (int i = 1; i < 768; i++)
|
||||
SWAP(pal0[i], pal2[i]);
|
||||
}
|
||||
@ -427,7 +423,7 @@ void LoLEngine::loadLevelGraphics(const char *file, int specialColor, int weight
|
||||
for (int i = 0; i < 7; i++) {
|
||||
weight = 100 - (i * _lastSpecialColorWeight);
|
||||
weight = (weight > 0) ? (weight * 255) / 100 : 0;
|
||||
_screen->generateLevelOverlay(_screen->getPalette(0), _screen->getLevelOverlay(i), _lastSpecialColor, weight);
|
||||
_screen->generateLevelOverlay(_screen->getPalette(0).getData(), _screen->getLevelOverlay(i), _lastSpecialColor, weight);
|
||||
|
||||
for (int ii = 0; ii < 128; ii++) {
|
||||
if (_screen->getLevelOverlay(i)[ii] == 255)
|
||||
@ -442,7 +438,7 @@ void LoLEngine::loadLevelGraphics(const char *file, int specialColor, int weight
|
||||
_screen->getLevelOverlay(7)[i] = i & 0xff;
|
||||
|
||||
_loadSuppFilesFlag = 0;
|
||||
generateBrightnessPalette(_screen->getPalette(0), _screen->getPalette(1), _brightness, _lampEffect);
|
||||
generateBrightnessPalette(_screen->getPalette(0).getData(), _screen->getPalette(1).getData(), _brightness, _lampEffect);
|
||||
|
||||
char tname[13];
|
||||
snprintf(tname, sizeof(tname), "LEVEL%.02d.TLC", _currentLevel);
|
||||
@ -548,14 +544,14 @@ void LoLEngine::updateLampStatus() {
|
||||
if (!_brightness || !_lampOilStatus) {
|
||||
newLampEffect = 8;
|
||||
if (newLampEffect != _lampEffect && _screen->_fadeFlag == 0)
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, newLampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, newLampEffect);
|
||||
} else {
|
||||
tmpOilStatus = (_lampOilStatus < 100) ? _lampOilStatus : 100;
|
||||
newLampEffect = (3 - ((tmpOilStatus - 1) / 25)) << 1;
|
||||
|
||||
if (_lampEffect == -1) {
|
||||
if (_screen->_fadeFlag == 0)
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, newLampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, newLampEffect);
|
||||
_lampStatusTimer = _system->getMillis() + (10 + _rnd.getRandomNumberRng(1, 30)) * _tickLength;
|
||||
} else {
|
||||
if ((_lampEffect & 0xfe) == (newLampEffect & 0xfe)) {
|
||||
@ -567,7 +563,7 @@ void LoLEngine::updateLampStatus() {
|
||||
}
|
||||
} else {
|
||||
if (_screen->_fadeFlag == 0)
|
||||
setPaletteBrightness(_screen->getPalette(0), _lampEffect, newLampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _lampEffect, newLampEffect);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1308,8 +1304,8 @@ void LoLEngine::processGasExplosion(int soundId) {
|
||||
uint16 targetBlock = 0;
|
||||
int dist = getSpellTargetBlock(_currentBlock, _currentDirection, 3, targetBlock);
|
||||
|
||||
uint8 *p1 = _screen->getPalette(1);
|
||||
uint8 *p2 = _screen->getPalette(3);
|
||||
uint8 *p1 = _screen->getPalette(1).getData();
|
||||
uint8 *p2 = _screen->getPalette(3).getData();
|
||||
|
||||
if (dist) {
|
||||
WSAMovie_v2 *mov = new WSAMovie_v2(this);
|
||||
@ -1331,11 +1327,11 @@ void LoLEngine::processGasExplosion(int soundId) {
|
||||
p2[i * 3] = 0x3f;
|
||||
|
||||
uint32 ctime = _system->getMillis();
|
||||
while (_screen->fadePaletteStep(_screen->getPalette(0), p2, _system->getMillis() - ctime, 10))
|
||||
while (_screen->fadePaletteStep(_screen->getPalette(0).getData(), p2, _system->getMillis() - ctime, 10))
|
||||
updateInput();
|
||||
|
||||
ctime = _system->getMillis();
|
||||
while (_screen->fadePaletteStep(p2, _screen->getPalette(0), _system->getMillis() - ctime, 50))
|
||||
while (_screen->fadePaletteStep(p2, _screen->getPalette(0).getData(), _system->getMillis() - ctime, 50))
|
||||
updateInput();
|
||||
}
|
||||
|
||||
@ -1421,7 +1417,7 @@ void LoLEngine::prepareSpecialScene(int fieldType, int hasDialogue, int suspendG
|
||||
initDialogueSequence(fieldType, 0);
|
||||
|
||||
if (fadeFlag) {
|
||||
_screen->fadePalette(_screen->getPalette(3), 10);
|
||||
_screen->fadePalette(_screen->getPalette(3).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
}
|
||||
|
||||
@ -1437,9 +1433,9 @@ void LoLEngine::prepareSpecialScene(int fieldType, int hasDialogue, int suspendG
|
||||
gui_disableControls(controlMode);
|
||||
|
||||
if (fadeFlag) {
|
||||
memcpy(_screen->getPalette(3) + 384, _screen->getPalette(0) + 384, 384);
|
||||
_screen->loadSpecialColors(_screen->getPalette(3));
|
||||
_screen->fadePalette(_screen->getPalette(3), 10);
|
||||
_screen->getPalette(3).copy(_screen->getPalette(0), 128);
|
||||
_screen->loadSpecialColors(_screen->getPalette(3).getData());
|
||||
_screen->fadePalette(_screen->getPalette(3).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
}
|
||||
|
||||
@ -1495,7 +1491,7 @@ int LoLEngine::restoreAfterSpecialScene(int fadeFlag, int redrawPlayField, int r
|
||||
if (redrawPlayField)
|
||||
gui_drawPlayField();
|
||||
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, _lampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, _lampEffect);
|
||||
|
||||
} else {
|
||||
_currentControlMode = 0;
|
||||
|
@ -328,25 +328,23 @@ void KyraEngine_MR::freeSceneShapes() {
|
||||
|
||||
void KyraEngine_MR::loadScenePal() {
|
||||
char filename[16];
|
||||
memcpy(_screen->getPalette(2), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(2).copy(_screen->getPalette(0));
|
||||
strcpy(filename, _sceneList[_mainCharacter.sceneId].filename1);
|
||||
strcat(filename, ".COL");
|
||||
|
||||
_screen->loadBitmap(filename, 3, 3, 0);
|
||||
memcpy(_screen->getPalette(2), _screen->getCPagePtr(3), 432);
|
||||
memset(_screen->getPalette(2), 0, 3);
|
||||
_screen->getPalette(2).copy(_screen->getCPagePtr(3), 0, 144);
|
||||
memset(_screen->getPalette(2).getData(), 0, 3);
|
||||
|
||||
for (int i = 144; i <= 167; ++i) {
|
||||
uint8 *palette = _screen->getPalette(2) + i * 3;
|
||||
uint8 *palette = _screen->getPalette(2).getData() + i * 3;
|
||||
palette[0] = palette[2] = 63;
|
||||
palette[1] = 0;
|
||||
}
|
||||
|
||||
_screen->generateOverlay(_screen->getPalette(2), _paletteOverlay, 0xF0, 0x19);
|
||||
_screen->generateOverlay(_screen->getPalette(2).getData(), _paletteOverlay, 0xF0, 0x19);
|
||||
|
||||
uint8 *palette = _screen->getPalette(2) + 432;
|
||||
const uint8 *costPal = _costPalBuffer + _characterShapeFile * 72;
|
||||
memcpy(palette, costPal, 24*3);
|
||||
_screen->getPalette(2).copy(_costPalBuffer, _characterShapeFile * 24, 24, 144);
|
||||
}
|
||||
|
||||
void KyraEngine_MR::loadSceneMsc() {
|
||||
@ -609,17 +607,17 @@ void KyraEngine_MR::initSceneScreen(int unk1) {
|
||||
}
|
||||
|
||||
if (_noScriptEnter) {
|
||||
memset(_screen->getPalette(0), 0, 432);
|
||||
memset(_screen->getPalette(0).getData(), 0, 432);
|
||||
if (!_wasPlayingVQA)
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
|
||||
|
||||
if (_noScriptEnter) {
|
||||
if (!_wasPlayingVQA)
|
||||
_screen->setScreenPalette(_screen->getPalette(2));
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(2), 432);
|
||||
_screen->setScreenPalette(_screen->getPalette(2).getData());
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2), 0, 144);
|
||||
if (_wasPlayingVQA) {
|
||||
_screen->fadeFromBlack(0x3C);
|
||||
_wasPlayingVQA = false;
|
||||
|
@ -139,7 +139,7 @@ bool Screen::init() {
|
||||
}
|
||||
}
|
||||
|
||||
setScreenPalette(getPalette(0));
|
||||
setScreenPalette(getPalette(0).getData());
|
||||
|
||||
_curDim = 0;
|
||||
_charWidth = 0;
|
||||
@ -490,7 +490,7 @@ void Screen::setPagePixel(int pageNum, int x, int y, uint8 color) {
|
||||
}
|
||||
|
||||
void Screen::fadeFromBlack(int delay, const UpdateFunctor *upFunc) {
|
||||
fadePalette(getPalette(0), delay, upFunc);
|
||||
fadePalette(getPalette(0).getData(), delay, upFunc);
|
||||
}
|
||||
|
||||
void Screen::fadeToBlack(int delay, const UpdateFunctor *upFunc) {
|
||||
@ -592,12 +592,12 @@ void Screen::setPaletteIndex(uint8 index, uint8 red, uint8 green, uint8 blue) {
|
||||
getPalette(0)[index * 3 + 0] = red;
|
||||
getPalette(0)[index * 3 + 1] = green;
|
||||
getPalette(0)[index * 3 + 2] = blue;
|
||||
setScreenPalette(getPalette(0));
|
||||
setScreenPalette(getPalette(0).getData());
|
||||
}
|
||||
|
||||
void Screen::getRealPalette(int num, uint8 *dst) {
|
||||
const int colors = (_vm->gameFlags().platform == Common::kPlatformAmiga ? 32 : 256);
|
||||
const uint8 *palData = getPalette(num);
|
||||
const uint8 *palData = getPalette(num).getData();
|
||||
|
||||
if (!palData) {
|
||||
memset(dst, 0, colors * 3);
|
||||
@ -2661,9 +2661,9 @@ void Screen::setMouseCursor(int x, int y, const byte *shape) {
|
||||
_system->updateScreen();
|
||||
}
|
||||
|
||||
uint8 *Screen::getPalette(int num) {
|
||||
Palette &Screen::getPalette(int num) {
|
||||
assert(num >= 0 && num < (_vm->gameFlags().platform == Common::kPlatformAmiga ? 7 : 4));
|
||||
return _palettes[num]->getData();
|
||||
return *_palettes[num];
|
||||
}
|
||||
|
||||
byte Screen::getShapeFlag1(int x, int y) {
|
||||
@ -3288,9 +3288,9 @@ void Palette::copy(const Palette &source, int firstCol, int numCols, int dstStar
|
||||
if (dstStart == -1)
|
||||
dstStart = firstCol;
|
||||
|
||||
assert(numCols >= 0 && numCols < _numColors);
|
||||
assert(firstCol >= 0 && firstCol < source.getNumColors());
|
||||
assert(dstStart >= 0 && dstStart + numCols < _numColors);
|
||||
assert(numCols >= 0 && numCols <= _numColors);
|
||||
assert(firstCol >= 0 && firstCol <= source.getNumColors());
|
||||
assert(dstStart >= 0 && dstStart + numCols <= _numColors);
|
||||
|
||||
memcpy(_palData + dstStart * 3, source._palData + firstCol * 3, numCols * 3);
|
||||
}
|
||||
@ -3302,9 +3302,9 @@ void Palette::copy(const uint8 *source, int firstCol, int numCols, int dstStart)
|
||||
if (dstStart == -1)
|
||||
dstStart = firstCol;
|
||||
|
||||
assert(numCols >= 0 && numCols < _numColors);
|
||||
assert(numCols >= 0 && numCols <= _numColors);
|
||||
assert(firstCol >= 0);
|
||||
assert(dstStart >= 0 && dstStart + numCols < _numColors);
|
||||
assert(dstStart >= 0 && dstStart + numCols <= _numColors);
|
||||
|
||||
memcpy(_palData + dstStart * 3, source + firstCol * 3, numCols * 3);
|
||||
}
|
||||
|
@ -232,7 +232,7 @@ public:
|
||||
const uint8 *getScreenPalette() const { return _screenPalette->getData(); }
|
||||
|
||||
void getRealPalette(int num, uint8 *dst);
|
||||
uint8 *getPalette(int num);
|
||||
Palette &getPalette(int num);
|
||||
|
||||
// gui specific (processing on _curPage)
|
||||
enum ShadeType {
|
||||
|
@ -80,13 +80,15 @@ const ScreenDim *Screen_LoK::getScreenDim(int dim) {
|
||||
|
||||
void Screen_LoK::fadeSpecialPalette(int palIndex, int startIndex, int size, int fadeTime) {
|
||||
assert(_vm->palTable1()[palIndex]);
|
||||
assert(getPalette(0));
|
||||
|
||||
uint8 tempPal[768];
|
||||
memcpy(tempPal, getPalette(0), 768);
|
||||
memcpy(tempPal, getPalette(0).getData(), 768);
|
||||
memcpy(&tempPal[startIndex*3], _vm->palTable1()[palIndex], size*3);
|
||||
|
||||
fadePalette(tempPal, fadeTime*18);
|
||||
memcpy(&getPalette(0)[startIndex*3], &tempPal[startIndex*3], size*3);
|
||||
setScreenPalette(getPalette(0));
|
||||
|
||||
getPalette(0).copy(tempPal, startIndex, size);
|
||||
setScreenPalette(getPalette(0).getData());
|
||||
_system->updateScreen();
|
||||
}
|
||||
|
||||
|
@ -284,7 +284,7 @@ void Screen_LoL::fadeClearSceneWindow(int delay) {
|
||||
|
||||
uint8 *tpal = new uint8[768];
|
||||
|
||||
memcpy(tpal, getPalette(0), 768);
|
||||
memcpy(tpal, getPalette(0).getData(), 768);
|
||||
memset(tpal, 0, 384);
|
||||
loadSpecialColors(tpal);
|
||||
fadePalette(tpal, delay);
|
||||
@ -838,8 +838,8 @@ void Screen_LoL::fadeToBlack(int delay, const UpdateFunctor *upFunc) {
|
||||
}
|
||||
|
||||
void Screen_LoL::fadeToPalette1(int delay) {
|
||||
loadSpecialColors(getPalette(1));
|
||||
fadePalette(getPalette(1), delay);
|
||||
loadSpecialColors(getPalette(1).getData());
|
||||
fadePalette(getPalette(1).getData(), delay);
|
||||
_fadeFlag = 0;
|
||||
}
|
||||
|
||||
@ -864,7 +864,7 @@ void Screen_LoL::copyColor(int dstColorIndex, int srcColorIndex) {
|
||||
bool Screen_LoL::fadeColor(int dstColorIndex, int srcColorIndex, uint32 elapsedTime, uint32 targetTime) {
|
||||
uint8 *dst = _screenPalette->getData() + 3 * dstColorIndex;
|
||||
uint8 *src = _screenPalette->getData() + 3 * srcColorIndex;
|
||||
uint8 *p = getPalette(1) + 3 * dstColorIndex;
|
||||
uint8 *p = getPalette(1).getData() + 3 * dstColorIndex;
|
||||
|
||||
bool res = false;
|
||||
|
||||
@ -908,7 +908,7 @@ bool Screen_LoL::fadeColor(int dstColorIndex, int srcColorIndex, uint32 elapsedT
|
||||
|
||||
bool Screen_LoL::fadePaletteStep(uint8 *pal1, uint8 *pal2, uint32 elapsedTime, uint32 targetTime) {
|
||||
uint8 tpal[768];
|
||||
uint8 *p1 = getPalette(1);
|
||||
uint8 *p1 = getPalette(1).getData();
|
||||
|
||||
bool res = false;
|
||||
for (int i = 0; i < 768; i++) {
|
||||
|
@ -146,10 +146,10 @@ int KyraEngine_HoF::o2_meanWhileScene(EMCState *script) {
|
||||
const char *palfile = stackPosString(1);
|
||||
|
||||
_screen->loadBitmap(cpsfile, 3, 3, 0);
|
||||
memcpy(_screen->getPalette(2), _screen->getPalette(0), 768);
|
||||
_screen->loadPalette(palfile, _screen->getPalette(2));
|
||||
_screen->getPalette(2).copy(_screen->getPalette(0));
|
||||
_screen->loadPalette(palfile, _screen->getPalette(2).getData());
|
||||
_screen->fillRect(0, 0, 319, 199, 207);
|
||||
_screen->setScreenPalette(_screen->getPalette(2));
|
||||
_screen->setScreenPalette(_screen->getPalette(2).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0);
|
||||
if (!scumm_stricmp(cpsfile, "_MEANWIL.CPS") && _flags.lang == Common::JA_JPN) {
|
||||
Screen::FontId o = _screen->setFont(Screen::FID_6_FNT);
|
||||
@ -559,15 +559,15 @@ int KyraEngine_HoF::o2_enableAnimObject(EMCState *script) {
|
||||
|
||||
int KyraEngine_HoF::o2_loadPalette384(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_loadPalette384(%p) ('%s')", (const void *)script, stackPosString(0));
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
|
||||
_res->loadFileToBuf(stackPosString(0), _screen->getPalette(1), 384);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
_res->loadFileToBuf(stackPosString(0), _screen->getPalette(1).getData(), 384);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::o2_setPalette384(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setPalette384(%p) ()", (const void *)script);
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(1), 384);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1), 0, 128);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -774,13 +774,13 @@ int KyraEngine_HoF::o2_showLetter(EMCState *script) {
|
||||
displayInvWsaLastFrame();
|
||||
backUpPage0();
|
||||
|
||||
memcpy(_screen->getPalette(2), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(2).copy(_screen->getPalette(0));
|
||||
|
||||
_screen->clearPage(3);
|
||||
_screen->loadBitmap("_NOTE.CPS", 3, 3, 0);
|
||||
|
||||
sprintf(filename, "_NTEPAL%.1d.COL", letter+1);
|
||||
_res->loadFileToBuf(filename, _screen->getPalette(0), 768);
|
||||
_res->loadFileToBuf(filename, _screen->getPalette(0).getData(), 768);
|
||||
|
||||
_screen->fadeToBlack(0x14);
|
||||
|
||||
@ -798,7 +798,7 @@ int KyraEngine_HoF::o2_showLetter(EMCState *script) {
|
||||
}
|
||||
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x14);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 0x14);
|
||||
_screen->setMouseCursor(0, 0, getShapePtr(0));
|
||||
setMousePos(280, 160);
|
||||
|
||||
@ -819,8 +819,8 @@ int KyraEngine_HoF::o2_showLetter(EMCState *script) {
|
||||
_screen->hideMouse();
|
||||
_screen->fadeToBlack(0x14);
|
||||
restorePage0();
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(2), 768);
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x14);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2));
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 0x14);
|
||||
setHandItem(_itemInHand);
|
||||
_screen->showMouse();
|
||||
|
||||
@ -1125,13 +1125,13 @@ int KyraEngine_HoF::o2_resetInputColorCode(EMCState *script) {
|
||||
|
||||
int KyraEngine_HoF::o2_mushroomEffect(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_mushroomEffect(%p)", (const void *)script);
|
||||
memcpy(_screen->getPalette(2), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(2).copy(_screen->getPalette(0));
|
||||
|
||||
for (int i = 1; i < 768; i += 3)
|
||||
_screen->getPalette(0)[i] = 0;
|
||||
snd_playSoundEffect(106);
|
||||
_screen->fadePalette(_screen->getPalette(0), 90, &_updateFunctor);
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(2), 768);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 90, &_updateFunctor);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2));
|
||||
|
||||
for (int i = 0; i < 768; i += 3) {
|
||||
_screen->getPalette(0)[i] = _screen->getPalette(0)[i + 1] = 0;
|
||||
@ -1140,10 +1140,10 @@ int KyraEngine_HoF::o2_mushroomEffect(EMCState *script) {
|
||||
_screen->getPalette(0)[i + 2] = 63;
|
||||
}
|
||||
snd_playSoundEffect(106);
|
||||
_screen->fadePalette(_screen->getPalette(0), 90, &_updateFunctor);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 90, &_updateFunctor);
|
||||
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(2), 768);
|
||||
_screen->fadePalette(_screen->getPalette(0), 30, &_updateFunctor);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2));
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 30, &_updateFunctor);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1262,19 +1262,23 @@ int KyraEngine_HoF::o2_stopSceneAnimation(EMCState *script) {
|
||||
|
||||
int KyraEngine_HoF::o2_processPaletteIndex(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_processPaletteIndex(%p) (%d, %d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5));
|
||||
uint8 *palette = _screen->getPalette(0);
|
||||
uint8 *palette = _screen->getPalette(0).getData();
|
||||
|
||||
const int index = stackPos(0);
|
||||
const bool updatePalette = (stackPos(4) != 0);
|
||||
const int delayTime = stackPos(5);
|
||||
|
||||
palette[index*3+0] = (stackPos(1) * 0x3F) / 100;
|
||||
palette[index*3+1] = (stackPos(2) * 0x3F) / 100;
|
||||
palette[index*3+2] = (stackPos(3) * 0x3F) / 100;
|
||||
|
||||
if (updatePalette) {
|
||||
if (delayTime > 0)
|
||||
_screen->fadePalette(palette, delayTime, &_updateFunctor);
|
||||
else
|
||||
_screen->setScreenPalette(palette);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1396,7 +1400,7 @@ int KyraEngine_HoF::o2_demoFinale(EMCState *script) {
|
||||
assert(strings);
|
||||
|
||||
_screen->clearPage(0);
|
||||
_screen->loadPalette("THANKS.COL", _screen->getPalette(0));
|
||||
_screen->loadPalette("THANKS.COL", _screen->getPalette(0).getData());
|
||||
_screen->loadBitmap("THANKS.CPS", 3, 3, 0);
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0);
|
||||
|
||||
@ -1406,7 +1410,7 @@ int KyraEngine_HoF::o2_demoFinale(EMCState *script) {
|
||||
for (int i = 0; i < 6; i++)
|
||||
_text->printText(strings[i], _text->getCenterStringX(strings[i], 1, 319), y + i * 10, 255, 207, 0);
|
||||
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_screen->updateScreen();
|
||||
|
||||
_eventList.clear();
|
||||
|
@ -231,8 +231,9 @@ int KyraEngine_LoK::o1_fadeSpecialPalette(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_LoK::o1_fadeSpecialPalette(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
|
||||
if (_currentCharacter->sceneId != 45) {
|
||||
if (stackPos(0) == 13) {
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(0) + 384*3, 32*3);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
// TODO: Check this!
|
||||
_screen->getPalette(0).copy(_screen->getPalette(12));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
} else {
|
||||
warning("KyraEngine_LoK::o1_fadeSpecialPalette not implemented");
|
||||
@ -578,7 +579,7 @@ int KyraEngine_LoK::o1_restoreAllObjectBackgrounds(EMCState *script) {
|
||||
|
||||
int KyraEngine_LoK::o1_setCustomPaletteRange(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_LoK::o1_setCustomPaletteRange(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
|
||||
memcpy(_screen->getPalette(1) + stackPos(1)*3, _specialPalettes[stackPos(0)], stackPos(2)*3);
|
||||
_screen->getPalette(1).copy(_specialPalettes[stackPos(0)], 0, stackPos(2), stackPos(1));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1243,8 +1244,9 @@ int KyraEngine_LoK::o1_setFireberryGlowPalette(EMCState *script) {
|
||||
palIndex = 14;
|
||||
}
|
||||
}
|
||||
const uint8 *palette = _specialPalettes[palIndex];
|
||||
memcpy(_screen->getPalette(1) + 684, palette, 44);
|
||||
|
||||
// TODO: Original used "44" here, which would be 14.666... colors. That looks strange, we should verify this one again.
|
||||
_screen->getPalette(1).copy(_specialPalettes[palIndex], 0, 15, 228);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1505,32 +1507,29 @@ int KyraEngine_LoK::o1_fadeEntirePalette(EMCState *script) {
|
||||
|
||||
if (_flags.platform == Common::kPlatformAmiga) {
|
||||
if (cmd == 0) {
|
||||
fadePal = _screen->getPalette(2);
|
||||
memset(fadePal, 0, 32*3);
|
||||
memcpy(_screen->getPalette(4), _screen->getPalette(0), 32*3);
|
||||
_screen->getPalette(2).clear();
|
||||
fadePal = _screen->getPalette(2).getData();
|
||||
_screen->getPalette(4).copy(_screen->getPalette(0));
|
||||
} else if (cmd == 1) {
|
||||
fadePal = _screen->getPalette(0);
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(4), 32*3);
|
||||
fadePal = _screen->getPalette(0).getData();
|
||||
_screen->getPalette(0).copy(_screen->getPalette(4));
|
||||
} else if (cmd == 2) {
|
||||
fadePal = _screen->getPalette(0);
|
||||
memset(_screen->getPalette(2), 0, 32*3);
|
||||
fadePal = _screen->getPalette(0).getData();
|
||||
_screen->getPalette(2).clear();
|
||||
}
|
||||
} else {
|
||||
if (cmd == 0) {
|
||||
fadePal = _screen->getPalette(2);
|
||||
uint8 *screenPal = _screen->getPalette(0);
|
||||
uint8 *backUpPal = _screen->getPalette(3);
|
||||
|
||||
memcpy(backUpPal, screenPal, sizeof(uint8)*768);
|
||||
memset(fadePal, 0, sizeof(uint8)*768);
|
||||
_screen->getPalette(2).clear();
|
||||
fadePal = _screen->getPalette(2).getData();
|
||||
_screen->getPalette(3).copy(_screen->getPalette(0));
|
||||
} else if (cmd == 1) {
|
||||
//fadePal = _screen->getPalette(3);
|
||||
warning("unimplemented o1_fadeEntirePalette function");
|
||||
return 0;
|
||||
} else if (cmd == 2) {
|
||||
memset(_screen->getPalette(2), 0, 768);
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(1), 768);
|
||||
fadePal = _screen->getPalette(0);
|
||||
_screen->getPalette(2).clear();
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1));
|
||||
fadePal = _screen->getPalette(0).getData();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -602,14 +602,14 @@ int LoLEngine::olol_fadeToBlack(EMCState *script) {
|
||||
|
||||
int LoLEngine::olol_fadePalette(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_fadePalette(%p)", (const void *)script);
|
||||
_screen->fadePalette(_screen->getPalette(3), 10);
|
||||
_screen->fadePalette(_screen->getPalette(3).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
int LoLEngine::olol_loadBitmap(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_clearDialogueField(%p) (%s, %d)", (const void *)script, stackPosString(0), stackPos(1));
|
||||
_screen->loadBitmap(stackPosString(0), 3, 3, _screen->getPalette(3));
|
||||
_screen->loadBitmap(stackPosString(0), 3, 3, _screen->getPalette(3).getData());
|
||||
if (stackPos(1) != 2)
|
||||
_screen->copyPage(3, stackPos(1));
|
||||
return 1;
|
||||
@ -864,9 +864,9 @@ int LoLEngine::olol_fadeClearSceneWindow(EMCState *script) {
|
||||
|
||||
int LoLEngine::olol_fadeSequencePalette(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_fadeSequencePalette(%p)", (const void *)script);
|
||||
memcpy(_screen->getPalette(3) + 0x180, _screen->getPalette(0) + 0x180, 0x180);
|
||||
_screen->loadSpecialColors(_screen->getPalette(3));
|
||||
_screen->fadePalette(_screen->getPalette(3), 10);
|
||||
_screen->getPalette(3).copy(_screen->getPalette(0), 128);
|
||||
_screen->loadSpecialColors(_screen->getPalette(3).getData());
|
||||
_screen->fadePalette(_screen->getPalette(3).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
return 1;
|
||||
}
|
||||
@ -876,7 +876,7 @@ int LoLEngine::olol_redrawPlayfield(EMCState *script) {
|
||||
if (_screen->_fadeFlag != 2)
|
||||
_screen->fadeClearSceneWindow(10);
|
||||
gui_drawPlayField();
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, _lampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, _lampEffect);
|
||||
_screen->_fadeFlag = 0;
|
||||
return 1;
|
||||
}
|
||||
@ -1408,7 +1408,7 @@ int LoLEngine::olol_playEndSequence(EMCState *script){
|
||||
|
||||
_eventList.clear();
|
||||
_screen->hideMouse();
|
||||
memset(_screen->getPalette(1), 0, 768);
|
||||
_screen->getPalette(1).clear();
|
||||
|
||||
showOutro(c, (_monsterDifficulty == 2));
|
||||
quitGame();
|
||||
@ -1428,7 +1428,7 @@ int LoLEngine::olol_setPaletteBrightness(EMCState *script) {
|
||||
uint16 old = _brightness;
|
||||
_brightness = stackPos(0);
|
||||
if (stackPos(1) == 1)
|
||||
setPaletteBrightness(_screen->getPalette(0), stackPos(0), _lampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), stackPos(0), _lampEffect);
|
||||
return old;
|
||||
}
|
||||
|
||||
@ -2002,8 +2002,8 @@ int LoLEngine::olol_drinkBezelCup(EMCState *script) {
|
||||
|
||||
int LoLEngine::olol_restoreFadePalette(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_restoreFadePalette(%p)", (const void *)script);
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(1), 384);
|
||||
_screen->fadePalette(_screen->getPalette(0), 10);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1), 0, 128);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
return 1;
|
||||
}
|
||||
@ -2101,8 +2101,8 @@ int LoLEngine::olol_increaseSkill(EMCState *script) {
|
||||
|
||||
int LoLEngine::olol_paletteFlash(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_paletteFlash(%p) (%d)", (const void *)script, stackPos(0));
|
||||
uint8 *s = _screen->getPalette(1);
|
||||
uint8 *d = _screen->getPalette(3);
|
||||
uint8 *s = _screen->getPalette(1).getData();
|
||||
uint8 *d = _screen->getPalette(3).getData();
|
||||
uint8 ovl[256];
|
||||
generateFlashPalette(s, d, stackPos(0));
|
||||
_screen->loadSpecialColors(s);
|
||||
@ -2289,7 +2289,7 @@ int LoLEngine::olol_getLanguage(EMCState *script) {
|
||||
|
||||
int LoLEngine::tlol_setupPaletteFade(const TIM *tim, const uint16 *param) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::t2_playSoundEffect(%p, %p) (%d)", (const void *)tim, (const void *)param, param[0]);
|
||||
_screen->getFadeParams(_screen->getPalette(0), param[0], _tim->_palDelayInc, _tim->_palDiff);
|
||||
_screen->getFadeParams(_screen->getPalette(0).getData(), param[0], _tim->_palDelayInc, _tim->_palDiff);
|
||||
_tim->_palDelayAcc = 0;
|
||||
return 1;
|
||||
}
|
||||
@ -2297,15 +2297,15 @@ int LoLEngine::tlol_setupPaletteFade(const TIM *tim, const uint16 *param) {
|
||||
int LoLEngine::tlol_loadPalette(const TIM *tim, const uint16 *param) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::tlol_loadPalette(%p, %p) (%d)", (const void *)tim, (const void *)param, param[0]);
|
||||
const char *palFile = (const char *)(tim->text + READ_LE_UINT16(tim->text + (param[0]<<1)));
|
||||
_screen->loadPalette(palFile, _screen->getPalette(0));
|
||||
_screen->loadPalette(palFile, _screen->getPalette(0).getData());
|
||||
return 1;
|
||||
}
|
||||
|
||||
int LoLEngine::tlol_setupPaletteFadeEx(const TIM *tim, const uint16 *param) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::tlol_setupPaletteFadeEx(%p, %p) (%d)", (const void *)tim, (const void *)param, param[0]);
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(1), 768);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1));
|
||||
|
||||
_screen->getFadeParams(_screen->getPalette(0), param[0], _tim->_palDelayInc, _tim->_palDiff);
|
||||
_screen->getFadeParams(_screen->getPalette(0).getData(), param[0], _tim->_palDelayInc, _tim->_palDiff);
|
||||
_tim->_palDelayAcc = 0;
|
||||
return 1;
|
||||
}
|
||||
@ -2381,7 +2381,6 @@ int LoLEngine::tlol_setPartyPosition(const TIM *tim, const uint16 *param) {
|
||||
|
||||
int LoLEngine::tlol_fadeClearWindow(const TIM *tim, const uint16 *param) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::tlol_fadeClearWindow(%p, %p) (%d)", (const void *)tim, (const void *)param, param[0]);
|
||||
uint8 *tmp = 0;
|
||||
|
||||
switch (param[0]) {
|
||||
case 0:
|
||||
@ -2389,10 +2388,9 @@ int LoLEngine::tlol_fadeClearWindow(const TIM *tim, const uint16 *param) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
tmp = _screen->getPalette(3);
|
||||
memcpy(tmp + 0x180, _screen->getPalette(0) + 0x180, 0x180);
|
||||
_screen->loadSpecialColors(tmp);
|
||||
_screen->fadePalette(tmp, 10);
|
||||
_screen->getPalette(3).copy(_screen->getPalette(0), 128);
|
||||
_screen->loadSpecialColors(_screen->getPalette(3).getData());
|
||||
_screen->fadePalette(_screen->getPalette(3).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
break;
|
||||
|
||||
@ -2401,9 +2399,8 @@ int LoLEngine::tlol_fadeClearWindow(const TIM *tim, const uint16 *param) {
|
||||
break;
|
||||
|
||||
case 3:
|
||||
tmp = _screen->getPalette(3);
|
||||
_screen->loadSpecialColors(tmp);
|
||||
_screen->fadePalette(tmp, 10);
|
||||
_screen->loadSpecialColors(_screen->getPalette(3).getData());
|
||||
_screen->fadePalette(_screen->getPalette(3).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
break;
|
||||
|
||||
@ -2411,14 +2408,13 @@ int LoLEngine::tlol_fadeClearWindow(const TIM *tim, const uint16 *param) {
|
||||
if (_screen->_fadeFlag != 2)
|
||||
_screen->fadeClearSceneWindow(10);
|
||||
gui_drawPlayField();
|
||||
setPaletteBrightness(_screen->getPalette(0), _brightness, _lampEffect);
|
||||
setPaletteBrightness(_screen->getPalette(0).getData(), _brightness, _lampEffect);
|
||||
_screen->_fadeFlag = 0;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
tmp = _screen->getPalette(3);
|
||||
_screen->loadSpecialColors(tmp);
|
||||
_screen->fadePalette(_screen->getPalette(1), 10);
|
||||
_screen->loadSpecialColors(_screen->getPalette(3).getData());
|
||||
_screen->fadePalette(_screen->getPalette(1).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
break;
|
||||
|
||||
@ -2517,7 +2513,7 @@ int LoLEngine::tlol_fadeInScene(const TIM *tim, const uint16 *param) {
|
||||
strcpy(filename, sceneFile);
|
||||
strcat(filename, ".CPS");
|
||||
|
||||
_screen->loadBitmap(filename, 7, 5, _screen->getPalette(0));
|
||||
_screen->loadBitmap(filename, 7, 5, _screen->getPalette(0).getData());
|
||||
|
||||
filename[0] = 0;
|
||||
|
||||
|
@ -427,7 +427,7 @@ void TIMInterpreter::setupTextPalette(uint index, int fadePalette) {
|
||||
};
|
||||
|
||||
for (int i = 0; i < 15; ++i) {
|
||||
uint8 *palette = _screen->getPalette(0) + (240 + i) * 3;
|
||||
uint8 *palette = _screen->getPalette(0).getData() + (240 + i) * 3;
|
||||
|
||||
uint8 c1 = (((15 - i) << 2) * palTable[index*3+0]) / 100;
|
||||
uint8 c2 = (((15 - i) << 2) * palTable[index*3+1]) / 100;
|
||||
@ -439,9 +439,9 @@ void TIMInterpreter::setupTextPalette(uint index, int fadePalette) {
|
||||
}
|
||||
|
||||
if (!fadePalette && !_palDiff) {
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
} else {
|
||||
_screen->getFadeParams(_screen->getPalette(0), fadePalette, _palDelayInc, _palDiff);
|
||||
_screen->getFadeParams(_screen->getPalette(0).getData(), fadePalette, _palDelayInc, _palDiff);
|
||||
_palDelayAcc = 0;
|
||||
}
|
||||
}
|
||||
@ -478,7 +478,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
|
||||
anim->wsa = new WSAMovie_v2(_vm);
|
||||
assert(anim->wsa);
|
||||
|
||||
anim->wsa->open(file, wsaOpenFlags, (index == 1) ? _screen->getPalette(0) : 0);
|
||||
anim->wsa->open(file, wsaOpenFlags, (index == 1) ? _screen->getPalette(0).getData() : 0);
|
||||
}
|
||||
|
||||
if (anim->wsa && anim->wsa->opened()) {
|
||||
@ -504,7 +504,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
|
||||
}
|
||||
|
||||
if (wsaFlags & 2) {
|
||||
_screen->fadePalette(_screen->getPalette(1), 15, 0);
|
||||
_screen->fadePalette(_screen->getPalette(1).getData(), 15, 0);
|
||||
_screen->clearPage(_drawPage2);
|
||||
if (_drawPage2)
|
||||
_screen->checkedPageUpdate(8, 4);
|
||||
@ -515,7 +515,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
|
||||
snprintf(file, 32, "%s.CPS", filename);
|
||||
|
||||
if (_vm->resource()->exists(file)) {
|
||||
_screen->loadBitmap(file, 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap(file, 3, 3, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, _drawPage2, Screen::CR_NO_P_CHECK);
|
||||
if (_drawPage2)
|
||||
_screen->checkedPageUpdate(8, 4);
|
||||
@ -526,10 +526,10 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
|
||||
}
|
||||
|
||||
if (wsaFlags & 2)
|
||||
_screen->fadePalette(_screen->getPalette(0), 30, 0);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 30, 0);
|
||||
} else {
|
||||
if (wsaFlags & 2) {
|
||||
_screen->fadePalette(_screen->getPalette(1), 15, 0);
|
||||
_screen->fadePalette(_screen->getPalette(1).getData(), 15, 0);
|
||||
_screen->clearPage(_drawPage2);
|
||||
if (_drawPage2)
|
||||
_screen->checkedPageUpdate(8, 4);
|
||||
@ -539,7 +539,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
|
||||
snprintf(file, 32, "%s.CPS", filename);
|
||||
|
||||
if (_vm->resource()->exists(file)) {
|
||||
_screen->loadBitmap(file, 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap(file, 3, 3, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, _drawPage2, Screen::CR_NO_P_CHECK);
|
||||
if (_drawPage2)
|
||||
_screen->checkedPageUpdate(8, 4);
|
||||
@ -547,7 +547,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
|
||||
}
|
||||
|
||||
if (wsaFlags & 2)
|
||||
_screen->fadePalette(_screen->getPalette(0), 30, 0);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 30, 0);
|
||||
}
|
||||
|
||||
return anim;
|
||||
@ -947,13 +947,13 @@ TIMInterpreter::Animation *TIMInterpreter_LoL::initAnimStruct(int index, const c
|
||||
if (_vm->resource()->exists(file)) {
|
||||
anim->wsa = new WSAMovie_v2(_vm);
|
||||
assert(anim->wsa);
|
||||
anim->wsa->open(file, wsaOpenFlags, _screen->getPalette(3));
|
||||
anim->wsa->open(file, wsaOpenFlags, _screen->getPalette(3).getData());
|
||||
}
|
||||
|
||||
if (wsaFlags & 1) {
|
||||
if (_screen->_fadeFlag != 1)
|
||||
_screen->fadeClearSceneWindow(10);
|
||||
memcpy(_screen->getPalette(3) + 384, _screen->getPalette(0) + 384, 384);
|
||||
_screen->getPalette(3).copy(_screen->getPalette(0), 128, 128);
|
||||
} else if (wsaFlags & 2) {
|
||||
_screen->fadeToBlack(10);
|
||||
}
|
||||
@ -962,8 +962,8 @@ TIMInterpreter::Animation *TIMInterpreter_LoL::initAnimStruct(int index, const c
|
||||
anim->wsa->displayFrame(0, 0, x, y, 0, 0, 0);
|
||||
|
||||
if (wsaFlags & 3) {
|
||||
_screen->loadSpecialColors(_screen->getPalette(3));
|
||||
_screen->fadePalette(_screen->getPalette(3), 10);
|
||||
_screen->loadSpecialColors(_screen->getPalette(3).getData());
|
||||
_screen->fadePalette(_screen->getPalette(3).getData(), 10);
|
||||
_screen->_fadeFlag = 0;
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ uint8 *SeqPlayer::setPanPages(int pageNum, int shape) {
|
||||
}
|
||||
|
||||
void SeqPlayer::makeHandShapes() {
|
||||
_screen->loadBitmap("WRITING.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("WRITING.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
if (_vm->gameFlags().platform == Common::kPlatformMacintosh || _vm->gameFlags().platform == Common::kPlatformAmiga) {
|
||||
freeHandShapes();
|
||||
|
||||
@ -241,25 +241,25 @@ void SeqPlayer::s1_loadPalette() {
|
||||
|
||||
if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
|
||||
if (!colNum)
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(0) + 576, 3*32);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(6));
|
||||
else if (colNum == 3)
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(0) + 672, 3*32);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(7));
|
||||
else if (colNum == 4)
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(0) + 288, 3*32);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(3));
|
||||
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
} else {
|
||||
uint32 fileSize;
|
||||
uint8 *srcData;
|
||||
srcData = _res->fileData(_vm->seqCOLTable()[colNum], &fileSize);
|
||||
memcpy(_screen->getPalette(0), srcData, fileSize);
|
||||
memcpy(_screen->getPalette(0).getData(), srcData, fileSize);
|
||||
delete[] srcData;
|
||||
}
|
||||
}
|
||||
|
||||
void SeqPlayer::s1_loadBitmap() {
|
||||
uint8 cpsNum = *_seqData++;
|
||||
_screen->loadBitmap(_vm->seqCPSTable()[cpsNum], 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap(_vm->seqCPSTable()[cpsNum], 3, 3, _screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
void SeqPlayer::s1_fadeToBlack() {
|
||||
|
@ -62,7 +62,7 @@ void KyraEngine_HoF::seq_playSequences(int startSeq, int endSeq) {
|
||||
int oldPage = _screen->setCurPage(2);
|
||||
|
||||
for (int i = 0; i < 4; ++i)
|
||||
memset(_screen->getPalette(i), 0, 0x300);
|
||||
_screen->getPalette(i).clear();
|
||||
|
||||
_screen->clearPage(10);
|
||||
_screen->clearPage(12);
|
||||
@ -77,7 +77,7 @@ void KyraEngine_HoF::seq_playSequences(int startSeq, int endSeq) {
|
||||
for (int seqNum = startSeq; seqNum <= endSeq && !((skipFlag() && allowSkip) || shouldQuit() || (_abortIntroFlag && allowSkip) || _menuChoice); seqNum++) {
|
||||
_screen->clearPage(0);
|
||||
_screen->clearPage(8);
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 0x300);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
_seqFrameCounter = 0;
|
||||
_seqStartTime = _system->getMillis();
|
||||
|
||||
@ -87,12 +87,12 @@ void KyraEngine_HoF::seq_playSequences(int startSeq, int endSeq) {
|
||||
SeqProc cb = _callbackS[seqNum];
|
||||
|
||||
if (cseq.flags & 2) {
|
||||
_screen->loadBitmap(cseq.cpsFile, 2, 2, _screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->loadBitmap(cseq.cpsFile, 2, 2, _screen->getPalette(0).getData());
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
} else {
|
||||
_screen->setCurPage(2);
|
||||
_screen->clearPage(2);
|
||||
_screen->loadPalette("goldfont.col", _screen->getPalette(0));
|
||||
_screen->loadPalette("goldfont.col", _screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
if (cb && !(_flags.isDemo && !_flags.isTalkie))
|
||||
@ -100,8 +100,8 @@ void KyraEngine_HoF::seq_playSequences(int startSeq, int endSeq) {
|
||||
|
||||
if (cseq.flags & 1) {
|
||||
_seqWsa->close();
|
||||
_seqWsa->open(cseq.wsaFile, 0, _screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_seqWsa->open(cseq.wsaFile, 0, _screen->getPalette(0).getData());
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_seqWsa->displayFrame(0, 2, cseq.xPos, cseq.yPos, 0, 0, 0);
|
||||
}
|
||||
|
||||
@ -361,7 +361,7 @@ int KyraEngine_HoF::seq_introTitle(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::seq_introOverview(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
uint8 *tmpPal = &(_screen->getPalette(3)[0x101]);
|
||||
uint8 *tmpPal = _screen->getPalette(3).getData() + 0x101;
|
||||
memset(tmpPal, 0, 256);
|
||||
_seqSubFrameEndTimeInternal = 0;
|
||||
uint32 now = 0;
|
||||
@ -372,9 +372,9 @@ int KyraEngine_HoF::seq_introOverview(WSAMovie_v2 *wsaObj, int x, int y, int frm
|
||||
_sound->playTrack(4);
|
||||
_seqSubFrameEndTimeInternal = _system->getMillis() + 60 * _tickLength;
|
||||
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
|
||||
@ -384,7 +384,7 @@ int KyraEngine_HoF::seq_introOverview(WSAMovie_v2 *wsaObj, int x, int y, int frm
|
||||
break;
|
||||
|
||||
case 1:
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0), _screen->getPalette(3), 0x40, 0, 0, 0, 0x100, true);
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0).getData(), _screen->getPalette(3).getData(), 0x40, 0, 0, 0, 0x100, true);
|
||||
for (int i = 0; i < 256; i++)
|
||||
tmpPal[_screen->getPalette(3)[i]] = 1;
|
||||
|
||||
@ -411,16 +411,16 @@ int KyraEngine_HoF::seq_introOverview(WSAMovie_v2 *wsaObj, int x, int y, int frm
|
||||
|
||||
case 200:
|
||||
seq_waitForTextsTimeout();
|
||||
_screen->fadePalette(_screen->getPalette(2), 64);
|
||||
_screen->fadePalette(_screen->getPalette(2).getData(), 64);
|
||||
break;
|
||||
|
||||
case 201:
|
||||
_screen->setScreenPalette(_screen->getPalette(2));
|
||||
_screen->setScreenPalette(_screen->getPalette(2).getData());
|
||||
_screen->updateScreen();
|
||||
_screen->applyOverlay(0, 0, 320, 200, 2, _screen->getPalette(3));
|
||||
_screen->applyOverlay(0, 0, 320, 200, 2, _screen->getPalette(3).getData());
|
||||
_screen->copyPage(2, 12);
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_screen->updateScreen();
|
||||
seq_resetActiveWSA(0);
|
||||
seq_resetActiveWSA(1);
|
||||
@ -465,10 +465,10 @@ int KyraEngine_HoF::seq_introLibrary(WSAMovie_v2 *wsaObj, int x, int y, int frm)
|
||||
_seqSubframePlaying = true;
|
||||
_sound->playTrack(5);
|
||||
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0), _screen->getPalette(3), 0x24, 0, 0, 0, 0x100, false);
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0).getData(), _screen->getPalette(3).getData(), 0x24, 0, 0, 0, 0x100, false);
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
break;
|
||||
@ -482,7 +482,7 @@ int KyraEngine_HoF::seq_introLibrary(WSAMovie_v2 *wsaObj, int x, int y, int frm)
|
||||
seq_waitForTextsTimeout();
|
||||
|
||||
_screen->copyPage(12, 2);
|
||||
_screen->applyOverlay(0, 0, 320, 200, 2, _screen->getPalette(3));
|
||||
_screen->applyOverlay(0, 0, 320, 200, 2, _screen->getPalette(3).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0);
|
||||
_screen->updateScreen();
|
||||
_screen->copyPage(2, 12);
|
||||
@ -503,7 +503,7 @@ int KyraEngine_HoF::seq_introLibrary(WSAMovie_v2 *wsaObj, int x, int y, int frm)
|
||||
|
||||
case 340:
|
||||
seq_resetActiveWSA(0);
|
||||
_screen->applyOverlay(0, 0, 320, 200, 2, _screen->getPalette(3));
|
||||
_screen->applyOverlay(0, 0, 320, 200, 2, _screen->getPalette(3).getData());
|
||||
_screen->copyPage(2, 12);
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0);
|
||||
_screen->updateScreen();
|
||||
@ -539,10 +539,10 @@ int KyraEngine_HoF::seq_introHand(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
_seqSubframePlaying = true;
|
||||
_sound->playTrack(6);
|
||||
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0), _screen->getPalette(3), 0x24, 0, 0, 0, 0x100, false);
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0).getData(), _screen->getPalette(3).getData(), 0x24, 0, 0, 0, 0x100, false);
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
break;
|
||||
@ -556,7 +556,7 @@ int KyraEngine_HoF::seq_introHand(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
|
||||
case 201:
|
||||
seq_waitForTextsTimeout();
|
||||
_screen->applyOverlay(0, 0, 320, 200, 2, _screen->getPalette(3));
|
||||
_screen->applyOverlay(0, 0, 320, 200, 2, _screen->getPalette(3).getData());
|
||||
_screen->copyPage(2, 12);
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0);
|
||||
_screen->updateScreen();
|
||||
@ -631,9 +631,9 @@ int KyraEngine_HoF::seq_introPoint(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
|
||||
_seqTextColor[1] = 0xf7;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0), _screen->getPalette(3), 0x24, 0, 0, 0, 0x100, false);
|
||||
_screen->generateGrayOverlay(_screen->getPalette(0).getData(), _screen->getPalette(3).getData(), 0x24, 0, 0, 0, 0x100, false);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
@ -661,7 +661,7 @@ int KyraEngine_HoF::seq_introZanfaun(WSAMovie_v2 *wsaObj, int x, int y, int frm)
|
||||
|
||||
_seqTextColor[1] = 0xfd;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = _screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
break;
|
||||
|
||||
@ -831,7 +831,7 @@ int KyraEngine_HoF::seq_finaleFunters(WSAMovie_v2 *wsaObj, int x, int y, int frm
|
||||
case 0:
|
||||
_sound->playTrack(3);
|
||||
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColor[0] = _seqTextColorMap[1] = 0xff;
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
@ -924,7 +924,7 @@ int KyraEngine_HoF::seq_finaleFerb(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
break;
|
||||
|
||||
case 0:
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColor[0] = _seqTextColorMap[1] = 255;
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
@ -1006,7 +1006,7 @@ int KyraEngine_HoF::seq_finaleFish(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
break;
|
||||
|
||||
case 0:
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColor[0] = _seqTextColorMap[1] = 0xff;
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
@ -1096,7 +1096,7 @@ int KyraEngine_HoF::seq_finaleFheep(WSAMovie_v2 *wsaObj, int x, int y, int frm)
|
||||
break;
|
||||
|
||||
case 0:
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColor[0] = _seqTextColorMap[1] = 0xff;
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
@ -1172,9 +1172,9 @@ int KyraEngine_HoF::seq_finaleFarmer(WSAMovie_v2 *wsaObj, int x, int y, int frm)
|
||||
break;
|
||||
|
||||
case 0:
|
||||
_seqTextColor[1] = 1 + (_screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 254) & 0xff);
|
||||
_seqTextColor[1] = 1 + (_screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 254) & 0xff);
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = 1 + (_screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0) + 3, 254) & 0xff);
|
||||
_seqTextColorMap[1] = _seqTextColor[0] = 1 + (_screen->findLeastDifferentColor(_seqTextColorPresets + 3, _screen->getPalette(0).getData() + 3, 254) & 0xff);
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
seq_playTalkText(_flags.isTalkie ? 30 : 26);
|
||||
break;
|
||||
@ -1339,7 +1339,7 @@ int KyraEngine_HoF::seq_finaleFirates(WSAMovie_v2 *wsaObj, int x, int y, int frm
|
||||
break;
|
||||
|
||||
case 0:
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColor[0] = _seqTextColorMap[1] = 0xff;
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
@ -1426,7 +1426,7 @@ int KyraEngine_HoF::seq_finaleFrash(WSAMovie_v2 *wsaObj, int x, int y, int frm)
|
||||
case 0:
|
||||
if (_seqFrameCounter == 1) {
|
||||
_sound->playTrack(4);
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0) + 3, 255) & 0xff;
|
||||
_seqTextColor[1] = _screen->findLeastDifferentColor(_seqTextColorPresets, _screen->getPalette(0).getData() + 3, 255) & 0xff;
|
||||
memset(_seqTextColorMap, _seqTextColor[1], 16);
|
||||
_seqTextColor[0] = _seqTextColorMap[1] = 0xff;
|
||||
_screen->setTextColorMap(_seqTextColorMap);
|
||||
@ -1501,7 +1501,7 @@ void KyraEngine_HoF::seq_finaleActorScreen() {
|
||||
static const uint8 colormap[] = {0, 0, 102, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
static const ScreenDim d = { 0x00, 0x0C, 0x28, 0xB4, 0xFF, 0x00, 0x00, 0x00 };
|
||||
|
||||
_screen->loadBitmap("finale.cps", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("finale.cps", 3, 3, _screen->getPalette(0).getData());
|
||||
_screen->setFont(Screen::FID_GOLDFONT_FNT);
|
||||
|
||||
int talkieCreditsSize, talkieCreditsSpecialSize;
|
||||
@ -1781,14 +1781,14 @@ int KyraEngine_HoF::seq_demoDig(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
|
||||
#ifdef ENABLE_LOL
|
||||
int KyraEngine_HoF::seq_lolDemoScene1(WSAMovie_v2 *wsaObj, int x, int y, int frm) {
|
||||
uint8 *tmpPal = _screen->getPalette(2);
|
||||
uint8 *tmpPal = _screen->getPalette(2).getData();
|
||||
|
||||
if (!(_seqFrameCounter % 100)) {
|
||||
if (_seqFrameCounter == 0) {
|
||||
_sound->haltTrack();
|
||||
_sound->playTrack(6);
|
||||
}
|
||||
memcpy(tmpPal, _screen->getPalette(0), 0x300);
|
||||
memcpy(tmpPal, _screen->getPalette(0).getData(), 0x300);
|
||||
for (int i = 3; i < 0x300; i++) {
|
||||
tmpPal[i] = ((int)tmpPal[i] * 120) / 64;
|
||||
if (tmpPal[i] > 0x3f)
|
||||
@ -1799,7 +1799,7 @@ int KyraEngine_HoF::seq_lolDemoScene1(WSAMovie_v2 *wsaObj, int x, int y, int frm
|
||||
_screen->updateScreen();
|
||||
delay(8);
|
||||
} else {
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_screen->updateScreen();
|
||||
if (_seqFrameCounter == 40)
|
||||
seq_playTalkText(3);
|
||||
@ -1924,10 +1924,10 @@ int KyraEngine_HoF::seq_lolDemoScene6(WSAMovie_v2 *wsaObj, int x, int y, int frm
|
||||
}
|
||||
|
||||
if (_seqFrameCounter % 175) {
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
} else {
|
||||
uint8 *tmpPal = _screen->getPalette(2);
|
||||
memcpy(tmpPal, _screen->getPalette(0), 0x300);
|
||||
uint8 *tmpPal = _screen->getPalette(2).getData();
|
||||
memcpy(tmpPal, _screen->getPalette(0).getData(), 0x300);
|
||||
for (int i = 3; i < 0x300; i++) {
|
||||
tmpPal[i] = ((int)tmpPal[i] * 120) / 64;
|
||||
if (tmpPal[i] > 0x3f)
|
||||
@ -2054,28 +2054,28 @@ void KyraEngine_HoF::seq_sequenceCommand(int command) {
|
||||
case 0:
|
||||
memset(pal, 0, 0x300);
|
||||
_screen->fadePalette(pal, 36);
|
||||
memcpy(_screen->getPalette(0), pal, 0x300);
|
||||
memcpy(_screen->getPalette(1), pal, 0x300);
|
||||
_screen->getPalette(0).clear();
|
||||
_screen->getPalette(1).clear();
|
||||
break;
|
||||
|
||||
case 1:
|
||||
memset(pal, 0x3F, 0x300);
|
||||
seq_playTalkText(_rnd.getRandomBit());
|
||||
_screen->fadePalette(pal, 16);
|
||||
memcpy(_screen->getPalette(0), pal, 0x300);
|
||||
memcpy(_screen->getPalette(1), pal, 0x300);
|
||||
_screen->getPalette(0).copy(pal, 0, 256);
|
||||
_screen->getPalette(1).copy(pal, 0, 256);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
_screen->copyPage(2, 0);
|
||||
_screen->fadePalette(_screen->getPalette(0), 16);
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 0x300);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 16);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
break;
|
||||
|
||||
case 4:
|
||||
_screen->copyPage(2, 0);
|
||||
_screen->fadePalette(_screen->getPalette(0), 36);
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 0x300);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 36);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
break;
|
||||
|
||||
case 5:
|
||||
@ -2095,8 +2095,8 @@ void KyraEngine_HoF::seq_sequenceCommand(int command) {
|
||||
case 8:
|
||||
memset(pal, 0, 0x300);
|
||||
_screen->fadePalette(pal, 16);
|
||||
memcpy(_screen->getPalette(0), pal, 0x300);
|
||||
memcpy(_screen->getPalette(1), pal, 0x300);
|
||||
_screen->getPalette(0).copy(pal, 0, 256);
|
||||
_screen->getPalette(1).copy(pal, 0, 256);
|
||||
|
||||
delay(120 * _tickLength);
|
||||
break;
|
||||
@ -2112,8 +2112,8 @@ void KyraEngine_HoF::seq_sequenceCommand(int command) {
|
||||
//pal[3 * i] = pal[3 * i + 1] = pal[3 * i + 2] = 0x3f;
|
||||
|
||||
_screen->fadePalette(pal, 64);
|
||||
memcpy(_screen->getPalette(0), pal, 0x300);
|
||||
memcpy(_screen->getPalette(1), pal, 0x300);
|
||||
_screen->getPalette(0).copy(pal, 0, 256);
|
||||
_screen->getPalette(1).copy(pal, 0, 256);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -2435,7 +2435,7 @@ void KyraEngine_HoF::seq_printCreditsString(uint16 strIndex, int x, int y, const
|
||||
_screen->getPalette(0)[0x2f7] = _screen->getPalette(0)[textcolor * 3];
|
||||
_screen->getPalette(0)[0x2f8] = _screen->getPalette(0)[textcolor * 3 + 1];
|
||||
_screen->getPalette(0)[0x2f9] = _screen->getPalette(0)[textcolor * 3 + 2];
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x18);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 0x18);
|
||||
|
||||
_seqTextColor[0] = textcolor;
|
||||
_screen->setTextColorMap(colorMap);
|
||||
@ -2445,7 +2445,7 @@ void KyraEngine_HoF::seq_printCreditsString(uint16 strIndex, int x, int y, const
|
||||
_screen->copyPage(2, 0);
|
||||
_screen->updateScreen();
|
||||
_screen->getPalette(0)[0x2f7] = _screen->getPalette(0)[0x2f8] = _screen->getPalette(0)[0x2f9] = 0;
|
||||
_screen->fadePalette(_screen->getPalette(0), 1);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 1);
|
||||
_screen->copyPage(2, 12);
|
||||
seq_resetAllTextEntries();
|
||||
|
||||
@ -2663,9 +2663,9 @@ void KyraEngine_HoF::seq_displayScrollText(uint8 *data, const ScreenDim *d, int
|
||||
|
||||
if (palCycle) {
|
||||
for (int col = 133; col > 112; col--)
|
||||
memcpy(_screen->getPalette(0) + (col * 3), _screen->getPalette(0) + ((col - 1) * 3), 3);
|
||||
memcpy(_screen->getPalette(0) + 336, _screen->getPalette(0) + 399, 3);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(_screen->getPalette(0), col - 1, 1, col);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(0), 133, 1, 112);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
delayUntil(_seqSubFrameEndTimeInternal);
|
||||
@ -2725,7 +2725,7 @@ void KyraEngine_HoF::seq_showStarcraftLogo() {
|
||||
assert(ci);
|
||||
_screen->clearPage(2);
|
||||
_res->loadPakFile("INTROGEN.PAK");
|
||||
int endframe = ci->open("ci.wsa", 0, _screen->getPalette(0));
|
||||
int endframe = ci->open("ci.wsa", 0, _screen->getPalette(0).getData());
|
||||
_res->unloadPakFile("INTROGEN.PAK");
|
||||
if (!ci->opened()) {
|
||||
delete ci;
|
||||
|
@ -42,7 +42,7 @@ namespace Kyra {
|
||||
void KyraEngine_LoK::seq_demo() {
|
||||
snd_playTheme(0, 2);
|
||||
|
||||
_screen->loadBitmap("START.CPS", 7, 7, _screen->getPalette(0));
|
||||
_screen->loadBitmap("START.CPS", 7, 7, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 6, 0, Screen::CR_NO_P_CHECK);
|
||||
_screen->updateScreen();
|
||||
_screen->fadeFromBlack();
|
||||
@ -51,7 +51,7 @@ void KyraEngine_LoK::seq_demo() {
|
||||
|
||||
_screen->clearPage(0);
|
||||
_screen->loadBitmap("TOP.CPS", 7, 7, NULL);
|
||||
_screen->loadBitmap("BOTTOM.CPS", 5, 5, _screen->getPalette(0));
|
||||
_screen->loadBitmap("BOTTOM.CPS", 5, 5, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 91, 0, 8, 320, 103, 6, 0);
|
||||
_screen->copyRegion(0, 0, 0, 111, 320, 64, 6, 0);
|
||||
_screen->updateScreen();
|
||||
@ -77,7 +77,7 @@ void KyraEngine_LoK::seq_demo() {
|
||||
_seq->playSequence(_seq_Demo4, true);
|
||||
|
||||
_screen->clearPage(0);
|
||||
_screen->loadBitmap("FINAL.CPS", 7, 7, _screen->getPalette(0));
|
||||
_screen->loadBitmap("FINAL.CPS", 7, 7, _screen->getPalette(0).getData());
|
||||
_screen->_curPage = 0;
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 6, 0);
|
||||
_screen->updateScreen();
|
||||
@ -128,7 +128,7 @@ void KyraEngine_LoK::seq_intro() {
|
||||
|
||||
void KyraEngine_LoK::seq_introLogos() {
|
||||
if (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98) {
|
||||
_screen->loadBitmap("LOGO.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("LOGO.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0);
|
||||
_screen->updateScreen();
|
||||
_screen->fadeFromBlack();
|
||||
@ -141,7 +141,7 @@ void KyraEngine_LoK::seq_introLogos() {
|
||||
_screen->clearPage(0);
|
||||
|
||||
if (_flags.platform == Common::kPlatformAmiga) {
|
||||
_screen->loadPalette("INTRO.PAL", _screen->getPalette(0));
|
||||
_screen->loadPalette("INTRO.PAL", _screen->getPalette(0).getData());
|
||||
_screen->loadBitmap("BOTTOM.CPS", 3, 5, 0);
|
||||
_screen->loadBitmap("TOP.CPS", 3, 3, 0);
|
||||
_screen->copyRegion(0, 0, 0, 111, 320, 64, 2, 0);
|
||||
@ -149,7 +149,7 @@ void KyraEngine_LoK::seq_introLogos() {
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 190, 0, 2);
|
||||
} else {
|
||||
_screen->loadBitmap("TOP.CPS", 7, 7, 0);
|
||||
_screen->loadBitmap("BOTTOM.CPS", 5, 5, _screen->getPalette(0));
|
||||
_screen->loadBitmap("BOTTOM.CPS", 5, 5, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 91, 0, 8, 320, 103, 6, 0);
|
||||
_screen->copyRegion(0, 0, 0, 111, 320, 64, 6, 0);
|
||||
}
|
||||
@ -166,8 +166,8 @@ void KyraEngine_LoK::seq_introLogos() {
|
||||
delay(60 * _tickLength);
|
||||
|
||||
if (_flags.platform == Common::kPlatformAmiga) {
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(0) + 3*32, 3*32);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(_screen->getPalette(1));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
}
|
||||
|
||||
if ((_seq->playSequence(_seq_KyrandiaLogo, skipFlag()) && !seq_skipSequence()) || shouldQuit()) {
|
||||
@ -181,7 +181,7 @@ void KyraEngine_LoK::seq_introLogos() {
|
||||
return;
|
||||
|
||||
if (_flags.platform == Common::kPlatformAmiga) {
|
||||
memcpy(_screen->getPalette(0), _screen->getPalette(0) + 3*64, 3*32);
|
||||
_screen->getPalette(0).copy(_screen->getPalette(2));
|
||||
_screen->fadeToBlack();
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 4, 0);
|
||||
_screen->fadeFromBlack();
|
||||
@ -236,22 +236,22 @@ void KyraEngine_LoK::seq_introStory() {
|
||||
return;
|
||||
|
||||
if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && (_flags.platform == Common::kPlatformPC || _flags.platform == Common::kPlatformAmiga))
|
||||
_screen->loadBitmap("TEXT.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("TEXT.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
else if (_flags.lang == Common::EN_ANY || _flags.lang == Common::JA_JPN)
|
||||
_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
else if (_flags.lang == Common::DE_DEU)
|
||||
_screen->loadBitmap("TEXT_GER.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("TEXT_GER.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
else if (_flags.lang == Common::FR_FRA)
|
||||
_screen->loadBitmap("TEXT_FRE.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("TEXT_FRE.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
else if (_flags.lang == Common::ES_ESP)
|
||||
_screen->loadBitmap("TEXT_SPA.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("TEXT_SPA.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
else if (_flags.lang == Common::IT_ITA && !_flags.isTalkie)
|
||||
_screen->loadBitmap("TEXT_ITA.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("TEXT_ITA.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
else if (_flags.lang == Common::IT_ITA && _flags.isTalkie)
|
||||
_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
else
|
||||
warning("no story graphics file found");
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 3, 0);
|
||||
|
||||
if (_flags.lang == Common::JA_JPN) {
|
||||
@ -570,11 +570,11 @@ void KyraEngine_LoK::seq_winterScroll1() {
|
||||
_animator->sprites()[i].active = 0;
|
||||
}
|
||||
uint8 tmpPal[768];
|
||||
memcpy(tmpPal, _screen->getPalette(0), 768);
|
||||
memcpy(tmpPal, _screen->getPalette(0).getData(), 768);
|
||||
memcpy(&tmpPal[684], palTable2()[0], 60);
|
||||
_screen->fadePalette(tmpPal, 72);
|
||||
memcpy(&_screen->getPalette(0)[684], palTable2()[0], 60);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(palTable2()[0], 0, 20, 228);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
setGameFlag(0xB3);
|
||||
} else {
|
||||
delayWithTicks(120);
|
||||
@ -950,8 +950,8 @@ int KyraEngine_LoK::seq_playEnd() {
|
||||
_screen->hideMouse();
|
||||
_screen->fadeSpecialPalette(32, 228, 20, 60);
|
||||
delay(60 * _tickLength);
|
||||
_screen->loadBitmap("GEMHEAL.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->loadBitmap("GEMHEAL.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_screen->shuffleScreen(8, 8, 304, 128, 2, 0, 1, 0);
|
||||
uint32 nextTime = _system->getMillis() + 120 * _tickLength;
|
||||
_finalA = new WSAMovie_v1(this);
|
||||
@ -1004,15 +1004,15 @@ void KyraEngine_LoK::seq_playEnding() {
|
||||
_screen->hideMouse();
|
||||
_screen->_curPage = 0;
|
||||
_screen->fadeToBlack();
|
||||
_screen->loadBitmap("REUNION.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("REUNION.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(8, 8, 8, 8, 304, 128, 2, 0);
|
||||
_screen->_curPage = 0;
|
||||
// XXX
|
||||
assert(_homeString);
|
||||
drawSentenceCommand(_homeString[0], 179);
|
||||
|
||||
memset(_screen->getPalette(2), 0, sizeof(uint8)*768);
|
||||
_screen->setScreenPalette(_screen->getPalette(2));
|
||||
_screen->getPalette(2).clear();
|
||||
_screen->setScreenPalette(_screen->getPalette(2).getData());
|
||||
|
||||
_seqPlayerFlag = true;
|
||||
_seq->playSequence(_seq_Reunion, false);
|
||||
@ -1045,7 +1045,7 @@ void KyraEngine_LoK::seq_playCredits() {
|
||||
} else
|
||||
_screen->setFont(Screen::FID_8_FNT);
|
||||
|
||||
_screen->loadBitmap("CHALET.CPS", 4, 4, _screen->getPalette(0));
|
||||
_screen->loadBitmap("CHALET.CPS", 4, 4, _screen->getPalette(0).getData());
|
||||
|
||||
_screen->setCurPage(0);
|
||||
_screen->clearCurPage();
|
||||
@ -1123,10 +1123,10 @@ void KyraEngine_LoK::seq_playCredits() {
|
||||
|
||||
_screen->setCurPage(2);
|
||||
|
||||
memset(_screen->getPalette(2), 0, sizeof(uint8)*768);
|
||||
_screen->setScreenPalette(_screen->getPalette(2));
|
||||
_screen->getPalette(2).clear();
|
||||
_screen->setScreenPalette(_screen->getPalette(2).getData());
|
||||
_screen->copyRegion(8, 32, 8, 32, 312, 128, 4, 0, Screen::CR_NO_P_CHECK);
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x5A);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 0x5A);
|
||||
|
||||
Common::Event event;
|
||||
bool finished = false;
|
||||
@ -1683,7 +1683,7 @@ void KyraEngine_LoK::updateKyragemFading() {
|
||||
_screen->getPalette(0)[palPos++] = kyraGemPalette[i + _kyragemFadingState.gOffset];
|
||||
_screen->getPalette(0)[palPos++] = kyraGemPalette[i + _kyragemFadingState.bOffset];
|
||||
}
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_animator->_updateScreen = true;
|
||||
switch (_kyragemFadingState.nextOperation) {
|
||||
case 0:
|
||||
|
@ -42,12 +42,12 @@ int LoLEngine::processPrologue() {
|
||||
showIntro();
|
||||
|
||||
if (_flags.isDemo) {
|
||||
_screen->fadePalette(_screen->getPalette(1), 30, 0);
|
||||
_screen->loadBitmap("FINAL.CPS", 2, 2, _screen->getPalette(0));
|
||||
_screen->fadePalette(_screen->getPalette(1).getData(), 30, 0);
|
||||
_screen->loadBitmap("FINAL.CPS", 2, 2, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
|
||||
_screen->fadePalette(_screen->getPalette(0), 30, 0);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 30, 0);
|
||||
delayWithTicks(300);
|
||||
_screen->fadePalette(_screen->getPalette(1), 60, 0);
|
||||
_screen->fadePalette(_screen->getPalette(1).getData(), 60, 0);
|
||||
|
||||
setupPrologueData(false);
|
||||
return -1;
|
||||
@ -57,7 +57,7 @@ int LoLEngine::processPrologue() {
|
||||
|
||||
int processSelection = -1;
|
||||
while (!shouldQuit() && processSelection == -1) {
|
||||
_screen->loadBitmap("TITLE.CPS", 2, 2, _screen->getPalette(0));
|
||||
_screen->loadBitmap("TITLE.CPS", 2, 2, _screen->getPalette(0).getData());
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
|
||||
|
||||
_screen->setFont(Screen::FID_6_FNT);
|
||||
@ -66,7 +66,7 @@ int LoLEngine::processPrologue() {
|
||||
_screen->fprintString("SVM %s", 300 - width, 193, 0x67, 0x00, 0x04, gScummVMVersion);
|
||||
_screen->setFont(Screen::FID_9_FNT);
|
||||
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x1E);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 0x1E);
|
||||
_screen->updateScreen();
|
||||
|
||||
_eventList.clear();
|
||||
@ -74,9 +74,10 @@ int LoLEngine::processPrologue() {
|
||||
|
||||
if (selection != 3) {
|
||||
_screen->hideMouse();
|
||||
|
||||
// Unlike the original, we add a nice fade to black
|
||||
memset(_screen->getPalette(0), 0, 768);
|
||||
_screen->fadePalette(_screen->getPalette(0), 0x54);
|
||||
_screen->getPalette(0).clear();
|
||||
_screen->fadeToBlack(0x54);
|
||||
}
|
||||
|
||||
switch (selection) {
|
||||
@ -168,7 +169,7 @@ void LoLEngine::setupPrologueData(bool load) {
|
||||
_selectionAnimFrames[1] = _selectionAnimFrames[3] = 1;
|
||||
|
||||
memset(_selectionAnimTimers, 0, sizeof(_selectionAnimTimers));
|
||||
memset(_screen->getPalette(1), 0, 768);
|
||||
_screen->getPalette(1).clear();
|
||||
|
||||
_sound->setSoundList(&_soundData[kMusicIntro]);
|
||||
|
||||
@ -184,9 +185,8 @@ void LoLEngine::setupPrologueData(bool load) {
|
||||
} else {
|
||||
delete _chargenWSA; _chargenWSA = 0;
|
||||
|
||||
uint8 *pal = _screen->getPalette(0);
|
||||
memset(pal, 0, 768);
|
||||
_screen->setScreenPalette(pal);
|
||||
_screen->getPalette(0).clear();
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
if (shouldQuit())
|
||||
return;
|
||||
@ -203,9 +203,8 @@ void LoLEngine::showIntro() {
|
||||
if (_flags.platform == Common::kPlatformPC98)
|
||||
showStarcraftLogo();
|
||||
|
||||
uint8 *pal = _screen->getPalette(0);
|
||||
memset(pal, 0, 768);
|
||||
_screen->setScreenPalette(pal);
|
||||
_screen->getPalette(0).clear();
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
_screen->clearPage(0);
|
||||
_screen->clearPage(4);
|
||||
@ -235,8 +234,8 @@ void LoLEngine::showIntro() {
|
||||
palNextFadeStep = _system->getMillis() + ((_tim->_palDelayAcc >> 8) * _tickLength);
|
||||
_tim->_palDelayAcc &= 0xFF;
|
||||
|
||||
if (!_screen->fadePalStep(_screen->getPalette(0), _tim->_palDiff)) {
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
if (!_screen->fadePalStep(_screen->getPalette(0).getData(), _tim->_palDiff)) {
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_tim->_palDiff = 0;
|
||||
}
|
||||
}
|
||||
@ -260,7 +259,7 @@ void LoLEngine::showIntro() {
|
||||
delete _tim;
|
||||
_tim = 0;
|
||||
|
||||
_screen->fadePalette(_screen->getPalette(1), 30, 0);
|
||||
_screen->fadePalette(_screen->getPalette(1).getData(), 30, 0);
|
||||
}
|
||||
|
||||
int LoLEngine::chooseCharacter() {
|
||||
@ -277,8 +276,8 @@ int LoLEngine::chooseCharacter() {
|
||||
while (!_screen->isMouseVisible())
|
||||
_screen->showMouse();
|
||||
|
||||
_screen->loadBitmap("CHAR.CPS", 2, 2, _screen->getPalette(0));
|
||||
_screen->loadBitmap("BACKGRND.CPS", 4, 4, _screen->getPalette(0));
|
||||
_screen->loadBitmap("CHAR.CPS", 2, 2, _screen->getPalette(0).getData());
|
||||
_screen->loadBitmap("BACKGRND.CPS", 4, 4, _screen->getPalette(0).getData());
|
||||
|
||||
if (!_chargenWSA->open("CHARGEN.WSA", 1, 0))
|
||||
error("Couldn't load CHARGEN.WSA");
|
||||
@ -305,9 +304,9 @@ int LoLEngine::chooseCharacter() {
|
||||
_screen->_curPage = 0;
|
||||
|
||||
if (_flags.use16ColorMode)
|
||||
_screen->loadPalette("LOL.NOL", _screen->getPalette(0));
|
||||
_screen->loadPalette("LOL.NOL", _screen->getPalette(0).getData());
|
||||
|
||||
_screen->fadePalette(_screen->getPalette(0), 30, 0);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 30, 0);
|
||||
|
||||
bool kingIntro = true;
|
||||
while (!shouldQuit()) {
|
||||
@ -650,7 +649,7 @@ void LoLEngine::showStarcraftLogo() {
|
||||
_screen->clearPage(0);
|
||||
_screen->clearPage(2);
|
||||
|
||||
int endframe = ci->open("ci01.wsa", 0, _screen->getPalette(0));
|
||||
int endframe = ci->open("ci01.wsa", 0, _screen->getPalette(0).getData());
|
||||
if (!ci->opened()) {
|
||||
delete ci;
|
||||
return;
|
||||
@ -728,9 +727,8 @@ void LoLEngine::setupEpilogueData(bool load) {
|
||||
if (_flags.platform == Common::kPlatformPC98)
|
||||
_sound->loadSoundFile("SOUND.DAT");
|
||||
} else {
|
||||
uint8 *pal = _screen->getPalette(0);
|
||||
memset(pal, 0, 768);
|
||||
_screen->setScreenPalette(pal);
|
||||
_screen->getPalette(0).clear();
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
if (shouldQuit())
|
||||
return;
|
||||
@ -745,9 +743,8 @@ void LoLEngine::showOutro(int character, bool maxDifficulty) {
|
||||
TIMInterpreter *timBackUp = _tim;
|
||||
_tim = new TIMInterpreter(this, _screen, _system);
|
||||
|
||||
uint8 *pal = _screen->getPalette(0);
|
||||
memset(pal, 0, 768);
|
||||
_screen->setScreenPalette(pal);
|
||||
_screen->getPalette(0).clear();
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
_screen->clearPage(0);
|
||||
_screen->clearPage(4);
|
||||
@ -776,8 +773,8 @@ void LoLEngine::showOutro(int character, bool maxDifficulty) {
|
||||
palNextFadeStep = _system->getMillis() + ((_tim->_palDelayAcc >> 8) * _tickLength);
|
||||
_tim->_palDelayAcc &= 0xFF;
|
||||
|
||||
if (!_screen->fadePalStep(_screen->getPalette(0), _tim->_palDiff)) {
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
if (!_screen->fadePalStep(_screen->getPalette(0).getData(), _tim->_palDiff)) {
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_tim->_palDiff = 0;
|
||||
}
|
||||
}
|
||||
@ -806,24 +803,24 @@ void LoLEngine::showOutro(int character, bool maxDifficulty) {
|
||||
|
||||
switch (character) {
|
||||
case 0:
|
||||
_screen->loadBitmap("KIERAN.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("KIERAN.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
break;
|
||||
|
||||
case 1:
|
||||
_screen->loadBitmap("AK'SHEL.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("AK'SHEL.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
break;
|
||||
|
||||
case 2:
|
||||
_screen->loadBitmap("MICHAEL.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("MICHAEL.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
break;
|
||||
|
||||
case 3:
|
||||
_screen->loadBitmap("CONRAD.CPS", 3, 3, _screen->getPalette(0));
|
||||
_screen->loadBitmap("CONRAD.CPS", 3, 3, _screen->getPalette(0).getData());
|
||||
break;
|
||||
|
||||
default:
|
||||
_screen->clearPage(3);
|
||||
memset(_screen->getPalette(0), 0, 768);
|
||||
memset(_screen->getPalette(0).getData(), 0, 768);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -831,7 +828,7 @@ void LoLEngine::showOutro(int character, bool maxDifficulty) {
|
||||
if (maxDifficulty)
|
||||
_tim->displayText(0x8000, 0, 0xDC);
|
||||
_screen->updateScreen();
|
||||
_screen->fadePalette(_screen->getPalette(0), 30, 0);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 30, 0);
|
||||
|
||||
while (!checkInput(0) && !shouldQuit())
|
||||
delay(_tickLength);
|
||||
@ -859,8 +856,8 @@ void LoLEngine::showCredits() {
|
||||
_screen->setTextColorMap(colorMap);
|
||||
_screen->_charWidth = 0;
|
||||
|
||||
_screen->loadBitmap("ROOM.CPS", 2, 2, _screen->getPalette(0));
|
||||
memset(_screen->getPalette(0) + 764, 0, 3);
|
||||
_screen->loadBitmap("ROOM.CPS", 2, 2, _screen->getPalette(0).getData());
|
||||
memset(_screen->getPalette(0).getData() + 764, 0, 3);
|
||||
_screen->fadeToBlack(30);
|
||||
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
|
||||
@ -909,8 +906,8 @@ void LoLEngine::processCredits(char *t, int dimState, int page, int delayTime) {
|
||||
uint8 *monsterPal = _res->fileData("MONSTERS.PAL", 0);
|
||||
assert(monsterPal);
|
||||
|
||||
memcpy(_screen->getPalette(0) + 88 * 3, monsterPal + 0 * 3, 40 * 3);
|
||||
_screen->fadePalette(_screen->getPalette(0), 30);
|
||||
_screen->getPalette(0).copy(monsterPal, 0, 40, 88);
|
||||
_screen->fadePalette(_screen->getPalette(0).getData(), 30);
|
||||
|
||||
uint32 waitTimer = _system->getMillis();
|
||||
|
||||
@ -1052,7 +1049,7 @@ void LoLEngine::processCredits(char *t, int dimState, int page, int delayTime) {
|
||||
doorRedraw = false;
|
||||
} else {
|
||||
if (!monsterAnimFrame)
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, page, Screen::CR_NO_P_CHECK);
|
||||
|
||||
@ -1132,8 +1129,8 @@ void LoLEngine::processCredits(char *t, int dimState, int page, int delayTime) {
|
||||
curShapeFile = curShapeFile % 28;
|
||||
|
||||
loadOutroShapes(curShapeFile, shapes);
|
||||
memcpy(_screen->getPalette(0) + 88 * 3, monsterPal + curShapeFile * 40 * 3, 40 * 3);
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->getPalette(0).copy(monsterPal, curShapeFile * 40, 40, 88);
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
needNewShape = false;
|
||||
}
|
||||
|
@ -420,16 +420,16 @@ void Sprites::loadDat(const char *filename, SceneExits &exits) {
|
||||
|
||||
if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
|
||||
if (_vm->queryGameFlag(0xA0))
|
||||
memcpy(_screen->getPalette(3), _screen->getPalette(4), 32*3);
|
||||
_screen->getPalette(3).copy(_screen->getPalette(4));
|
||||
else
|
||||
memcpy(_screen->getPalette(3), _screen->getPalette(0), 32*3);
|
||||
_screen->getPalette(3).copy(_screen->getPalette(0));
|
||||
} else {
|
||||
if (_vm->queryGameFlag(0xA0))
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(3), 768);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(3));
|
||||
else
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
|
||||
_screen->loadPalette(_dat + 0x17, _screen->getPalette(1) + 684, 60);
|
||||
_screen->loadPalette(_dat + 0x17, _screen->getPalette(1).getData() + 684, 60);
|
||||
}
|
||||
uint8 *data = _dat + 0x6B;
|
||||
|
||||
|
@ -1584,7 +1584,7 @@ void KyraEngine_LoK::loadMainScreen(int page) {
|
||||
_screen->clearPage(page);
|
||||
|
||||
if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && (_flags.platform == Common::kPlatformPC || _flags.platform == Common::kPlatformAmiga))
|
||||
_screen->loadBitmap("MAIN15.CPS", page, page, _screen->getPalette(0));
|
||||
_screen->loadBitmap("MAIN15.CPS", page, page, _screen->getPalette(0).getData());
|
||||
else if (_flags.lang == Common::EN_ANY || _flags.lang == Common::JA_JPN || (_flags.isTalkie && _flags.lang == Common::IT_ITA))
|
||||
_screen->loadBitmap("MAIN_ENG.CPS", page, page, 0);
|
||||
else if (_flags.lang == Common::FR_FRA)
|
||||
@ -1599,7 +1599,7 @@ void KyraEngine_LoK::loadMainScreen(int page) {
|
||||
warning("no main graphics file found");
|
||||
|
||||
if (_flags.platform == Common::kPlatformAmiga)
|
||||
memcpy(_screen->getPalette(1), _screen->getPalette(0), 32*3);
|
||||
_screen->getPalette(1).copy(_screen->getPalette(0));
|
||||
|
||||
_screen->copyRegion(0, 0, 0, 0, 320, 200, page, 0);
|
||||
}
|
||||
|
@ -333,7 +333,7 @@ void KyraEngine_LoK::drawSentenceCommand(const char *sentence, int color) {
|
||||
_currSentenceColor[1] = _screen->getPalette(0)[766] = _screen->getPalette(0)[color*3+1];
|
||||
_currSentenceColor[2] = _screen->getPalette(0)[767] = _screen->getPalette(0)[color*3+2];
|
||||
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
_startSentencePalIndex = 0;
|
||||
}
|
||||
|
||||
@ -371,7 +371,7 @@ void KyraEngine_LoK::updateTextFade() {
|
||||
_screen->getPalette(0)[765] = _currSentenceColor[0];
|
||||
_screen->getPalette(0)[766] = _currSentenceColor[1];
|
||||
_screen->getPalette(0)[767] = _currSentenceColor[2];
|
||||
_screen->setScreenPalette(_screen->getPalette(0));
|
||||
_screen->setScreenPalette(_screen->getPalette(0).getData());
|
||||
|
||||
if (finished) {
|
||||
_fadeText = false;
|
||||
|
@ -474,13 +474,13 @@ void VQAMovie::displayFrame(uint frameNum) {
|
||||
|
||||
case MKID_BE('CPL0'): // Palette
|
||||
assert(size <= 3 * 256);
|
||||
_file->read(_vm->screen()->getPalette(0), size);
|
||||
_file->read(_vm->screen()->getPalette(0).getData(), size);
|
||||
break;
|
||||
|
||||
case MKID_BE('CPLZ'): // Palette
|
||||
inbuf = (byte *)allocBuffer(0, size);
|
||||
_file->read(inbuf, size);
|
||||
Screen::decodeFrame4(inbuf, _vm->screen()->getPalette(0), 768);
|
||||
Screen::decodeFrame4(inbuf, _vm->screen()->getPalette(0).getData(), 768);
|
||||
break;
|
||||
|
||||
case MKID_BE('VPT0'): // Frame data
|
||||
@ -521,7 +521,7 @@ void VQAMovie::displayFrame(uint frameNum) {
|
||||
// The frame has been decoded
|
||||
|
||||
if (_frameInfo[frameNum] & 0x80000000) {
|
||||
_vm->screen()->setScreenPalette(_vm->screen()->getPalette(0));
|
||||
_vm->screen()->setScreenPalette(_vm->screen()->getPalette(0).getData());
|
||||
}
|
||||
|
||||
int blockPitch = _header.width / _header.blockW;
|
||||
|
Loading…
Reference in New Issue
Block a user