aboutsummaryrefslogtreecommitdiff
path: root/src/demoserver.cpp
diff options
context:
space:
mode:
authorCrystalwarrior <Varsash@Gmail.com>2021-03-21 05:12:44 +0300
committerGitHub <noreply@github.com>2021-03-20 21:12:44 -0500
commit510c0f4b17f24eb534d22654a41e9157c89a8211 (patch)
tree079a0e3f799ed55ac80370b289b0ba9496eeb7c0 /src/demoserver.cpp
parente3ba27c47e4846e1a93057d83464ecff027da7be (diff)
Add timer packets to demo playback (#494)
When the demo skips by some number of seconds, the timer will also skip forward by that duration. Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com> Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Diffstat (limited to 'src/demoserver.cpp')
-rw-r--r--src/demoserver.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/demoserver.cpp b/src/demoserver.cpp
index 75664659..88dfdb4b 100644
--- a/src/demoserver.cpp
+++ b/src/demoserver.cpp
@@ -259,8 +259,11 @@ void DemoServer::playback()
AOPacket wait_packet = AOPacket(current_packet);
int duration = wait_packet.get_contents().at(0).toInt();
- if (max_wait != -1 && duration + elapsed_time > max_wait)
+ if (max_wait != -1 && duration + elapsed_time > max_wait) {
duration = qMax(0, max_wait - elapsed_time);
+ // Skip the difference on the timers
+ emit skip_timers(wait_packet.get_contents().at(0).toInt() - duration);
+ }
elapsed_time += duration;
timer->start(duration);
}