Пример #1
0
void OuttakePlayer::play(const Common::String &name, bool noLocalization, int container) {
	if (container > 0) {
		debug("OuttakePlayer::play TODO");
		return;
	}

	Common::String resName;
	if (noLocalization)
		resName = name + ".VQA";
	else
		resName = name + "_E.VQA";

	VQAPlayer vqa_player(_vm, &_vm->_surfaceGame);

	vqa_player.open(resName);

	_vm->_mixer->stopAll();
	while (!_vm->shouldQuit()) {
		Common::Event event;
		while (_vm->_system->getEventManager()->pollEvent(event))
			if (event.type == Common::EVENT_KEYDOWN && event.kbd.keycode == Common::KEYCODE_ESCAPE)
				return;

		int frame = vqa_player.update();
		if (frame == -3)
			break;

		if (frame >= 0) {
			_vm->blitToScreen(_vm->_surfaceGame);
		}

		_vm->_system->delayMillis(10);
	}
}
Пример #2
0
void OuttakePlayer::play(const Common::String &name, bool noLocalization, int container) {
	if (container > 0) {
		debug("OuttakePlayer::play TODO");
		return;
	}

	Common::String resName;
	if (noLocalization)
		resName = name + ".VQA";
	else
		resName = name + "_E.VQA";

	VQAPlayer vqa_player(_vm);

	vqa_player.open(resName);

	_vm->_mixer->stopAll();
	while (!_vm->shouldQuit()) {
		Common::Event event;
		while (_vm->_system->getEventManager()->pollEvent(event))
			if (event.type == Common::EVENT_KEYDOWN && event.kbd.keycode == Common::KEYCODE_ESCAPE)
				return;

		int frame = vqa_player.update();
		if (frame == -3)
			break;

		if (frame >= 0) {
			const Graphics::Surface *surface = vqa_player.getSurface();
			_vm->_system->copyRectToScreen((const byte *)surface->getBasePtr(0, 0), surface->pitch, 0, 0, 640, 480);
			_vm->_system->updateScreen();
		}

		_vm->_system->delayMillis(10);
	}
}