From 5d7f2c6e1bc335befc0a68385b79a820881984b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20M=C3=BCller?= Date: Mon, 15 Jan 2024 21:35:55 +0100 Subject: [PATCH] Show error messages in console when `add_demomarker` fails When there are too many demo markers already or when the previous demo marker is too close. --- src/engine/shared/demo.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/engine/shared/demo.cpp b/src/engine/shared/demo.cpp index 9196ae0f7..dce31d623 100644 --- a/src/engine/shared/demo.cpp +++ b/src/engine/shared/demo.cpp @@ -415,20 +415,34 @@ void CDemoRecorder::AddDemoMarker(int Tick) { dbg_assert(Tick >= 0, "invalid marker tick"); if(m_NumTimelineMarkers >= MAX_TIMELINE_MARKERS) + { + if(m_pConsole) + { + m_pConsole->Print(IConsole::OUTPUT_LEVEL_STANDARD, "demo_recorder", "Too many timeline markers", gs_DemoPrintColor); + } return; + } // not more than 1 marker in a second if(m_NumTimelineMarkers > 0) { - int Diff = Tick - m_aTimelineMarkers[m_NumTimelineMarkers - 1]; + const int Diff = Tick - m_aTimelineMarkers[m_NumTimelineMarkers - 1]; if(Diff < (float)SERVER_TICK_SPEED) + { + if(m_pConsole) + { + m_pConsole->Print(IConsole::OUTPUT_LEVEL_STANDARD, "demo_recorder", "Previous timeline marker too close", gs_DemoPrintColor); + } return; + } } m_aTimelineMarkers[m_NumTimelineMarkers++] = Tick; if(m_pConsole) + { m_pConsole->Print(IConsole::OUTPUT_LEVEL_STANDARD, "demo_recorder", "Added timeline marker", gs_DemoPrintColor); + } } CDemoPlayer::CDemoPlayer(class CSnapshotDelta *pSnapshotDelta, bool UseVideo, TUpdateIntraTimesFunc &&UpdateIntraTimesFunc)