diff --git a/fifa17-recon/docs/plan-2026-08-06-card-subsystem.md b/fifa17-recon/docs/plan-2026-08-06-card-subsystem.md index 93b6456..60ac2f9 100644 --- a/fifa17-recon/docs/plan-2026-08-06-card-subsystem.md +++ b/fifa17-recon/docs/plan-2026-08-06-card-subsystem.md @@ -406,6 +406,31 @@ from an accessor. So: send `localizedName` and expect it to show; send `description` and do not be surprised if nothing changes. The same `+0xba` also holds the unresolved kit-variant selector, so these two gaps may be one gap. +### The cardtype-9 name gap is ONE gap, not three (2026-08-21) + +Worth stating plainly, because it was being tracked as three separate holes. +Everything OpenFUT still refuses to project is cardtype 9, and for exactly the +same reason: + +| family | subtype(s) | definition table | why withheld | +|---|---|---|---| +| ball | 30 | `fcc_balls` (42) | no DB name resolver | +| league logo | 31 | `fcc_leaguelogos` (44) | no DB name resolver | +| misc | 231, 232, 233, 236 | `fcc_misccards` (42) | no DB name resolver | + +The cardtype-7 families (kit 9, badge 11, stadium 10) all resolve their caption +from the client's own tables through `FUN_180119bd0`, so the server sends only +identity and the name takes care of itself — which is why all three now project. +Cardtype 9 has no such resolver, so the displayed name can ONLY come from +`localizedName` on the wire, and that single unproven step gates all three +families at once. + +Closing it closes the last of the ownable taxonomy. It needs the launch-driven +probe in "The one probe still outstanding" above — one item, one family — and +nothing else. Ownership, `content_kind`, club/stats counting and restart +durability are already in place for all three, so the probe is the only +remaining work: the projection arm is a two-line change once the name is proven. + --- ## 4. The card lifecycle