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