This appears to be failing because it looks like Valve has changed the data type for movies.
a
if (jsonContent[appId]["data"]["movies"] != null)
{
movie = (string)jsonContent[appId]["data"]["movies"][0]["webm"]["480"];
}
Constructing movie is what fails, as it's looking for appid/data/movies/0/ and then an entry under webm. Here's what a game (red dead redemption 2) looks like in the pulled json:
"movies": [
{
"id": 256768236,
"name": "RDR2 60 FPS Trailer (GB)",
"thumbnail": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/256768236/movie.293x165.jpg?t=1574881947",
"dash_av1": "https://video.akamai.steamstatic.com/store_trailers/1174180/254554/90a98a4fe08d5a804167e39e6e6d6e5715ae1890/1750634082/dash_av1.mpd?t=1574881947",
"dash_h264": "https://video.akamai.steamstatic.com/store_trailers/1174180/254554/90a98a4fe08d5a804167e39e6e6d6e5715ae1890/1750634082/dash_h264.mpd?t=1574881947",
"hls_h264": "https://video.akamai.steamstatic.com/store_trailers/1174180/254554/90a98a4fe08d5a804167e39e6e6d6e5715ae1890/1750634082/hls_264_master.m3u8?t=1574881947",
"highlight": true
},
so webm is no longer a sub element of movies, they've switched to av1/h264 - kind of interesting, I wonder why?
Suggestion: On any parse like this trap on error and skip the element entirely if the parsing fails. You'll lose some data in the page, but it won't result in a crash.
Update: I grabbed the source and simply skipped the above parse logic, setting movie to null, and things work fine (without the movie of course). The MPD files above are Media Presentation Descriptions containing XML that describes the actual files, which requires non trivial parsing logic, so it's no longer as simple as just grabbing a file. Granted not that complicated, as everything looks static so should still be parse-able.
Does not seem to be able to find any browser type on fully updated Windows (the default to Chrome path no longer works for me).
/poke (very politely)
We yearn for the return of time saving on the part of so many poor, currently unloved games.