Fix ESC-crashes-the-game, avatar facing backward, invisible build stamp
checkpoint / checkpoint (push) Successful in 1m47s
checkpoint / checkpoint (push) Successful in 1m47s
ESC: player.gd changed scene directly while game.gd._exit_tree closed the socket, which re-fired server_disconnected -> _on_server_lost ran mid- teardown (add_child on an exiting node, await on a null get_tree(), a second change_scene_to_file). Moved ESC to game.gd as one ordered path: _leave_world() sets a _leaving guard, disconnects the _on_server_lost handlers before closing the connection, then changes scene. _on_server_lost and _exit_tree now respect the guard. Verified headless: ESC -> world_list, no errors; 2p multiplayer still connects. Avatar faced +Z but a Godot node's forward is -Z, so walking forward showed the character its own face. Rebuilt the placeholder facing -Z (face plates, eyes, jaw, toes, and front-mounted attachments all moved to negative Z; backpack/ponytail to +Z). The procedural walk was already written for -Z forward, so it's unchanged. Build stamp was there but tiny/low-contrast bottom-left -- bumped to 20px opaque yellow with a heavy outline, moved to the top-left strip. limb_animator: guard _process with is_instance_valid(_skel) so a frame landing during avatar teardown can't touch a freed skeleton. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015jtxAiu5dAW4WxCNdGkrkJ
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user