-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Binary VDF support? #6
Comments
I have no plans to implement binary VDF support right now, but a PR sounds great if you can work on it! The text-based VDF format is fairly documented, but the binary one isn't. There are some good links at this Reddit post. There's also the leaked Source engine code from a while back. We'll have to see how significant a change this would be for the API. Given a stream, can we detect if it is regular VDF or binary? Are there changes to how the data is structured? |
@SteffanDonal If you haven't worked on this yet, I plan to do so sometime soon. |
Okay so I looked into this a while back, and the biggest problem is that most of Steam's VDF files like On idea would be to use a separate package like |
Heads up, it seems like the binary format for VDF files is pretty straightforward when it comes to grabbing field names/values, as per shortcuts.vdf and https://github.com/CorporalQuesadilla/Steam-Shortcut-Manager/wiki/Steam-Shortcuts-Documentation (though that's slightly outdated as it's missing fields and misunderstands little-endian ints as booleans with 3-byte 00 padding). |
In text based VDF (i.e. KV1), all values are strings. In KV2, they have specific types. I'm unsure about binary VDF.
It's been a while since my deep dive on binary VDF. IIRC each file like I'm happy to consider/discuss any suggestions you may have for this. One TODO is to see how the leaked source engine code does it. |
Just a heads up: The guys responsible for ValveKeyValue have implemented it in there library. They have a Sample project available as well. Maybe it helps implementing it in your amazing library. |
Hey!
Recently you fixed an issue where it would throw if the VDF was empty - thanks for that. I've been poking around Steam and I've found a very useful looking file:
Steam\appcache\appinfo.vdf
Problem is it's using binary VDF, which doesn't seem to be supported.
Are there any plans to extend this library to support it? If not, would you be open to accepting a pull request that adds support?
The text was updated successfully, but these errors were encountered: