• src/sbbs3/atcodes.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Monday, December 08, 2025 16:47:32
    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Monday, December 08, 2025 16:47:32
    https://gitlab.synchro.net/main/sbbs/-/commit/45cd7ac09f1705d59b575f89
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    New @-code: RAWIO expands to On|Off text.dat string indicating Raw I/O status

    Raw I/O mode is toggled with Ctrl-Z key

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Saturday, December 27, 2025 01:17:58
    https://gitlab.synchro.net/main/sbbs/-/commit/32b4cfef53328f4ec9e76208
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Remove duplice at-code: GENDERS (defined twice)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Monday, January 05, 2026 00:49:23
    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).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Monday, January 05, 2026 05:25:37
    https://gitlab.synchro.net/main/sbbs/-/commit/834f48490ad1214f657c423c
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Resolve GCC printf usage warning

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tuesday, January 06, 2026 19:28:48
    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, January 07, 2026 23:21:25
    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 08, 2026 01:54:14
    https://gitlab.synchro.net/main/sbbs/-/commit/fb97ffcb3fcc8dddeb831ca7
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Support byte-count and time-duration format parameters for legacy @-codes

    Now supporting byte-count format parameters:
    - FILE_BYTES
    - FILE_CREDITS
    - FILE_TIME_TO_DL
    - FREECDT
    - CREDITS
    - CDTLEFT
    - CDTUSED
    - CDTPERD
    - DLB
    - UPB
    - BTODAY
    - STATS.ULB
    - STATS.DLB

    Now supporting time-duration format parameters:
    - TBANKED
    - MBANKED
    - TEXTRA
    - MEXTRA
    - TLAST
    - TTOTAL
    - MTODAY
    - TTODAY
    - MTODAY (aka TOTALTIME)
    - TPERD
    - TPERC
    - MPERD
    - MPERC (aka TIMELIMIT)
    - TLEFT
    - TIMEON
    - TUSED
    - STATS.TIMEON
    - STATS.TTODAY

    Removed short-lived now-superfluous codes (whew!):
    - TMUSED
    - MUSED
    - HRUSED
    - TONLINE
    - TMONLINE
    - MONLINE
    - HRONLINE
    - SECLEFT
    - TMLEFT
    - MLEFT
    - HRLEFT
    - TPERD
    - TPERC
    - HRPERD
    - HRPERC
    - TMTODAY
    - HRTODAY
    - TOTALHR
    - TMLAST
    - HRLAST
    - LASTTM
    - EXTRATM
    - EXTRAHR
    - HRBANK
    - TMBANK
    - CDT
    - CDTFREE

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 08, 2026 02:51:25
    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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 08, 2026 14:53:52
    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net