Exemple #1
0
void Util::waitEndFrame(bool handleInput) {
	int32 time;

	time = getTimeKey() - _startFrameTime;
	if ((time > 1000) || (time < 0)) {
		_vm->_video->retrace();
		_startFrameTime = getTimeKey();
		return;
	}

	int32 toWait = 0;
	do {
		if (toWait > 0)
			delay(MIN<int>(toWait, 10));

		if (handleInput)
			processInput();

		_vm->_video->retrace();

		time   = getTimeKey() - _startFrameTime;
		toWait = _frameWaitTime - time;
	} while (toWait > 0);

	_startFrameTime = getTimeKey();
}
Exemple #2
0
void Util::setFrameRate(int16 rate) {
	if (rate == 0)
		rate = 1;

	_frameRate = rate;
	_frameWaitTime = 1000 / rate;
	_startFrameTime = getTimeKey();
}
Exemple #3
0
void Util::waitEndFrame() {
	int32 time;

	_vm->_video->waitRetrace();

	time = getTimeKey() - _startFrameTime;
	if ((time > 1000) || (time < 0)) {
		_startFrameTime = getTimeKey();
		return;
	}

	int32 toWait = _frameWaitTime - time;

	if (toWait > 0)
		delay(toWait);

	_startFrameTime = getTimeKey();
}
Exemple #4
0
void Util::notifyNewAnim() {
	_startFrameTime = getTimeKey();
}