A hosted game gets an 8-character join code (Crockford base 32) besides
its invite link, shown under the lobby's buttons. On the system link list,
X opens the game's keyboard to type a code in; the code's topic and key
come from a slow PBKDF2 derivation, the host answers an ask on that topic
through the signalling brokers with its invite sealed with the key, and
the joiner joins as with the link. Codes in join_link.txt work too.
Also: the clipboard text last seen is kept from run to run, so a run's
own invite is not joined again at the next start; in menus a held stick
repeats after 350 ms and then every 90 ms, and its threshold is 70%.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
event_manager_update (272 B) gated exact on first compile. code_000cb850
(768 B) needed three stacked levers: (1) the no-post arm is a NEGATED
else-if -- 'else if (!(crossed || crossed || repeat)) post = FALSE; else
{ post body }' -- which lays both xor-post blocks inline as fallthrough
stubs and keeps them un-cross-jumped, fixing the 16-byte size gap;
(2) 'boolean post = TRUE;' at declaration, so the live range crosses
system_milliseconds and post colors into BL, denying EBX to the time
local (January homes time in [ebp-4] and reloads at every use);
(3) one shared 'if (post) { insert }' tail instead of per-arm early
returns -- the type-0/3 paths constant-fold the test away, matching
January's straight jump into the insert.
Struct recoveries: event_record.data is a union (point2d stick /
{index,value} button), second field controller_index attested by
ui_widget_event_handler_functions' private copy; event_manager_globals
__unknown108 resolved as stick_event_times[2][4] +
previous_stick_axes[2][2][4] (0x108..0x167). Stick deadzone 29490
(0x7332), repeat window 250 ms, clamp writes via chained assignment
'x = event->data.stick.x = 32767' selected by a switch on
'x >= 0 ? 1 : -1'.
Inert alternatives measured: post declared before time (no move);
post = FALSE init at top (memory-homes post, restructures prologue);
guard-inverted arms without the negation (720 B collapse).
Board: 179/619 objects, 3,609 fns, 486,407 bytes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>