bartok765 / galaxy_blizzard_plugin

GOG Galaxy 2.0 plugin for Blizzard
MIT License
35 stars 15 forks source link

Blizzard Arcade Collection not showing up from plugin #50

Open micpp42 opened 3 years ago

micpp42 commented 3 years ago

I got the Blizzard Arcade Collection and while it shows up in the Battle.net client it doesn't seem to be detected by the plugin. I'm guessing you may need to manually add support/detection for this?

yoshimo commented 3 years ago

https://github.com/bartok765/galaxy_blizzard_plugin/blob/master/src/definitions.py contains strings for individual games around line 88 , so we probably need a new string there. Do you find it on https://account.blizzard.com/api/games-and-subs ?

micpp42 commented 3 years ago

It doesn't show up there, no - at least for me that just seems to list Overwatch and HOTS and Destiny 2.

micpp42 commented 3 years ago

Poking around the Galaxy log, it does look like it's detecting that the game is installed and then essentially going "WARNING - [rtro] is not known blizzard game. Skipping"

If I'm understanding the way definitions.py works we'd just need the short internal name (which it looks like is "rtro") and the magic number to be able to add it - I guess the question is where do the magic numbers come from haha?

plugin-battlenet-ba170431-0649-482f-863b-d248592f1842.txt

bartok765 commented 3 years ago

Hi, @micpp42 does https://github.com/bartok765/galaxy_blizzard_plugin/pull/52 works for you? @jordantram is the numerical id available in https://account.blizzard.com/api/games-and-subs?

micpp42 commented 3 years ago

OK, so it doesn't seem to be fully working for me but it's entirely possible I'm doing something wrong or something is funny. Replicating the changes in #52 in my local definitions.py file does make a line about adding the game to my installed games show up in the log - but it does not appear to actually appear in Galaxy.

plugin-battlenet-ba170431-0649-482f-863b-d248592f1842.txt

bartok765 commented 3 years ago

@micpp42 in log I see: 2021-02-23 21:13:05,623 - root - WARNING - Skipping unknown game with titleId: 114631173 I suppose it is for Destiny 2 from https://account.blizzard.com/api/games-and-subs ?

EDIT yea, I forgot we removed Destiny2 because it was removed from Battlen.net some time ago

bartok765 commented 3 years ago

@micpp42 could you take a look for the issue above?

micpp42 commented 3 years ago

@micpp42 in log I see: 2021-02-23 21:13:05,623 - root - WARNING - Skipping unknown game with titleId: 114631173 I suppose it is for Destiny 2 from https://account.blizzard.com/api/games-and-subs ?

Yeah, seems to be the titleId listed for Destiny 2 in my games-and-subs

bartok765 commented 3 years ago

Is it separate launchable/installable item in battle.net? I see that you can purchase this collection in 3 different packs - but those includes mostly other "extra" in-game benefits for different blizzard games. Could you put a screenshot how it looks in battlenet after purchase?

micpp42 commented 3 years ago

Here's how it shows in battle.net - shows as a separate installable item like any other game image

image

bartok765 commented 3 years ago

ok, thanks. And what do you see in https://account.blizzard.com/games after you login?

if yes can you:

micpp42 commented 3 years ago

It does not show up on the https://account.blizzard.com/games page for some reason Yes I think this is weird too

micpp42 commented 3 years ago

Possibly helpful: so when I go to https://account.blizzard.com/transactions and pick the "America" region I can see "The Celebration Collection: Essentials Pack" showing up as a transaction - this is the bundle that included the Arcade collection.

bartok765 commented 3 years ago

Ah, so the same problem as for Activision games: https://github.com/bartok765/galaxy_blizzard_plugin/issues/24

In logs in %localappdata%/Battle.net/Logs we can see lines like that:

the latter is about game accounts so probably similar as https://account.blizzard.com/games lists. But this game bundle does not have in-game account - maybe that is the reason you didn't found it there?

We need to find better solution to query games ownership info, not particular game account info. I wonder if we can spot blizzard internal API requests.

One idea is to parse transactions. It looks ugly - we have to hardcode more things, and I'm not sure they have the same format for all regions

Another idea is to check local file %LocalAppData\Local\Battle.net\Account there is your account id folder and database inside. Maybe that should be parsed to get onwership list.

the drawback is we have to rely on local content - so plugin will return different data if you're not logged in to battlnet locally.