This is a regression from cb928f93. It broke the demo playback after we
had started the game once – the door would remain not closed and it
would destroy wolves' pathfinding . At the same time it only makes sense
to do the anti-void check when closing the door during the game, not
immediately after loading a level or a save.
Closes#124
Clang emits pointless warnings:
src/specific/ati.h:460:18: warning: function with no prototype cannot use the stdcall calling convention [-Wmissing-prototype-for-cc]
Turns out it's a bug in clang:
https://lists.llvm.org/pipermail/llvm-bugs/2016-May/047139.html
It can be worked around by adding dummy void parameter to the arglist.
* Warning fix
taking the negative of a unsigned value is still positive on MSVC it seems. So I cast it to a signed value first.
* MSVC weirdness
for some reason maths.h doesn't define M_PI and you have to set this define to make it
Also in the ongoing war with "things other than MS" it will complain that strdup is not a true C standard name and you have to use _strdup, which gcc won't accept, so I just typedef.
* cannot perform maths on type void
gcc defaults void to a 1 byte pointer, so I cast to a char* here to perform the same result on other compilers.
* remove the mess VS makes
This removed all of the VS build folders and debug output. I've also included the sln, at the moment I don't think it is ready for everybody to use.
Fixed paths in the sln ( not sure if I can solve it, but there might be a better way to solve it )
Doesn't run the python build step, not a deal breaker for the most part but somebody doing a fresh grab would end up running into the issue and this will cause problems for them.
But this will allow me to move between branches and cherry pick check-ins again.
* change GameAllocMemPointer to char*
This allows the + and - maths done on alloc and free to compile in all compilers.
- fixed T1M_INJECT define name
- fixed potential use of uninitialized variable error
- fixed a crash on demo where it tries to play non-existing demo data
If for whatever reason the file with the original TombATI settings
cannot be deleted, the game would read that file and save T1M settings
over and over again, essentially making it impossible to change the
configuration across launches.
This is now fixed by only saving T1M settings if we managed to remove
the legacy file.