diff --git a/engine/server/sv_mvd.c b/engine/server/sv_mvd.c index 658c3f029..ad3583d1c 100644 --- a/engine/server/sv_mvd.c +++ b/engine/server/sv_mvd.c @@ -1039,6 +1039,8 @@ qboolean SV_MVDWritePackets (int num) if (!sv.mvdrecording) return false; + if (demo.recorder.fteprotocolextensions2 & PEXT2_REPLACEMENTDELTAS) + return false; //flush any intermediate data MVDWrite_Begin(255, -1, 0); diff --git a/engine/server/sv_send.c b/engine/server/sv_send.c index 02bb3a103..904329274 100644 --- a/engine/server/sv_send.c +++ b/engine/server/sv_send.c @@ -3886,7 +3886,8 @@ void SV_SendMVDMessage(void) while (demo.lastwritten < demo.parsecount-1 && sv.mvdrecording) { - SV_MVDWritePackets(1); + if (!SV_MVDWritePackets(1)) + break; } if (demo.resetdeltas)