- Oct 21, 2024
-
-
Deucе authored
Under SDL2, with HighDPI enabled, we end up with two coordinate systems for our window... there's the pixel coordinates which we draw in, and are available via SDL_GetWindowSizeInPixels(), and there's the "screen" coordinates, which is an underlying source size that is scaled from, and is available via SDL_GetWindowSize(). Mouse events are in the screen coordinates, drawing is in pixel coordinates. This commit converts mouse event positions to pixel coordinates before converting further to text coordinates. :( A specual thanks to u/ten-oh-four for working to track this down with me, they ran multiple experimental builds and collected logs which allowed to to be tracked down. Fixes issue 155
-
- Oct 20, 2024
- Oct 19, 2024
-
-
Rob Swindell authored
SlyEdit: Open the quote file in "binary" mode (only applicable on Windows; same as the fseditor change) See merge request main/sbbs!462
-
SlyEdit: Open the quote file in "binary" mode (only applicable on Windows; same as the fseditor change)
-
Deucе authored
This should ensure that cvstat has the right window size at the start. I hope.
-
Deucе authored
Allow ALT+Arrow to resize from maximized by calling SDL_RestoreWindow() first. This should allow macOS users to escape the weird window size mess it can start in. Still no idea what is actually happening there, but this should at least provide an "out" now. :(
-
Deucе authored
Also, there's SDL_WINDOW_FULLSCREEN_DESKTOP, so or that in even though we don't need to due to how it's defined.
-
Deucе authored
-
Deucе authored
Because things get weird sometimes.
-
Deucе authored
Le sigh for the socket API.
-
Deucе authored
On macOS, fullscreen and maximized are very slightly different, so don't force one to mean the other. However, when entering or leaving fullscreen mode, we need to explicitly make the window resizable or not. Also, update the uifc screen title when the mode changes and we're at one of the main menus... still a bit icky, but likely the best that can be done (won't update if you toggle fullscreen from a sub-menu for example).
-
Deucе authored
This appears to break the mouse position stuff. :(
-
Deucе authored
-
Deucе authored
Decrease height by one to avoid the memo line.
-
Rob Swindell authored
Update date display format to be less ambiguous (more international). js.exec_dir is guaranteed to end in a slash, so no need to add one. Bump version to 3.00.
-
Rob Swindell authored
-
- Oct 18, 2024
-
-
Rob Swindell authored
Code beautification, no functional change other than we're not clearing mouse mode 1016 since I don't have a definiton for that mode yet.
-
Rob Swindell authored
typeof [] returns 'object', not 'array'
-
Rob Swindell authored
This (ever so slightly) optimizes the transmtited ANSI sequences
-
Rob Swindell authored
1001, 1004, 1005, 1007, and 1015 Add ability for the set/clear mouse reporting calls to set/clear 'all' modes with a single function call.
-
Deucе authored
When starting, turn off all mouse modes, then turn on the ones we need instead of relying on the console object to do anything in particular. On exit, explicitly turn off the two modes we had enabled before changing the console setting. Maybe this will fix the SyncTERM bug 153
-
Deucе authored
Windows appears to treat backslashes and slashes the same when using the API, but Windows always returns backslashes. Convert backslashes to slashes in clean_path() to ensure paths compare the same regardless of them being specified with backslashes or slashes. There's still an open question of what to do about paths received from the remote with backslashes in them, but I suspect that doing that would actually work on *nix systems and break on Windows systems, so hopefully whoever does that can fogure out what's going on.
-
Deucе authored
It appears that cache operations in SyncTERM on Windows does not currently work with subdirectories for some reason (likely backslashes). Ensure that after sending a file to be cached, it correctly appears in the cache, and fall back to not using graphics. This will fix the blank board issue in minesweeper with a Windows SyncTERM and fallback to text mode. Once SyncTERM is fixed, it should work in graphics mode too.
-
Deucе authored
The DNS lookup can cause delays on some systems. Fixes bug 154
-
Rob Swindell authored
to node.log via sbbs_t::log()
-
Rob Swindell authored
-
- Oct 17, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Some doors/door kits actually require all 52 lines, but since they (may) have problems with the values we populate on those additional 21 lines, just write them as blank when a program is configured for the GAP (original) 31 line DOOR.SYS drop file. I doubt (and hope) that no programs will care if their are more lines than they expect.
-
- Oct 16, 2024
-
-
Rob Swindell authored
So apparently 23 years ago (almost 24), I made a typo in commit 7731d16d that broke the batch transfer menu for RIP users. Also elminated silly/unnecessary loop-control variable ('done'). I'm working on a port to JS and noticed these oddities (so far).
-
Rob Swindell authored
-
- Oct 15, 2024
-
-
Rob Swindell authored
Removed UTIDOOR.TXT file format: nobody uses this drop file format and we removed the UTI driver long ago, so this was just an artifact. If you previously had an external program (door) configured in SCFG to use the "GAP DOOR.SYS" file format, SBBS will create the same (52 line) format as before (no change). But for doors that have compatibilty issues with the 52-line DOOR.SYS file created by Synchronet (e.g. Thunder cat V3.30), a sysop can now choose "GAP (original)" for the drop file type and Synchronet will create a 31-line DOOR.SYS file instead.
-
Rob Swindell authored
Not sure how I missed this one, but this file was needed to complete the 'bbs' object changes mentioned in that commit message.
-
Rob Swindell authored
In response to Reddit inquiry in /r/bbs by wts42: "is there a possibility in sbbs to restrict access to services like IMAP by level or flag?" ... now there is. This only works for services that use the JS login() method to authenticate the user. If the services server's LoginRequirements are set in the sbbs.ini file, then *both* sets of requirements must be met to successfully login to a service.
-
Deucе authored
-
Deucе authored
When the code to use URLForDirectory to get paths was written, it didn't create the paths, so the files in them could not be created either. If SyncTERM had ever ran using the old FSFindFolder() method, the path would already exist, so things would work. Also, since we're here, use mkpath() instead of MKDIR().
-
Deucе authored
-