Kalanyr: Still a few things where the %28 / %29 seems to be causing issues, 2 patches and a setup file on my update test. Will do a full test in a sec.
ETA - Weirdly downlink instead of downloads seems to work okay, going to try a substitution
mrkgnao: Good idea.
See here:
https://www.gog.com/forum/general/update_on_technical_issues_affecting_downloading_and_updating_games_afa62/post797 where downloads fails and here:
https://www.gog.com/forum/general/update_on_technical_issues_affecting_downloading_and_updating_games_afa62/post802 where downlink works
Hmmm. The MD5s are missing for some of the downlinks unfortunately so that's irritating. Apparently I need to record and try both URLs.
Edit - This is going to take a little more time than I have now. What I'll do is try the provided URL and if it fails then try downlink and avoid mixing Name/Size/MD5 across CDNs in case there's a sync error.
I suppose the interesting questions is: Should I count missing MD5s as a fail, I guess I should ?
Edit 2 - Okay, so what we do is try the Provided URL and if it fails for either (File Info or URL we then try downlink), we prefer the most complete version, favouring the provided URL where there's a tie (eg both succeed at both (only ever check the provided URL), both fail to provide the MD5 (we check both but treat the provided URL as authoritative from them on), both fail (we don't get info or MD5 but we store what we got and use the Provided URL to attempt stuff in future).
Need to implement something similar for extras now except that they don't have MD5s. Then I need to test.
Edit 3 - By some curse of the Dark Gods Imperator Rome is *still* broken on both, it's in much better shape than it was but
https://www.gog.com/downlink/imperator_rome/en1installer1 is missing which is still fatal to actually installing it.
Edit 3a - Ahahaha, I should have tested this before I made downlink the fallback because I can't tell what's broken on downlink now, unless it fails on downloads first.
Edit 3b - At least it does significantly increase the chance of getting a good set, got a full set after 3 tries when it usually takes 10.