• src/conio/bitmap_con.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Apr 2 23:56:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/dc7a1772724dceba49502355
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Clear "gap rows" when pixel scrolling

    Previously, when EGA 43-row modes scrolled, the top line was partially
    copied to the bottom of the screen and never cleared.

    This was part of the optimization that made the screen buffer into
    a ring buffer instead of linear.

    Fixes ticket 228.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 3 08:52:32 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/01b5228eeb0dc363b8e4155e
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    When forcing a font, add a default

    It's forced, force it.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Apr 12 19:48:59 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/5fdfaf77ce0e2771206ade48
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Always force cursor when setting it.

    Previously disabling the cursor didn't force it, so it would stay
    on the screen in the last state until the frame changed.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Apr 15 11:48:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/23de7cfc44f887bde6f3b999
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Ensure fonts are loaded before screens are allocated.

    Should make the assertion at bitmap_con.c:659 even more impossible
    than it already is.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Apr 15 12:00:17 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e0866a9f75121405ad7c5332
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Don't FREE_AND_NULL() font[0]

    This is the last-ditch fallback, so if bitmap_loadfont_locked()
    fails, it should stay available.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Apr 15 12:04:34 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/77734fae7989a2779f854123
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Protect the hell out of font[0]

    We REALLY want it to always be valid.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Apr 15 12:09:30 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8a3ca35ac316370dc567e51a
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Even MORE font[0] paranoia on failure...

    Try as hard as possible to get an allocated copy of CP437 into there.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Apr 15 12:29:16 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/dda0e61a855b882023ec8fe4
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Also reset current_font[] on error
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 17 22:23:35 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/fcb3c9669f8d83c15e5c5e08
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    If a cells hyperlink id has change from or to zero, redraw

    Spaces weren't getting redrawn with the link underscore thing.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Apr 26 20:05:06 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/b2fe4d3bbf7441aa3584bd1b
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    SyncTERM: redraw Prestel double-height bottom on top-row content change

    When a Prestel double-height "top" row is overwritten with new content
    without the DOUBLE_HEIGHT bit toggling (e.g., a frame swap from
    "Welcome" to "Sign In"), the bottom row's own vmem cells stay
    unchanged. The per-cell diff in update_from_vmem then skipped the
    bottom row, leaving it showing the bottom-half pixels of the previous
    top row's glyph.

    Fix at the write site in bitmap_vmem_puttext_locked: when a cell with
    the DH bit set has its content actually changed, mark the
    bitmap_drawn entry one row below dirty (CIOLIB_BG_DIRTY) so the next
    update redraws it. May over-invalidate one row when the cell turns
    out to be a Prestel bottom rather than a top, but the dirty flag does
    not propagate further.

    Fixes ticket 243.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun May 3 06:45:55 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/114aa41696ff4148c46e6ad8
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix incorrect colour set on scrolled lines

    When a screen was being scrolled, the fill colour for newly filled
    lines was being passed through color_value() which is for draw
    rectangles, not screen pixels.

    The result of this is that they're effectively always drawn as a
    near-black colour regardless of the current foreground colour.

    If the RGB value of the current background colour is beyond the
    end of the palette, SyncTERM will flood stderr with "Invalid colour
    value:" messages and the cells will be rendered with a black
    background.

    This is broken in v1.8 :(
    Fixes ticket 248
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)