Synchronet:880c871705513bb11a0a1ce0f94e2a1550a7082d commits 2019-10-08T02:08:58+00:00 New sbbs_t method: cursor_xy(), works with both PETSCII and ANSI terminals. 2019-10-08T02:08:58+00:00 rswindell JS console.gotoxy() and the GOTOXY @-code now work with PETSCII terminals (homes the cursor then moves down and right the appropriate number of rows and columns). Bummer I didn't think of this method sooner. Remove the socket library from the version info - not too relevant or 2019-10-08T02:07:26+00:00 rswindell interesting and on many platforms, unavailable anyway. Track game start/end times in milliseconds for more accurate ranking of 2019-10-07T21:06:46+00:00 rswindell winners. The "Winners" syncdata message are backwards compatible with rev 2.0 and earlier, but now contain the fractional seconds. When displaying winners from within the game, prompt for difficulty level (e.g. list top level 1 winners only). Since players often compete on time and don't really care about the higher difficulty level rankings. The "winners" command-line option still displays the top winners from all levels, but renumbers them based on the (rounded-up) difficulty level. Handle syncdata messages with tear lines (---) or converted tear lines (===) which interfere with JSON-parsing. Since the message tail is not read, tear lines are not normally an issue, but converted tear lines (e.g. by SBBSecho) are imported as part of the body text and caused JSON parse failures, e.g. === minesweeper.js 2.0 --- SBBSecho 3.06-Win32 ... now fixed. Clarify user properties file (where users' game preferences are stored). 2019-10-07T20:53:14+00:00 rswindell Don't die in the IGM 2019-10-05T21:03:24+00:00 mortifis LORD local mode identifies as SysOp (until final release) more housekeeping Create/use a common strip_char() function, can strip chars from a string 2019-10-05T20:47:49+00:00 rswindell in-place or by also copying to a new string in the process. Don't string "soft-CRs" (0x8d) from UTF-8 encoded FTN messages, ever. Default strip_soft_cr SBBSecho setting to true/on. opps, missed a syntax error 2019-10-04T19:32:19+00:00 mortifis Added more questions to Guessing Game, 2019-10-04T19:24:37+00:00 mortifis Tidied a few things up, Still not the final release but is playable missed removing a forced event on last commit 2019-10-03T20:07:47+00:00 mortifis Removed Forced Random Events 2019-10-03T19:57:08+00:00 mortifis Removed Black Jack Game Added Guessing Game ... currently only has 5 questions, will add more later. Commented out Opening Credits Fix off-by-one bug in previous commit. 2019-10-03T17:54:28+00:00 rswindell If DeletePostQ text.dat string is blank, default to delete msg without prompt. 2019-10-03T03:49:58+00:00 rswindell Don't use undefined height/width 2019-10-02T18:58:37+00:00 deuce Fixed missed reward for Accepting Advances from Wood Nymphs, and other blah b... 2019-10-01T19:52:49+00:00 mortifis fixed an event for settings.clean_mode ... no need to freak out the kids 2019-10-01T19:04:43+00:00 mortifis Just a few tips on game play 2019-10-01T18:51:58+00:00 mortifis A few bug fixes, cosmetics, more finished routines. 2019-10-01T18:45:50+00:00 mortifis This Version has two forced events for testing, but they are random enough to enjoy. some boring stuff about the IGM 2019-09-30T23:23:37+00:00 mortifis no message 2019-09-30T23:23:09+00:00 mortifis Initial Release of The Grab Bag - an IGM for LORD 5.00 JS 2019-09-30T23:22:24+00:00 mortifis Fix cosmetic issue when logging port accept()ing on. 2019-09-29T06:30:06+00:00 deuce Actually keep gold you find in the forest. 2019-09-29T05:49:13+00:00 deuce Vertical scrollbar fixes. 2019-09-27T23:16:02+00:00 deuce Initial support for hailing... So far just online chat works as intended. Support UTF-8 auto-detection for MacOS Terminal v2.8.3 (404.1): 2019-09-27T20:58:38+00:00 rswindell Unexpectedly, a ZWNBSP (U+FEFF) received/echoed by the MacOS Terminal while in the first column causes a subsequent cursor position report to indicate the 2nd column as the current only. I suppose in some weird world a zero-width character can can't as a column position. So if the cursor position has moved less than 2 columns (not exactly 0 columns), then consider it a UTF-8 terminal. Non-UTF-8 terminals normally move the cursor 3 columns when echoing a UTF-8 encoded ZWNBSP. So to summarize, when echoing a ZWNBSP: - Non-UTF-8 terminals: moves 3 columns - MacOS terminal: moves 1 columns - Other UTF-8 terminals: moves 0 columns Chase userdat.h. Apparently a node doesn't know its own number. 2019-09-27T18:22:52+00:00 deuce Fix the weapon/armour requirements. The calculation was very wrong, so 2019-09-27T08:28:11+00:00 deuce you couldn't actually get the ones that should have unlocked. This was most important on the armour... later levels you could afford decent armour, but your base defence would never be high enough. Of course, I fix this *after* I kill the dragon in the beta testing game. When a Q-restricted account logs-in using a '*' prefix to their login name, 2019-09-27T03:16:14+00:00 rswindell toggle OFF the QWK-logon status. This allows QWKnet accounts to perform other non-QWK operations, like change their password. The long-await much-anticipated Minesweeper 2.0: 2019-09-27T03:01:45+00:00 rswindell * Lost games now logged in losers.jsonl, viewable in the game, not shared * The new 'L' command shows all local wins and losses, most recent first * Use the CP437 "F with a hook" character for flag indicator * Added support for an uncertain (?) block marker * Multiple block-selector styles available, use Ctrl-S to cycle through * TAB key toggles the area-highlight feature * Center the game board vertifically in the terminal * Blink the clock red when there are 5 minutes or less of time left * (R)eveal command changed to (D)ig, it is a mine *field* after-all! :-0 * Disable more global hot keys while in the game: Ctrl-K/O/Z * Save/restore user preferences for difficulty level, highlight, and selector * Support for "Chording" a time-saving move that can be used to uncover all covered/unflagged blocks surrounding a previously-uncovered block with the correct number of flagged blocks surrounding it. Via the 'C' key. * Don't prompt for difficulty level when first running the game. Implement mail. 2019-09-27T00:52:25+00:00 deuce Only Hail is left on the TODO pile. Add turns left warnings 2019-09-26T21:25:36+00:00 deuce Don't allow dropping quest items Properly handle stores with nothing to sell ndoestatus() now requires an additional (node num) argument. 2019-09-26T18:30:18+00:00 rswindell Remove debug output. 2019-09-26T10:00:19+00:00 deuce Support encrypted .REC files. 2019-09-26T10:00:07+00:00 deuce Support pagination in inventory view. 2019-09-26T06:55:06+00:00 deuce Look-up 'to' and 'from' user numbers automatically if not specified on the 2019-09-26T03:40:13+00:00 rswindell command-line (the 'to' is only looked-up for the 'mail' base). Updated nodestatus() function usage to support custom/extneded node status 2019-09-26T03:19:08+00:00 rswindell text. Added support for custom/extended node status text. 2019-09-26T03:18:32+00:00 rswindell So it seems I can math in hex, but not in decimal. 2019-09-26T02:47:38+00:00 deuce Change the player def back, but with correct decimal values. Quick hack for Alterego to support custom/extended node status text. 2019-09-26T02:47:24+00:00 rswindell Fix fencepost error, and ignore updates for players that arent in the 2019-09-26T02:13:14+00:00 deuce trader.dat file.