예제 #1
0
int Scene::IHNMStartProc() {
	LoadSceneParams firstScene;

	IHNMLoadCutaways();

	if (!_vm->isIHNMDemo()) {
		int logoLength = -168;

		if (_vm->getLanguage() == Common::DE_DEU || _vm->getLanguage() == Common::ES_ESP)
			logoLength = -128;

		// Play Cyberdreams logo for 168 frames
		if (!playTitle(0, logoLength, true)) {
			if (_vm->shouldQuit())
				return !SUCCESS;
			// Play Dreamers Guild logo for 10 seconds
			if (!playLoopingTitle(1, 10)) {
				if (_vm->shouldQuit())
					return !SUCCESS;
				// Play the title music
				_vm->_music->play(1, MUSIC_NORMAL);
				// Play title screen
				playTitle(2, 17);
			}
		}
	} else {
		_vm->_music->play(1, MUSIC_NORMAL);
		playTitle(0, 10);
		if (_vm->shouldQuit())
			return !SUCCESS;
		playTitle(2, 12);
	}

	_vm->_music->setVolume(0, 1000);
	_vm->_anim->clearCutawayList();

	// Queue first scene
	firstScene.loadFlag = kLoadBySceneNumber;
	firstScene.sceneDescriptor = -1;
	firstScene.sceneSkipTarget = false;
	firstScene.sceneProc = NULL;
	firstScene.transitionType = kTransitionFade;
	firstScene.actorsEntrance = 0;
	firstScene.chapter = -1;

	_vm->_scene->queueScene(firstScene);

	return SUCCESS;
}
예제 #2
0
void k9PlayMPEG2::run() {
    m_stopped=false;

    m_idxLect=m_startSector;
    playTitle();

}
예제 #3
0
int Scene::IHNMCreditsProc() {
	IHNMLoadCutaways();

	_vm->_music->play(0, MUSIC_NORMAL);

	if (!_vm->isIHNMDemo()) {
		// Display the credits for 400 frames
		playTitle(4, -400, true);
	} else {
		// Display sales info for 60 seconds
		playTitle(3, 60, true);
	}

	_vm->_music->setVolume(0, 1000);
	_vm->_anim->clearCutawayList();

	return SUCCESS;
}
예제 #4
0
bool Scene::playLoopingTitle(int title, int seconds) {
	return playTitle(title, seconds, kPanelCutaway);
}