DOS did not have cases in filenames. Different OS interpret
them as either all-lowercase or all-uppercase. So we try both.
All-uppercase is done by the obg/obm/obs files, and if opening
fails, OpenTTD will automatically retry the all-lowercase variant.
So for those who already have the files lowercase, nothing
changes. For those that install fresh from TTO, it should now
work out-of-the-box.
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
For grfs, it now uses CMake scripts to do its job, and both grf
files are split into their own folder to make more clear what is
going on. Additionally, it no longer builds in-source (although the
resulting grf is copied back in the source folder).
For ob[msg] it now uses CMake scripts to generate the translation
files; the result is no longer stored in-source (but in the build
folder).
Although all files are available to create the GRFs and basesets, it
won't really work till CMake is introduced (which will happen in a
few commits from here)
openttd.grf is now always loaded and provides all extra graphics in case the (possibly outdated) baseset does not.
orig_extra.grf contains graphics specific to the original baseset only.