From 033bd59cfc2dff93529ad448459ad6348ea29c8d Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Wed, 3 Sep 2008 19:43:31 +0000 Subject: only one key repeat per frame --- src/client/input.cc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/client/input.cc') diff --git a/src/client/input.cc b/src/client/input.cc index 75fa0f3..5cbb17c 100644 --- a/src/client/input.cc +++ b/src/client/input.cc @@ -786,11 +786,8 @@ void frame(float seconds) for (Keyboard::iterator it = keyboard->begin(); it != keyboard->end(); it++) { key = (*it).second; if (key && key->pressed()) { - while ((key->pressed()+delay < core::application()->time()) && (key->lastpressed()+repeat < core::application()->time())) { - if (key->lastpressed() > key->pressed()) - key->key_lastpressed += repeat; - else - key->key_lastpressed += delay; + if ((key->pressed()+delay < core::application()->time()) && (key->lastpressed()+repeat < core::application()->time())) { + key->key_lastpressed = core::application()->time(); key_pressed(key); } } -- cgit v1.2.3