Lanaguages were not falling back if there was a translated string further on in the langauge pack. This issue was caused by operating on an invalid string that was masked by a cast from a nullpointer to a size_t. The code now will not set the string if there is a nullptr
When loading language pack, a check is made not to double entries. This
check was wrong, because it tried to use offsets as pointers to strings.
These offsets are later rewritten to actual pointers in remaining part
of LanguagePack::LanguagePack
Step 1 on road towards Linux.
Remove windows-specific code, stub it out where needed and make sure we
can still compile it the way it is.
Take care of Travis' build matrix to include new build configuration.
Install new packages.
This is mostly `NULL` -> `nullptr` in cpp files, but I only noticed
because `LanguagePack::GetObjectOverride` and
`LanguagePack::GetScenarioOverride` were returning false instead of real
pointer.
Also fixes some whitespaces, you can `w=1` to github's URL to make it
skip these.