void AGOSEngine_Simon1::os1_specialFade() { // 187: fade to black uint i; for (i = 32; i != 0; --i) { paletteFadeOut(_currentPalette, 32, 8); paletteFadeOut(_currentPalette + 3 * 48, 144, 8); paletteFadeOut(_currentPalette + 3 * 208, 48, 8); _system->getPaletteManager()->setPalette(_currentPalette, 0, 256); delay(5); } memcpy(_displayPalette, _currentPalette, sizeof(_currentPalette)); }
void AGOSEngine::vc62_fastFadeOut() { vc29_stopAllSounds(); if (!_fastFadeOutFlag) { uint i, fadeSize, fadeCount; _fastFadeCount = 256; if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) { if (_windowNum == 4) _fastFadeCount = 208; } if (getGameType() == GType_FF || getGameType() == GType_PP) { if (getGameType() == GType_FF && getBitFlag(75)) { fadeCount = 4; fadeSize = 64; } else { fadeCount = 32; fadeSize = 8; } } else { fadeCount = 64; fadeSize = 4; } for (i = fadeCount; i != 0; --i) { paletteFadeOut(_currentPalette, _fastFadeCount, fadeSize); _system->setPalette(_currentPalette, 0, _fastFadeCount); delay(5); } if (getGameType() == GType_WW || getGameType() == GType_FF || getGameType() == GType_PP) { clearSurfaces(); } else { if (_windowNum != 4) { clearSurfaces(); } } } if (getGameType() == GType_SIMON2) { if (_nextMusicToPlay != -1) loadMusic(_nextMusicToPlay); } }