summaryrefslogtreecommitdiff
path: root/src/game.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-12-23 00:27:06 +0300
committerAndrei Karas <akaras@inbox.ru>2011-12-23 00:27:06 +0300
commita901facc32f489dbce6f9193f618d9d46a91f32c (patch)
treefcdb928294e8839eae1172873f63c3c0493fb968 /src/game.cpp
parent2ad5d25e30d7247d67a4784a6cb9e96245643960 (diff)
downloadmv-a901facc32f489dbce6f9193f618d9d46a91f32c.tar.gz
mv-a901facc32f489dbce6f9193f618d9d46a91f32c.tar.bz2
mv-a901facc32f489dbce6f9193f618d9d46a91f32c.tar.xz
mv-a901facc32f489dbce6f9193f618d9d46a91f32c.zip
Probably fix auto adjusting perfomance after going from sleep mode.
Diffstat (limited to 'src/game.cpp')
-rw-r--r--src/game.cpp30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/game.cpp b/src/game.cpp
index 9245e213d..c40a7da59 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -572,6 +572,7 @@ void Game::logic()
}
closeDialogs();
Client::setFramerate(config.getIntValue("fpslimit"));
+ mNextAdjustTime = cur_time + adjustDelay;
if (Client::getState() != STATE_ERROR)
errorMessage = "";
}
@@ -603,7 +604,10 @@ void Game::adjustPerfomance()
return;
}
- int maxFps = config.getIntValue("fpslimit");
+ int maxFps = Client::getFramerate();
+ if (maxFps != config.getIntValue("fpslimit"))
+ return;
+
if (!maxFps)
maxFps = 30;
else if (maxFps < 10)
@@ -1579,7 +1583,6 @@ void Game::handleActive(SDL_Event &event)
player_node->setHalfAway(true);
}
}
- Client::setFramerate(fpsLimit);
}
if (player_node)
player_node->updateName();
@@ -1589,19 +1592,22 @@ void Game::handleActive(SDL_Event &event)
if (event.active.state & SDL_APPMOUSEFOCUS)
Client::setMouseFocused(event.active.gain);
- if (player_node && player_node->getAway())
+ if (!fpsLimit)
{
- if (Client::getInputFocused() || Client::getMouseFocused())
- fpsLimit = config.getIntValue("fpslimit");
+ if (player_node && player_node->getAway())
+ {
+ if (Client::getInputFocused() || Client::getMouseFocused())
+ fpsLimit = config.getIntValue("fpslimit");
+ else
+ fpsLimit = config.getIntValue("altfpslimit");
+ }
else
- fpsLimit = config.getIntValue("altfpslimit");
- Client::setFramerate(fpsLimit);
- }
- else
- {
- fpsLimit = config.getIntValue("fpslimit");
- Client::setFramerate(fpsLimit);
+ {
+ fpsLimit = config.getIntValue("fpslimit");
+ }
}
+ Client::setFramerate(fpsLimit);
+ mNextAdjustTime = cur_time + adjustDelay;
}
/**