mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
A client asks for a served model's HKX and is answered with the model's LXFML, so it builds its own collision. That build also writes the client's own .nif over the served one it downloaded and caches that file's MD5 as the NIF's manifest info (client 1.10.64: LWOBBBInterface::GenerateModelFromLxfml 0x00b6c220, MainThread_Process- ModelResponse 0x00b5a1e0; valid entries never expire, 0x010186d0). On the next load of the property the client used its cached checksum and file without asking, and drew its own build instead of the served mesh. Now, before the property's objects are constructed for a player, the world sends them the served NIF checksum of every made model placed there (UgcManifest::OnPropertyLoading). A client whose cached checksum is its own build's downloads the served mesh again; one that has it already downloads nothing. Nothing is sent unless ugc_manifest and ugc_manifest_models are 1. Check in game (ugc_manifest=1, ugc_manifest_models=1): visit a property with made models, leave, come back in the same session (and after a client restart): the models show the served mesh every time, and still have collision. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
68 KiB
68 KiB