Twombs / GOGcli-GUI

Frontend program for gogcli.exe by Magnitus
12 stars 0 forks source link

A few feature requests. #5

Open TomTurbine opened 1 month ago

TomTurbine commented 1 month ago

I thought I had suggested these before but checked and noticed I hadn't so figure it's worth it to go ahead.

Main features I was thinking about was selectively choose with extras to download. I wouldn't mind downloading the manuals and references for games, but don't really care for downloading the soundtracks, doubly so when you have a game offering them in multiple formats.

And I noticed when you select "Setup" it also wants to include all the language packs which would actually be considered more of an extra, it even shows up as "Extra" when you look at the categories one one of the games I noticed it under.

Those extras can get pretty big and add up, Cyberpunk even has a whole previous version of the game at over 100GB as an extra.

And one other feature if at all possible, the ability to put the DLC and extras in subfolders.

TomTurbine commented 1 month ago

Also, maybe the ability to import games you already downloaded before with it.

Actually messed around and had to deleted and redownload the program (Kept the cookie.txt though) and no way to import the list of what you already downloaded that I could find.

Figured the validation.txt in each games folder would be used to assist in that.

Twombs commented 1 month ago

First things first. What has been downloaded before, is kept as a record in the database file (Database.ini), so if that is present you should be okay, though only files downloaded by my GUI will have been recorded. As for working with other existing files, that would take some effort and thought, and no doubt require another file list to check. The existing database file has a record of the file name as well as checksum. I will ponder that further, but it seems like a lot of effort for me, with what would essentially be a once off, and extra program bloat. NOTE - See the SETUP window to turn on the 'exists' option if it isn't.

Secondly, I am not sure how you are downloading, though only one way normally, unless you are using DOWNLOAD ALL. DOWNLOAD ALL is something you should only need to use once, until complete. If however, that is what you are still using, then understand that feature is an added extra, and not one I ever have used personally outside of some testing, so I am not keen to expend any further effort on it. With normal downloading, you have options to select what files you wish to download in the Game Files Selector window, so I am not sure why you are having an issue? As for the program determining what is a DLC or an Extra, it isn't always a clear situation.

Thirdly, as far as sub-folders for DLC and Extras goes, you have the SUB button on the main program window to do that after closing the downloading window. Though there is no specific option for DLCs other than the Soundtrack checkbox and Extras checkbox. I guess I could add a DLC option as well, to create a folder called DLC, but trying to automatically determine a name beyond that would be difficult. Usually I do what is needed manually, so I can be more precise. You can of course use any of the unused checkbox options to create a sub-folder that you then manually rename.

I'm not sure if you have discovered the value of the LAST button, but I use that to step through latest purchases, to add them to the download list. Then after downloading the files I want, I reset the LAST button by holding down CTRL when clicking it. Then I step through my latest purchases again with the LAST button, using the SUB button to create any sub-folders I desire.

Lastly, the gogcli.exe program does not have all the features of gogrepo.py for instance, so a lot more effort and challenge for me to replicate them, something I really have no desire to do beyond what I have already done. I am also quite keen to reduce my activity at GOG now, so really I am just updating my GUI program, which is quite mature now, if something needs fixing. Then there is the issue I have with GOG when it comes to download speed, such that aside from small game files, I don't download larger ones with my GUI and gogcli.exe anymore, because it is too slow. Instead I use Free Download Manager 5 for the larger files, and then use my GUI for the checksum and file size validation ... something I have improved recently.

Here's the latest update - https://mega.nz/file/4AYjQADQ#vdNm-gD7C8MjOXPsvx9_qfnPZ6r9yRVYTmK3UjX6pOY

On Tue, 7 May 2024 at 12:30, Fugus @.***> wrote:

Also, maybe the ability to import games you already downloaded before with it.

Actually messed around and had to deleted and redownload the program (Kept the cookie.txt though) and no way to import the list of what you already downloaded that I could find.

Figured the validation.txt in each games folder would be used to assist in that.

— Reply to this email directly, view it on GitHub https://github.com/Twombs/GOGcli-GUI/issues/5#issuecomment-2097354871, or unsubscribe https://github.com/notifications/unsubscribe-auth/AESHGWKPEMR4BY3VAVFXAWDZBA7VFAVCNFSM6AAAAABHKDOXW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJXGM2TIOBXGE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

