lowercase function names, blocks indent
Most of these warnings are due to the use of NULL instead of 0 or NULL instead of '\0'. Some are macro redefinitions. None of them are pointer storage related. Those will be in another PR.
Added explicit <float> or <int> template argument where needed. Add -DNOMINMAX define for Windows.