• src/sbbs3/atcodes.cpp

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Feb 7 11:53:18 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/338252ce6a9c10ce3c1d0e32
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    More format specifier correction.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed Mar 6 22:56:22 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/931f9234fe1b311af8d575a4
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    New @-code: GIT_DATE
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed Sep 25 12:00:02 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/a04916dd0960f42157018445
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add PETGRFX @-code to send char 142 (enter PETSCII upper/graphics char set)

    ... when PETSCII terminal in use.

    For those sysops using editors that don't automatically or easily add this character to their SEQ art files when needed.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed Sep 25 15:25:26 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/dccb546d8b89ce021b8eb569
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    include petdefs.h (needed for PETSCII_UPPERGRFX definiton)
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Dec 19 18:15:34 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/9f2c2e51eb313313b43e01b4
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add @-codes to display dates/times in UTC

    When the system time zone is not UTC, but the sysop wants to display some
    dates and times in UTC, they can now use these @-codes to do that:
    - TIME_UTC
    - DATE_UTC
    - UTC:fmt
    - DATETIME_UTC
    - MSG_DATE_UTC
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Accession@1:103/705 to Rob Swindell on Fri Dec 20 17:23:08 2024
    Hello Rob Swindell (On Windows,

    On Thu, Dec 19 2024 20:15:35 -0600, you wrote ..

    - UTC:fmt

    Does this one here mean you can now do:

    (at)UTC:%a, %b %d %Y %H:%M:%S %z

    .. or something similar?

    Regards,
    Nick

    ... He who laughs last, thinks slowest.
    ---
    ■ Synchronet ■ _thePharcyde telnet://bbs.pharcyde.org (Wisconsin)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Accession@1:103/705 to Digital Man on Fri Dec 20 20:37:40 2024
    Hello Digital,

    On Fri, Dec 20 2024 18:38:15 -0600, you wrote ..

    Does this one here mean you can now do:

    (at)UTC:%a, %b %d %Y %H:%M:%S %z

    .. or something similar?

    Kind of. You can't have spaces in @-codes, so you'd need to use \x20
    in place of space. And you'd need a terminating (at).

    It's just like the TIME:fmt @-code, but instead of local time, it's
    UTC. https://wiki.synchro.net/custom:atcodes

    Thanks for the explanation!

    All relevant information is indeed on the wiki (thanks for that, too!), but your explanation here made it far easier for me to find it all on the wiki and put it together (I had to scroll from the top to the bottom to find all the pieces you mentioned in this message).

    Regards,
    Nick

    ... He who laughs last, thinks slowest.
    ---
    ■ Synchronet ■ _thePharcyde telnet://bbs.pharcyde.org (Wisconsin)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sun Jan 5 21:16:56 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c045c2d6ebaae7120eb13ced
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Resolve GCC warning
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Tue Jan 7 23:32:46 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b665472217ec8e811ffa9491
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    FILE_ @-code changes/additions

    New:
    - FILE_COST, file's credit value or "FREE" when applicable
    (see also FILE_CREDITS - the file's credit value or 0 when free download)
    - FILE_AUTHOR - file's author (e.g. from SAUCE record) or blank if N/A
    - FILE_GROUP - file's author group (e.g. from SAUCE record) or blank if N/A
    - FILE_BYTES - file's size in bytes (previously, would use FILE_SIZE for this) - FILE_CRC32 - 8 hex digits or blank if N/A
    - FILE_MD5 - 32 hex digits or blank if N/A
    - FILE_SHA1 - 40 hex digits or blank if N/A
    - FILE_TIME_TO_DL - estimated time ("HH:MM:SS") to download file at current CPS

    Changed:
    FILE_SIZE is now the file size estimated in KB, MB, GB, etc., not the exact file size in bytes.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Mar 3 18:07:00 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2787474aa6c7ec211815363e
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add "AT" @-code to enable easier output of literal @-codes without expansion

    Deuce's suggestion
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Fri Mar 7 20:07:40 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/85f4b96fc8bf9eb432e09782
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add MSGS @-code - total messages in current sub-board

    Unlike SMB_MSGS, the sub-board does not have to be already open.

    As requested/reported by Finglonger (SILENT)
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Apr 7 21:32:28 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/fccf1a5718fdcb9864bcbccf
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Better parsing of invalid @-codes

    @-codes never start with a number (decimal digit)
    @-codes never contain any whitespace (including tabs, CR and LF).

    These 2 issues caused the stock batch file transfer menu for RIP terminals
    to display all messed-up.

    This RIP menu (text/menu/batchxfr.rip) contains @s and they triggered some stripping of text and expanding to a text.dat string (!).
    --- SBBSecho 3.24-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Apr 8 16:52:06 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7b42b9be244f639d5afd7e23
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Clean-up the initial string/pointer adjustment in show_atcodes()

    No functional change.
    --- SBBSecho 3.24-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Apr 22 16:12:46 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/fc4ee1b9f4fe8397fedcb8c9
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Allow C escape sequences in EXEC: @-code argument, to allow param passing

    e.g. separate module name from command-line params with \x20 and separate params from eachother with \x20.
    --- SBBSecho 3.24-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Jun 11 21:08:00 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c122ddd88d1cb0b1c0abb5f6
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Renamed DAYBYTES to USEDCDT (amount of free credits used today)

    DAYBYTES is now an alias for BTODAY, since that more accurately reflects what PCB and WC used this code for, though WC4 Sysop Guide says it's in "K", we'll ignore that inconsistency (Wildcat! docs are wrong maybe?).
    --- SBBSecho 3.27-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Jun 12 16:04:56 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/e636d71e390a0f2a4d014a63
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Transfer stats @-codes using byte total estimates (e.g. "1.2M")

    BTODAY now expands to a byte estimate (DAYBYTES is still the exact byte count)

    New codes: UPB and DLB for total-uploaded-bytes and total-downloaded-bytes There are already existed other codes for kibibytes or exact bytes, but there were none for byte estimates that shorten larger numbers nicely.

    Here's an example of the various transfer stats related @-codes now:

    DTODAY: '1'
    BTODAY: '2.8K'
    KTODAY: '2'
    DAYBYTES: '2827'
    DLFILES: '615'
    DLB: '2.2G'
    DLBYTES: '2406384443'
    DOWNK: '2349984'
    UPFILES: '247'
    UPB: '13.6G'
    UPBYTES: '14602185912'
    UPK: '14259947'
    --- SBBSecho 3.27-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Jun 12 20:57:16 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/e159c5096ead5b835dbbd06b
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    New @-codes to display credit percentages awarded for up/downloads for curdir

    - UCP (upload credit percentage)
    - DCP (download credit percentage)
    --- SBBSecho 3.27-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed Jun 18 21:46:44 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/db7fde0045aa49a3699d60b2
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add BYTERATIO alias (PCBoard compatible) for UDR @-code

    First addition for issue #940
    --- SBBSecho 3.28-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Dec 8 16:47:32 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d4d92c9ce53f4b2196164d3a
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    New @-code: PSTAT - expands to On|Off text.dat string indicating Pause status

    Similar to UPAUSE @-code, but this takes into account the Ctrl-O hot key and sys_status methods of forcing screen pause on or off.
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Dec 27 01:17:58 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/32b4cfef53328f4ec9e76208
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Remove duplice at-code: GENDERS (defined twice)
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Jan 5 00:49:22 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e25c2129ac0ac8c4c8c9025f
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Fixes and additions with statistics and security related @-codes

    - The following codes wold return bad/truncated "hours" if the val was > 9hrs
    TPERC, TPERD (e.g. "4:00" instead of "24:00")
    - The following codes wold return bad/truncated "hours" if the val was > 99hrs
    TTODAY, TTOTAL, TBANKED (e.g. "10:00" instead of "250:00")

    New codes:
    - TMLAST (time used last call in [H]H:MM format)
    - HRLAST (estimated hours used last call, with 'h' suffix)
    - LASTTM (exact time used during last call, with 'm' suffix)
    - TMTODAY (exact total time used today, with 'm' suffix)
    - HRTODAY (estimated hours used today, with 'h' suffix)
    - HRPERD (estimated hours allowed per day, with 'h' suffix)
    - HRPERC (estimated hours allowed per call, with 'h' suffix)
    - TOTALHR (estimated total time used, in hours, with 'd' or 'h' suffix)
    - TOTALTM (exact total time used, verbose, with 'm' suffix)
    - EXTRAHR (extra time, in estimated hours with 'd' or 'h' suffix)
    - EXTRATM (extra time, verbose, with 'm' suffix)
    - TMBANK (banked time, verbose, with 'm' suffix)
    - HRBANK (banked time, estimated in hours, with 'm' suffix)
    - CDT (estimated number of credits, e.g. "4.0G")
    - CDTPERD (estimated free credits per day, e.g. "5.0G")
    - CDTUSED (estimated free credits used today, e.g. "1.0G")
    - CDTLEFT (estimated total credits available to user, e.g. "5.5G")
    - CDTFREE (estimated remaining free credits, e.g. "0.5G")

    Duration @-codes are expanded in a few variant formats:
    1 raw units (seconds or minutes) as a whole number (e.g. MEXTRA, TLAST)
    2 hours and minutes, zero-padded as "[H]HH:MM" (e.g. TEXTRA, TBANKED)
    3 hours and minutes, shortened as "[HHH:]MM" (e.g. TTODAY)
    4 estimated day and hours (e.g. TOTALHR="15.4d", EXTRAHR="2.5h")
    5 exact number of days, hours, and minutes (e.g. TOTALTM="15d 9h 37m")

    Byte/credit @-codes are expanded in a few variant formats:
    1 raw byte/credit numbers as a whole number (e.g. CREDITS, DLBYTES)
    2 kibibyte units as whole number (KTODAY) or fraction (FILEKB) with no suffix
    3 mebibyte units as whole number (FILESPACEM) or fraction (FILEMB), no suffix
    4 gibibyte units as whole number (FILESPACEG) or fraction (FILEGB), no suffix
    5 estimated size as fraction (e.g. BTODAY, DLB) with suffix

    While multiple formats are available for most values, not all formats are available for every value. The 'T' format modifier can be used to add
    thousands separators (commas) to the raw unit outputs (1).
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon Jan 5 05:25:36 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/834f48490ad1214f657c423c
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Resolve GCC printf usage warning
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Jan 6 19:28:48 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4d50e62660bcba11b1c1b274
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add UN as an alias for USERNUM

    User numbers are not often more than 4 digits, so its more convenient for display file editing purposes to have a shorter code.
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Jan 7 23:21:24 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/222622e3bde35bbba76262ff
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add codes: FFILES, FBYTES, FCOST, and FTIME, with new format parameters

    Inspired by PCBoards's FFILES and FBYTES (see issue #940), these codes
    report details of the user's current batch download queue. I completed the set by adding FCOST and FTIME.

    An important new feature introduced with these codes are new (optional) byte-count and time-duration specific format parameters. e.g. while FBYTES returns the total size of all files in the batch download queue in bytes, FBYTES:K will return the total size in kibibytes. Similarly, FTIME will
    return the estimated number of minutes to download the queue while FTIME:S
    will return the estimated number of seconds.

    There are currently 8 formats of time-durations and 5 formats of byte-count representations. I suspect I'll be adjusting these and adding more before finalizing and documenting on the wiki.

    I plan to give more codes this treatment and remove many of the new duration codes I recently added since this feature means we don't need a separate uniquely-named code for each output format: it was a real pain to come up with good or consistent, but short names, and manage them all.
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Jan 8 02:51:24 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8a343cbf4c6a9f43954569b9
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Remove BYTERATIO (for now) since it doesn't match PCBoard output

    Added/adjusted several comments
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Jan 8 14:53:52 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8c208eb20de2af81bc2d36b5
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Type cast to resolve CID 640932

    Hopefully users don't ever actually need/have more than 63-bits for credits. --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)