From cd72628aeb4c5f040891990cf4900d9d6677bc80 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Wed, 19 Jan 2022 19:51:51 -0800 Subject: [PATCH] Don't display progress() updates more than twice a second To send less text over slow (e.g. 4800bps) modems. For Nelgin. This makes the interval argument unnecessary I think. --- src/sbbs3/con_out.cpp | 4 ++++ src/sbbs3/sbbs.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/sbbs3/con_out.cpp b/src/sbbs3/con_out.cpp index 576004e908..c44df8a428 100644 --- a/src/sbbs3/con_out.cpp +++ b/src/sbbs3/con_out.cpp @@ -1400,11 +1400,15 @@ void sbbs_t::progress(const char* text, int count, int total, int interval) return; // Don't output this for events if((count%interval) != 0) return; + clock_t now = msclock(); + if(now - last_progress < 500) + return; if(text == NULL) text = ""; float pct = total ? ((float)count/total)*100.0F : 100.0F; SAFEPRINTF2(str, "[ %-8s %4.1f%% ]", text, pct); cond_newline(); cursor_left(backfill(str, pct, cfg.color[clr_progress_full], cfg.color[clr_progress_empty])); + last_progress = now; } struct savedline { diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index b8298d725e..7930ab8fd5 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -848,6 +848,7 @@ public: bool update_nodeterm(void); int backfill(const char* str, float pct, int full_attr, int empty_attr); void progress(const char* str, int count, int total, int interval=1); + clock_t last_progress = 0; bool saveline(void); bool restoreline(void); int petscii_to_ansibbs(unsigned char); -- GitLab