aboutsummaryrefslogtreecommitdiff
path: root/kyra/screen.cpp
diff options
context:
space:
mode:
authorOystein Eftevaag2006-02-09 12:19:53 +0000
committerOystein Eftevaag2006-02-09 12:19:53 +0000
commit60bbd5e470db1946d9c6d02951a1c9ec6b8aba35 (patch)
tree1ce30a8f7a8a1590040f4be477cc7f5c0b3d7211 /kyra/screen.cpp
parent56d918edbe5feecb4c0239a8927adb60602ae154 (diff)
downloadscummvm-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.cpp17
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);
+ }
}
}