Update: Check out my wiki page for the latest download of WinROTT.
I've been working for several months on a port of the first person shooter game WinROTT. I ran into an interesting problem while porting a low level module. It's a case of gotcha's and an odd variable initalization problem. The problem manifested itself with this statement:
// boolean is defined as: typedef unsigned char boolean;
boolean StrechScreen = true;
The problem I ran across was that VS 2008 would not initialize this variable properly if it followed an extern "C" { ... } block. I discovered the problem while single stepping through a routine that flipped pages while displaying animation. A comparison of StretchScreen returned false when it should have returned true. I was able to move the declaration before the extern "C" block and all was well. Go figure...