Posted May 08, 2020
Update 2022-06-18@2325:
It looks like D2ACH wrote a Chrome Extension to do this more easily, so that may be easier for people looking to migrate their Steam wish list over to GOG and sync them up. I haven't tried it or anything, but it's another option!
Now that GOG has a good return policy, and is DRM free, the last big obstacle to getting all my future games on GOG has been trying to transfer my huge Steam Wishlist over to GOG. I had 194 items on my Steam Wishlist ... eesh!
Here is roughly how I did it, so I’m sharing it here just in case it can help someone else do the same thing. It requires the programs AutoHotkey (awesome simple open source script program that I use a bunch), Libreoffice Calc, and Mozilla Firefox. You can technically use different programs, but these are all free and open source, so you’d have to figure out how to change my AutoHotkey script included here if you want to use different programs.
This may take an equal time to setup and execute (if you've never done something like this before) than it would if you just manually went between your Steam wishlist and GOG and manually added them all. What is described below would probably take me 15 minutes or so to code, execute and finish importing my wishlist, but since I thought it might help someone else, I figured I would take extra time to write nice coding comments and type up the details of the guide. However, I hope it's an interesting way to get introduced to basic coding that could help you elsewhere (I use it for all kinds of stuff to automate tasks).
~~Getting the Steam wishlist into a cell-based system~~
Go to your Steam wishlist.
Zoom out on the webpage as far as possible and scroll up and down a bit if needed to have it all load (hopefully zooming out all the way lets you see the whole list like mine, otherwise you may have to copy paste in sections).
CTRL+A to select everything.
Open a new Libreoffice Calc [LOC] spreadsheet.
Right click --> paste special --> unformatted text in cell A1 --> “OK” the default import options.
~~Now we need to clean the list to only leave the cells that contain a game’s title/name.~~
Select cell B1 and type in =IF(A2="Overall Reviews:",1,0) and hit enter.
With cell B1 still selected, drag the bottom right corner of the cell down all the way to the last row containing text.
Explanation: This will place a “1” in the B column beside any entry in the A column that has a game title/name. This is because the game title/name is always followed by “Overall Reviews:” and that’s why the =if(…) statement looks for it on the next cell in the A column. It will place a 0 in the B column otherwise.
Select cell B1 --> Go to Data (tab or menu bar) --> Standard Filter (in the “more filters” menu option but immediately visible if using tabbed interface in LibreOffice).
Set it to check if Column B is equal to 1 --> “OK”
You should see that a bunch of your rows have been hidden and the only rows that are left have game names in the A column.
Save your file with the exact name Steam Wishlist.ods
At this point you can sort the column alphabetically if you want, or just highlight copy-paste only the game names that are now showing to a clean document or other part of the document, but make sure you have the top-most game name selected before starting the script.
WARNING: double check that your entire list shows up, because the Steam Wishlist webpage is very odd and doesn’t always select everything as you think it should IF your wishlist is larger than can be displayed when your wishlist is fully zoomed out.
~~Now we can use a script to automatically copy and paste all these game names into GOG search bar in separate tabs in Firefox~~
You will need to install AutoHotkey to use this following script. It’s an awesome little program that lets you automate tons of tasks inside of Windows (I use it for quite a few things all the time). Start a new script and paste the text from below into the new script. Be sure to read the comments especially so that way you know what needs to be done. For instance, you must have Steam Wishlist.ods open so that way a window is available for the script to find and activate called Steam Wishlist.ods – Libreoffice Calc at the beginning of the loop (same thing with Mozilla Firefox).
~~~~~~~~~~~AUTOHOTKEY SCRIPT STARTS HERE~~~~~~~~~~~
~~~~~~~~~~~start copy/paste right after this line~~~~~~~~~~~
#NoEnv ;~~~~~ Recommended for performance and compatibility with future AutoHotkey releases.
;~~~~~ #Warn ;~~~~~ Enable warnings to assist with detecting common errors.
SendMode Input ;~~~~~ Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ;~~~~~ Ensures a consistent starting directory.
;~~~~~ This is a comment, all of the comments above are auto made from Autohotkey, comments technically only needs a semicolon ";" but the five tildas "~~~~~" make it easier to see the comments
;~~~~~ Make sure to have Libreoffice Calc [LOC] (with your Steam Wishlist already ready and loaded with the first game entry selected) and Mozilla Firefox open with the address search bar selected and ready to type a web address before starting this script
Sleep 3000 ;~~~~~ Gives you three seconds (3000 milliseconds) after you double click on the script to be sure that you have the first game entry in LOC selected and ready to go
loop, 194 ;~~~~~ A loop makes sure that the process between the two, tabbed { } (one comes next and the last one is right before the script exits). I highly recommend setting this value to 1 to try it out, then 5 to see if it's really working, and then set it to how many games you will be adding (in my case 194)
{ ;~~~~~ Start of loop
Winactivate Steam Wishlist.ods - LibreOffice Calc ;~~~~~ Case-sensitive and will attempt to activate your Steam Wishlist.ods file opened in LOC. You can use Steam Wishlist - Excel if using Excel instead for this line and next.
ifwinnotactive Steam Wishlist.ods - LibreOffice Calc ;~~~~~ If that LOC window doesn't activate properly, this will kill the script (especially important because it will loop many times for a large wishlist)
ExitApp
send ^c ;~~~~~ CTRL+C copy the first game entry in your LOC list
send {down} ;~~~~~ Goes to the next entry in the list in preparation for the next time this script loops
Winactivate Mozilla Firefox ;~~~~~ Activates Firefox and should already have the typing cursor in the address bar (make sure it's selected before starting script so it goes right back at this step)
ifwinnotactive Mozilla Firefox ;~~~~~ Safety close of script if something goes wrong
ExitApp
send [url=https://www.gog.com/games?{enter]https://www.gog.com/games?{enter[/url]} ;~~~~~ Types in the address to search games on GOG. WARNING, make sure you are logged into GOG.
sleep 3000 ;~~~~~ Gives three seconds to load the webpage so nothing bugs out on the next step, you may have to adjust
send {tab 7} ;~~~~~ Even though the page loads, the search bar is not selected and ready for typing by default, so this hits the TAB button 7 times to select it
send ^v ;~~~~~ Pastes the game name entry that was copied from LOC
sleep 1000 ;~~~~~ Waits one second
send ^t ;~~~~~ Creates a new tab on firefox so that the whole process can start over
} ;~~~~~ End of loop
ExitApp ;~~~~~ Exits the script after all the loops are done
Escape::ExitApp ;~~~~~ Shortcut to try to kill the script early is set to the Escape key (may have to spam it, or possibly have WINDOWS+L to lock screen handy if script goes bonkers)
~~~~~~~~~~~stop copy paste right before this line~~~~~~~~~~~
~~~~~~~~~~~AUTOHOTKEY SCRIPT STOPS HERE~~~~~~~~
~~Now comes the final part~~
Now you should have a bunch of tabs in Firefox that should hopefully have a search list for each of the games that were pasted in. I went through each tab, pruning the search bar sometimes of special characters or just searching in general for an item. For instance, it didn’t find “Bioshock Infinite – Season Pass” so I pruned it to “Bioshock Infinite” and found that GOG had the “Bioshock Infinite Complete Edition” instead, bonus! I would click on the search entry that was correct and immediately switch to the next tab to give that page time to load completely (CTRL+TAB), close the tab if there were no results and I was sure that I couldn’t fix the search entry to more likely find it (CTRL+W), and once I had all of my tabs ready, went through and wishlisted the ones that I knew I would still want.
It looks like D2ACH wrote a Chrome Extension to do this more easily, so that may be easier for people looking to migrate their Steam wish list over to GOG and sync them up. I haven't tried it or anything, but it's another option!
Now that GOG has a good return policy, and is DRM free, the last big obstacle to getting all my future games on GOG has been trying to transfer my huge Steam Wishlist over to GOG. I had 194 items on my Steam Wishlist ... eesh!
Here is roughly how I did it, so I’m sharing it here just in case it can help someone else do the same thing. It requires the programs AutoHotkey (awesome simple open source script program that I use a bunch), Libreoffice Calc, and Mozilla Firefox. You can technically use different programs, but these are all free and open source, so you’d have to figure out how to change my AutoHotkey script included here if you want to use different programs.
This may take an equal time to setup and execute (if you've never done something like this before) than it would if you just manually went between your Steam wishlist and GOG and manually added them all. What is described below would probably take me 15 minutes or so to code, execute and finish importing my wishlist, but since I thought it might help someone else, I figured I would take extra time to write nice coding comments and type up the details of the guide. However, I hope it's an interesting way to get introduced to basic coding that could help you elsewhere (I use it for all kinds of stuff to automate tasks).
~~Getting the Steam wishlist into a cell-based system~~
Go to your Steam wishlist.
Zoom out on the webpage as far as possible and scroll up and down a bit if needed to have it all load (hopefully zooming out all the way lets you see the whole list like mine, otherwise you may have to copy paste in sections).
CTRL+A to select everything.
Open a new Libreoffice Calc [LOC] spreadsheet.
Right click --> paste special --> unformatted text in cell A1 --> “OK” the default import options.
~~Now we need to clean the list to only leave the cells that contain a game’s title/name.~~
Select cell B1 and type in =IF(A2="Overall Reviews:",1,0) and hit enter.
With cell B1 still selected, drag the bottom right corner of the cell down all the way to the last row containing text.
Explanation: This will place a “1” in the B column beside any entry in the A column that has a game title/name. This is because the game title/name is always followed by “Overall Reviews:” and that’s why the =if(…) statement looks for it on the next cell in the A column. It will place a 0 in the B column otherwise.
Select cell B1 --> Go to Data (tab or menu bar) --> Standard Filter (in the “more filters” menu option but immediately visible if using tabbed interface in LibreOffice).
Set it to check if Column B is equal to 1 --> “OK”
You should see that a bunch of your rows have been hidden and the only rows that are left have game names in the A column.
Save your file with the exact name Steam Wishlist.ods
At this point you can sort the column alphabetically if you want, or just highlight copy-paste only the game names that are now showing to a clean document or other part of the document, but make sure you have the top-most game name selected before starting the script.
WARNING: double check that your entire list shows up, because the Steam Wishlist webpage is very odd and doesn’t always select everything as you think it should IF your wishlist is larger than can be displayed when your wishlist is fully zoomed out.
~~Now we can use a script to automatically copy and paste all these game names into GOG search bar in separate tabs in Firefox~~
You will need to install AutoHotkey to use this following script. It’s an awesome little program that lets you automate tons of tasks inside of Windows (I use it for quite a few things all the time). Start a new script and paste the text from below into the new script. Be sure to read the comments especially so that way you know what needs to be done. For instance, you must have Steam Wishlist.ods open so that way a window is available for the script to find and activate called Steam Wishlist.ods – Libreoffice Calc at the beginning of the loop (same thing with Mozilla Firefox).
~~~~~~~~~~~AUTOHOTKEY SCRIPT STARTS HERE~~~~~~~~~~~
~~~~~~~~~~~start copy/paste right after this line~~~~~~~~~~~
#NoEnv ;~~~~~ Recommended for performance and compatibility with future AutoHotkey releases.
;~~~~~ #Warn ;~~~~~ Enable warnings to assist with detecting common errors.
SendMode Input ;~~~~~ Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ;~~~~~ Ensures a consistent starting directory.
;~~~~~ This is a comment, all of the comments above are auto made from Autohotkey, comments technically only needs a semicolon ";" but the five tildas "~~~~~" make it easier to see the comments
;~~~~~ Make sure to have Libreoffice Calc [LOC] (with your Steam Wishlist already ready and loaded with the first game entry selected) and Mozilla Firefox open with the address search bar selected and ready to type a web address before starting this script
Sleep 3000 ;~~~~~ Gives you three seconds (3000 milliseconds) after you double click on the script to be sure that you have the first game entry in LOC selected and ready to go
loop, 194 ;~~~~~ A loop makes sure that the process between the two, tabbed { } (one comes next and the last one is right before the script exits). I highly recommend setting this value to 1 to try it out, then 5 to see if it's really working, and then set it to how many games you will be adding (in my case 194)
{ ;~~~~~ Start of loop
Winactivate Steam Wishlist.ods - LibreOffice Calc ;~~~~~ Case-sensitive and will attempt to activate your Steam Wishlist.ods file opened in LOC. You can use Steam Wishlist - Excel if using Excel instead for this line and next.
ifwinnotactive Steam Wishlist.ods - LibreOffice Calc ;~~~~~ If that LOC window doesn't activate properly, this will kill the script (especially important because it will loop many times for a large wishlist)
ExitApp
send ^c ;~~~~~ CTRL+C copy the first game entry in your LOC list
send {down} ;~~~~~ Goes to the next entry in the list in preparation for the next time this script loops
Winactivate Mozilla Firefox ;~~~~~ Activates Firefox and should already have the typing cursor in the address bar (make sure it's selected before starting script so it goes right back at this step)
ifwinnotactive Mozilla Firefox ;~~~~~ Safety close of script if something goes wrong
ExitApp
send [url=https://www.gog.com/games?{enter]https://www.gog.com/games?{enter[/url]} ;~~~~~ Types in the address to search games on GOG. WARNING, make sure you are logged into GOG.
sleep 3000 ;~~~~~ Gives three seconds to load the webpage so nothing bugs out on the next step, you may have to adjust
send {tab 7} ;~~~~~ Even though the page loads, the search bar is not selected and ready for typing by default, so this hits the TAB button 7 times to select it
send ^v ;~~~~~ Pastes the game name entry that was copied from LOC
sleep 1000 ;~~~~~ Waits one second
send ^t ;~~~~~ Creates a new tab on firefox so that the whole process can start over
} ;~~~~~ End of loop
ExitApp ;~~~~~ Exits the script after all the loops are done
Escape::ExitApp ;~~~~~ Shortcut to try to kill the script early is set to the Escape key (may have to spam it, or possibly have WINDOWS+L to lock screen handy if script goes bonkers)
~~~~~~~~~~~stop copy paste right before this line~~~~~~~~~~~
~~~~~~~~~~~AUTOHOTKEY SCRIPT STOPS HERE~~~~~~~~
~~Now comes the final part~~
Now you should have a bunch of tabs in Firefox that should hopefully have a search list for each of the games that were pasted in. I went through each tab, pruning the search bar sometimes of special characters or just searching in general for an item. For instance, it didn’t find “Bioshock Infinite – Season Pass” so I pruned it to “Bioshock Infinite” and found that GOG had the “Bioshock Infinite Complete Edition” instead, bonus! I would click on the search entry that was correct and immediately switch to the next tab to give that page time to load completely (CTRL+TAB), close the tab if there were no results and I was sure that I couldn’t fix the search entry to more likely find it (CTRL+W), and once I had all of my tabs ready, went through and wishlisted the ones that I knew I would still want.
Post edited June 26, 2022 by Fendolis