Jonno12345 / TileIconifier

Creates tiles for most Windows 8.1 and 10 start menu icons
MIT License
1.38k stars 65 forks source link

Duplicating Tile Image for GOG Galaxy Games #186

Open jdfanch opened 5 years ago

jdfanch commented 5 years ago

Unlike Steam, GOG Galaxy uses start menu variants for their shortcuts. As such, they do show in the primary list as independent applications when attempting to use TileIconifier to manipulate the tile image. However, I'm finding that after a restart the icon images will duplicate from the first image (based on Alphabetic order) because the Target Path is always listed as going to the .../GOG/GalaxyClient.exe path (the client handles the app selection from the start menu LNK Path).

So the issue appears to be associated to TileIconifier identifying it all as the same app due to the common Target Path rather than by the LNK Path. Any chance there's a fix or workaround for this?

Gnyav commented 5 years ago

Hi, I encountered that too. It would be nice if there is a fix for that.

For now, here is a workaround: if you don't care for the galaxy client functions - the overlay and mainly the cloud saves, then you can just pin the game itself. Just go to it's directory, find the starting .exe file and right click -> Pin to Start. Now you will see it in the list in the main screen of the app, basically you will see the game twice, the one that is not pointing to \GalaxyClient.exe in it's target path is the new one - just manipulate it as normal. But as said this will run the game without the galaxy client so no cloud saves. So here is the real workaround. You can create custom shortcuts for that 1) Click Utilities 2) Custom Shortcut Manager 3) Create New Shortcut 4) Other 5) in Shortcut Target you browse the galaxy client .exe 6) in Shortcut Arguments you should paste the command that runs the game through the galaxy client. Here is an example of CrossCode on my PC:

/command=runGame /gameId=1252295864 /path="F:\GalaxyClient\Games\CrossCode"

this looks rather complicated, but there is an easy way to find everything needed. 6.1) Open the start menu all programs list, and search the game you want, so for Cross Code, go to 'C' you will see CrossCode [GoG.com] (or whatever the game is in that case). Expand it -> right click on the game icon -> more -> open file location -> right click on the shortcut there -> properties, and copy the line from the target. 6.2) Paste it in the arguments field from step 6. and remove the start of the line, that is the galaxy .exe file. so here is again example of CrossCode: F:\GalaxyClient\GalaxyClient.exe /command=runGame /gameId=1252295864 /path="F:\GalaxyClient\Games\CrossCode"

you would need only the part after /command (including)

7) back to the New Custom Shortcut window, on the bottom choose icon 8) in the Shortcut field type the name of the game, or whatever name/title you want. 9) click Generate Shortcut button 10) done!

you will now see the icon in the list in the main screen of the app, as well as pinned on the start menu. if it is not pinned already for some reason, you can find it in all programs list, under T TileIconify. there would be all your custom icons. so right click, pin to start

Gnyav commented 5 years ago

@ Author So I tried this workaround with Quick Build Custom Shortcut but it seems it is not copying over the arguments. so it is launching the galaxy client without running the game. if it was copying the arguments the workaround would have been easier.

although after using the Quick Build Custom Shortcut we can navigate to the .vbs file and edit it. but i prefer not going there as people without technical experience may not feel comfortable with it, although it's pretty straight forward.

c-vetter commented 5 years ago

I had the same problem, although as far as I can tell, it's not based on alphabetical order, but on chronological order. I come to that conclusion because whether the game got the GOG icon or GOG the game icon swapped as I changed the wrong one back.

@Gnyav The workaround worked for me as described, the .vbs file had the correct arguments.