TomTurbine commented 1 month ago

K, thanks for the info, much appreciated.

Twombs commented 1 month ago

Hello again Fugus. I've kept pondering over a couple of things you requested, and even started to develop some code, but then ran into an issue. But before I discuss that, I was wondering whether you did retain the 'Database.ini' file or a backup of it in the Backups folder? If your setup was creating entries in the 'Database.ini' file, then it should be your lucky day if you've still got it or a backup?

If not, then I have been working on some code to restore entries via each 'Validation.txt' file. The only problem is, that part of each entry in the 'Database.ini' file, is the Slug of the game name, which isn't present in the 'Validation.txt' files, so I would need to get it from another source, and that is where the issue can lie.

If each file listed in a 'Validation.txt' file is still in a user's 'Manifest.txt' file, then we can get the Slug from there. Failing that we would have to rely on path structure, which might fail us, because that depends on how each user (yours) is, and whether they (you) have modified anything.

For instance, with my setup, I in some instances use the following kind of path structure - G:\GOG\GoG\FLAKE The Legend of Snowblind Demo So I can divide the path at \GoG\ and use the trailing portion (FLAKE The Legend of Snowblind Demo) as the game name, to get the Slug from my Manifest file. I can get that path from the 'Validation.txt' file path, even if it is in a further sub-folder, removing any additional trailing path elements of course.

That wouldn't work for everything for me though, as I have manually renamed some of my game folders. I've renamed them, because GOG often defaults to the base name when providing downloads of other editions (i.e. Remaster or Deluxe Edition etc). I rename to what it should be, but that version of the name does not exist in my Manifest, so I would be out of luck with each instance of those. There are a couple of other approaches, but they are basically guess work based, and in many cases likely to be wrong.

So there you have it, and for the moment I am stumped.

By the way, if you haven't been able to check it, each entry is stored in the 'Database.ini' file, via the game filename (section), then as the game Slug (key), then as a two part value, file size in bytes and checksum value, separated by a pipe character. As in the following.

[setup_xcom_2374751(64bit)_(35526)-1.bin] xcom_2=4289828350|5070baa426b99970c51fe0f80f929ea9

With a ZIP file though, the checksum value is omitted after the pipe character.

[war_wind_2_manual.zip] war_wind_ii_human_onslaught=2977986|

Anyway, please let us know how you get on, and I will still ponder further. I am still thinking about the 'Extras' exclusion option. It could be doable, because in the Game Files Selector window, my GUI is already determining what is an Extra and labeling it that in column for that ... or at least that is what I recall. It may be an imperfect determination though, so could be risky.

On Sat, 18 May 2024 at 13:42, Fugus @.***> wrote:

K, thanks for the info, much appreciated.

— Reply to this email directly, view it on GitHub https://github.com/Twombs/GOGcli-GUI/issues/5#issuecomment-2118631021, or unsubscribe https://github.com/notifications/unsubscribe-auth/AESHGWPNQ44WYY77II4A2ETZC3IJBAVCNFSM6AAAAABHKDOXW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJYGYZTCMBSGE . You are receiving this because you commented.Message ID: @.***>

TomTurbine commented 1 month ago

I didn't think to keep anything but the cookies.txt when I deleted it all. But it's fine, I can always just re get them later. My internet and PC can handle it and I'm in no hurry.

Honestly haven't even played my games in months, I just have some weird compulsion to hoard them like old trading cards for some reason on the off chance I will WANT to play them eventually and the memories of trying to do something when the internet goes out. Don't even have my other gaming clients installed either but learned when your steam account gets too many games it can cause the whole client to slow down loading.

One possible thing you could do, have the app redo the Validation.txt file or create another file entirely the purposes of re-importing a file, Wouldn't work for anyone upgrading from a previous version but would give that functionality going forward.

Twombs commented 1 month ago

Damn that's a shame.

I'm somewhat the same with my games right now, as I just don't have enough time or the setup (space or conditions) etc for gaming at the moment.

Yes, I am considering adding the game Slug to the Validation.txt file entries for each validated file.

