1. 14 May, 2021 11 commits
  2. 13 May, 2021 3 commits
    • Deucе's avatar
      More fallout from non-square pixels... · 26def071
      Deucе authored
      This fixes all the window adjustment "stuff", but the new aspect
      ratio enforcement means that ALT-UP and ALT-DOWN are useless for
      resizing the window unless it's not already snapped... use ALT-LEFT
      and ALT-RIGHT to decrease/increase the window size.
    • Deucе's avatar
      Keep correct aspect ratio when resizing window. · 5f027c49
      Deucе authored
      Also, the 8x16 font at 80x25 is *not* a square pixel aspect ratio.
      As a result, it now stays "proper", which is likely not what you
      This was discovered when I was trying to make DigitalMan happy
      because he wanted the apsect ratio retained on scaling.
      Sorry for the impending imminent scaling hassle DigitalMan!
    • Deucе's avatar
      Add smooth scaling to X11 output · cae45cbd
      Deucе authored
      Uses "pointyscale" for x3 and x5
      Uses xBR from FFmpeg for x2 and x4
      HQx is also included, but unused as it's too slow at x4.
  3. 10 May, 2021 1 commit
    • Deucе's avatar
      Numerous changes: · 634c8763
      Deucе authored
      Clamp coordinate translation max
      Fill using native pattern, not scaled pattern
      Add a bad, broken, and slow even/odd fill
      Fix logging when RIP is enabled
      Use the same ellipse algorithm for partial as full ellipses
      Detect diagonal movement in ellipse drawing and don't make the edge fat
      Only recurse once in the flood fill
      Implement the v2 poly bezier command
      Enable filled pie slices
      Add RIP_POINT command (basically a scaled pixel using line width)
  4. 04 May, 2021 1 commit
  5. 03 May, 2021 1 commit
  6. 02 May, 2021 1 commit
    • Deucе's avatar
      Optimize color_value() and fix RIP reset · 75bd66f1
      Deucе authored
      color_value() is in the hot drawing path, so should be as fast
      as possible... remove all the bit shifting and have the palette
      just be colour values.
      For RIP, the reset wasn't resetting the global coordinates, so a
      scaled image would cause everything to be scaled down later.
  7. 01 May, 2021 2 commits
  8. 05 Apr, 2021 1 commit
  9. 20 Mar, 2021 3 commits
    • Deucе's avatar
      Add support for MinGW-w64 · 1dc1a6b9
      Deucе authored
      MinGW32 is getting long in the tooth and is missing a lot of modern
      Windows features as well as having broken headers.  Most people will
      be using MinGW-w64 at this point, so add support for it.  Once I
      ensure SyncTERM works properly with it, MinGW32 support will be
      I suspect this will impact exactly zero people since the reason this
      exists is to build the Win32 versions of SyncTERM on FreeBSD.
      - Explicitly request 32-bit Windows output
      - Detect the string "mingw32" anywhere in the hardware description
      - Explicitly link with libuuid
      - Add a terrible hack to syncterm.c to block wincrypt.h
    • Deucе's avatar
      Ensure cleared block in in scrolling region · 5abc5cda
      Deucе authored
      Do not clear at the current X/Y on scroll (derp)
    • Deucе's avatar
      Fix error on scroll with left/right margins · 2f33ee73
      Deucе authored
      Scrolling would clear the line to the end of the screen, not the
      end of the scrolling region.
      Sorry echicken.
  10. 19 Mar, 2021 1 commit
    • Deucе's avatar
      Fix AltGr with SDL2 · 1495774a
      Deucе authored
      This is pretty insane since SDL2 completely ignores the keysym value
      of the X11 keyboard event, so here's what we do...
      1) When there's a keypress that includes right-alt, store the sym/mod
      2) When we get text input, if it's the same as we would get if ALT
         wasn't pressed for the last keydown, parse through the mapping
         (ie: handle ALT keys)
      3) If it's different, use that (gets AltGr modified value)
      I get that AltGr is hard in a cross-platform way, but just pretending
      it doesn't exist at all for key input is a very weird choice.
  11. 17 Mar, 2021 1 commit
  12. 16 Mar, 2021 1 commit
  13. 14 Mar, 2021 2 commits
    • Deucе's avatar
      Fix SF #44 problem keypad non-numbers · 0634130f
      Deucе authored
      Make an exception for all keypad stuff.
    • Deucе's avatar
      Fix SF bug #40 · bea51c08
      Deucе authored
      Cursor update issue, cursor was only redrawn on a blink status change.
      This will redraw the cursor any time the cursor moves now.
  14. 13 Mar, 2021 3 commits
    • Deucе's avatar
      We can't pollute the namespace with curses everywhere. · 687d092c
      Deucе authored
      Just rename ESCDELAY member to escdelay.
    • Deucе's avatar
      include curs_fix from ciolib.h to fix openSUSE · e679fa13
      Deucе authored
      Apparently, the ncurses in openSUSE Leap-15.2 has the following:
      Since we have a struct member named ESCDELAY, we can't actually set
      it at all when this macro is defined.
      The three possibilities to deal with this are:
      1) Rename the ESCDELAY member.
         Likely the best option long-term, but I don't want to find everything
         and update it at this time.
      2) Avoid using the ESCDELAY member #ifdef ESCDELAY
         Which makes it not work in the exact set of circumstances it makes
         sense in.
      3) #include curs_fix.h from ciolib.h
         This actually renames the ESCDELAY member to _nc_ESCDELAY, but you
         won't be able to actually notice this.
    • Deucе's avatar
      Fix issue with ATASCII delete/insert character. · ec06a168
      Deucе authored
      Before the Unicode support was added, displaying a NUL would clear
      the cell, but now it is translated.  For ATASCII, this results in
      a heart character being displayed instead of an empty cell when
      inserting or deleting characters.
      Fixes bug #28 on Sourceforge.
  15. 09 Mar, 2021 1 commit
    • Deucе's avatar
      Deal with dorkit hangup issues... commit #1 · 9a89f8c9
      Deucе authored
      1) Ciolib CIO_KEY_QUIT and CIO_KEY_MOUSE conflicted with ALT_7 and ALT_6
         respectively, change these to use \xE0 prefixes.
      2) Add a new dorkit key "CONNECTION_CLOSED" which is returned by getkey()
         after the connection is closed.
      3) Have the various connection back-ends send a CONNECTION_CLOSED key to
         the keyboard buffer when the connection is closed.
      4) Have the local console send a CONNECTION_CLOSED key when the window
         is closed.
      5) Disable auto_terminate in dorkit.
      6) Introduce dk.connection.disconnect_timeout variable (defaults to 30
         seconds).  After a CONNECTION_CLOSED key is received, dorkit will
         immediately set js.terminated, then after disconnect_timeout seconds,
         will enable js.auto_terminate.
      7) After a CONNECTION_CLOSED key, waitkey() always returns true, getkey()
         always returns a CONNECTION_CLOSED key, and getbyte() always returns
      8) To prevent a poorly written door from hogging 100% CPU for the whole
         30 seconds, put an mswait(1) in the connection check when the
         inactivity timer is running.
  16. 15 Feb, 2021 2 commits
  17. 11 Jan, 2021 2 commits
  18. 20 Dec, 2020 1 commit
  19. 19 Dec, 2020 1 commit
  20. 18 Nov, 2020 1 commit