https://gitlab.synchro.net/main/sbbs/-/issues/953#note_7536
The v3.20 code for detecting ANSI animation in a display file (and thus resetting the line counter) was this:
```
/* ansi escape sequence */
if (outchar_esc >= ansiState_csi) {
if (str[l] == 'A' || str[l] == 'B' || str[l] == 'H' || str[l] == 'J'
|| str[l] == 'f' || str[l] == 'u') /* ANSI anim */
lncntr = 0; /* so defeat pause */
```
The new v3.21 code for this is now:
```
if ((!ansiParser.ansi_was_private) && ansiParser.ansi_ibs == "") {
if (strchr("AFkBEeHfJdu", ansiParser.ansi_final_byte) != nullptr) /* ANSI anim */
term->lncntr = 0; /* so defeat pause */
}
```
Which look sufficiently equivalent to me.
It makes sense that an ESC[255D would move the column counter (at least to the right-most column <= 255, whatever that is). The last displayed line is actually not blank (ends in "SysOp)"), but then there's a cursor reposition with 'H' (triggering the reset logic above in both v3.20 and v3.21), followed by an ESC[A which moves the cursor up one row, then the ESC[255D (moving to the far right column), then CR LF LF.
So yeah, this is sufficiently convoluted that I do figure it just be an ANSI animation file and thus all bets off with regards to line-counting and auto-pausing. I don't know exactly what was happening in v3.20 (without stepping through its code while displaying this file), but I'm kind of surprised it considered there to be a non-zero line counter before the next screen clear after displaying this file. Could've been unintended behavior in v3.20 as I can imagine a sequence of animated-ANSI files that a sysop might want to send without a [Hit a key] pause prompt appearing between them and the v3.20 behavior couldn't been an unpleasant surprise. The reality is today, most BBSes are used with speeds so fast that the user never actually sees the ANSImation file unless they're artificially throttled.
So I'm fine to close the issue: SysOp shouldn't save the file as ANSImation (e.g. in TheDraw) if they want Synchronet's auto-pause functionality.
--- SBBSecho 3.29-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)