https://gitlab.synchro.net/main/sbbs/-/commit/203810878d92659a03d00e7d
Modified Files:
src/doors/syncmoo1/hw_sbbs.c syncmoo1_config.c syncmoo1_config.h xtrn/syncmoo1/syncmoo1.example.ini
Log Message:
syncmoo1: hide 1oom's hand cursor by default, add a [video] toggle
Over a terminal the client already draws its own mouse pointer, and
1oom's hand-shaped cursor doesn't line up with it -- so two cursors
appear, the hand trailing the real pointer. Hide the game's hand by
default and add a syncmoo1.ini [video] hand_cursor switch to bring it
back for anyone who prefers the original MoO1 look.
The hand reaches the terminal only through ui_cursor_draw1() in uiobj_finish_frame(), which is gated on ui_cursor_gfx_i != 0. The one
seam this backend owns between the engine setting that sprite index (ui_cursor_update_gfx_i) and drawing it (ui_cursor_draw1) is hw_video_get_buf(), which the intervening ui_cursor_store_bg1() calls.
So when the option is off, zero the index there: the draw becomes a
no-op and the hand never composites. Mouse position and clicks
(moouse_x/y) are untouched -- ui_cursor_gfx_i has no game-logic reader
anywhere in 1oom, it only drives the cursor sprite -- so menus still
work via the terminal's own pointer. The vendored 1oom tree is not
touched.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net