• src/sbbs3/atcodes.cpp con_out.cpp getkey.cpp js_bbs.cpp js_console.cpp

    From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Mon Sep 25 17:39:43 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/69bc985575d463a4512d0b2b
    Modified Files:
    src/sbbs3/atcodes.cpp con_out.cpp getkey.cpp js_bbs.cpp js_console.cpp js_system.c sbbs.h scansubs.cpp scfglib.h scfglib2.c text.h text_defaults.c text_id.c
    Log Message:
    Fast text.dat string references, more localization support via JS and @-codes

    sbbs_t::mnemonics() now supports @-codes immediately following the tilde
    (e.g. ~@Yes@) to use the first character of a dynamically-replaced
    (e.g. localized/translated) text string as a command key.
    Fixed issue in sbbs_t::mnemonics if multiple @-codes were specified in the string, but no space characters (just noticed this bug while reviewing).

    Created: sbbs_t::expand_atcodes() - used by sbbs_t::mnemonics(), exposed in
    JS as bbs.expand_atcodes().

    bbs.text and system.text now have properties: each text string ID is the property name and the text index number (1-based) is the property value - enabling fast text string lookup without load/require text.js

    Constified sbbs_t::atcode() and attrstr() - not too painful

    Deprecated YNQP text.dat string in favor of (the first character of)
    "Yes" and "No" text strings and new strings: "Quit", and "PasswordChar"

    Other text.dat changes: ListKey->List, AllKey->Unused853
    More new text.dat strings: Which, Next, Previous, Language, LANG
    Deprecate the "AllKey" text string
    Create/use sbbs_t::all_key() - first character of "All" text string

    New JS console properties that present common (possibly localized) command keys: yes_key, no_key, quit_key, all_key, list_key, next_key, prev_key

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