Skip to content
Snippets Groups Projects
  1. Mar 22, 2019
    • rswindell's avatar
      Use default calling convention (__cdecl) for DLL funcs in Borland builds. · bf82a889
      rswindell authored
      Fix age-old bug with Borland/C++Builder built executables (Windows):
      to achieve compatibility with  the default __cdecl symbol naming rules of
      Visual C++, we were using __stdcall convention for DLL functions when
      building code with Borland/C++Builder tools and using the default (__cdecl)
      convention when building with Microsoft (Visual C++) tools. Although this
      allowed symbols to be located when linking, the calling convention mismatch
      caused a stack cleanup issue that very rarely manifested itself in a bug
      (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
      the calling conventions was unintentional (I thought the default for MSVC
      DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
      worked 99% of the time, I didn't realize there was an underlying issue. So I
      now work-around the DLL symbol naming mismatch using a command-line option (-a)
      passed to implib in src/sbbs3/ctrl/makelibs.bat
      
      I had previously worked-around exceptions when calling MSVC DLL functions in
      sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
      rather than a user control (e.g. button) event handler. Those work-arounds can
      now be removed.
      
      The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
      to many other projects' header files in cvs.synchro.net. In the future, we may
      want to just remove all instances of *CALL since they now serve no purpose and
      appear as useless "Kruft" (but do allow us to more-easily globally change DLL
      function calling conventions if/when necessary in the future).
      bf82a889
  2. Feb 01, 2019
  3. Jan 15, 2019
  4. Jul 29, 2018
    • rswindell's avatar
      Increase the maximum number of menu options from 10,000 to 100,000 to · 7e96485a
      rswindell authored
      accommodate configurations of more than 10,000 things (e.g. sub-boards)
      in a single menu (e.g. message group).
      This brings this value over the 16-bit thresholds (0x7ffff and 0xffff)
      where problems could happen if short's/int16's are used to capture the
      return value of uifc.list(), but that's unlikely happening anywhere. Still
      a good idea to make sure if you're using this library/headers.
      7e96485a
  5. Jul 24, 2018
    • rswindell's avatar
      The great Copyright year update and (mostly) removal of 2018: · f869ad3d
      rswindell authored
      Most of the copyright years in the source code were misleading (the date of
      most recent publish was actually later) and all were unnecessary. I've been
      removing copyright years piecemeal, for a long time, but I decided it was time
      to just perform a bulk search and (mostly) replace. In some cases, I left
      old copyright years on files that either are not used (and soon to be removed)
      or obsolete and unlikely to ever be touched again (e.g. Win9x FOSSIL VXD). Some
      of the runtime binaries still contain copyright years and those were updated to
      2018.
      f869ad3d
  6. Mar 17, 2018
  7. Feb 21, 2018
  8. Feb 20, 2018
  9. Feb 13, 2018
    • deuce's avatar
      Beginnings of a massive ciolib overhaul... · 210cc022
      deuce authored
      We're switching to TrueColor now, and maintaining a 65536 entry palette
      for the various palettized bits.  This change hurts the overlay output most
      since it currently means floating point calculations for every pixel.
      
      The getfont() function now takes a fontnum argument so you can get all the
      current fonts.
      
      The vmem array now holds the font data, so once a glyph is written to the
      screen, it can stay in that font "forever".  This still has some issues
      with savescreen()/restorescreen() since there's no extension to grab the new
      stuff... that'll be coming soon, likely replacing the pgettext() and
      pputtext() functions.  For now, various popups will likely reset fonts to
      the default font on the screen.
      
      Now that we have all this, the status bar in SyncTERM can retain the default
      font and colours at all times.  Further, menus can be displayed in the "right"
      colours and fonts, and no more translation will be needed.  This is a work
      in progress though, so there's likely to be glitches.  The scrollback doesn't
      have the font data either (same issue as savescreen()/restorescreen()).
      210cc022
  10. Feb 01, 2018
  11. Dec 06, 2017
  12. Nov 23, 2017
  13. Nov 16, 2017
  14. Nov 11, 2017
  15. Nov 06, 2017
    • rswindell's avatar
      uifc.input() changes: · f20c148b
      rswindell authored
      - Update bottom-line/status bar with applicable control keys (Ctrl-C/X/V)
      - Ctrl-X now cuts the text to the Clipboard, rather than just deletes
      - Ctrl-C now copies the text to the Clipboard, rather than aborts
      - Ctrl-V now pastes from the Clipboard into the text field, not toggles insert
      The old CUA keyboard equivalents for Copy/Cut/Paste are supported too
      (Ctrl-Ins, Shift-Del, Shift-Ins)
      The system Clipboard is used, just like with the mouse methods of copy/paste.
      
      ufic.showbuf() changes (used for displaying help text):
      - Fixed the "End" key behavior (actually goes to the bottom of the text)
      - Display up and down arrow glyphs in the lower-right corner/border to indicate
        if the text can be scrolled up or down (e.g. with the arrow keys/etc.).
        If the arrows are mouse-clicked, that simulates the arrow keys being hit.
      f20c148b
  16. Nov 05, 2017
  17. Nov 04, 2017
  18. Oct 26, 2017
  19. Oct 23, 2017
    • rswindell's avatar
      Eliminated the "Paste Over" option/behavior. Paste (Ctrl-V, F6 or Shift-Insert) · 0a7d56c3
      rswindell authored
      is always the same operation (e.g. Paste-Insert).
      MSK_PASTE_OVER and MSK_PASTE_INSERT have been removed (now combined into
      MSK_PASTE), so current SCFG code, for example, won't compile.
      Introduced a separate WIN_CUT uifc.list mode flag to enable the Cut (e.g.
      Ctrl-X) option on the status/help line.
      Re-factored the bottomline() routine to re-use the WIN_* mode flags.
      0a7d56c3
  20. Oct 12, 2017
  21. Oct 11, 2017
  22. Oct 10, 2017
  23. Apr 15, 2016
  24. Apr 11, 2016
  25. Aug 25, 2015
  26. Aug 22, 2015
  27. Feb 26, 2015
  28. Feb 19, 2015
  29. Feb 17, 2015
Loading