Add complexionFormId to appearance payload
Introduce complexionFormId (TXST) into RemoteAppearance and the appearance protocol so complexion textures are captured and serialized. Updates: header/state, Networking JSON parse/serialize, proxy actor comparisons, main capture logic, protocol docs, fake client/player samples, changelog and dev-log. Capture reads PlayerCharacter::complexion and serializes it, but applying to proxies is intentionally a no-op because TESNPC proxies lack a complexion field (documented in comments/dev-log). Files: plugin/include/F4TRemotePlayerState.h, plugin/src/*, protocol/packets.md, server/fake_client.py, server/fake_player.py, changelog.md, docs/dev-log.md.
This commit is contained in:
@@ -97,6 +97,7 @@ def get_optional_appearance(packet: dict[str, Any]) -> dict[str, Any] | None:
|
||||
"bodyTintColor": value.get("bodyTintColor", {}),
|
||||
"hairColorFormId": value.get("hairColorFormId", ""),
|
||||
"facialHairColorFormId": value.get("facialHairColorFormId", ""),
|
||||
"complexionFormId": value.get("complexionFormId", ""),
|
||||
"headParts": [],
|
||||
"morphs": [],
|
||||
"morphRegions": [],
|
||||
|
||||
@@ -51,6 +51,7 @@ DEFAULT_APPEARANCE = {
|
||||
"bodyTintColor": {"r": 255, "g": 220, "b": 190, "a": 255},
|
||||
"hairColorFormId": "",
|
||||
"facialHairColorFormId": "",
|
||||
"complexionFormId": "",
|
||||
"headParts": [],
|
||||
"morphs": [],
|
||||
"morphRegions": [],
|
||||
|
||||
Reference in New Issue
Block a user