Skip to content

ronelm2000/wsmtools

Repository files navigation

WSMTools (Weiss Schwarz Montage Tools)

Nightly CodeFactor Discord Downloads

Weiss Schwarz ©bushiroad All Rights Reserved.

This a CLI (Command Line Interface) tool intended to parse through, process, and export data regarding to Weiss Schwarz cards; specifically, this tool's intention is to make querying, parsing, and exporting cards from various sources easier, as well as provide APIs to expand on that functionality.

For now this tool is barebones (in its alpha stage, so expect some bugs), but I'm hoping it will be able to perform the following:

  • Parse cards into a local database for querying.
  • Parse decks using the local database.
  • Export decks for use into another format.
  • Export the entire local database (or part of it) into another format.

Somewhat stable releases are on the appropriate link, but if you're having some issues with them, you can also try the latest build by registering on GitHub.

Supported Deck Exporters

  • Tabletop Simulator
    ./wstools export https://www.encoredecks.com/deck/CW5ThLgZ7 --with sendtcp
  • Weiss Schwarz Card Game Simulator by Blake Thoennes
    ./wstools export https://www.encoredecks.com/deck/CW5ThLgZ7 --exporter bws
  • DeckLog
    ./wstools export https://www.encoredecks.com/deck/CW5ThLgZ7 --exporter decklog
  • Local Deck JSON
    ./wstools export https://www.encoredecks.com/deck/CW5ThLgZ7 --exporter local

Supported Database Exporters

Supported Deck Parsers

  • Encore Decks
    ./wstools export https://www.encoredecks.com/deck/CW5ThLgZ7 --with sendtcp
  • Deck Log
    ./wstools export https://decklog-en.bushiroad.com/view/EQ53 --with sendtcp
  • Local Deck JSON
    ./wstools export ./my_cool_deck.json --with sendtcp

Supported Card Set Parsers


I know you're probably just here just so that you can quickly netdeck; so how do you do it?

Tabletop Simulator

  1. Install ShareX (Do not use the portable edition).
  2. Extract the binaries into the folder of your choice.
  3. Open PowerShell on that folder. This can be done by holding [Shift] then Right-Click while on the folder. I like dark mode Windows Explorer
  4. Open Tabletop Simulator, and create any game. (Single-Player / Multi-Player / Hotseat)
  5. Execute this command.
./wstools export your_encore_decks_deck_link_here --with sendtcp --out sharex
  1. You will be warned if any of the following are true.
    • Your deck contains cards without an English translation. (Proceed to Known Issues before continuing.)
    • Your deck contains cards which have no saved image link. You will be prompted for an image link if you continue.
  2. A UI should open up in your TTS game, with the Deck Name as indicated.
  3. If ShareX was installed properly, your Deck PNG should be uploaded. I like ShareX this way; it's so convenient
  4. (Optional) You will get the following on your Exports folder if 07 fails for any reason and/or you need to re-upload images: deck_your deck name.jpg, Deck Generator (your deck name).png, Deck Generator (your deck name).png, and Deck Generator (your deck name).json.
    1. Put the Deck Generator files into your Save Objects folder (typically %HOMEDRIVE%%HOMEPATH%\Documents\My Games\Tabletop Simulator\Saves\Saved Objects)
    2. Upload deck_your deck name.jpg to your image hoster of choice.
    3. Load the Saved Object (and make sure no other Deck Generators are loaded!)
  5. In the loaded GUI, place the Deck Image URL Link where provided. (Optional) Place your Character Sleeves URL Link where provided.
    • In ShareX, obtain the Deck Image Link by right-click on the uploaded task, and go to Copy > URL.
  6. You should be able to create decks like this: Tho why do you need effects for decks with English art?

Weiss Schwarz Card Game Simulator by Blake Thoennes

  1. Run the application.
  2. Create a deck named [wstools import] and put any legal deck in it.
  3. Extract the binaries into the folder of your choice.
  4. Open PowerShell on that folder. This can be done by holding [Shift] then Right-Click while on the folder.
  5. Execute this command.
./wstools export your_encore_decks_deck_link_here --exporter blake
  1. The deck which was named [wstools import] should now have been replaced with the exported deck; open it to check for any missing sets.
  2. Once you've verified all the cards are complete without any missing sets/cards, save it as a new deck of your choice. Nothing like an anti-memory memory deck

Known Issues

  • The English Weiss Schwarz exporter is currently not working due to the new website design. This will be fixed in a new version.

  • Some decks from Encore Decks will be untranslated. This is true for all sets without a community translation. In order to resolve this, you must (begrudgingly) use HOTC translations by running the following command first. Personally, I discourage anyone with a 10-foot pole to use it because they don't like people using their translations at all, but the tools are there if you really want to.

    ./wstools parse url_of_translations_summary_html_page

    The HTML page is usually in this link.

    Yes, that one link which is printed

  • HOTC's Weiss Promos and Schwarz Promos do not use YYT (yuyutei) images by default, but instead utilizes DeckLog API image links. If you require the YYT's image links for any reason, they will be included if you parse a set from HOTC of the same Release ID. There are also some PRs that are report to have neither DeckLog images nor YYT images. For these instances, if you try to create a deck with them, you will be warned and be asked to include them manually.

  • Some HOTC pages may not parse successfully due to translation errors, like this from Magia Record. Please report them if seen.

    Why!?!

  • There are alot of missing serials for BlakeWS, including cards that may already have an English card serial but not Japanese.

Building from Source

  1. Install Visual Studio 2022 17.4.1.
  2. Install .NET 7.0 SDK
  3. Go to Tools > Options, then go to Environment > `Preview Features".
  4. Check Use Previews ot the .NET SDK, then restart VS 2022.
  5. Open the .sln file.
  6. Build all projects as necessary. (The startup project is Monatage.Weiss.Tools.)