diff --git a/app/gui/AppView.qml b/app/gui/AppView.qml index c737c4c2..c685b171 100644 --- a/app/gui/AppView.qml +++ b/app/gui/AppView.qml @@ -88,9 +88,14 @@ CenteredGridView { source: model.boxart onSourceSizeChanged: { - if ((sourceSize.width == 130 && sourceSize.height == 180) || // GFE 2.0 placeholder image - (sourceSize.width == 628 && sourceSize.height == 888) || // GFE 3.0 placeholder image - (sourceSize.width == 200 && sourceSize.height == 266)) // Our no_app_image.png + // Nearly all of Nvidia's official box art does not match the dimensions of placeholder + // images, however the one known exeception is Overcooked. Therefore, we only execute + // the image size checks if this is not an app collector game. We know the officially + // supported games all have box art, so this check is not required. + if (!model.isAppCollectorGame && + ((sourceSize.width == 130 && sourceSize.height == 180) || // GFE 2.0 placeholder image + (sourceSize.width == 628 && sourceSize.height == 888) || // GFE 3.0 placeholder image + (sourceSize.width == 200 && sourceSize.height == 266))) // Our no_app_image.png { isPlaceholder = true } diff --git a/app/gui/appmodel.cpp b/app/gui/appmodel.cpp index dfd0cfda..14f40d66 100644 --- a/app/gui/appmodel.cpp +++ b/app/gui/appmodel.cpp @@ -91,6 +91,8 @@ QVariant AppModel::data(const QModelIndex &index, int role) const return app.id; case DirectLaunchRole: return app.directLaunch; + case AppCollectorGameRole: + return app.isAppCollectorGame; default: return QVariant(); } @@ -106,6 +108,7 @@ QHash AppModel::roleNames() const names[HiddenRole] = "hidden"; names[AppIdRole] = "appid"; names[DirectLaunchRole] = "directLaunch"; + names[AppCollectorGameRole] = "appCollectorGame"; return names; } diff --git a/app/gui/appmodel.h b/app/gui/appmodel.h index 37717926..9d856402 100644 --- a/app/gui/appmodel.h +++ b/app/gui/appmodel.h @@ -17,7 +17,8 @@ class AppModel : public QAbstractListModel BoxArtRole, HiddenRole, AppIdRole, - DirectLaunchRole + DirectLaunchRole, + AppCollectorGameRole, }; public: