Touhou Patch Center:Download
Project overview | ||||||
---|---|---|---|---|---|---|
About | Tutorial | FAQ | Download | Patch servers | Bug tracker | Wiki security |
Main Package (Multi-Language, Multi-Game)
- Latest build: 2020-06-06
- Changelog
- Source code: @ GitHub
Pre-packaged patches based on our English translation (not recommended).
System Requirements
- Windows XP or later; also works with Wine
- Internet connection only required for initial configuration and updating; without a connection, thcrap will simply use the last downloaded state
Setup Instructions
Image walkthrough (slightly outdated, though)
Video walkthrough
Concise
- First of all, you don't need to extract this into a specific game directory. The patcher can run from any directory.
- Run thcrap_configure.exe and follow the instructions to create your patch configuration.
- You'll end up with a .js file (the configuration itself) as well as links to start every Touhou game found on your system with this configuration. Note that thcrap does not modify any existing Touhou installation on your system.
Detailed
- Download Patch and unzip (directory does not have to be specified; feel free to place wherever you want)
- Run thcrap_configure to find the Touhou games.
- Pick your languages.
Yes, plural. If you understand English to some degree, we recommend to always include lang_en at the bottom, and your native language on top of that. Read more on the topic of patch stacking here. - Wait for the downloads to occur.
- In the browsing dialog, select the path where your Touhou games are located, or hit Cancel to search your whole system.
- Select your preferred version out of the Touhou games with multiple versions on your system.
- Use shortcuts.
- Enjoy.
Running on top of vpatch
This is possible as of the 2013-10-25 build. Unfortunately we can't automate such a setup due to the DLL-centric design of vpatch, so this requires a few manual steps:
- In order to make Embodiment of Scarlet Devil run at all, replace vpatch_th06.dll with our modified Unicode version.
- Configure your patch stack as usual. If you have multiple versions of the games installed, it is merely important to choose the correct directory at this point.
- Open the generated games.js in a plaintext editor, and replace the game's .exe file names with vpatch.exe (or whatever the local vpatch executable is called).
- Starting the games through the shortcuts will then launch thcrap, vpatch and the game itself. thcrap will automatically enable support for Japanese characters and file names, so AppLocale is not required (yes, not even for 東方紅魔郷.exe).
Tricks
File Output
Usage: To dump all the files used in a Touhou game as it runs. This is useful for locating a certain sprite name for image replacement as well as advanced patching.
Steps:
- Locate the .js file that is created when you run
thcrap_configure.exe
(this would be whatever you named your shortcuts, so if you called your shortcut "en" then the .js file will also be called en.js). - Open it with your text editor (notepad, editpadpro, etc)
- Change
"dat_dump": false
to either
"dat_dump": true
- this will output files to wherever you placed your original game, in a folder calleddat
"dat_dump": "C:/name/to/dump/path/"
- this will output files into the given directory.
Then, run the shortcut.
Steam
Usage: To place the shortcuts into Steam. Full integration is one of our contemplated ideas.
Steps: See here
Troubleshooting
A complete patch setup is made up of a number of individual parts, any one of which will be responsible for the issue you're experiencing. If possible, please try to pin down the cause before reporting an issue to us.
- Does the issue appear in the original, unpatched game?
- While thcrap fixes some of the bugs in the original games as part of its patch support, we sadly don't have the capacities to fix all of them, as we are mostly busy with thcrap's own bugs and features, first and foremost. Still, please report the issue, maybe it is trivial enough that one of our developers can look at it and fix it fairly quickly.
- Try removing patches from your stack, one by one, starting at the bottom.
- To do this, edit the run configuration .js file generated by thcrap_configure in a plaintext editor like Notepad.
- For example, if you only selected the English translation, you'd edit en.js (or whatever you've named it). You'd first remove the section, then check whether that fixed your error, using your existing shortcuts or launchers. If it didn't, remove the next patch, and so on.
, { "archive": "thpatch/lang_en/" }
- If you are unfamiliar with JSON, use JSONLint or JSON Formatter to verify the syntax of your edited file. This site also gives you helpful error messages if you e.g. left a comma at the end of the "patches" section.
- If necessary, repeat this until you have no patches left. Note that running thcrap with no patches is still different from running the original, unpatched game. It still applies the game-independent features of thcrap, like its locale independence code or its propagation to child processes, onto the game, which might be the cause of your bug.
- If the bug still appears with no patches, you're done. But if you could identify a patch that caused your issue:
- Temporarily delete or rename thcrap_update.dll in the thcrap directory.
- Look at thcrap_log.txt and check which files of that patch are actually loaded by the game. These are indicated by lines beginning with a + .
- Delete those files one by one, until the bug doesn't appear any more.
- These files will be re-downloaded once you restore thcrap_update.dll.
- Now that you know the exact cause, report all the info you've gathered to the team, and they will be happy about your detailed bug report, and certainly less frustrated than if you just posted one screenshot of the bug. ☺
Known issues
My game isn't recognized by the configuration tool
Issue: The game does not create a shortcut to certain games.
Solution: If that game happens to be Embodiment of Scarlet Devil or any of the fighting games ( Immaterial and Missing Power, Scarlet Weather Rhapsody, Touhou Hisoutensoku or Hopeless Masquerade): thcrap does not support them yet.
Otherwise, please post the game's executable on either Discord or our IRC channel #thcrap on irc.freenode.net. We'll see what we can do.
Dialog
Blank text
Issue: There is a known issue with Wine not displaying untranslated Japanese text. This is due to Wine's glyph replacement system not being sophisticated enough to use Japanese glyphs from a default system font in case the currently selected font (Touhou Biolinum for Latin script languages) does not contain Japanese glyphs, as is the case on Windows.
Workaround: None. This is an issue in Wine.
Dialogue does not fit in text box
Issue: In-game text cut off when characters are speaking.
Solution: ZUN's engine has never been able to do automatic line breaks, and we don't want to combat this by having the wiki parser guess where to put a line break. This means that all of the line breaks have to be done manually.
If you see such a line, just log in, look for the corresponding page and split it yourself. If it's a 3rd party patch, then e-mail the project leader about the issue, or tell them on GitHub or wherever they host their patch.
Errors
Could not load the function: thcrap_init
Issue: Error: Could not load the function: thcrap_init
Solution: We don't know yet what exactly this causes - if you have this problem, please get in touch with us so that we can debug it. Probably some antivirus. Reinstalling thcrap and the affected game seems to help.
Japanese text error
Issue: You get an error message that looks the picture on the right.
Solution: You are running more than one game process, could be because you attempted to open another game while one is running or you have zombie game processes that are running. Open one game only if it's the former or open task manager and kill the zombie processes if it's the latter.
The translation is incomplete/missing
Issue: The text is appearing in japanese.
Solution: This is not a bug; the translations on the wiki have not been finished yet, and we would need someone to complete the translations.
Patch configuration
Why does Patch X not work with Patch Y?
Issue: When using a patch, some of the features mix together!
Solution: When you are using multiple patches, the order is important. For example one may want to use Gamer251's Mima patch for the Mima sprite and dialog, the Alphes patch for Alphes-style art, and our English patch to have the rest of the game translated to English. If one was to use the Mima patch first, then the Alphes patch, then the English one, they would discover that while the other patches were applied, the English title screen was applied to the Mima's custom title. So for a typical patch selection, the correct way to select a patch if it's not already not added for you (as seen with Nazeo's gangster patch) is using the main language first, then the mod.
Updating
Issue: The game does not seem to update.
Solution: You are using an old version of thcrap. Download the most current version and this should resolve the issue.
HALP
Issue: Something not covered here? Everything just going wrong? We have the solution! (Most of the time)
Solution: Please visit our Discord or IRC channel #thcrap on irc.freenode.net. Things we would need are OS, game, what you were doing, and the patcher's log file (thcrap_log.txt).
Run configuration parameters
Root level
dat_dump
- Dumps original game data from the .dat archive as it's loaded.
- As of the 2013-07-29 build, this also dumps the sprite boundaries for all graphic files.
- values: false to disable, directory string to specify directory, anything else will enable dumping into game directory/dat
console
- Enables or disables the on-screen patch debugging console.
- values: true / false
font
- Changes the font used in the game to any other font installed on your system.
- values: string
Patch level
archive
- Specifies the base directory of this patch. Must end in a forward slash (/).
- As of the 2014-01-03 build, this can be a directory relative to the one the run configuration is stored in.
- value: string
ignore
- Ignores any files from this patch that match the given wildcard.
- value: array of strings
Example: Disabling music title and spell card translations for a specific language
{
"archive": "thpatch/lang_en/"
},
{
"archive": "thpatch/lang_pt-br/",
"ignore": ["*themes.js", "*spells.js"]
},
update
- Set to false to disable automatic updates for this patch.
- value: true/false
Alternatively, you can safely delete thcrap_update.dll after configuration to remove all on-line functionality.