Skip to content
Snippets Groups Projects
  1. Oct 23, 2024
    • Rob Swindell's avatar
      cd144bbe
    • Rob Swindell's avatar
      Add contains_invalid_attr() - checks string for invalid attr Ctrl-A codes · d72b0cd2
      Rob Swindell authored
      Other Ctrl-A codes (e.g. ^A\) might be valid, but they're not attribute
      control codes, so their existence would cause this function to return true.
      d72b0cd2
    • Deucе's avatar
      Rejigger width iterpolation. · b84c583a
      Deucе authored
      The old code expected the L1 cache to be fairly large, and the
      prefetcher to be fairly smart, and did updates by columns to save
      some math.  This change performs width interpolation row-by-row
      so even the dumbest prefetcher can get it right, and there's no
      need to keep the whole source and destination images in the cache.
      
      This may help out older processors when scaling with interpolation
      (most commonly used in fullscreen).
      
      It's entirely possible though that this won't be enough and they'll
      still need to use "External" scaling.
      b84c583a
    • Rob Swindell's avatar
      IP addresses are logged (most) everywhere else in square brackets · 17912ca3
      Rob Swindell authored
      There are still places where it could be logged in <> (if username is not yet
      known).
      17912ca3
    • Rob Swindell's avatar
      Rename sbbs_t::ansi_getlines() to ansi_getdims(), add sbbs_t::getdimensions() · e4cdd4ac
      Rob Swindell authored
      Add JS console.ansi_getdims()
      
      Use sbbs_t::getdimensions() or JS console.getdimensions() to move user
      cols/rows values to run-time console values (querying ANSI terminal if
      appropriate/supported).
      
      JS console.pushxy(), popxy(), and gotoxy() all return Boolean now.
      
      sbbs_t::getdimensions() and its JS wrapper is now the proper way to propagate
      user's cols/rows settings to the run-time console values. This was done
      (post-login) only via use of the TERMROWS and TERMCOLS @-codes in
      user_settings.js. Weird.
      e4cdd4ac
  2. Oct 22, 2024
  3. Oct 21, 2024
    • Rob Swindell's avatar
      Add a bunch of conditional line continuations for 40 column terminals · 82f3426b
      Rob Swindell authored
      Using Ctrl-A\ (\1\\) in a bunch of text strings (especially prompts) to
      better accommodate 40 column terminals.
      
      Fixes email/netmail address prompt issue reported by phigan (TACOPRON)
      along with a bunch of other cosmetic and input issues with 40col terminals.
      82f3426b
    • Rob Swindell's avatar
      The P, C, and v options would report 'unrecognized option' · 454ef936
      Rob Swindell authored
      Fix for issue #798
      454ef936
    • Deucе's avatar
      Fix script to update Info.plist properly. · 867cf8c9
      Deucе authored
      We need -g to do multi-line matching with -p.
      867cf8c9
    • Deucе's avatar
      Fix macOS mouse position reporting · 1ac01645
      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
      1ac01645
  4. Oct 20, 2024
  5. Oct 19, 2024
  6. Oct 18, 2024
    • Rob Swindell's avatar
      Use ansiterm_lib.js for constructing ANSI mouse reporting set/clear sequences · f9c9f292
      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.
      f9c9f292
    • Rob Swindell's avatar
      Fix array support in mouse_reporting_modes() · 4d087182
      Rob Swindell authored
      typeof [] returns 'object', not 'array'
      4d087182
    • Rob Swindell's avatar
      Allow multiple mouse reporting modes to be set/clear by passing array · 1ebbc545
      Rob Swindell authored
      This (ever so slightly) optimizes the transmtited ANSI sequences
      1ebbc545
    • Rob Swindell's avatar
      Add mouse reporting modes not supported by SyncTERM · d5b7f937
      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.
      d5b7f937
    • Deucе's avatar
      Be more aggressive about setting mouse modes. · 9546e85a
      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
      9546e85a
    • Deucе's avatar
      Fix cache subdirectories on Windows. · 8624486f
      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.
      8624486f
    • Deucе's avatar
      Ensure graphics are cached successfully. · a9189017
      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.
      a9189017
    • Deucе's avatar
      Don't copy the name to the address. · 64ff6820
      Deucе authored
      The DNS lookup can cause delays on some systems.
      Fixes bug 154
      64ff6820
Loading