Example #1
0
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));
}
Example #2
0
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);
	}
}