Regarding the mixture of spaces and tabs in the code, and some slight variations on coding styles, etc.:
I think that, especially now that multiple people have started contributing to the project, we should establish a set of explicit rules, some kind of "IVAN coding standard / style guide", to help keep the codebase consistent and clean, as it was at the time of the original v0.50 release.
Regarding DJGPP, I agree that it clutters the graphics code a bit, but just last year I ran IVAN on my ancient computer with DOS (just for fun) and it actually worked. So I think it's a nice feature to have, and it would be a shame to just throw it away, even though nobody uses DOS on a daily basis. (Also it adds geek value.)
Inspired by murlock's SDL2 patch, a thought crossed my mind — Should we perhaps convert the project to C++11 as well?
I mean, IVAN currently uses C++98, which is already 17 years old. I think C++11 would be a great step forward.
Some of the C++11 features I'd love to have in the IVAN source code include smart pointers, override (and final), delegating constructors, range-based for, constexpr, auto, = delete, = default; maybe also: new algorithms in <algorithm>, decltype, lambdas, enum class, static_assert; to name a few.
This is of course a lot of work. I think it could be manageable in chunks, one feature at a time. And not necessarily all of the above. I'd be happy to do this. If anyone wants to help, that'd be awesome.