On NMRiH and possibly other games that use the Maphacks system,
entries that are modified using that system are rendered with tab
characters stripped out - see CNMRiHMapHackManager::GetEntDataString.
That results in there being no separators at all between keys and
values, as Maphacks receives the serialized string from Entity Lump
Manager.
This commit changes the key / value separator character to use
spaces instead.
This discovery upsets me greatly.
Fixes#1833.
The extended gameconfig format reads the master gameconf file twice;
once each for the base engine and actual engine. The file list
isn't checked for duplicates, so 'common.games.txt' is loaded in
twice, resulting in any 'common' file values potentially overriding
values listed under '#default' in other files due to
bShouldBeReadingDefault. This happens in the case when matching
game versions by CRC (such as public game branches).
Required for #1857.
This change ensures that the iterator values used by `std::distance`
is correct. Having the emplace within leads to the possibility of
`m_Entities.begin()` being invalidated due to reallocations.