diff --git a/doomsday/apps/libdoomsday/include/doomsday/gameprofiles.h b/doomsday/apps/libdoomsday/include/doomsday/gameprofiles.h index e889b82fa0..fb077b5f00 100644 --- a/doomsday/apps/libdoomsday/include/doomsday/gameprofiles.h +++ b/doomsday/apps/libdoomsday/include/doomsday/gameprofiles.h @@ -48,6 +48,12 @@ class LIBDOOMSDAY_PUBLIC GameProfiles : public de::Profiles de::StringList packages() const; bool isUserCreated() const; + /** + * Returns a list of the game's packages in addition to the profile's + * configured packages. + */ + de::StringList allRequiredPackages() const; + virtual bool resetToDefaults(); virtual de::String toInfoSource() const; diff --git a/doomsday/apps/libdoomsday/src/gameprofiles.cpp b/doomsday/apps/libdoomsday/src/gameprofiles.cpp index cba1cdf58a..15c9d7628b 100644 --- a/doomsday/apps/libdoomsday/src/gameprofiles.cpp +++ b/doomsday/apps/libdoomsday/src/gameprofiles.cpp @@ -150,6 +150,12 @@ bool GameProfiles::Profile::isUserCreated() const return d->userCreated; } +StringList GameProfiles::Profile::allRequiredPackages() const +{ + return DoomsdayApp::games()[d->gameId].requiredPackages() + + d->packages; +} + bool GameProfiles::Profile::resetToDefaults() { if(isReadOnly()) return false;