For some totally weird reasons, when you try to craft an antenna without memorizing the recipe (say, by using AAA guide), the game crashes.
Stumbled upon in this save: http://rghost.net/59406313 (most upper-left locker)
Reproduced in free play. Reasons are unknown by me, I am debugging this stuff now:
UPD:
Probably I found this error (crafting.cpp, 1496 line)
if (x_in_y(making->time, (1000 * 8 * (difficulty ^ 4)) /
(get_skill_level(making->skill_used) * get_int())))
You seems to be dividing by NULL (returned by get_skill_level as antenna doesn’t use any skill)
Anyway, I wonder what is the difficulty ^ 4 thing supposed to do.
Bitwise XOR with 4 will add 4 when difficulty is 0, 1, 2, 3, 8, 9 and 10, but subtract 4 when difficulty is 4, 5, 6 or 7.
So, 11 first values of difficulty ^ 4 are: 4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15
The comment above it says “worst case is lvl 10 which will take 10^4/10 (1000 minutes)”, which seems to imply the author thought ‘^’ operator means “power” rather than bitwise XOR.
If x_in_y wasn’t done on floats, it would probably crash the game when an unknown recipe with difficulty 4 is used. Thanks to floats, x_in_y(positive, 0) always returns true.