There is another option available to you, but it would require time and effort. I'd forgotten that the ADD TO MANIFEST button has a right-click option to change that button to ADD TO DATABASE, which works on a game by game basis. Off the top of my head I'm not sure exactly how it works, but a quick look at the code seems to imply it just retrieves what it needs from the Manifest (if the game and values exist). I don't know how many games you have that you would have to do that to individually, but if all the required data (checksum and bytes) is present in your Manifest, that could do the trick, and you could do it at your leisure, doing one or more games a session. The only other way would be to re-validate every file, which you can also do on a game by game basis, but much much slower. That said, both options will fail if a file name has been updated (replaced) in your Manifest.

Anyway, I am currently thinking through one of those guess options, which would involve getting what might be the Slug from part of each file name. That would involve removing any 'setup' or 'patch' at the start of the file name (for EXE and BIN files), then splitting the name at a version number or in the case of an Extras ZIP file at something like 'ost' or '_mp3' or '_artbook' or '_manual' etc. The version number is problematic, as the game title might include a trailing number, so that would be tricky, and the only solution to that would be to present an input to the user, for checking and correcting. That last of course, means the loss of full automation, but at least no Manifest checking for values would be required ... that's presuming that extracted file name portion is the actual game Slug ... it might not be, as GOG do some weird naming sometimes. I'd also need to cater for Linux and MAC files, and memory suggests that not all extras include the game title.

On Mon, 20 May 2024 at 05:11, Fugus @.***> wrote:

I didn't think to keep anything but the cookies.txt when I deleted it all. But it's fine, I can always just re get them later. My internet and PC can handle it and I'm in no hurry.

Honestly haven't even played my games in months, I just have some weird compulsion to hoard them like old trading cards for some reason on the off chance I will WANT to play them eventually and the memories of trying to do something when the internet goes out. Don't even have my other gaming clients installed either but learned when your steam account gets too many games it can cause the whole client to slow down loading.

One possible thing you could do, have the app redo the Validation.txt file or create another file entirely the purposes of re-importing a file, Wouldn't work for anyone upgrading from a previous version but would give that functionality going forward.

— Reply to this email directly, view it on GitHub https://github.com/Twombs/GOGcli-GUI/issues/5#issuecomment-2119339721, or unsubscribe https://github.com/notifications/unsubscribe-auth/AESHGWM77526ZB4KQ4AWXELZDD6AFAVCNFSM6AAAAABHKDOXW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJZGMZTSNZSGE . You are receiving this because you commented.Message ID: @.***>

Twombs commented 1 month ago

