4 byte for int

This is a persistent problem in the C programming language, dating back to a horribly bad decision back in the early days, the fixing of which is on my list of things-to-do should I ever build a time machine.

As it stands, rather than using the C types short, int, long etc, use int32_t, int16_t, uint8_t for different signed and unsigned integers. Preprocessor directives convert these into the appropriate primitive types for whichever architecture you are compiling to.