https://gitlab.synchro.net/main/sbbs/-/commit/9323e823ebdeadf128da82ec
Modified Files:
src/doors/syncmoo1/1oom/src/ui/classic/uimainmenu.c src/doors/syncmoo1/CMakeLists.txt PROVENANCE.md syncmoo1.h syncmoo1_door.c
Log Message:
syncmoo1: show the door's own version/git/date on the main menu
1oom's main-menu footer named only the ENGINE ("1oom v1.11.8",
right-aligned at x=315 on the one 320px row left free below the title
art) -- nothing there identified the door, or which build of it a user
was running. Add the door's version, git hash and build date at the
left of that same row: the version/git/date footer the sibling termgfx
doors already paint (SyncDOOM's m_menu.c, SyncDuke's menues.c,
SyncRetro's main.c).
The content and the fitting rule live door-side, in
sm_door_version_line() (syncmoo1_door.c). The line is built longest-
first and sheds its tail -- the site, then the date, then the hash --
until lbxfont_calc_str_width() says it fits the gap left of 1oom's own
string, since the LBX glyph widths are not known until runtime. That
keeps the vendored patch to one #include plus one call (PROVENANCE #4):
the classic UI draws this footer inline in main_menu_draw_cb() with no
hook, override or reassignable string global, so there is no backend
seam to route it through.
gitinfo.cmake's '~' dirty-tree prefix is translated to '*' for this
door. '~' is the last slot of MOO's 96-glyph 0x20..0x7e table and is
width 0 with zero lit pixels in EVERY font in FONTS.LBX, so the marker
drew nothing at all and a dirty build read exactly like a clean one.
The shared macro is left alone -- '~' renders fine everywhere else.
Verified on a live SyncTERM session against the Win32/MSVC build; not
yet compiled under GCC/Clang.
Co-Authored-By: Claude Opus 4.8 (1M context) <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)