Well, I ported it. And actually got it to run! I see the pretty terrain grid!
I'm providing it in two forms.
(1) A working source tree, for those who want to test it, *with* the media directory from the binary alpha release. In .tar.gz form, so hopefully any Linux user will know what to do with it.
(2) A big patch, which is hopefully the easiest form for uzu to add my changes into his source tree. This includes the new files README.LINUX, Makefile, and timing_posix.h. It also includes copies of resources.cfg and plugins.cfg, because the 'reasonable defaults' are different on Linux. This *doesn't* include the media directory.
There were a lot of changes necessary. Most of them are because GCC is a lot pickier about syntax than Microsoft C++ (like all those casts). Some are genuine portability (the ifdef WIN32). The changes in main.cpp weren't necessary but I couldn't resist. I also put 'standard' GPL headers on the files which I made significant changes to, just as a matter of 'best practice'.
One other things I noticed:
-- common/gridArray.c and common/themes.c MUST be compiled with C++, NOT with C. I put some hackery in the Makefile to force this, but it would be better to just rename them to have .cpp or .cxx extensions.
The Makefile is real hackwork. I promise I'll do something cleaner and more elegant next time (no promises when 'next time' will be though)