In regards to that 'Guess' option, some details of which was in my last reply, I have been doing further work on that. That has resulted so far, in an option to create/update/view a new file called 'Slugs.txt'. Every line of which is a slug followed by the game title inside square brackets. For example. a_bird_story - [A Bird Story] a_jugglers_tale - [A Juggler's Tale] a_musical_story_demo - [A Musical Story Demo] a_new_beginning - [A New Beginning: Final Cut]

It is an alphanumeric sorted file list, accessed via a new right-click 'Lists' -> 'Slugs' entry. But the intention is to provide that list in a dropdown control, in a small window, that can be used to specify the correct Slug name to add to an accompanying input field.

I've also added another right-click option for the 'Database' -> 'ADD Missing To Database'. The basics of which I have now coded, but still somewhat incomplete. With that option you can browse to select either a game or games folder, that will then be processed, briefly presenting a timed CANCEL query after every 10 'Validation.txt' files have been processed.

So if you were happy to add your games one by one, responding to that small popup window each game, and making any Slug name adjustments, for which I will also provide some other helpful buttons to trim text etc, then I am not far off completing all that..The process will also try and guess the correct Slug, so in many cases it could be as simple as clicking a USE button with what has been selected in that dropdown (combo) control. I've also realized I don't need to use the Manifest at all for this process, just entries in the 'Games.ini' file, which is also used to create that 'Slugs.txt' file.

Anyway, have a think about it. I will likely finish the code and program update tomorrow, and then make it available to you via MEGA.

On Mon, 20 May 2024 at 16:09, Tim Hall @.***> wrote:

Damn that's a shame.

I'm somewhat the same with my games right now, as I just don't have enough time or the setup (space or conditions) etc for gaming at the moment.

Yes, I am considering adding the game Slug to the Validation.txt file entries for each validated file.

There is another option available to you, but it would require time and effort. I'd forgotten that the ADD TO MANIFEST button has a right-click option to change that button to ADD TO DATABASE, which works on a game by game basis. Off the top of my head I'm not sure exactly how it works, but a quick look at the code seems to imply it just retrieves what it needs from the Manifest (if the game and values exist). I don't know how many games you have that you would have to do that to individually, but if all the required data (checksum and bytes) is present in your Manifest, that could do the trick, and you could do it at your leisure, doing one or more games a session. The only other way would be to re-validate every file, which you can also do on a game by game basis, but much much slower. That said, both options will fail if a file name has been updated (replaced) in your Manifest.

Anyway, I am currently thinking through one of those guess options, which would involve getting what might be the Slug from part of each file name. That would involve removing any 'setup' or 'patch' at the start of the file name (for EXE and BIN files), then splitting the name at a version number or in the case of an Extras ZIP file at something like 'ost' or '_mp3' or '_artbook' or '_manual' etc. The version number is problematic, as the game title might include a trailing number, so that would be tricky, and the only solution to that would be to present an input to the user, for checking and correcting. That last of course, means the loss of full automation, but at least no Manifest checking for values would be required ... that's presuming that extracted file name portion is the actual game Slug ... it might not be, as GOG do some weird naming sometimes. I'd also need to cater for Linux and MAC files, and memory suggests that not all extras include the game title.

On Mon, 20 May 2024 at 05:11, Fugus @.***> wrote:

I didn't think to keep anything but the cookies.txt when I deleted it all. But it's fine, I can always just re get them later. My internet and PC can handle it and I'm in no hurry.

Honestly haven't even played my games in months, I just have some weird compulsion to hoard them like old trading cards for some reason on the off chance I will WANT to play them eventually and the memories of trying to do something when the internet goes out. Don't even have my other gaming clients installed either but learned when your steam account gets too many games it can cause the whole client to slow down loading.

One possible thing you could do, have the app redo the Validation.txt file or create another file entirely the purposes of re-importing a file, Wouldn't work for anyone upgrading from a previous version but would give that functionality going forward.

— Reply to this email directly, view it on GitHub https://github.com/Twombs/GOGcli-GUI/issues/5#issuecomment-2119339721, or unsubscribe https://github.com/notifications/unsubscribe-auth/AESHGWM77526ZB4KQ4AWXELZDD6AFAVCNFSM6AAAAABHKDOXW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJZGMZTSNZSGE . You are receiving this because you commented.Message ID: @.***>

Twombs commented 1 month ago

I've just noticed something else, while doing my backup of today's coding. There is also a file called 'Validations.log' in the main program folder, and that has all the required values in it. But I am guessing you probably deleted that file too?

Anyway, I have now finished my coding for the day and will hopefully resume tomorrow. I've now managed to do most of the processes of that small window I mentioned, so I am not far off finishing that guess method.

On Mon, 20 May 2024 at 19:11, Tim Hall @.***> wrote:

In regards to that 'Guess' option, some details of which was in my last reply, I have been doing further work on that. That has resulted so far, in an option to create/update/view a new file called 'Slugs.txt'. Every line of which is a slug followed by the game title inside square brackets. For example. a_bird_story - [A Bird Story] a_jugglers_tale - [A Juggler's Tale] a_musical_story_demo - [A Musical Story Demo] a_new_beginning - [A New Beginning: Final Cut]

It is an alphanumeric sorted file list, accessed via a new right-click 'Lists' -> 'Slugs' entry. But the intention is to provide that list in a dropdown control, in a small window, that can be used to specify the correct Slug name to add to an accompanying input field.

I've also added another right-click option for the 'Database' -> 'ADD Missing To Database'. The basics of which I have now coded, but still somewhat incomplete. With that option you can browse to select either a game or games folder, that will then be processed, briefly presenting a timed CANCEL query after every 10 'Validation.txt' files have been processed.

So if you were happy to add your games one by one, responding to that small popup window each game, and making any Slug name adjustments, for which I will also provide some other helpful buttons to trim text etc, then I am not far off completing all that..The process will also try and guess the correct Slug, so in many cases it could be as simple as clicking a USE button with what has been selected in that dropdown (combo) control. I've also realized I don't need to use the Manifest at all for this process, just entries in the 'Games.ini' file, which is also used to create that 'Slugs.txt' file.

Anyway, have a think about it. I will likely finish the code and program update tomorrow, and then make it available to you via MEGA.

On Mon, 20 May 2024 at 16:09, Tim Hall @.***> wrote:

Damn that's a shame.

I'm somewhat the same with my games right now, as I just don't have enough time or the setup (space or conditions) etc for gaming at the moment.

Yes, I am considering adding the game Slug to the Validation.txt file entries for each validated file.

There is another option available to you, but it would require time and effort. I'd forgotten that the ADD TO MANIFEST button has a right-click option to change that button to ADD TO DATABASE, which works on a game by game basis. Off the top of my head I'm not sure exactly how it works, but a quick look at the code seems to imply it just retrieves what it needs from the Manifest (if the game and values exist). I don't know how many games you have that you would have to do that to individually, but if all the required data (checksum and bytes) is present in your Manifest, that could do the trick, and you could do it at your leisure, doing one or more games a session. The only other way would be to re-validate every file, which you can also do on a game by game basis, but much much slower. That said, both options will fail if a file name has been updated (replaced) in your Manifest.

Anyway, I am currently thinking through one of those guess options, which would involve getting what might be the Slug from part of each file name. That would involve removing any 'setup' or 'patch' at the start of the file name (for EXE and BIN files), then splitting the name at a version number or in the case of an Extras ZIP file at something like 'ost' or '_mp3' or '_artbook' or '_manual' etc. The version number is problematic, as the game title might include a trailing number, so that would be tricky, and the only solution to that would be to present an input to the user, for checking and correcting. That last of course, means the loss of full automation, but at least no Manifest checking for values would be required ... that's presuming that extracted file name portion is the actual game Slug ... it might not be, as GOG do some weird naming sometimes. I'd also need to cater for Linux and MAC files, and memory suggests that not all extras include the game title.

On Mon, 20 May 2024 at 05:11, Fugus @.***> wrote:

I didn't think to keep anything but the cookies.txt when I deleted it all. But it's fine, I can always just re get them later. My internet and PC can handle it and I'm in no hurry.

Honestly haven't even played my games in months, I just have some weird compulsion to hoard them like old trading cards for some reason on the off chance I will WANT to play them eventually and the memories of trying to do something when the internet goes out. Don't even have my other gaming clients installed either but learned when your steam account gets too many games it can cause the whole client to slow down loading.

One possible thing you could do, have the app redo the Validation.txt file or create another file entirely the purposes of re-importing a file, Wouldn't work for anyone upgrading from a previous version but would give that functionality going forward.

— Reply to this email directly, view it on GitHub https://github.com/Twombs/GOGcli-GUI/issues/5#issuecomment-2119339721, or unsubscribe https://github.com/notifications/unsubscribe-auth/AESHGWM77526ZB4KQ4AWXELZDD6AFAVCNFSM6AAAAABHKDOXW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJZGMZTSNZSGE . You are receiving this because you commented.Message ID: @.***>

TomTurbine commented 1 month ago

Yeah, deleted it all but the cookies.txt file. But it's fine. Thanks for all the work either way. Really surprised GoG never just kept their own mass downloading app like they used to have. I have tried their GoG Galaxy and honestly, I am not a fan. Would have rather they just had the mass downloader and then create their own miniature message client you can load up to play multiplayer.

They would have gotten more mileage from just having a playnite extension handle their stuff or, I have read that Heroic Games Launcher does it now as well but haven't really tried that much either.

As far as not playing much, it's fine. I'm 42 and most of my time is spent helping family. And in 10-20 years, most of them will still be here hopefully while I would have long forgot about whatever game I played in that time. And after I got out of WoW back in the day, I swore I would never allow myself to get that far into a game again.

On that note, actually just got a call from my niece asking for a ride to work, lol. Well, have a nice one sir and best of luck.

Twombs commented 1 month ago

Well if you are interested and want to give it a try, I finished the update today, and I also managed to do the 'Exclude Extras' option.

https://mega.nz/file/wABGADhT#klcc_T4_6OB2TqR_8ly2OlbAJpEfBAdHuiId1OQWBAQ

The 'Exclude Extras' option has two settings ... (1) Exclude all Extras, or (2) Just Exclude Soundtracks. You can find those two settings at the bottom of the SETUP window. Be advised though, that I have only coded them for normal DOWNLOAD and DOWNLOAD LIST, so as far as I know they won't work with DOWNLOAD ALL. And as you can probably appreciate, only a little amount of testing has occurred in this short development period.

[image: gogcli_setup_10.png]

As for the main part of the update, you can access it via the right-click 'Games' list menu 'Database -> ADD Missing To Database'. It is the last (bottom) entry. Just follow the prompts, making sure you read the 'Slug Selector Information' dialog at least once, available on the 'Slug Selector' window. And likewise, this has only had minimal testing too.

[image: ADD Menu.png] [image: ADD Query.png]

Clicking OK then presents a folder browser, and you select your game or games folder, and all 'Validation.txt' files will be discovered within, and processed one by one. I suggest you try it with a single game folder first, just to get familiar with things. Clicking the EXIT button presents a skip query. After every 10 entries you get an opportunity to abort the whole process.

[image: ADD Selector.png]

Clicking the TRIM button three times brought up the matching entry in the dropdown field, which confirms the slug title is correct.

[image: ADD Crop.png]

Clicking the USE button adds all entries in the 'Validation.txt' file for the current game, to the Database file. Use the 'Path' and 'File' fields as guides, especially when as I found, some files names are abbreviated by GOG.

Results will be shown at the end, and some elements are recorded in the Log file.

[image: ADD Result.png]

On Tue, 21 May 2024 at 03:58, Fugus @.***> wrote:

Yeah, deleted it all but the cookies.txt file. But it's fine. Thanks for all the work either way. Really surprised GoG never just kept their own mass downloading app like they used to have. I have tried their GoG Galaxy and honestly, I am not a fan. Would have rather they just had the mass downloader and then create their own miniature message client you can load up to play multiplayer.

They would have gotten more mileage from just having a playnite extension handle their stuff or, I have read that Heroic Games Launcher does it now as well but haven't really tried that much either.

As far as not playing much, it's fine. I'm 42 and most of my time is spent helping family. And in 10-20 years, most of them will still be here hopefully while I would have long forgot about whatever game I played in that time. And after I got out of WoW back in the day, I swore I would never allow myself to get that far into a game again.

On that note, actually just got a call from my niece asking for a ride to work, lol. Well, have a nice one sir and best of luck.

— Reply to this email directly, view it on GitHub https://github.com/Twombs/GOGcli-GUI/issues/5#issuecomment-2120980059, or unsubscribe https://github.com/notifications/unsubscribe-auth/AESHGWKFWSGJOMGH774ETR3ZDI6DBAVCNFSM6AAAAABHKDOXW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRQHE4DAMBVHE . You are receiving this because you commented.Message ID: @.***>

TomTurbine commented 1 month ago

I thank you but already got my collection step and stored away again. Thanks though.

Twombs commented 1 month ago

No worries. If you ever do get around to trying out those two new features, I'd be interested to know how it went, as I am unlikely to need to use them myself. Cheers

On Wed, 22 May 2024 at 06:34, Fugus @.***> wrote:

I thank you but already got my collection step and stored away again. Thanks though.

— Reply to this email directly, view it on GitHub https://github.com/Twombs/GOGcli-GUI/issues/5#issuecomment-2123440280, or unsubscribe https://github.com/notifications/unsubscribe-auth/AESHGWOKU2NKG4PECA2MVQDZDOZHPAVCNFSM6AAAAABHKDOXW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRTGQ2DAMRYGA . You are receiving this because you commented.Message ID: @.***>

TomTurbine commented 1 month ago

Can do, if I need to mess with it again, I will let you know.

Learned if I play a game, I prefer it on GoG to steam, learned that when your steam library gets too large, it causes it to take forever to start up, even wiped my computer and a fresh install to test that out. The first load would take forever and even the later reboots still took a while to load.

With GoG it was just skipping the client and straight to the game. Now if only their GOG Galaxy didn't suck so much.