diff --git a/openfut-adapter-fifa17/src/fut/store_catalog.rs b/openfut-adapter-fifa17/src/fut/store_catalog.rs index f37c49f..16d9eac 100644 --- a/openfut-adapter-fifa17/src/fut/store_catalog.rs +++ b/openfut-adapter-fifa17/src/fut/store_catalog.rs @@ -116,6 +116,22 @@ pub fn pack_body(p: &PackDef, idx: u64, owned: bool) -> Value { "silver" => "SILVER", _ => "BRONZE", }; + // Group background texture: FIFA 17's all-groups landing (shown on first store + // entry) renders one tile per group whose art is the client-bundled + // `packs_backgrounds_%d.dds` selected by this field. LIVE-PROBED 2026-08-18: + // index 0 is blank; 1/2/3 render real pack art — so assign non-zero per + // category and that landing shows native art instead of blank shields. The + // persistent tabbed store draws its pack art from the packs themselves and + // does not depend on this. + let group_bg: u64 = if owned { + 3 + } else { + match p.category { + "gold" => 3, + "silver" => 2, + _ => 1, + } + }; let mut body = json!({ "assetId": p.id, "id": p.id, @@ -129,6 +145,7 @@ pub fn pack_body(p: &PackDef, idx: u64, owned: bool) -> Value { "purchaseCount": 0, "isPremium": false, "sortPriority": idx, + "displayGroupAssetId": group_bg, // The tile renders `finalFunds` as its coin price; the HUD balance reads // `funds` from the /credits currencies array. We keep the pair equal. // diff --git a/openfut-adapter-fifa17/tests/fixtures/purchasegroup_pack70.json b/openfut-adapter-fifa17/tests/fixtures/purchasegroup_pack70.json index b51813b..218d8a5 100644 --- a/openfut-adapter-fifa17/tests/fixtures/purchasegroup_pack70.json +++ b/openfut-adapter-fifa17/tests/fixtures/purchasegroup_pack70.json @@ -13,6 +13,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 1, + "displayGroupAssetId": 1, "currencies": [ { "name": "coins", @@ -45,6 +46,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 2, + "displayGroupAssetId": 1, "currencies": [ { "name": "coins", @@ -77,6 +79,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 3, + "displayGroupAssetId": 2, "currencies": [ { "name": "coins", @@ -109,6 +112,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 4, + "displayGroupAssetId": 2, "currencies": [ { "name": "coins", @@ -141,6 +145,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 5, + "displayGroupAssetId": 3, "currencies": [ { "name": "coins", @@ -173,6 +178,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 6, + "displayGroupAssetId": 3, "currencies": [ { "name": "coins", @@ -205,6 +211,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 1, + "displayGroupAssetId": 3, "packContentInfo": { "bronzeQuantity": 0, "silverQuantity": 0, diff --git a/openfut-adapter-fifa17/tests/fixtures/purchasegroup_zero_clean.json b/openfut-adapter-fifa17/tests/fixtures/purchasegroup_zero_clean.json index bf34014..7f03c91 100644 --- a/openfut-adapter-fifa17/tests/fixtures/purchasegroup_zero_clean.json +++ b/openfut-adapter-fifa17/tests/fixtures/purchasegroup_zero_clean.json @@ -13,6 +13,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 1, + "displayGroupAssetId": 1, "currencies": [ { "name": "coins", @@ -45,6 +46,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 2, + "displayGroupAssetId": 1, "currencies": [ { "name": "coins", @@ -77,6 +79,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 3, + "displayGroupAssetId": 2, "currencies": [ { "name": "coins", @@ -109,6 +112,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 4, + "displayGroupAssetId": 2, "currencies": [ { "name": "coins", @@ -141,6 +145,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 5, + "displayGroupAssetId": 3, "currencies": [ { "name": "coins", @@ -173,6 +178,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 6, + "displayGroupAssetId": 3, "currencies": [ { "name": "coins", diff --git a/openfut-adapter-fifa17/tests/fixtures/purchasegroup_zero_sentinel.json b/openfut-adapter-fifa17/tests/fixtures/purchasegroup_zero_sentinel.json index 39bd88b..b2c61a6 100644 --- a/openfut-adapter-fifa17/tests/fixtures/purchasegroup_zero_sentinel.json +++ b/openfut-adapter-fifa17/tests/fixtures/purchasegroup_zero_sentinel.json @@ -13,6 +13,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 1, + "displayGroupAssetId": 1, "currencies": [ { "name": "coins", @@ -45,6 +46,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 2, + "displayGroupAssetId": 1, "currencies": [ { "name": "coins", @@ -77,6 +79,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 3, + "displayGroupAssetId": 2, "currencies": [ { "name": "coins", @@ -109,6 +112,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 4, + "displayGroupAssetId": 2, "currencies": [ { "name": "coins", @@ -141,6 +145,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 5, + "displayGroupAssetId": 3, "currencies": [ { "name": "coins", @@ -173,6 +178,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 6, + "displayGroupAssetId": 3, "currencies": [ { "name": "coins", @@ -205,6 +211,7 @@ "purchaseCount": 0, "isPremium": false, "sortPriority": 1, + "displayGroupAssetId": 3, "packContentInfo": { "bronzeQuantity": 0, "silverQuantity": 0,