mirror of
https://github.com/libretro/scummvm.git
synced 2024-11-30 21:00:39 +00:00
Tweak WinCE timer re-entry workaround to play Insane sequences
svn-id: r17242
This commit is contained in:
parent
61aab60064
commit
5a7c9f7d74
@ -728,6 +728,12 @@ void OSystem_WINCE3::update_game_settings() {
|
||||
|
||||
if (_isSmartphone)
|
||||
panel->setVisible(false);
|
||||
|
||||
// Set Smush Force Redraw rate for Full Throttle
|
||||
if (!ConfMan.hasKey("Smush_force_redraw")) {
|
||||
ConfMan.set("Smush_force_redraw", 30);
|
||||
ConfMan.flushToDisk();
|
||||
}
|
||||
}
|
||||
|
||||
get_sample_rate();
|
||||
|
@ -220,6 +220,7 @@ void SmushPlayer::timerCallback(void *refCon) {
|
||||
((SmushPlayer *)refCon)->parseNextFrame();
|
||||
#ifdef _WIN32_WCE
|
||||
((SmushPlayer *)refCon)->_inTimer = true;
|
||||
((SmushPlayer *)refCon)->_inTimerCount++;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -254,6 +255,8 @@ SmushPlayer::SmushPlayer(ScummEngine_v6 *scumm, int speed) {
|
||||
_skipPalette = false;
|
||||
#ifdef _WIN32_WCE
|
||||
_inTimer = false;
|
||||
_inTimerCount = 0;
|
||||
_inTimerCountRedraw = ConfMan.getInt("Smush_force_redraw");
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -948,8 +951,10 @@ void SmushPlayer::handleFrame(Chunk &b) {
|
||||
end_time = _vm->_system->getMillis();
|
||||
|
||||
#ifdef _WIN32_WCE
|
||||
if (!_inTimer)
|
||||
if (!_inTimer || _inTimerCount == _inTimerCountRedraw) {
|
||||
updateScreen();
|
||||
_inTimerCount = 0;
|
||||
}
|
||||
#else
|
||||
updateScreen();
|
||||
#endif
|
||||
@ -1249,6 +1254,7 @@ void SmushPlayer::play(const char *filename, int32 offset, int32 startFrame) {
|
||||
_updateNeeded = false;
|
||||
#ifdef _WIN32_WCE
|
||||
_inTimer = false;
|
||||
_inTimerCount = 0;
|
||||
#endif
|
||||
|
||||
end_time = _vm->_system->getMillis();
|
||||
|
@ -78,6 +78,8 @@ private:
|
||||
bool _skipPalette;
|
||||
#ifdef _WIN32_WCE
|
||||
bool _inTimer;
|
||||
int16 _inTimerCount;
|
||||
int16 _inTimerCountRedraw;
|
||||
#endif
|
||||
|
||||
Common::Mutex _mutex;
|
||||
|
Loading…
Reference in New Issue
Block a user