• src/sbbs3/ctrl/NodeFormUnit.cpp SpyFormUnit.cpp SpyFormUnit.h

    From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Saturday, February 24, 2024 00:34:47
    https://gitlab.synchro.net/main/sbbs/-/commit/4b5633bd9bedea430a20d322
    Modified Files:
    src/sbbs3/ctrl/NodeFormUnit.cpp SpyFormUnit.cpp SpyFormUnit.h
    Log Message:
    Support UTF-8 translation to CP437 and non 80x25 terminals

    Reads the new(ish) node*/terminal.ini file when it's changed to determine
    the connected-client's terminal type/dimensions. Now reports the terminal details in the spy form title/caption and if it's UTF-8, does a real-time translation to CP437 (since F. Piette's terminal lib only supports CP437). There is a bug here where if the data read from the RingBuffer is a
    partial UTF-8 sequence, it isn't decoded correctly. Fix that later (?) if it actually bugs anyone.

    There's no PETSCII conversion/support added here. I expect to someday replace this entirely (likely with something that uses cterm), so didn't want to
    invest too much time into this.

    But at least now spying on non-traditional ANSI-BBS clients isn't so terrible to look at.