Drop MSVC "support"; allow C99 and explicitly allow GCC extensions
SRB2 has compiling instructions for MSVC, but the MSVC build is completely broken. The codebase is littered with extensions specific to GCC, so MSVC simply can't work without lots of effort to remove all GCC extensions. I'd suggest that MSVC support be completely dropped and explicitly allow GCC extensions.
In addition, since there's no need to worry about MSVC's bad C support, SRB2 doesn't need to be limited to ISO C (C89/C90). I propose that the standard be changed to C99 or even C11 to take advantage of newer standard features (for instance, a nice one is that variable declarations can be anywhere, not just at the beginning of the block).
So, what this would probably look like is removing all MSVC #ifdef
s, removing the MSVC compiling instructions from the wiki, and changing the standard to C99/C11 in the makefile with GCC extensions enabled (with the option -std=gnu99
or -std=gnu11
)