From 9ad6b25bfec4f6b0231876f638e3fa378ed056bb Mon Sep 17 00:00:00 2001 From: salmonik Date: Mon, 26 Oct 2026 20:23:20 +0100 Subject: Fonts: recreate the VGUI font after menu/map transitions --- src/menu.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src') diff --git a/src/menu.cpp b/src/menu.cpp index 1ef8638..41d3321 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -729,6 +729,24 @@ void outer_draw() { bool esp_on = feature_active(FEAT_ESP); if (!g_surface || (!g_menu_open && !draw_test && !esp_on)) return; + + // Level/menu -> game transitions can invalidate the VGUI font handle. + // Recreate it when the local player entity changes (menu -> map, map load). + static void *last_local = nullptr; + bool font_reset = false; + if (g_iface.entitylist) { + int local = engine_get_local_player(); + void *le = local > 0 ? entitylist_get(local) : nullptr; + if (le != last_local) { + last_local = le; + font_reset = true; + } + } + if (font_reset && g_font) { + g_font = 0; + logf("font: reset (local entity change)"); + } + if (!g_font) { static const char *families[] = { "Liberation Sans", "DejaVu Sans", "Noto Sans", "Tahoma", -- cgit v1.2.3