I see. That's a sensible approach, for sure. But this makes me understand the problem even less. :|
Could you tell me what you read in an XBLA game, other than the eight-digit ID at offset 360?
For example, does the title displayed in the list (not the management view) come from the CSV file or from the game? The unlock status is also wrong... I'm suspecting that some critical data are not in a standard position in the container (but then the game title in the list appears correctly in v0.5).
Sure, but this is from memory, since I don 't have the code in front of me. :-) Also, this is subject to change in version 0.7 as I'm re-organizing a bunch of stuff.
The first scene that comes up where you "Scan" hasn't even read the xbla_titles.csv file yet. So, everything you see there is coming from the file itself. While sucking that data in, it also pulls the titleID from offset 0x360. The determination of it's "locked" status is grabbed at the same time. I'd have to check the code, but there could *easily* be an issue there... There are now 2 functions in the codebase that check if a title is "unlocked" (XBLA, and DLC), and 2 functions in the codebase that "unlock" content (the old way, and the new way). I'm certain that I never call the old "unlock" code...but it's possible that I'm still using the old "XBLA" check for the lock status, and maybe that is somehow getting confused? My intention was to not use that code either (and only use the new check) but I might have forgotten to change it? Anyway, there's no harm in it aside from the visual indicator being wrong (which is wrong enough to warrant a fix in the next version, so I'll check this when I see the code again).
Once you are in the collection management screen, everything that you see comes from the xbla_titles.csv file. It determines if you "have" a title by searching for it (by titleID) in the datastructure that was filled out when you did the initial scan back on the first scene.