diff options
author | Oystein Eftevaag | 2006-02-09 12:19:53 +0000 |
---|---|---|
committer | Oystein Eftevaag | 2006-02-09 12:19:53 +0000 |
commit | 60bbd5e470db1946d9c6d02951a1c9ec6b8aba35 (patch) | |
tree | 1ce30a8f7a8a1590040f4be477cc7f5c0b3d7211 /kyra/screen.cpp | |
parent | 56d918edbe5feecb4c0239a8927adb60602ae154 (diff) | |
download | scummvm-rg350-60bbd5e470db1946d9c6d02951a1c9ec6b8aba35.tar.gz scummvm-rg350-60bbd5e470db1946d9c6d02951a1c9ec6b8aba35.tar.bz2 scummvm-rg350-60bbd5e470db1946d9c6d02951a1c9ec6b8aba35.zip |
1. Replaced the $Header$ tags in the Kyra files
2. Added code to let the player skip past dialogue by leftclicking or hitting '.'
3. Removed the waitTicks() function and replaced all usage with delay()
4. Corrected various speed issues, the intro should run at the correct pace now
5. Talkie versions will no longer display the story screen during the intro, as in the original.
6. Moved the delay() function adjacent to other delay functions.
svn-id: r20438
Diffstat (limited to 'kyra/screen.cpp')
-rw-r--r-- | kyra/screen.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/kyra/screen.cpp b/kyra/screen.cpp index bd93646d36..a75bf4a5e3 100644 --- a/kyra/screen.cpp +++ b/kyra/screen.cpp @@ -15,7 +15,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * $Header$ + * $URL$ + * $Id$ * */ @@ -225,7 +226,8 @@ void Screen::fadePalette(const uint8 *palData, int delay) { } setScreenPalette(fadePal); _system->updateScreen(); - _system->delayMillis((delayAcc >> 8) * 1000 / 60); + //_system->delayMillis((delayAcc >> 8) * 1000 / 60); + _vm->delay((delayAcc >> 8) * 1000 / 60); delayAcc &= 0xFF; } } @@ -415,8 +417,11 @@ void Screen::shuffleScreen(int sx, int sy, int w, int h, int srcPage, int dstPag int i = _vm->_rnd.getRandomNumber(h - 1); SWAP(y_offs[y], y_offs[i]); } - + + int32 start, now; + int wait; for (y = 0; y < h; ++y) { + start = (int32)_system->getMillis(); int y_cur = y; for (x = 0; x < w; ++x) { int i = sx + x_offs[x]; @@ -431,7 +436,11 @@ void Screen::shuffleScreen(int sx, int sy, int w, int h, int srcPage, int dstPag } } updateScreen(); - _system->delayMillis(ticks * 1000 / 60); + now = (int32)_system->getMillis(); + wait = ticks * _vm->tickLength() - (now - start); + if (wait > 0) { + _vm->delay(wait); + } } } |