I've made a few projects recently where I pass an int to a function by value and then once inside the function the variable has some ridiculous value up in the thousands, every time this has happened I've made a new project and imported the exact same source and header files into it, and the problem has fixed itself. What could cause variables to morph?
Yes that's exactly what happens, and yeah it compiles cleanly, I only get a few warnings about int to float conversions with warnings at level 4. The stack being filled up would make sense though as I'm doing a minimax search at a depth of 7, that's a lot of function calls piled up on there.