Skip to content

jericjan/SMD

Repository files navigation

Steam Manifest Downloader (SMD)

starline

Download and decrypt** Steam manifest files. Basically imitates what steamtools does and greenluma couldn't.

[**] Apparently you don't need to decrypt them for it to work lmao

Educational use only. This project is provided for educational purposes only. Use at your own risk.

Need help? Reach out to me on the discord server and we'll sort it out: https://discord.gg/bK667akcjn

Building

It's best if you have uv installed. Download from Releases if you don't want to build it yourself.

  1. Clone the repo
  2. Run uv sync to install dependencies
  3. Download gbe_fork_tools (compiled) and paste the generate_emu_config folder inside \third_party\gbe_fork_tools. It should look something like this now:
├───gbe_fork
├───gbe_fork_tools
│   └───generate_emu_config
│       └───_internal
│       └───generate_emu_config.exe
└───steamless
  1. Download my version of aria2 (has increased limits) and place it in third_party\aria2c\aria2c.exe.
  2. Either run uv run main.py to directly run it or uv run pyinstaller main.spec to build it. You can also build it with build.bat for convenience.

Optional (Requires GCC Compiler):

  1. CD into the c folder and build the MIDI Player with:
    gcc midi_player_lib.c -shared -fPIC -o midi_player_lib.dll
  2. Download this soundfont (WTFPL 2 License) and place it in the c folder. Any soundfont works but just note that bigger files will use more memory.
  3. Download this MIDI and place it in the c folder.

Pre-requisites

This program requires that GreenLuma is installed, preferably in normal mode. Other modes work too but you'll have to specify the AppList folder location manually.

Features

  • Downloads and decrypt latest manifest
  • Downloading lua files from either Manilua (API key required) or oureveryday
  • Stores imported lua files for later use (e.g. updating the game)
  • Cracks games with gbe_fork
  • Removes SteamStub DRM with Steamless
  • Via gbe_fork_tools :
    • steam_settings folder generation
    • Steam\appcache\stats .bin file generation (for Steam achievements directly in the Steam overlay/library)
  • Basic AppList folder management (You can add and delete IDs for now)

Contributing

Whenever you update the dependencies, run this as well to update the requirements.txt file for non-uv users.

uv pip compile pyproject.toml -o requirements.txt

FAQ

(Moved to the wiki)

To-Do

  • keep track on if game was cracked / steamless'd before
    • prompt to automatically crack and steamless if so
  • Use gbe_fork_tools source code instead of using a compiled version

Licenses

This project includes the following third-party components:

Full license texts are available in the third_party_licenses directory or as comments in the respective module file.

Credit

Credit to RedPaper for the Broken Moon MIDI cover, originally arranged by U2 Akiyama and used in Touhou 7.5: Immaterial and Missing Power. Touhou 7.5 and its related assets are owned by Team Shanghai Alice and Twilight Frontier. SMD is not affiliated with, endorsed by, or sponsored by either party. All trademarks belong to their respective owners.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published