If anyone here thinks Tim is some kind of genius programmer, I invite you to take a look at his navmesh implementation for the world map in Fallout 1.
https://github.com/alexbatalov/fall...b9ca76a43a404f4c/src/game/worldmap_walkmask.c
absolutely nothing wrong with this
in fact its the
best solution possible!
its not a navmesh either, its a ...mask
instant lookup for the low price of 1500*133 chars
He could have pre-sized static array for the mask data then loaded the real data from file to overwrite the static array.
Since he didn't (trusting Bester), I suspect it would be because the dimensions must be known to the compiler, he decided the data may as well be known too.
If the testing pipeline required a fresh compile each time anyway, then inserting up to date data for the array may be all the same
a .c export as any other file choice. This suggests two possible policies:
1) every tester always got a fresh build from their local repo of the game code. and local repo was frequently updated.
2) local repos got rebuilt for each tester, including possibly out of date code, and it was enitrely up to whoever made the wall data to distribute
.c file containing new mask data when it mattered.
Until Tim makes a video about this we will not know.
Psychologically the tendency to include things native to executable when possible speaks to the old times
when all you had was assembly anyway.