I discovered that if you make a recursive NamedNoiseFunction:
1. The game accepts it as valid if it is never called. It just loads silently without objection to your Nonsense.
2. The game silently crashes if it is called at what appears to be the end of data stage. No error, no angry messages in factorio-current.log - it just crashes to desktop.
Reproducing this is trivial. Write a recursive noise function such as the following:
Code: Select all
{
type = "noise-function",
name = "claustorephobic_recursive_function_test",
parameters = {"count"},
expression = "if(count <= 0, 0, claustorephobic_recursive_function_test(count - 1) + 1)"
}
I assume this is probably best fixed by just making it error before it's fully parsed, which is what I assume causes the crash.

