Skip to content
Snippets Groups Projects
  1. Oct 11, 2024
    • Deucе's avatar
      Tie cryptlib cmake into syncterm cmake build · 1b403165
      Deucе authored
      There's still some dependency weirdness on Linux, and cryptlib
      won't automagically rebuild if the patches change, but it at least
      works for an initial build, which is the primary use-case.
      
      None of this has been tested on Windows yet.
      1b403165
    • Deucе's avatar
      Linux needs libutil for forkpty() too. · 7e9951c2
      Deucе authored
      Except when it doesn't... it's harmless to link with it then though.
      7e9951c2
    • Deucе's avatar
      Start working out how to build cryptlib using cmake. · 721201c0
      Deucе authored
      The tricky part is really extracting the source and applying the
      patches THEN configuring cryptlib.
      
      I can do this with ExternalProject, but I'm not sure exactly how
      to hook this up yet.
      
      This also requires patch and perl and a supported md5 thing to be
      installed in a place CMake will find them, which sill be
      challenging for Windows.  If Windows (or compilers for Windows)
      have started shipping with git, I can use git apply instead of
      patch, but the rest is still kinda fuzzy.
      
      This does at least fix up the terrible serialized build though,
      so once I get this working, it will work well with values other
      than -j1.
      721201c0
    • Rob Swindell's avatar
      Don't display/log an error if text/menu/upload.* doesn't exist · 3a474e62
      Rob Swindell authored
      "upload.*" is an optional menu file, so this should've always used the
      P_NOERROR flag, but the bug just fixed (in commit b656e19f) masked this
      issue.
      3a474e62
    • Rob Swindell's avatar
      Report error when menu() can't find a display file and P_NOERROR not used · b656e19f
      Rob Swindell authored
      This issue was introduced in commit d02fc1a2 (3 years ago), where menu() would
      silenty fail (just return false) if no display file matching the supported
      menu/display file types/extensions could be found.
      
      Previous to commit d02fc1a2, we would log a NOTICE-level message and display
      a "File not found" message to the user (what sbbs_t::printfile() does), but
      since d02fc1a2, we no longer even call printfile() when the file doesn't
      exist, so no error was logged or message displayed to the user.
      
      Of course, when using the P_NOERROR mode flag, silent failure is expected and
      that's still what happens in that case.
      b656e19f
    • Deucе's avatar
      Ring the changes · 5c269315
      Deucе authored
      5c269315
    • Deucе's avatar
      Remove spurious brace · 7a7fd0ea
      Deucе authored
      7a7fd0ea
    • Deucе's avatar
      Don't do cross-platform CMake builds. · d48651ca
      Deucе authored
      They're tricky tricky tricky tricky.
      d48651ca
    • Deucе's avatar
      Add SyncTERM CMake test build. · dea182c7
      Deucе authored
      So we can be sure it keeps working.
      dea182c7
    • Deucе's avatar
      Store window size on size change event. · f8044342
      Deucе authored
      Allows arbitrary sized windows on Darwin... the OS is still scaling
      the window contents though rather than allowing us to dynamically
      update them.
      f8044342
    • Deucе's avatar
      Fix SDL2 linkage for Darwin. · 9ebeb813
      Deucе authored
      9ebeb813
  2. Oct 10, 2024
    • Rob Swindell's avatar
      Update the language to reflect modern times · 5545aa59
      Rob Swindell authored
      5545aa59
    • Rob Swindell's avatar
      Always reload the edited user record from disk after executing a "usercfg_mod" · 583ab919
      Rob Swindell authored
      Normally, when modifying user fields via JS, the "user modified" node.dab
      flag would be set for that user (on all node's that user is logged-into) and
      the user record automatically re-read (soon after). But this doesn't work
      during newuser registration because the user is not yet "logged-into" a node.
      
      This fixes the issue reported by Nelgin (and observed on amessyroom's BBS)
      whereby if a new user resets/changes their external message editor, it would
      not take effect for their new user validation email to the sysop (they would
      still be using the default new user message editor as configured by the
      sysop).
      
      It's possible other new user default changes made (e.g. language) would also
      not have taken immediate effect as a result of this bug (now fixed).
      583ab919
    • Deucе's avatar
      b3494b08
  3. Oct 05, 2024
  4. Oct 03, 2024
  5. Oct 02, 2024
  6. Oct 01, 2024
    • Deucе's avatar
      Fix memory leak in initializing vmem. · 60b5b2e4
      Deucе authored
      Much easier to fix it this way than to figure out why X11 needs to
      init it before bitmap_con does.
      60b5b2e4
    • Deucе's avatar
      Undo part of the previous commit. · 2ea1515f
      Deucе authored
      All of this code runs in the same thread, races aren't possible.
      2ea1515f
    • Deucе's avatar
      Fix a potential race between drawing and discarding last buffer. · e34bd553
      Deucе authored
      If the last is freed while the screen is being updated, and the use
      after free bug is not detected, corruption could occur resulting in
      bad areas of the screen that persists until the window gets an
      expose event again, or the impacted pixels are updated again.
      
      Possibly fixes an issue reported by nelgin via IRC.
      e34bd553
    • Deucе's avatar
      Remove cast-to-int in gdi_getscaling · 228e8761
      Deucе authored
      This fixes bug 141, which is currently the last blocker for rc2.
      228e8761
    • Deucе's avatar
      Document more changes. · 7d65370c
      Deucе authored
      7d65370c
    • Deucе's avatar
      More graphical fixes... · b066eb05
      Deucе authored
      Force mouse support in graphics mode even if user disabled
      it for the BBS.  It would be nice if mouse support in the menus
      was a separate option than "terminal doesn't support mouse",
      and we know the terminal supports the mouse when we detect
      graphics mode.
      
      Move top/margin/width calculations into separate functions.
      For level 1, center the playboard.
      
      Fix an apparent off-by-one drawing the title bar.
      b066eb05
    • Deucе's avatar
      Initial support for SyncTERM PPM/PBM graphics. · 51108b22
      Deucе authored
      Hidden behind the graphics option for now since there's still
      issues... the board is offset in the window, the level 1 board is
      framed wrong (since the graphics are always 2 cols), and it doesn't
      check the graphical resolution, so if you're in a weird mode, it
      can break.
      
      Also, the graphics are uninspired at best... just hacked them up
      in Gimp.
      51108b22
    • Deucе's avatar
      File.read() encodes base64, it doesn't decode. · 5e1087e4
      Deucе authored
      5e1087e4
Loading