smintman / assfix

Steam Proton Assassins creed 2 deluxe and botherhood deluxe helper scripts
18 stars 1 forks source link

Brotherhood Standard Version #3

Open pepper-jk opened 2 years ago

pepper-jk commented 2 years ago

Your fix only applies the "hidden" type to Assassin's Creed Brotherhood - Deluxe CD Key Mac.

However, if one owns the standard edition not he deluxe version, they need to add "hidden" to Assassin's Creed Brotherhood - Standard CD Key Mac.

I have figured out a workaround, but I sadly am not able to create an appinfo.vdf file with only this patch or both deluxe & standard version. As I don't want to upload my personal appinfo containing my library, I will summerize my workaround here.

Hopefully, I will be able to provide the properly patched file in a pull request later.

my workaround:

All that appears to be required is setting the type to hidden_DLC from DLC. So using tralph3/Steam-Metadata-Editor I applied the following patch:

{
  "48197": {
    "original": {
      "appinfo": {
        "appid": 48197,
        "common": {
          "name": "Assassin's Creed Brotherhood - Standard CD Key Mac",
          "type": "DLC",
          "parent": 48190,
          "oslist": "macos",
          "gameid": 48197,
          "exfgls": 1
        },
        "extended": {
          "developer": "",
          "dlcforappid": 48190,
          "gamedir": "Assassin's Creed Brotherhood - Standard CD Key Mac",
          "homepage": "",
          "icon": "",
          "legacykeyregistrationmethod": "registry",
          "legacykeyregistrylocation": "HKEY_CURRENT_USER\\Software\\Valve\\TestApp48197\\SteamKey",
          "mustownapptopurchase": 48190,
          "noservers": 0,
          "primarycache": 7,
          "showcdkeyonlaunch": 1,
          "state": "eStateAvailable",
          "validoslist": "macos",
          "visibleonlywhensubscribed": 1
        }
      }
    },
    "modified": {
      "appinfo": {
        "appid": 48197,
        "common": {
          "name": "Assassin's Creed Brotherhood - Standard CD Key Mac",
          "type": "hidden_DLC",
          "parent": 48190,
          "oslist": "macos",
          "gameid": 48197,
          "exfgls": 1,
          "sortas": "Assassin's Creed Brotherhood - Standard CD Key Mac"
        },
        "extended": {
          "developer": "",
          "dlcforappid": 48190,
          "gamedir": "Assassin's Creed Brotherhood - Standard CD Key Mac",
          "homepage": "",
          "icon": "",
          "legacykeyregistrationmethod": "registry",
          "legacykeyregistrylocation": "HKEY_CURRENT_USER\\Software\\Valve\\TestApp48197\\SteamKey",
          "mustownapptopurchase": 48190,
          "noservers": 0,
          "primarycache": 7,
          "showcdkeyonlaunch": 1,
          "state": "eStateAvailable",
          "validoslist": "macos",
          "visibleonlywhensubscribed": 1
        }
      }
    }
  }
}

Hope this helps anyone encountering the same problem.

smintman commented 2 years ago

Could you create a vdf that only has the one game in. This is how the assassins creed deluxe and brotherhood ones work. The vdf only contains that one game, then when steam is loaded it merges the on disk vdf with the details from online, but remembers the changes.

begin-theadventure commented 2 years ago

How did you make it so short? Manually deleting unneeded stuff?

pepper-jk commented 2 years ago

How did you make it so short? Manually deleting unneeded stuff?

Do you mean me?

I just created it through the GUI. It only creates a json file with the changes. Since I only changed AC brotherhood, it is this short.

pepper-jk commented 2 years ago

Could you create a vdf that only has the one game in. This is how the assassins creed deluxe and brotherhood ones work. The vdf only contains that one game, then when steam is loaded it merges the on disk vdf with the details from online, but remembers the changes.

Sadly no. That is the part I have not figured out yet. I might take another look at this soon though.

I am aware of how the vdf merging works, once we provide the file like in your script.

Once I know how to create the vdf, I will host it somewhere and create a pull request.

begin-theadventure commented 2 years ago

How did you make it so short? Manually deleting unneeded stuff?

Do you mean me?

I just created it through the GUI. It only creates a json file with the changes. Since I only changed AC brotherhood, it is this short.

Ah nvm, now I know.

Could you create a vdf that only has the one game in. This is how the assassins creed deluxe and brotherhood ones work. The vdf only contains that one game, then when steam is loaded it merges the on disk vdf with the details from online, but remembers the changes.

Sadly no. That is the part I have not figured out yet. I might take another look at this soon though.

I am aware of how the vdf merging works, once we provide the file like in your script.

Once I know how to create the vdf, I will host it somewhere and create a pull request.

I wonder though can be fixing with .vdf applied to multiple games at the same time?

pepper-jk commented 2 years ago

I wonder though can be fixing with .vdf applied to multiple games at the same time?

Yes, in theory it can. I actually tried to add the standard version of ACB to the deluxe ACB vdf-file. Sadly the metadata-editor complained about it not being a valid file. I assume, there are certain entries missing you would find in a regularly vdf created by steam. This is most likely due to privacy reasons of the creator. (Again just my thoughts.)

begin-theadventure commented 2 years ago

In theory so currently not in practice. I'll just use .json files with steammetadataeditor -s. And actually why .vdf? With .json files + steammetadataeditor -s + shell script/s we can do the same or even apply fixes for all ACs that need it at the same time.

pepper-jk commented 2 years ago

In theory so currently not in practice.

Yes, that is what theory means...

And actually why .vdf?

Because it is what the script in this repo uses. And before your comment, I was not aware of a different way.

I'll just use .json files with steammetadataeditor -s. [...] With .json files + steammetadataeditor -s + shell script/s we can do the same or even apply fixes for all ACs that need it at the same time.

Could you elaborate on that? Might be worth considering to replace the use of .vdf-files completely and instead add steam-metadata-editor as a dependency.

p.s. According to an e-mail notification from github, you already did that (in this commnt), but it does not appear for me. Seems to have been deleted. Maybe just post your solution again.

begin-theadventure commented 2 years ago

https://github.com/smintman/assfix/issues/2#issuecomment-1074888445 Here in practice: https://github.com/begin-theadventure/acfix/blob/main/AC%20Brotherhood/Standard%20Edition/acbsefix.sh

pepper-jk commented 2 years ago

I see you collect all the solutions in your repo.

As you mentioned before there should be a more elegant solution. Adding all the modifications into one .json file and adding it via steam-metadata-editor, similar to how you do it now.

Should be easy enough.

begin-theadventure commented 2 years ago

I see you collect all the solutions in your repo.

As you mentioned before there should be a more elegant solution. Adding all the modifications into one .json file and adding it via steam-metadata-editor, similar to how you do it now.

Should be easy enough.

Yeah, I though about it before and here it is: https://github.com/begin-theadventure/acfix/blob/main/AC%20All/acallfix.sh

BubbyNX commented 2 years ago

This fix worked for me, thank you!! @pepper-jk

smintman commented 2 years ago

Looks like the latest steam client beta might have fixed this..!?