- May 14, 2021
-
-
Rob Swindell authored
by adding a 'clear' argument to msgabort() that defaults to false. Pass true to check-and-clear. checkline() is a NO-OP, so start eliminating "calls" to it.
-
- Apr 25, 2021
-
-
Rob Swindell authored
-
- Apr 24, 2021
-
-
Rob Swindell authored
This caused an issue for the soon to be committed P_INDENT support in putmsg().
-
- Apr 14, 2021
-
-
Rob Swindell authored
Do nothing if online != ON_REMOTE. Eliminates some if(online == ON_REMOTE) clauses.
-
- Apr 04, 2021
-
-
Rob Swindell authored
This won't impact Synchronet as it has a separate signal handling thread, but we still need to behave properly for processes that don't. I'm also saying that ENOMEM does not indicate a disconnection, though it may be better to pretend it was disconnected...
-
- Feb 22, 2021
-
-
Rob Swindell authored
Caught by Coverity.
-
- Feb 15, 2021
-
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
- Dec 12, 2020
-
-
Rob Swindell authored
-
- Nov 26, 2020
-
-
Rob Swindell authored
Ctrl-A codes that cause cursor movement or attribute changes or anything except toggling the console output will now be ignored when console output is off.
-
- Nov 07, 2020
-
-
Rob Swindell authored
In preparation for node-spy applications that can support multiple terminal sizes/types (none exist yet). The file is updated whenever there is new/updated information about the client's terminal. Exposed as JS method: console.term_updated().
-
- Nov 06, 2020
-
-
Rob Swindell authored
I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values. This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service). The new macros names are bit more descriptive as well.
-
- Oct 09, 2020
-
-
Rob Swindell authored
No functional change with regard to the ANSI output state, just making the code easier to read. Removed the conversion of `[ and \xFA[ to \x1b[ in putmsg(). This unexplained output translation has been supported since at least v2.xx and I have no recollection of exactly why it was added. If I recall correctly, some BBS software at some point in time sent ANSI-encoded messages into message networks by translating the ESC (\x1b) character in the ANSI sequences to either ` or \xFA in the process. This "feature" seems like it would still work, but it's completely undocumented and I have no idea why it was added (and seriously doubt anyone relies on this behavior), so I'm removing it. If anyone misses this feature, I'll happily add it back, but I'm skeptical that'll happen.
-
- Aug 16, 2020
-
-
Rob Swindell authored
-
- Aug 04, 2020
-
-
rswindell authored
so made it enabled/disabled per-user-terminal settings. This means that if you were already enjoying mouse support, you're going to have to turn it on to keep enjoying it. It also means there's currently no way to enable/use mouse support pre-logon, but I have ideas about how to support that for sysops that want that.
-
- May 24, 2020
-
-
rswindell authored
Create sbbs_t::cursor_getxy() which gets the current x/y coordinates even for non-ANSI terminals (using the locally-tracked cursor position).
-
- May 12, 2020
- May 11, 2020
-
-
rswindell authored
If Ctrl-A~ is followed by a control character (e.g. CR or LF) or the end of the string/file, then create a hungry hotspot for the line that sends CR when clicked.
-
- May 09, 2020
-
-
rswindell authored
If ^A~or ^A` is followed by a ctrl charcter, don't treat as a hot-spot. This helps to insure that if there are any .asc/.msg files "in the wild" that have a sequence of ^A`^AL (home-cursor, clear-screen), they'll still render as before the introduction fo the strict hot-spot ^A` sequence.
-
rswindell authored
Both hungry/liberal hot-spots and strict hot-spots can be defined now, at the same time. For Nelgin. Use ^A` to define a single-char strict hot-spot using Ctrl-A codes. Unfortunately, this usurps the "home" Ctrl-A code which nothing seems to use but has now been changed to ^A'. Use ` instead of ~ in mnemonics to define strict single-char hot-spots (also displays the cmd key in [] instead () on non ANSI/PETSCII terms). Use @` instead of @~ codes to define strict hot-keys. Use HOT:STRICT @-code to declare a strict hot-key color. Use HOT:HUNGRY @-code to toggle back to hungry color-defined hot-keys (the default). New optional boolean argument to JS console.add_hotkey(), hungry = true by default.
-
rswindell authored
One more method of creating a (single-character) mouse hot-spot since @-codes are not universally supported everywhere or always convenient: Ctrl-A~ The character immediately following a ^A~ will be added as a single-char mouse hot-spot.
-
- May 08, 2020
-
-
rswindell authored
-
rswindell authored
- hot spots are clickable screen areas (e.g. in menus and prompts) that generate key-strokes - commands may be from 1 to 127 ASCII-characters in length - currently using the X10 mouse reporting mode, may change - all mnemonics strings (~Example) are automatically hot-spots - The new ~ @-code defines a hot spot - Any screen-clear operation clears all hot spots - sbbs now tracks the current screen (cursor position) row - eliminated the old "tos" (top-of-screen) boolean (row == 0 indicates "tos") - created an sbbs_t::ungetstr() method - keep track if in pause (hit a key) prompt, for special mouse behavior new JS console object: - row property - tos property is now read-only (and deprecated) - new methods: add_hotspot() clear_hotspots() scroll_hotspots() redrwstr() gets some UTF8 touch-ups as part of this commit. <shrug>
-
- May 04, 2020
-
-
rswindell authored
The temporary pause toggle command (Ctrl-O) is now stored in the sbbs_t::console member so re-loads of the user-record (due to external changes) won't seemingly-randomly toggle off the user's temp toggle.
-
- Apr 30, 2020
- Apr 28, 2020
-
-
rswindell authored
getstr's insert mode (Ctrl-V) indicator and edit/line modes. Global Hot Keys (e.g. Ctrl-T) would do weird stuff like return the cursor to the end of the line or redraw the input string multiple times. So as part of this fix: - backspasce() now removed the last count characters from the save-line buffer (it is a destructive backspace afterall). - outchar('\b') (a non-destructive backspace) adds the \b to the save-line buf - restoreline() now always redraws the current insert/overwrite indicator in the upper right-most corner fo the screen - insert_indicator() now uses functions that aren't line-saved. An unrelated change included in this comment: center() now sends a CR before the cursor movement and centered-text, for times when the current column is *not* already at 0. Very useful for use with @-codes (e.g. display some pattern or "graphics" and then center some text over it).
-
- Mar 20, 2020
-
-
rswindell authored
Nah, seriously, though is anyone but me using PETSCII? :-)
-
- Oct 08, 2019
- Sep 21, 2019
-
-
rswindell authored
Use cursor-right movement rather than spaces for left-margin. Don't do the clear-to-EOL thing added in previous commit.
-
rswindell authored
"width" argument (in columns), defaults the user's current screen column-width but you can now over-ride this value when an additional/optional argument. Also, center() now clears-to-EOL before sending the CRLF to the terminal. Hopefully this doesn't mess up anyone's existing use of center().
-
- Sep 10, 2019
-
-
rswindell authored
it's a CP437 character (e.g. inadvertently included in a UTF-8 encoded text) and display as such.
-
- Aug 20, 2019
-
-
rswindell authored
when "extra raw" output is needed. Use putcom() and comprintf() instead of rputs() and rprintf() for ANSI escape sequences. This doesn't actually fix any problem, but since rputs() is "less raw" than it used to be, let's use direct-output routines instead, for ANSI output.
-
- Aug 19, 2019
-
-
rswindell authored
line counter was never cleared (upon rputs() of "\n") and the current attribute was not saved when a new line was being buffered. This applies to JS console.write() as well since it uses rputs().
-
- Aug 05, 2019
-
-
rswindell authored
-
rswindell authored
- new @-code BPS:x (where x is 0/unlimited, 300, 600, 1200, 2400, ... 115200) - new JS property: console.output_rate So you can have mutliple output rate changes in a single file by using multiple BPS @-codes. Hopefully this doesn't do weird things with non-compliant terminals.
-
rswindell authored
now accept an optional "count" argument (default: 1). JS console.backspace() and carrage_return() methods now accept an optional "count" argumnet (default: 1).
-
- Aug 04, 2019
-
-
rswindell authored
- bstrlen() moved to sbbs_t, accepts an option pmode argument so it can account for UTF-8 encoded strings correctly - JS console.strlen() now accepts an optional pmode argument (e.g. P_UTF8) - Renamed sbbs_t::utf8_to_cp437 to sbbs_t::print_utf8_as_cp437 - Create/use msghdr_hfield() to perform UTF-8->CP437 conversions as needed for printing/copying UTF-8 encoded message header fields. - Defined XTRN_UTF8 misc setting flag. If a message editor does *not* have this flag, it is assumed to *not* support UTF-8. Will likely use this for UTF-8 doors as some point too (none known to exist, yet).
-