Repository navigation
Conversation
PartyService::OnPartyKick called BroadcastPlayerList(pKick). That argument is meant for a player who is leaving the server, so every client dropped the kicked (still connected) player from NotifyPlayerList and the kicked player got no list at all. The kick now broadcasts the full list. The client's PartyService also keeps the last name seen per player id for the session (GetKnownName), so a player who drops out of the list is still shown by name. It is cleared on disconnect. Verified: - Source: the server kick path and BroadcastPlayerList's ignore argument (also used by OnPlayerLeave, which is unchanged). - SkyrimTogetherServer and SkyrimTogetherClient build (releasedbg, MSVC). - Played on the fork's 1.8-playtest builds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Name tags (ImGui, NameTagService):
- Plain name text above other players, no level or id. The party leader gets
the party widget's crown (crown.svg, drawn as convex pieces). An optional
thin "Name backdrop" (On/Party/Off, default Party).
- Anchored on the neck bone ("NPC Neck [Neck]") plus the head height, so tags
stay centred in profile, crouching and lying down, and stay on the body if a
dismemberment mod removes the head. Helmet clearance of 16 world units,
clamped to 14-56 px; text scale clamp(800 / distance, 0.65, 1.2).
- Fade start / invisible distances for names and for party (3000 / 5000).
- A tag hides while the crosshair targets that player, so the HUD's activate
prompt stays readable.
- Hidden while full-screen menus are open; dead players only up close.
- Font: the overlay's Futura Condensed (Latin, Cyrillic).
Player UI settings (Angular, stored per client):
- Known names: All / Party / None. Unknown names show as an italic "Stranger"
in tags, the player list, the party HUD, the party menu and party invites.
An eye in the player list overrides it per username.
- Party invitations (on/off), Preview mini chat (On/Party/Off), Name tags
(On/Party/Off, default Party), name tag size.
- Locales: English and Swedish; other languages fall back to English.
Verified:
- Ghidra (SkyrimSE 1.6.1170):
- NiAVObject world translate at +0xA0 (decapitation code 0x140685200 walks
parent +0x30, local transform +0x48, world +0x7C, reads +0xA0/A4/A8).
- NiAVObject::GetByName is vtable slot 0x2A (+0x150), called with
FixedStrings entries (0x1406b5c10); "NPC Neck [Neck]" is FixedStrings
+0x238.
- CrosshairPickData (ID 401585 -> 0x143138ed0): the activate code
0x14073e980 reads the target handle at +0x4.
- World-to-screen (ID 70640, 0x140d2c780) only rejects |w| <= tolerance,
so the z <= epsilon check is what drops points behind the camera.
- SkyrimTogetherClient, SkyrimTogetherServer and the Angular production build
succeed. Played on the fork's 1.8-playtest builds.
Assumed:
- Neck-to-head-top (24 units) and helmet clearance (16 units) are tuned by
eye in game, not measured.
- Actor nodes and camera globals are read from the ImGui draw (Present path),
as the original v1.8.1 name tags did; the thread was not verified.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
absol89
force-pushed
the
feat/nametag-privacy
branch
from
October 22, 2026 21:50
6423a74 to
f618aef
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First PR against upstream dev clone. Just to show what the PR is about.
Doing a retake on Jacobwasbeast nametags I tried in 1.8.1 + ui settings.
The goal is to offer enough settings so tags and ugly names dont disturb.
And also to allow muting certain behaviors or separate party significance.
Playable 1.7.104 build for windows. The playable 1.6.1170 is master@v1.8.7
https://github.com/absol89/TiltedEvolutionScriptFixes/actions/runs/39490335206/artifacts/12297460187
The original spec design:
Can you dig out the 1.8.1 or 1.9-playtest unique code for player name tags? I would like to make some settings for it that are a bit more eu compliant. Such as
Player UI filters
global stranger names (players not in your party only reveal their name during party or invites, OFF default, or ON)
Party invitations (ON default, or OFF)
Trade invitations (ON default, or PARTY, or OFF)
Preview mini chat (ON default, or PARTY, or OFF) This shows the latest white text when F2 ui is not active
Name tags (ON default, PARTY, or OFF)
Distance for
Name fade start (units) this is the min length, closer and you will see the tag 100% opacity
Name is invisible (units) this is the max length, longer and you will not see tag, 0% opacity
Party fade start (units) same but for party
Party is invisible (units) same but for party
Show player level (ON default, Party, or OFF)
Show UI backplate (ON default, Party, or OFF) This is to better differentiate or lessen gameyness
Name tag size (Smallest, Small, Medium, Large, Largest) or similar wording to UI size for text.
Player/Party icon toggle button
Eye icon on player list , to specifically reveal or hide a name, superseding the global stranger names. Put this between the level column and the name column
Please reuse any existing visibility toggle icons such as for password hiding, and suggest to me with image mockups before implementing each feature, so we catch any feedback early. Also use the Skyrim together UI font for the UI if possible, and try not to introduce breaking xmake or ST library changes if not neccessary and there is an already existing path to reuse. I realize this could be a IMGUI nametag, but please explain to me if theres limitations, or if it is safe to implement it using native STR UI without hiding it when F2 is no longer active.