diff options
| -rw-r--r-- | engines/agi/agi.cpp | 23 | ||||
| -rw-r--r-- | engines/agi/agi.h | 5 | ||||
| -rw-r--r-- | engines/agi/preagi.cpp | 3 | 
3 files changed, 6 insertions, 25 deletions
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp index fdc05f0ba9..c5a1f81af6 100644 --- a/engines/agi/agi.cpp +++ b/engines/agi/agi.cpp @@ -273,23 +273,16 @@ void AgiEngine::processEvents() {  }  void AgiEngine::pollTimer() { -	uint32 dm; +	_lastTick += 50; -	if (_tickTimer < _lastTickTimer) -		_lastTickTimer = 0; - -	while ((dm = _tickTimer - _lastTickTimer) < 5) { +	while (_system->getMillis() < _lastTick) {  		processEvents();  		_console->onFrame();  		_system->delayMillis(10);  		_system->updateScreen();  	} -	_lastTickTimer = _tickTimer; -} -void AgiEngine::agiTimerFunctionLow(void *refCon) { -	AgiEngine *self = (AgiEngine *)refCon; -	self->_tickTimer++; +	_lastTick = _system->getMillis();  }  void AgiEngine::pause(uint32 msec) { @@ -532,9 +525,6 @@ AgiEngine::AgiEngine(OSystem *syst, const AGIGameDescription *gameDesc) : AgiBas  	_allowSynthetic = false; -	_tickTimer = 0; -	_lastTickTimer = 0; -  	_intobj = NULL;  	_menu = NULL; @@ -646,11 +636,10 @@ void AgiEngine::initialize() {  	_lastSaveTime = 0; -	_timer->installTimerProc(agiTimerFunctionLow, 10 * 1000, this); +	_lastTick = _system->getMillis();  	debugC(2, kDebugLevelMain, "Detect game"); -  	if (agiDetectGame() == errOK) {  		_game.state = STATE_LOADED;  		debugC(2, kDebugLevelMain, "game loaded"); @@ -662,8 +651,6 @@ void AgiEngine::initialize() {  }  AgiEngine::~AgiEngine() { -	_timer->removeTimerProc(agiTimerFunctionLow); -  	// If the engine hasn't been initialized yet via AgiEngine::initialize(), don't attempt to free any resources,  	// as they haven't been allocated. Fixes bug #1742432 - AGI: Engine crashes if no game is detected  	if (_game.state == STATE_INIT) { @@ -719,7 +706,7 @@ void AgiEngine::parseFeatures() {  	/* FIXME: Seems this method doesn't really do anything. It might  	   be a leftover that could be removed, except that some of its  	   intended purpose may still need to be reimplemented. -	    +  	[0:29] <Fingolfin> can you tell me what the point behind AgiEngine::parseFeatures() is?  	[0:30] <_sev> when games are created with WAGI studio  	[0:31] <_sev> it creates .wag site with game-specific features such as full game title, whether to use AGIMOUSE etc diff --git a/engines/agi/agi.h b/engines/agi/agi.h index 89b116daec..df19f55b52 100644 --- a/engines/agi/agi.h +++ b/engines/agi/agi.h @@ -810,9 +810,7 @@ public:  	Common::Error saveGameState(int slot, const char *desc);  private: - -	uint32 _tickTimer; -	uint32 _lastTickTimer; +	uint32 _lastTick;  	int _keyQueue[KEY_QUEUE_SIZE];  	int _keyQueueStart; @@ -883,7 +881,6 @@ public:  	virtual bool isKeypress();  	virtual void clearKeyQueue(); -	static void agiTimerFunctionLow(void *refCon);  	void initPriTable();  	void newInputMode(InputMode mode); diff --git a/engines/agi/preagi.cpp b/engines/agi/preagi.cpp index fe864d7659..1aa6ef5cc4 100644 --- a/engines/agi/preagi.cpp +++ b/engines/agi/preagi.cpp @@ -122,9 +122,6 @@ void PreAgiEngine::initialize() {  	_mixer->playStream(Audio::Mixer::kSFXSoundType, &_speakerHandle,  							_speakerStream, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO, true); - -	//_timer->installTimerProc(agiTimerFunctionLow, 10 * 1000, NULL); -  	debugC(2, kDebugLevelMain, "Detect game");  	// clear all resources and events  | 
