- Oct 26, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
Whoohoo, I'm a reel STL programmerz n0w!
-
Rob Swindell authored
error: ISO C++ forbids comparison between pointer and integer
-
Rob Swindell authored
Uses the new ctrl/text.??.ini files (just a few words translated so far). Adds the new "lang" user property (to user.tab and JS User class). The language code is the 2-3 char (e.g. ISO 639-1) abbreviation of a language. A "blank" language property value (the default), just means to use the ctrl/text.dat contents. User-selected alternate language file is loaded upon logon and in the built-in/hard-coded user default settings menu. More on the user default settings menu: - AutoLogin via IP option ('I') to make room for new (I) Language option. - The cold-keys menu option was removed to make room for Language option (via text.dat change to UserDefaultsHotKey) - Any options disabled via blank text.dat strings will no longer result in supported command keys (that could accidentally be struck with hidden consequences/effect) - The user_settings.js will need similar treatment text/menu/<lang>/* is where alternate language menu files should be stored New UserDefaultsLanguage text.dat string (inserted before new PasswordChar string).
-
Rob Swindell authored
This fixes the issue with the ContinueQ setting in ctrl/text.??.ini when attempting to use one of them to replace text.dat strings with localized text.
-
- Oct 22, 2023
-
-
Rob Swindell authored
In a fresh install, neither of these files would exist, and that's normal, so getstats() should just return true in that case (with the stats struct zeroed-out). Fixes error during login to a new install reported by Zoltán Gábor on Facebook.
-
- Oct 21, 2023
-
-
Rob Swindell authored
... in the linked node listing
-
- Oct 17, 2023
-
-
Rob Swindell authored
In attempt to address the "Error 11" (EAGAIN) error theat Nelgin sees when configuring some longer modem init strings on Linux. This is just a single retry (after a yield) after any modem command char send failure (for any reason), including the terminating carriage-return. See issue #662 to details.
-
- Sep 28, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
For waveOutOpen and friend functions
-
Rob Swindell authored
.. so it can be loaded in the same solution as the conio project
-
Rob Swindell authored
to differentiate it from the non-SDL version of the conio property sheet
-
Rob Swindell authored
e.g. src/sbbs3/scfg/scfg.vcxproj
-
Rob Swindell authored
Running SBBSCTRL on Windows 11 with a 4K monitor looked horrible. The default font sizes varied widely - I'm not sure why this wasn't apparent before now. And the default font ("MS Sans Serif") is no longer included in modern Windows versions, so when choosing a Log font, the pre-selected font was just blank. So change use of "MS Sans Serif" everywhere to "Microsoft Sans Serif" which appears to have been around since Win95 and be the preferred alternative. I would consider Segoe, but that wasn't introduced into Windows until Vista and I'm not sure (yet) what troubles that might introduce. I'll experiment with a WinXP VM maybe and find out.
-
Rob Swindell authored
Also: For log message styles (e.g. colorization) based on log level, don't apply a different font (Name) or size. This just looks terrible when this is done and I don't think any sysops want that. Keep each log window using the same font face (name) and size, just allow the color and style (e.g. bold, italics) to change based on log severity. This does increase the confusion with the Properties->Customize->Log Fonts as the "Change Font" dialog still allows the sysop to select/change a font face and size, they're just not saved/used. I coudln't find a way to remove or disable these from the displayed TFontDialog form.
-
Rob Swindell authored
Win32 GDI mode is also native, so let's be more specific.
-
Rob Swindell authored
-
Rob Swindell authored
Apparently this was non-intuitive to sysops. <shrug>
-
- Sep 26, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
This is version installed with MSVC 2022
-
Rob Swindell authored
to find VsMSBuildCmd.bat This means you can't use MSVS 2019 with this build.bat any longer.
-
Rob Swindell authored
-
Rob Swindell authored
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
-
- Sep 25, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
This could use more cleanup (e.g. instances of "MSGERR:") and in the summary report there are still mentions of "message" after scanning a file base.
-
Rob Swindell authored
for those that want to use cryptic numbers rather than human-readable names.
-
Rob Swindell authored
There are other ways to generate forced-upper case expanded @-codes, if that's what you want. Fewer duplicates in text.dat make localization, translation to other languages easier.
-
- Sep 24, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
These were problematic (crash, could corrupt filebases) and unsupported, so just change the programs to stubs that alert the sysop that they need to switch to using the JS versions of these utilities immediately.
-
Rob Swindell authored
Only the common/UIFC-type arguments should be passed-on. This fixes issue #646 It also appeared that the user editor spawning wouldn't work correctly when arguments were passed to umonitor (missing a space).
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Hm.
-
Rob Swindell authored
The TEXT:<x> @-code can now be used with the text.dat string ID rather than the text.dat string number, if preferred. For convenience and brevity, ALL text.dat string IDs are now valid @-codes (case-sensitive). While this functionality is redundant with the TEXT: @-code now, if there are any conflicts between new/existing @-codes and text.dat string IDs, the TEXT: @-code can be used to overcome such conflicts. This should help with localization (to other languages) by using common single-word replacements (Which, Quit, Next, etc.) in text.dat strings.
-
Rob Swindell authored
The syntax of text.ini is: <id>: "string" <id>: "string" Where <id> is the named identifier of a text.dat string as seen ctrl/text.dat and string is a literal string value (optionally, in double-quotes). Line continuations (for long strings) are not supported: you'll just need to put your string all on one long line (up to 1024 char string). C-escape characters for control chars and hex-encoded chars are supported. This should address feature request issue #644
-
Rob Swindell authored
-
Rob Swindell authored
After 90 minutes of waiting, we'll do the same abort wait (and run the event anyway), but closing the node's socket should be enough to get the node_thread to terminate and set the node status back to NODE_WFC. Apparently some sysops like to leave their terminals idling (e.g. running MRC) and never disconnect and since they're T-exempt, the BBS won't limit their time online to allow events to run. Exclusive events will wait for all nodes to become inactive, but give up after 90 minutes of waiting and run the event anyway and set node status to WFC at the end. If the node was actually still connected/in-use, this could lead to the (new) critical error messages logged "!Node X status is WFC, but the node socket (N) and thread are still in use!" and other chaos (NODE STATUS FIXUP and the like). This should prevent all that by just abruptly disconnecting the node after waiting 60 minutes for the sysop to gracefully disconnect. The log message when this happens: "!TIRED of waiting for node N to become inactive (status=X), closing socket Y"
-
Rob Swindell authored
Fixes unnecessary [Hit a key] prompt.
-