Cleanup|Refactor: Games are defined via libdoomsday C++ API
This commit changes how game plugins register their games, so that they directly use libdoomsday and C++.
- Game uses a Record to store its definition. - Game is derived from IObject to access said record. - Cleaned up game identification: gameid_t was removed, "identity key" was replaced with "ID". - API functions DD_AddGameResource, DD_GameIdForKey, DD_DefineGame removed. - Public struct GameDef removed. - G_PreInit argument is the game ID.
Cleanup|Refactor: Games are defined via libdoomsday C++ API
This commit changes how game plugins register their games, so that
they directly use libdoomsday and C++.
- Game uses a Record to store its definition.
- Game is derived from IObject to access said record.
- Cleaned up game identification: gameid_t was removed,
"identity key" was replaced with "ID".
- API functions DD_AddGameResource, DD_GameIdForKey, DD_DefineGame
removed.
- Public struct GameDef removed.
- G_PreInit argument is the game ID.
The affected public APIs were version-bumped.