From cf21904a0f201e39d2613759601c2e41a6f24342 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Fri, 10 Apr 2026 23:56:56 +0200 Subject: [PATCH] fix(ui): show system cursor during fullscreen implant apps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CursorRenderer now toggles Input.MOUSE_MODE_VISIBLE when gameplay is occluded, restores MOUSE_MODE_HIDDEN when gameplay resumes. Without this, fullscreen apps (star map, future atlas) had no cursor at all — the custom diegetic cursor hid correctly but the system cursor was never restored. Co-Authored-By: Claude Opus 4.6 (1M context) --- client/scripts/rendering/cursor_renderer.gd | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/client/scripts/rendering/cursor_renderer.gd b/client/scripts/rendering/cursor_renderer.gd index d5c111b8d..ca330e06a 100644 --- a/client/scripts/rendering/cursor_renderer.gd +++ b/client/scripts/rendering/cursor_renderer.gd @@ -60,6 +60,15 @@ func _renderer_ready() -> void: _from = _snapshot() +func _on_gameplay_occluded(occluded: bool) -> void: + super._on_gameplay_occluded(occluded) + # Show system cursor when custom cursor is hidden (fullscreen implant apps) + if occluded: + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + else: + Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN) + + func _notification(what: int) -> void: if what == NOTIFICATION_WM_MOUSE_EXIT: _mouse_inside = false