Skip to content
Snippets Groups Projects
Commit 2ca49b58 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Fix an off-by-one line bug in the "local side" of the split-screen-chat.

This bug would cause the split-screen separator to repeat when the local
side scrolled (if the terminal was 24 rows, bug didn't happen when local
screen was 25 rows).

This bug appears to have "always" been there. The split-screen separator is
80 columns, so that forced a line wrap on the subsequent CRLF and the local_y
value was "off-by-one". Just use ansi_gotoxy() instead and put the cursor
where you think it is.

Also, support > 24 row terminals for longer chat history (bottom half only).
parent 8c411160
No related branches found
No related tags found
No related merge requests found
......@@ -964,7 +964,7 @@ void sbbs_t::privchat(bool forced, int node_num)
,thisnode.misc&NODE_MSGW ? 'T':' '
,sectostr(timeleft,tmp)
,thisnode.misc&NODE_NMSG ? 'M':' ');
CRLF;
ansi_gotoxy(1,14);
local_y=14;
}
......@@ -1016,7 +1016,7 @@ void sbbs_t::privchat(bool forced, int node_num)
,thisnode.misc&NODE_MSGW ? 'T':' '
,sectostr(timeleft,tmp)
,thisnode.misc&NODE_NMSG ? 'M':' ');
CRLF;
ansi_gotoxy(1,14);
attr(cfg.color[clr_chatlocal]);
localbuf[localline][localchar]=0;
for(i=0;i<=localline;i++) {
......@@ -1040,7 +1040,7 @@ void sbbs_t::privchat(bool forced, int node_num)
localbuf[localline][localchar]=0;
localchar=0;
if(sys_status&SS_SPLITP && local_y==24) {
if(sys_status&SS_SPLITP && local_y >= rows) {
ansi_gotoxy(1,13);
bprintf(forced ? local_sep : sep
,thisnode.misc&NODE_MSGW ? 'T':' '
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment