How do .NOD files know they are up to da Created 6 years ago2017-08-28 07:15:45 UTC by Dallas Dallas

Created 6 years ago2017-08-28 07:15:45 UTC by Dallas Dallas

Posted 6 years ago2017-08-28 07:15:45 UTC Post #337129
Hello,

Having a problem and hoping some information might help me debug it -

Does anyone know how the engine determines if the nodegraph .NOD files are out of date/sync and need to be rebuilt?

I mean, I know that when you recompile a map, the first time you run it the engine rebuilds the .NOD file asscociated with the map. But how does it know it needs to rebuild the pathnodes?

What is it about the .nod file that lets it know that it is linked to a specific version of a .bsp?
Posted 6 years ago2017-08-28 18:49:02 UTC Post #337144
My guess is that those nod files have some kind of unique identifier, like a string of characters that matches the bsp file. Each time you make changes to your map and recompile, a new string of characters are created for that bsp file. The game checks if those characters match those in the nod file, which of course doesn't match if you've recompiled the map so the game rebuilds those nod files so that the string characters in both the nod and bsp files match up again.

Again, this is just a guess. :)
The Mad Carrot The Mad CarrotMad Carrot
Posted 6 years ago2017-08-28 19:18:48 UTC Post #337146
Posted 6 years ago2017-08-28 22:20:00 UTC Post #337150
Very Helpful, Thanks Shepard.

Reason for asking is depending on the order steam installs files, the .nod files are seen as out of date and get rebuilt, even though they are not actually out of date.
Posted 6 years ago2017-08-29 12:20:11 UTC Post #337157
Checksums would probably be better in this situation.
rufee rufeeSledge fanboy
Posted 6 years ago2017-08-29 14:05:03 UTC Post #337158
The checksums would need to be stored somewhere, and that's an issue, especially with custom maps.
Posted 6 years ago2017-08-29 20:04:57 UTC Post #337159
I figured. Anyway an interesting choice.
rufee rufeeSledge fanboy
You must be logged in to post a response.