Touhou Patch Center:Servers/zh-hans: Difference between revisions

From Touhou Patch Center
Jump to navigation Jump to search
(Created page with "== 镜像 == 为保持我们的翻译可用性,由Touhou Community Reliant Automatic Patcher使用的补丁数据在多个服务器上被镜像。 {{thcrap_servers}}")
No edit summary
 
(66 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Project overview/{{pagelang}}}}
{{Project overview/{{PAGELANGUAGE}}}}
<languages />
<languages />
== 镜像 ==
== 镜像 ==
Line 5: Line 5:
{{thcrap_servers}}
{{thcrap_servers}}


As the main server, [http://srv.thpatch.net srv.thpatch.net] is the most up-to-date resource and directly receives translations after they were made in the wiki. The other mirrors pull the latest state from there every minute.
作为主服务器,[http://srv.thpatch.net srv.thpatch.net]是最新的资源,并且在wiki出现修改时直接接收翻译。 其他镜像每分钟从那里同步出最新状态。


Just like the content on the wiki, the translations and images on this server are licensed under {{License URL}}.
就像维基上的内容一样,此服务器上的翻译和图像都根据{{License URL|署名-相同方式共享 4.0 国际}}许可。


== Neighbors ==
== 邻居 ==
This list contains links to third-party patch repositories not under our control. When pointed to {{SITENAME}}, the configuration tool will offer to choose patches from these repositories as well.
此列表包含一些第三方补丁的仓库链接,这些仓库不受我们控制。当指向{{SITENAME}}时,配置工具还将提供从这些仓库中选择补丁的功能。


If you want your repository to be included in this list, please send a mail to <tt>[mailto:submissions@thpatch.net submissions@thpatch.net]</tt>, containing the public path to your repository (this is the <tt>"servers"</tt> value in <tt>repo.js</tt>). In case you use Git to manage your server, you can also request it to be automatically mirrored on <tt>[http://mirrors.thpatch.net/ mirrors.thpatch.net]</tt>. This is highly recommended in order to keep your patches available in case the original host happens to go down.
如果你想让你的补丁也包含在此列表,请发送邮件至<code>[mailto:submissions@thpatch.net submissions@thpatch.net]</code>,并在邮件中提供仓库的公共路径(<code>repo.js</code>中的<code>"servers"</code>值)。如果你使用git管理服务器,还可以请求将其自动镜像到<code>[http://mirrors.thpatch.net/ mirrors.thpatch.net]</code>。为了在原始主机发生故障时保证补丁的可用性,强烈建议你这样做。


{{thcrap_neighbors}}
{{thcrap_neighbors}}


== Building your own patch server ==
== 搭建自己的补丁服务器==
{{mbox|text='''Please note that this guide is a bit dated.''' The most common way to host now is through [https://mirrors.thpatch.net/ mirrors.thpatch.net], which automatically does the <tt>repo_update.py</tt> stuff. All you need to do is create appropriate repo.js and patch.js for your patch and publish it through git. See more details in a [https://discordapp.com/channels/213769640852193282/395767870119870466/590774941197139989 guide] on our [https://discord.thpatch.net/ discord server].
{{mbox|text='''请注意,本指南有点过时了。'''现在最常用的提供服务的方法是通过[https://mirrors.thpatch.net/ mirrors.thpatch.net],它可以自动执行<code>repo_update.py</code>。你只需要为你的补丁创建适当的repo.js和patch.js并通过git发布。请在我们的 [https://discord.thpatch.net/ discord服务器] 上的 [https://discordapp.com/channels/213769640852193282/395767870119870466/590774941197139989 指南] 中查看更多详细信息。


Also note that GitHub for Windows has been replaced by GitHub Desktop, which has a different <!--(horrible) -->interface.}}
还要注意,GitHub for Windows已由GitHub Desktop取代,后者具有不同的<!--(horrible) -->接口。}}


As of the 2014-01-26 build, [[Project:Download|thcrap]] includes a Python script to assist in building your own self-updating patch server, where you can publish your own patches while having full control over them. While this may sound pretty involved, it really is not that complex – we deliberately designed the system in such a way that no specific server software is required. Anything that uses the HTTP protocol and allows for arbitrary files to be stored and served to the Web while retaining their file names and directory structure can be used.
对于2014-01-26及以后的版本, [[Project:Download|thcrap]] 包含了一个Python脚本,它可以帮助你构建你自己的自更新补丁服务器。您可以在其中发布自己的补丁,同时完全控制它们。虽然这听起来很复杂,但实际上并没有那么复杂——我们特意以不需要特定服务器软件的方式设计系统。可以使用任何支持HTTP协议并允许在保留文件名和目录结构的情况下将任意文件存储并发布到网络的任何东西。


You don't even have to pay for webspace in order to do this; there are a number of free cloud storage providers that work just as well. Below, you can find tutorials on how to set up your own repository on one of these. All these tutorials are written for Windows only, but if you use a different operating system, you should have no trouble adapting them. ☺
要做到这件事,你甚至无需为网络存储付费;有许多免费的云存储提供商可以很好的工作。在下面,您可以找到有关如何在免费云存储上设置自己的存储库的教程。所有这些教程都是仅针对Windows编写的,但如果你使用其他操作系统,你应该可以毫无困难地适应它们。☺


=== Overview ===
=== 概述 ===
To explain the terminology:
术语解释:


* First, we have ''patches''. These are basically just unordered collections of files that provide replacements for certain original game data. One patch can provide data for an unlimited number of games.
* 首先我们有 ''补丁'' 。补丁基本上只是无序的文件集合,它们可以替换某些游戏原始数据。一个补丁可以为不限数量的游戏提供数据。
* Patches are grouped in ''repositories''. These are in turn collections of all the different patches offered and controlled by one person or community.
* 补丁在 ''仓库'' 中分组。仓库依次是一个人或社区提供和控制的所有不同补丁的集合。


You start by creating a ''repository'', then one or more ''patches'', which you then regularly publish on a ''server''.
首先创建一个 ''仓库'' ,然后创建一个或多个 ''补丁'' ,然后定期将其发布在 ''服务器''


=== Local setup ===
=== 本地配置 ===
First, you need to think of a ''globally unique, short ID'' for your repository. This could simply be your name, or the name of your community. For the sake of this tutorial, we'll call it <tt>RepoDir</tt>.
首先,你需要给仓库取一个 ''全局唯一的短ID'' 。这可以只是你的名字,或者你社区的名字。本教程中,我们就用 <code>RepoDir</code>


You also need to do the following:
你还需要做下面这些:


# Download and install [[File:Python.svg|16px]] [http://python.org/download/releases/ Python 3], if you don't have it already. Be sure to make a note of the path it gets installed to.<br />(This is the programming language the repository build script is written in.)
# 下载并安装 [[File:Python.svg|16px]] [http://python.org/download/releases/ Python 3] ,如果你还没有安装,确保记住它的安装路径。<br />(这是一种编程语言,用于编写构建仓库的脚本)
# Create a new directory named <tt>RepoDir</tt> inside your thcrap directory.<br />This will be your ''local repository path'', where all your patch development will take place.
# 在你的thcrap目录中,新建以 <code>RepoDir</code> 命名的目录。<br />这将会是你的 ''本地仓库路径'' ,也就是你所有补丁开发的地方。
# Inside <tt>RepoDir</tt>, create a new directory for each of your patches, named after their respective short ID. We'll use <tt>PatchDir</tt> as an example.
# <code>RepoDir</code> 中,为每个补丁创建一个新目录,并以各自的短ID命名。本教程就以 <code>PatchDir</code> 为例。


=== Patch setup ===
===补丁配置 ===
For each patch, create a file named <tt>patch.js</tt> in <tt>RepoDir\PatchDir</tt>. '''This is mandatory''', the build script won't recognize the patch otherwise.
<code>RepoDir\PatchDir</code> 中为每个补丁创建一个名为 <code>patch.js</code> 的文件。'''这是强制性的''',否则构建脚本将无法识别该补丁。


All files with a JS extension are [http://json.org JSON format files]. You can validate their syntax using sites like [http://jsonlint.com/ JSONLint].
所有 <code>.js</code> 结尾的文件都是 [http://json.org JSON格式的文件]。您可以使用类似 [http://jsonlint.com/ JSONLint] 的网站验证其语法。


{{mbox|text=Note that '''anything''' you put in '''any''' of your patch directories will be published by the script, and downloaded by every user of your patches!}}
{{mbox|text=请注意,你放在 '''所有''' 补丁目录下的 '''所有文件''' 都将被脚本发布,并被所有使用了你的补丁的人下载!}}


==== Dependencies ====
==== 依赖 ====
These are set using the <tt>dependencies</tt> array in <tt>patch.js</tt>, and ensure that the configuration tool automatically pulls in all required functionality for your patch.
依赖使用 <code>patch.js</code> 中的 <code>dependencies</code> 数组设置,并确保配置工具自动为您的补丁提取所有必需的功能。


Dependency statements have the form <tt>repo_id/patch_id</tt>. <tt>repo_id</tt> is optional - leaving it out will resolve the given patch first on your repository, then globally across all repositories a user has discovered. Be careful, this might have unintended consequences when used with a patch not in your repository.
依赖声明的格式为 <code>repo_id/patch_id</code><code>repo_id</code>是可选的——若省略,首先会在你的仓库中解析,随后在用户发现的所有仓库中全局解析。注意,使用不在你仓库中的补丁可能会带来意料之外的后果。


Some of the patches from the network you may want to bundle are:
你可能需要或者想依赖的补丁包有这么一些:
* <tt>nmlgc/base_tsa</tt>: The basic technical support for Windows Touhou games. '''If your patch targets any of these games, make absolutely sure to include this one in some way!''' Otherwise, the configuration tool may not pull it in and the resulting configurations may not work!
* <code>nmlgc/base_tsa</code>: Windows上的东方游戏的最基础技术支持包。''如果你的补丁包要在任何这些游戏中生效,请一定要确保依赖这个补丁包!''否则配置工具不会把这个包同步下来,也就会导致配置失效!
* <tt>nmlgc/script_latin</tt>: Contains [[:File:THBiolinum (unscaled).otf|a font with sufficient Unicode coverage for Latin, Greek and Cyrillic scripts]], some settings to make it look as nice as possible for every game, as well as Hepburn romanizations for common terms and images.
* <code>nmlgc/script_latin</code>: 包含了[[:File:THBiolinum (unscaled).otf|一个对拉丁、希腊和西里尔文字有足够Unicode覆盖率的字体]],拥有一些能够尽可能优化每个游戏的设置,包括对平文式罗马字形式的词语和图像的优化。
* <tt>nmlgc/western_name_order</tt>: Exactly what it says – Western name order for the enemy names during boss battles.
* <code>nmlgc/western_name_order</code>: 正如其名,将Boss战中显示的名字改为西式顺序(先名后姓)。
* <tt>thpatch/lang_en</tt>: Not only does this give you our up-to-date English translation, it also ensures that any other dependencies for a translation patch (such as all three patches mentioned above) will be present when selecting your patch in the configuration tool.
* <code>thpatch/lang_en</code>: 这个补丁不仅仅是会带来最新的英文翻译,它还确保在配置工具中选择补丁时,翻译补丁的任何其他依赖(如上面提到的所有三个补丁包)都将存在。


===== Examples =====
===== 样例 =====
A basic configuration for a translation patch using a non-English Latin script language:
使用非英语拉丁语脚本语言的翻译补丁的基本配置:


<syntaxhighlight lang="javascript" enclose="none">
<div lang="en" dir="ltr" class="mw-content-ltr">
<syntaxhighlight lang="json" inline>
{
{
"dependencies": [
"dependencies": [
Line 71: Line 72:
]
]
}</syntaxhighlight>
}</syntaxhighlight>
</div>


Pulls in all of the above (and maybe even more in the future) plus the English translations:
以上所有内容(将来可能更多)再附上英语翻译的设置:


<syntaxhighlight lang="javascript" enclose="none">
<div lang="en" dir="ltr" class="mw-content-ltr">
<syntaxhighlight lang="json" inline>
{
{
"dependencies": [
"dependencies": [
Line 80: Line 83:
]
]
}</syntaxhighlight>
}</syntaxhighlight>
</div>


==== Fonts ====
==== 字体 ====
If your patch includes custom fonts, register them using the <tt>fonts</tt> object. This is a simple list of every font file name to load before starting the patched game:
若您的补丁包含自定义字体, 请用<code>fonts</code>进行注册。 以下是对游戏应用补丁前需要加载
的字体列表:


<syntaxhighlight lang="javascript" enclose="none">
<div lang="en" dir="ltr" class="mw-content-ltr">
<syntaxhighlight lang="json" inline>
{
{
"fonts": {
"fonts": {
Line 92: Line 98:
}
}
</syntaxhighlight>
</syntaxhighlight>
</div>


(thcrap does not look at the actual value of the key, ''true'' in this example.)
(thcrap并不检查这些项目的值,"true"仅为参考)


==== OK, and how do I do X? ====
==== 好的,接下来我该怎么做 ====
Well, thcrap can do a lot of things. Until we have described them all, your best bet is to look at how our patches do the things you intend to do. If you still have questions, just visit our IRC chat, ask us, and we'll be glad to help you.
thcrap可以做很多事情。 在我们全部进行介绍前,您最好先看看我们的补丁如何实现您的
打算。若您仍有疑问,请进入我们的IRC聊天室提问,我们很乐意为您解答。


=== Server setup ===
=== 建立服务器 ===
The rest of this tutorial differs depending on the webspace or server provider you use.
本教程的剩余部分因您使用的网络空间或服务器提供商而异。


==== Using [[File:GitHub.png|24px]] [https://www.github.com/ GitHub] ====
==== 使用[[File:GitHub.png|24px]] [https://www.github.com/ GitHub] ====
This is the recommended option. It will keep your repository under a revision control system and thus store the entire history of your patches, which can then be viewed nicely on the GitHub website. We are also thinking about adding direct Git support to the thcrap updater in the future, which would make this setup even simpler.
此为推荐选项。它能使你的仓库处于版本控制的管理下并储存历史补丁版本,并可以方便的
在Github上进行阅览。我们也考虑为thcrap的更新程序添加Git支持,以此让安装更为简便。


If you're already familiar with Git: Just run <tt>repo_update.py</tt> every time before you commit. If you aren't, how to set it up on Windows:
如果您已经熟悉Git: 只需在每次提交前运行<code>repo_update.py</code>。如果您不熟悉,以下是
如何在Windows进行设置:


# Make sure you have version [http://thpatch.net/wiki/Touhou_Patch_Center:Download 2014-05-08 or later] of thcrap. This build introduces some important changes to the repository script which make GitHub support possible in the first place. Also make sure that thcrap.zip and it's contents are in the same directory as your patches. Otherwise you will get an error that repo_update is missing.
# 确保你的 Thcrap 为 [[Project:Download|2014-05-08或更新]]版本。此版本对仓库脚本进行了一些重要更改。并确保 thcrap.zip 及其内容与补丁位于同一目录下。 否则将提示“ repo_update 丢失”的错误。
# Register a new free account on GitHub if you don't have one yet.
# 如果您没有 GitHub 账户,请前往网站注册。
# <p>On your dashboard, create a new repository with the default settings. Its name does not necessarily have to correspond with the name you chose for <tt>RepoDir</tt> in your local setup.</p><p>[[File:GitHub Tutorial 02 - Dashboard.png|border]]</p><p>[[File:GitHub Tutorial 03 - New repo.png|border]]</p>
# <p>在您的用户界面上,使用默认设置创建一个新仓库。它的名称无需与您在本地的 <code>RepoDir</code> 名称一致。</p><p>[[File:GitHub Tutorial 02 - Dashboard.png|border]]</p><p>[[File:GitHub Tutorial 03 - New repo.png|border]]</p>
# Download and install the [https://windows.github.com/ GitHub Windows client] and log in with your GitHub account.
# 下载并安装 [https://windows.github.com/ GitHub Windows 客户端]并登录你的 GitHub 账户。
# <p>In the Options menu, set the ''default storage directory'' to your thcrap directory, and put your name and e-mail address in the ''configure git'' section.</p><p>[[File:GitHub Tutorial 05 - Login.png|border]]</p>
# <p>Options 选项卡中,设置''default storage directory''为你的 thcrap 目录,并在''configure git''项中填入用户名和邮箱。</p><p>[[File:GitHub Tutorial 05 - Login.png|border]]</p>
# <p>Clone the repository you created on GitHub into your thcrap directory.<br />If your local repository directory shares its name with the one on GitHub, this will fail. In that case, just rename your local directory temporarily, then move all of its contents into the newly created directory after the cloning process is complete.</p><p>[[File:GitHub Tutorial 06 - Clone.png|border]]</p>
# <p>将你在GitHub创建的仓库Clone到 Thcrap 目录。<br />如果你的本地目录与 GitHub 仓库名一样则会导致失败。这种情况下,只需要暂时先重命名本地目录,之后待Clong完成后将所有的文件移入新建的目录即可。</p><p>[[File:GitHub Tutorial 06 - Clone.png|border]]</p>
# <p>In the newly cloned directory, create a file named <tt>Update.bat</tt>, which you will use to launch thcrap's update script:</p>
# <p>在新Clone好的目录中,创建名为<code>Update.bat</code>的文件,用于运行Thcrap的更新脚本:</p>
<syntaxhighlight lang="dos">
<syntaxhighlight lang="dos">
C:\path\to\python.exe ..\scripts\repo_update.py
C:\path\to\python.exe ..\scripts\repo_update.py
pause
pause
</syntaxhighlight>
</syntaxhighlight>
:: Then run <tt>Update.bat</tt> and set the basic parameters of your repository. The repository ID should be the same as its directory name, and the public URL for GitHub is:
:: 之后运行 <code>Update.bat</code> 并设置仓库的基本参数。 仓库ID应当与目录名称一致,GitHub 的公共 URL 为:
:::<tt><nowiki>https://raw.githubusercontent.com/</nowiki>''GitHub-user-name''/''GitHub-repository-name''/master/</tt>
:::<code><nowiki>https://raw.githubusercontent.com/</nowiki>''GitHub 用户名''/''GitHub 仓库名''/master/</code>
::<p>[[File:GitHub Tutorial 07 - repo_update.png|border]]</p>
::<p>[[File:GitHub Tutorial 07 - repo_update.png|border]]</p>


That's it for the basic setup. After you have made some edits to your patches, this is how you publish them:
以上是基本设置。下面是在完成补丁制作后,如何将其发布:
# Run <tt>Update.bat</tt>.
# 运行<code>Update.bat</code>
# Open the GitHub client and navigate to your patch repository. This should give you all changes since the last commit as well as the option to create a new one.<br /><del>'''Be sure to do this immediately after running the update script!''' If you run thcrap with the patch you are editing '''before''' committing, the updater will '''overwrite''' your changes with the last state on the server!</del> As of 2017-02-05, automatic updates are automatically disabled if the patch is located inside a git repository.
# 打开 GitHub 客户端并进入您的补丁仓库页面。页面应当为您提供自上次提交以来的所有更改以及创建新更改的选项。<br /><del>'''请务必于运行更新脚本后立即操作!''' 如果在'''提交之前'''运行 Thcrap 使用正在编辑的补丁,更新程序将使用服务器上该补丁的最后状态'''覆写'''你的更改!</del> 自2017-02-05起,若补丁位于git仓库中,自动更新将禁用。
# <p>Verify the changes you are about to commit. If everything went fine, each file  you changed should now have a different checksum in the <tt>files.js</tt> file of the affected patches:</p><p>[[File:GitHub Tutorial 08 - Commit.png|border]]</p>
# <p>验证您将要提交的更改。如果一切正常的话,每个您更改的文件在所受影响补丁的<code>files.js</code>中应该具有不同的校验和:</p><p>[[File:GitHub Tutorial 08 - Commit.png|border]]</p>
# Then, simply click ''commit to master'', followed by ''publish'', and your changes are live.
# 之后,只需单击''commit to master'',并单击''publish'',您的更改就会生效。


<div lang="en" dir="ltr" class="mw-content-ltr">
<div style="clear:both;"></div>
<div style="clear:both;"></div>
</div>


== Making your repository known ==
== 推广你的仓库 ==
In order for your patch to be seen and able to be used by others globally, there are generally three methods:
为了让您的补丁在全球范围内被其他人看到并能够使用,通常有以下三种方法:
* After your repository has been uploaded, anyone else can then discover it by calling <tt>thcrap_configure</tt> with your URL as a command-line parameter.
* 在您的仓库被上传,其他人都可以通过使用您的 URL 作为命令行参数调用 <code>thcrap</code> 发现它。
* If you have a own website, blog, etc., you can upload a custom version of the thcrap archive containing the <tt>repo.js</tt> file inside your local repository directory. This is generally not recommended, though
* 如果您有自己的网站、博客等,您可以上传一个在目录中包含<code>repo.js</code>文件的自定义版本。 虽然我们不推荐这么做。
* The best method, however, is to contact us on https://thpatch.net/w/logos/discord.png [https://discord.thpatch.net Discord] and tell us your repository URL to get listed in the {{ns:4}} network as one of our neighbors.
* 然而最好的方式是在 https://thpatch.net/w/logos/discord.png [https://discord.thpatch.net Discord] 联系并告诉我们您的仓库 URL ,以作为我们的邻居之一在东方补丁中心网络中列出。
[[Category:Project overview]]

Latest revision as of 16:30, 16 October 2023

项目总览
关于 教程

FAQ

下载 补丁服务器 github.png Bug 反馈 Wiki 安全性

镜像

为保持我们的翻译可用性,由Touhou Community Reliant Automatic Patcher使用的补丁数据在多个服务器上被镜像。

Server URL
thpatch.net main server (HTTPS) https://srv.thpatch.net/

作为主服务器,srv.thpatch.net是最新的资源,并且在wiki出现修改时直接接收翻译。 其他镜像每分钟从那里同步出最新状态。

就像维基上的内容一样,此服务器上的翻译和图像都根据署名-相同方式共享 4.0 国际许可。

邻居

此列表包含一些第三方补丁的仓库链接,这些仓库不受我们控制。当指向Touhou Patch Center时,配置工具还将提供从这些仓库中选择补丁的功能。

如果你想让你的补丁也包含在此列表,请发送邮件至submissions@thpatch.net,并在邮件中提供仓库的公共路径(repo.js中的"servers"值)。如果你使用git管理服务器,还可以请求将其自动镜像到mirrors.thpatch.net。为了在原始主机发生故障时保证补丁的可用性,强烈建议你这样做。

URL Title Patches
https://mirrors.thpatch.net/nmlgc/ Nmlgc's patch repository
  • aero (Enable Aero compositing)
  • base_tasofro (Basic support for Tasogare Frontier games)
  • base_tsa (Basic support for Team Shanghai Alice games)
  • bitch (Keep Alice's "bitch" line in TH08)
  • cheat (Various cheats, ported from SpoilerAL .ssg files)
  • eastern_name_order_hepburn (Character names in eastern order and hepburn spelling.)
  • instant_ending (Show the ending immediately upon entering Stage 1
                         (missing support for TH07 and TH08))
  • official_en (Official English translations)
  • real_bullet_size (Resize bullets to match their actual hitbox
                         (by sibgamer, http://tinyurl.com/real-bullet-size))
  • script_latin (Shared data for languages using Latin script)
  • twenty_four_hour_clock (24-hour clock format in TH08)
  • western_name_order (Western name order)
https://raw.githubusercontent.com/Ghildrean/touhou-es-es/master/ Traduccion al castellano
  • ghildrean (Traduccion al castellano)
https://raw.githubusercontent.com/Gamer251/thcrap-gamer251/master/ The Amateur Modder
  • mima (The return of Mima! (English)
                         This mod has a few bugs in the fighting games.)
https://raw.githubusercontent.com/soap925/BurntToast-Mod-Stockhouse/master/ BurntToast12's Mod Stockhouse
  • Sakuya! (This Adds Sakuya As A Playable Character)
  • Sakuya!NoBackgroundOnWatch (This Removes Th13's Pocketwatch Background.)
  • Yuuka! (Adds Yuuka As A Playable Character)
https://raw.githubusercontent.com/Nutzer/Touhou-8.3/master/ Nutzer
  • Touhou-8.3 (Nutzer's Touhou 8.3 (Demo 0.1a))
https://raw.githubusercontent.com/Zrrg/UnKnwn/master/ UnKnwn Thcrap Repository
  • bl_reimu (BlueReimu: Sprite and portraits replacement. (Th10+))
  • untanned_cirno (UntannedCirno)
https://raw.githubusercontent.com/DTM9025/DTM/master/ DTM's Patch Repository
  • alphes (Alphes Styled Character Portraits (Art by Dairi))
  • lang_en-shifted_bgm (English Language pack with shifted music titles in stage)
  • transparent_season_items (Increases the transparency of season items (by Namusan))
https://mirrors.thpatch.net/wobuffet3/ Wobuffet3's patches
  • altplayers ((TH16) Replaces player images with Sumireko, Seija, Yabusame, and Tsubakura.)
  • marisaspeak ((TH12-19) Reverts Marisa's cowboy dialect.)
  • spaghetti ((TH16, 16.5, 17) Turns everything into spaghetti. Contains 'visuals' patch.)
  • th18strings ((TH18, 18.5) Enhances Th18's music by making songs sound less empty. Also enhances Saki's theme in Th17 and the reused songs in Th18.5.)
  • visuals ((TH16, 17, 18, 18.5, 19) Makes various shots and items less distracting.)
https://mirrors.thpatch.net/PookChang'e/ Pook Chang'e's Patches
  • alt_bgm (Replaces Necrofantasia with Night Falls - Evening Star in TH07)
  • extra_bg_restoration (Add Extra boss character sprites to backgrounds for TH13-TH15.)
  • kirisa_ha (Help Marisa Kirisa and Reimu Ha transcend into the games)
  • reimu_rod ([patch moved to VasteelXolotl/reimu_gohei])
https://mirrors.thpatch.net/MasterGameFTW3561/ MGFTWH3561's Mods
  • Fr00sk_Styled (Fr00sk Styled by MasterGameFTW3561 and Art by Fr00sk)
  • JzBoy_Styled (JzBoy Styled by MasterGameFTW3561 and Art by JzBoy Anims)
  • Koichi_Pose (Koichi_Pose from JJBA by MasterGameFTW3561 and Art by Fr00sk)
  • Nuclear (Change the Unyu into Unyuke Touhou 11 only)
  • YukariSans (Yukari become just like Sands.)
https://raw.githubusercontent.com/Tearff/Tear/master/ Tear's Touhou Mods
  • alphes-alt (Alphes-style portraits (art by kaoru))
https://raw.githubusercontent.com/GhostPhanom/GhostPhanom-Thcrap/master/ GhostPhanom's strange thoughts
  • BossRush (Turbo youkai extermination (Currently supports TH10, TH11, TH12, 128Ex, 13, 14, 15, 16))
  • MikoPopsicle (Changes her shaku and aura for a Cirno Popsicle in TH13)
https://mirrors.thpatch.net/Bravi/ Bravi's creations
  • BossDisplayFixes ((All Windows Main Games + 16.5) Same as Retexture but it's only a Boss Display Fix Patch + modernized sfx and Life/Bomb icons.)
  • BraviKHBGM ((Th12, 15) Some final and Extra boss themes got a Kingdom Hearts theme playing while you fight them.)
  • BraviOCOkina ((Th13, 14.3, 15, 16, 16.5, 17, 18) Replaces the following with a new (OC) adversary.
            A stage 6 midboss got added in th13, 15, and 16 as well.
           Okina in Stage 6, Extra (turned into Phantasm) that got a revamp,
            Wrong/Nightmare Saturdays that got a stage background revamp too
            Yukari in Day 10
           Futo and Tojiko in Stage 5
            Seiran in Stage 1
            Mayumi in stages 5 and 6, got new additions to Keiki's fight too
            Megumu in stage 5.)
  • BraviOCPlayer ((Th15, 16, 16.5, 17 mostly) Modded (Reimu) dialogues for the same OC. Player sprite modding affects all games.
           Also please refrain from selecting this patch along with the OCOkina patch...)
  • Bravimemes ((Th10, 11, 15, 16, 17, 18) Memes that come in my mind, and cursed patterns too... Like Mountain of Stoners, Subterranean Oparism or Legacy of Lunatic MetaPlate.
           Okina's fight has the order of the seasons shuffled, and Mai and Satono drop too many ressources.
           Keiki and Saki also seem to be affected by a curse, making them wrathful.)
  • Braviretex ((Th06 to 17 tsa games) Remake-like Retexture, Sounds, Dark UI and Display Fix Patch.)
  • ChimaTransform ((Th18) Chimata transforms into other final bosses.)
  • Letoile ((Th16) Custom playable character shot type for Sereinae (Spring).)
  • SereinaeAlt ((Th18) Alt timeline patch for miss OC. This stage is not canon to her story, but that version of the character IS. Replaces Chimata with a new Final Boss.)
  • Teedee Arrows ((Th15) Makes all bullets/lasers arrows. Typically deus rsf's nightmare.)
https://raw.githubusercontent.com/Priw8/thmod/master/ Priw8's mods
  • 0power ((TH07-TH16) locks player shottype at 0 power, ignoring power items. For masochists.)
  • DIO ((TH17) press C to stop time)
  • LoDDK ((TH15) A boss rush patch in which you fight bosses from DDC and LoLK at once.)
  • itemfreeze ((TH08) all items that would've normally been autocollected now stay in place)
  • magik ((TH17) Every image in the game has been processed with liquid rescale by using imagemagick)
  • mode26 ((TH17) Sets interpoleration mode to 26 for everything, which breaks a bunch of stuff.)
  • th12tsuba ((TH12) Replaces Reimu with Tsubakura from the Len'en project. Features custom dialogues, endings, as well as 2 custom shottypes (.sht modifications).)
  • th14sanae ((TH14) Replaces ReimuB with Sanae shot from LoLK (not in menus))
  • th15gapping ((TH15) Makes you wrap around to the other side of the screen when hitting an edge.)
  • th15garbo ((TH15) Every shot bullet has a random type and color, which makes everything look like garbo.)
  • th15sakuya ((TH15) Replaces Reisen with Sakuya (not in menus))
  • th15slippery ((TH15) Moving on ice.)
  • th15slipperygapping ((TH15) Moving on ice + wrap to the other side of the screen when hitting an edge! Allows building up speed for 12 hours!)
  • th165lolk ((TH16.5) Puts stages and bosses from LoLK into VD. Refer to the README.txt file from the repo for more information.)
  • th16ice ((TH16) Replaces releases with freeze ability from GFW)
  • th16mystia ((TH16) Replaces Cirno with Mystia (not in menus yet) (April fools 2019 mod))
  • th16nonprac ((TH16) Replaces spells in spell practice with nonspells)
  • th16sanae ((TH16) Replaces Marisa with Sanae shot from LoLK (not in menus))
  • th16ufos ((TH16) read README.txt from the repo for more info)
  • th17prac ((TH17) practice patch for WBaWC demo)
  • th17speen ((TH17) speedy otter spin)
  • th18shoplifting ((TH18) unfixed the shoplifting glitch from the demo)
  • thanos ((TH15, 16) Randomly skips ECL instructions (50%), which results in "corrupted" patterns and stages.)
  • ultra-fast ((TH17) an ultra patch that makes everything spawn/fire twice as fast.)
https://mirrors.thpatch.net/Splashman/ Splashman's BGM patches.
  • bgm_limbo (BGM Legend in Limbo.)
  • bgm_rockgirl (BGM mod using CarrotWine's 'Touhou Rockgirl' arrange albums.)
  • bgm_rockgirl_base (Base files for bgm_rockgirl.)
  • bgm_sc88pro (BGM mod using ZUN's SC-88 Pro MIDI versions, by RomantiqueTp.)
  • bgm_sc88pro_base (Base files for bgm_sc88pro.)
https://mirrors.thpatch.net/MoriyaFaith/ @MoriyaFaith#9287
  • hudplus (Huge graphical updates to Touhous 6, 7, and 8.)
  • izayoi ((TH16) the Izayoi Project.)
  • sanae ((TH7, 8, 9 [WIP], 11[WIP], 16) the Kochiya Project.)
https://mirrors.thpatch.net/PKWeegee/ PKWeegee
  • CirnAya (CirnAya)
  • ThAltJess (ThAltJess)
  • UltraStory (UltraStory)
https://mirrors.thpatch.net/dass7/ DassRepo
  • noshake (Replay-compatible screen shake removal. DDC-only for now.)
  • reosd (EoSD patch for UFO (EARLY ACCESS) (NOTE: The scorefile is named "scoreosd12.dat" while the replay folder is called "reosdreplay"))
  • ultra-A ("Ultra" patch for th17 that doubles bullet ways.)
  • ultra-B ("Ultra" patch for th17 that doubles bullet layers.)
https://raw.githubusercontent.com/SMB7/SMB3Memes/master/ SMB3's Meme Patches
  • EoSDChiptune (EoSD Chiptune Soundtrack, lossless FLACs, DefleMask edition)
  • EoSDChiptuneLossy (EoSD Chiptune Soundtrack, lossy Oggs, DefleMask edition)
  • EoSotN (EoSD but I fucked up msg6.dat for a really dumb joke)
  • LionKing (Lion Sleeps Tonight Death Sound)
  • LoLKECL (LoLK ECL Testing. Use at your own risk!)
https://raw.githubusercontent.com/WindowDump/thcrap_mods/master/ Window Dump's Mod Dump
  • EoSD_Retexture ((TH06) Rexture Patch by Emarrel)
  • EoSD_Retexture_Hitbox ((TH06) Visible hitbox option from EoSD Retexture Patch by Emarrel)
  • PCB_Retexture ((TH07) Rexture Patch by Gastari)
  • Static_English ((TH06, TH07) Static English patch by Simon Elén & Touhou Wiki)
  • Undefined_Fantastic_Emoji ((TH12) Emoji-themed graphics by Gastari)
  • chipin ((TH08) Chipmusic mod with new script for Barrier Team)
  • chipin_base (Base files for chipin)
https://mirrors.thpatch.net/Vasteel/ Misc Touhou mods
  • cd-arranges (Some arranges from ZUN's CDs (lossy))
  • cd-arranges_base (Base files for ZUN arranges. Only contains those fitting with a particular game's style. Pls support the official release.)
  • cd-arranges_lossless (Some arranges from ZUN's CDs (lossless))
  • reimu_gohei (Restores Reimu's gohei in games after DDC. Original idea by Pook.)
  • vx-customshots (Modifications of shot types I thought were lacking.)
  • vx-fixedshots (Fixes the damage of MarisaB in MoF and YoumuC in WBaWC.)
https://raw.githubusercontent.com/Daikarasu/DaiMod/master/ Daikarasu's repository of Touhou patches
  • 32bit_RNG (Replaces the vanilla 16-bit RNG with new 32-bit RNG. Not compatible with vanilla replays and vice-versa for obvious reasons.
   Currently supports: th14, th15, th16, th16.5, th17, th18, th18.5)
  • RNG ((th08, 10, 11, 12, 12.5, 13, 14, 15, 16, 17, 18)
   Makes every attack purely RNG. (v2.0))
  • RNG-Legacy (Old version of the RNG Patch. Use this to view replays made with this version.)
  • RandomAttack ((th14, 15) Randomizes which attack gets fired every time. Chaos ensues.)
  • kill_cam ((th14, 15, 16, 17, 18)
   Adds a TF2-styled kill cam to the game, which zooms in to the enemy that killed you (if it is still alive).
   Should be fully compatible with vanilla replays!)
  • le_sanae ((th15) Replaces almost every single texture to LE SANAE. Viewer discretion is advised.)
  • puny_remilia ((th08) Makes Remilia's shottype absolutely awful. (Gastari wanted this))
  • th18-disable-always-on-top (Disables Always-On-Top window behavior for Touhou 18 and 18.5)
https://mirrors.thpatch.net/Clover/ Clover Music Mods
  • music_mod (Clover's Music Mods)
https://raw.githubusercontent.com/32th-System/crap/master/ 32th's Patch Repo
  • Goast (lang_en but Goast is back)
  • LoLChristmas (Touhou 15 Christmas version)
  • MoFrance (Mountain of France)
  • OkinaFestival (Okina's Festival by InceRabbit. A mod for th16's stage 6 and extra stage)
  • WBaDDC (Implements the DDC scoring system in WBaWC)
  • dmg_debug ((th17) displays information about the damage you're dealing)
  • esc_r (Brings back ESC + R in th17)
  • score_uncap (Moves the score cap to (2^31-2)*10)
  • speen (th18 but everything rotates)
  • th128_gold_medal_count ((GFW) Show a counter of how many gold medals you obtained)
  • th17_motionsickness_go_spin (Rotates the background according to how you move to make you throw up)
  • unfocus_window ((TH06, TH07) Allow unfocusing the window without pausing the game)
https://mirrors.thpatch.net/Gensokyo.EXE/ Gensokyo Executors
  • THBL_01 (Touhou Black Label 01 - Desire.EXE)
https://mirrors.thpatch.net/pgj1997/ Pgj1997's Patches
  • doggo (Keeps the #DoggoPhoto hashtag in TH165)
  • hq-rips (Replaces a good chunk of the music with high quality rips)
https://raw.githubusercontent.com/rosenrose/thmod/master/ rosenrose's Patch Repo
  • 8options ((TH11)Reimu's all types and MarisaC can have 8 options.)
  • beast_to_ufo ((TH17)Show you the UFOs instead of the beasts.(just graphic replacement))
  • bottom_enemy (Indicates "enemy" position like pre-th11 style.)
  • greedy_otter ((TH17)Otter type has both of Wolf's fast shot and Eagle's slow shot.)
  • gyate_gyate (Gyate gyate faces.(TH06, TH07, TH08))
  • swappedShots ((TH07)ReimuA→MarisaA style, ReimuB→SakuyaB style, MarisaA→ReimuA style, MarisaB→SakuyaB style
       (TH10)MarisaA→ReimuC style, MarisaC→ReimuA style
       (TH11)ReimuA→MarisaA style, ReimuB→MarisaB style, MarisaB→ReimuB style)
  • th08_swapping (Changes the player pairs: (Reimu,Marisa),(Sakuya,Alice),(Youmu,Remilia),(Yukari,Yuyuko))
  • th165_C-key (Press C to teleport.(made by 335 from MUASTG))
  • th16_infinite_season (The season level is fixed at 6.)
  • th17_infinite_roaring (Roaring gauge doesn't decrease.)
  • ufo_vivid (UFO patch for color blind people.
       by Dide, https://snipestalker.blog.me/221508374213)
  • ultrafast_otter (Boost the speed of the Otter spirit shield.)
https://mirrors.thpatch.net/AsyrafFile/ Tampalan THCRAP AsyrafFile
  • galactic (Replace non-diacritic Latin alphabet to Standard Galactic Alphabet from Commander Keen and Minecraft. For now it still on progress)
  • ms-eastern (Replace lang_ms western_name_order to eastern_name_order_hepburn.)
https://raw.githubusercontent.com/ExpHP/thcrap-patches/master/patches/ Patches by ExpHP
  • anm_leak ((15-18) Fixes TH16's crashes on large releases. Improves performance when pushing certain games to their limit (e.g. with bullet_cap).)
  • base_exphp (Provides functions that help other patches support patches like bullet_cap without directly depending on them.)
  • bullet_cap ((06-09, 10-18 STGs) Makes the bullet cap, laser cap, and cancel cap configurable.

UM not well-tested. Defaults to 16x everything. To configure, see http://exphp.github.io/thpages/#/mods/bullet-cap)

  • c_key ((17) Make Ctrl and C behave as separate keys internally, for use by other patches. (C maps to 0x4))
  • continue ((10-12) Fixes the continue system. plz don't save cursed 3cc replays kthx)
  • ctrl_speedup ((10-17, 128) Makes Ctrl to speedup work outside of replays.)
  • debug_counters ((06-18 STGs) Show sprite, bullet, laser, enemy, and item counts.)
  • free_release ((16) Makes season releases not consume season power. (Request.))
  • nopause_enm ((11-17, 125) a.k.a. the Za Warudo mod. Enemies don't stop when you pause. nopauseblur recommended where available.)
  • nopauseblur ((15-17, 165) Disables blur on pause. Not available yet for DDC and earlier due to technical difficulties.)
  • sp_resources ((13, 14, 16, 17) Spell practice with lives, bombs and Max Season)
  • sprite_death_fix ((06-08, 10-18 STGs) Fixes crashes and black screens from drawing too many sprites.)
  • subseason_doyou ((16) Use Dog Days subseason outside of the Extra stage. (Not required to watch replays))
  • subseason_fall ((16) Use Fall subseason, even in Extra stage. (Not required to watch replays))
  • subseason_spring ((16) Use Spring subseason, even in Extra stage. (Not required to watch replays))
  • subseason_summer ((16) Use Summer subseason, even in Extra stage. (Not required to watch replays))
  • subseason_winter ((16) Use Winter subseason, even in Extra stage. (Not required to watch replays))
https://raw.githubusercontent.com/Arandui/trash_patch/master/ Trash Ideas
  • pc98_bgm (PC98 BGM for TH06-9.5)
  • th07_ut_bgm (TH07 with Undertale BGM)
  • th13_spirit_bgm (Replace the normal tracks with the spirit world version)
  • th17_doom_bgm (Replace the bgm with tracks from Doom, Doom 2 und Final Doom TNT)
  • unhöfliche_okuu (Makes Okuus hand look more impolite (TH11))
https://mirrors.thpatch.net/tpZHCNex/ thpatch zh-hans ex-patches
  • taso (tasofro's ftg Chinese Simplfied font patch)
  • tsa (Used to make the STG game display the '♪' normally.)
https://raw.githubusercontent.com/bttf0504/thmod/master/ BTTF's Patch Repo
  • EnemyDeadEffect ((Th17)When enemy dies, the effect that appears when boss dies appear.)
https://raw.githubusercontent.com/chrisGrando/thcrap-patches/master/ Dreamland's Crazy Tea Party
  • Auto-Bomb (Automatically triggers a bomb as soon as you got hit. Supports Touhou 06, 07, 08, 10, 11, 12, 13, 14, 15, 16, 17, 18 and Uwabami Breakers.)
  • HitboxPatch (EoSD always visible hitbox. Ported from Hitbox Patch v0.1)
  • string-fix ((TH07, TH08) Fix stage result text not showing. Please select this for LAST!)
https://mirrors.thpatch.net/sqrt/ Welcome to sqrt-net!
  • alphes-background (Fitting interstage backgrounds for DTM's alphes patch)
  • mima-background (The return of Mima, now with Backgrounds!)
https://mirrors.thpatch.net/someguy/ Bullet Artistry
  • 15titleplus (A follow-up to 17titleplus!)
  • 16titleplus (A threequel to 17titleplus!)
  • 17titleplus (A multilingually supported patch that adds a cool big graphic onto the stage titles.)
  • EXspellbg (Incorporates EX Boss Portraits from UFO onwards into their Spell BG.)
  • aya_bad (More like, whya! Makes Aya harder than what she was originally. Otherwise a test mod.)
  • cirnoday (A celebration for Cirno! Adds to Cirno's 100BM moveset.)
  • dynastg (18.5 backgrounds go nyoom and wheee per wave.)
  • epro (A danmaku mockup showcase for a Stage 1 and 6 of fangame minus the game. Made in pure fun.)
  • funny_fish (A bonus stage for KDDC starring a certain funny fish.)
  • kaizo_ddc (A remodeling of DDC to be harder and more interesting.)
  • kaizo_wbawc (A remodel of WBaWC, because Kaizo DDC was garbage.)
  • keikimas (A christmas gift from Keiki, a more robust Idola Diabolus.)
  • lostmarket (Replaces 4th Market bosses with those who were absent from the game (with Yuuma somehwere else).)
  • morpho (An After Extra of HSiFS made by me because Eternity is a cool character.)
  • nitroni (Cool Nitori spriteswap retexture thingy for 18.5.)
  • nohead (Replaces TH14 Sukuna with a custom Sekibanki boss fight. I watched one boss rush video, and this happened.)
  • pofv_with_voice (A meme. Loud noise warning for this one.)
  • ringo (Not the starr, the bunny. Replaces TH15 Junko with a custom Ringo boss fight. Lots of bugs regarding music.)
  • titleplus (A compilation of the titleplus mods. Will maybe also be updated with new games sometime later!)
  • tsukasabg (Ports the UMALT Tsukasa spell bg to 100BM and UDoALG)
  • umalt (A scrapbook of ideas and messing around with the game. Fun stuff.)
  • umdemo (A medley of the first 3 stages of UM crafted within HSiFS because why not? Kinda rushed for a contest, but I tried.)
  • vdlc (An add-on for vdr that changes a few characters around for funsies. Changes the 3rd Friday and Final Day Scene 3.)
  • vdr (A scrapbook of ideas and messing around with the game. Fun stuff.)
https://mirrors.thpatch.net/LmocinemodPatchRepo/ Lmocinemod's (Low-Effort) Patch Repository
  • marisa_quiet_missiles ([th13+] Makes Marisa's missiles sound like they do in th11)
  • marisa_silent_laser ([th12+] Makes Marisa's laser silent)
https://raw.githubusercontent.com/zero318/thcrap_patches/master/patches/ zero318's Patch Pile
  • FourOfAKind (FourOfAKind(06) Challenge all four difficulties at once)
  • GrazeDisplay (GrazeDisplay(08) Applies tints to things that can be grazed)
  • InfinitePatchyBooks (InfinitePatchyBooks(06) What if the books never ended?)
  • NoDat (NoDat(08) Runs the game without even reading the th.dat file.)
  • RankConfig (RankConfigWIP(06-08) Base patch for easier modification of rank tables.)
  • SpellcardLimit (SpellcardLimit(06) Increases the maximum number of available spellcard IDs.)
  • TH8_ExtendedTrial (TH8_ExtendedTrial(08) Ports features of the old IN trials to the final version.)
  • YoloSpeed (YoloSpeed(06-095) Removes gamespeed changes and time stops.)
  • ZeroEclExtensions (ZeroEclExtensionsWIP(06,07,08,18,19) Adds new ECL instructions)
https://raw.githubusercontent.com/PartyParrotTH/PartyParrot-s-Patches-Repository/master/ Party Parrot's Patches Repository
  • LEPARROT (Turns Everything Sources into Party Parrot! Support for TH15!)
  • LoDDK_with_LEPARROT ((TH15) Boss Rush With DDC And LoLK Combined LEPARROT!)
https://mirrors.thpatch.net/WilliamDavi/ This Repository maybe have some bgm and bullets edits
  • DoubleMix (A th13 patch then can have the Original music with the Spirit world version (PS: this patch is a test).)
  • GFWPhantasm (An Phantasm Stage for GLW)
  • Red-Eyed_Marisa ((Made by RGamesOfficial) Restock the marisa from the th18.5 title screen in dialogues.)
  • Th18LilyWhiteSpriteFix (Lily White card sprite with the th16 Lily White sprite.)
https://mirrors.thpatch.net/shirokura/ shirokura's Repository
  • bgm_dbu ([th15-th16]Replace original themes with dBu music's arrange)
  • th18_card_effect_chs (Replace the original with direct instructions(zh-chs))
https://raw.githubusercontent.com/yeashie/yeashiePatches/master/ yeashie
  • GreatBedWar (Great Bed Wars)
https://mirrors.thpatch.net/redirectto/ redirectto's patches
  • Bossonly (Boss Rush mode without midbosses (MoF-UM) Save folder = Bossonly_redi)
  • Bossrush (Boss Rush mode (MoF-UM) Save folder = Bossrush_redi)
  • BraviOCOkina_th16ufos (UFOs on BraviOCOkina patch (HSiFS) Save folder = BraviOCO_UFOs)
  • Full_Battles (Let you face every attack pattern regardless of the shottype or decision made (SA,DDC,HSiFS))
  • Remove_text (Replaces all MSG files for almost empty ones (MoF-UM))
https://mirrors.thpatch.net/Revenant/ Revenant's Touhou hacks
  • ShowRank (Show current rank value during gameplay (TH06-08, 10-12))
https://raw.githubusercontent.com/WishMakers0/th_crap/master/ Wish's Scripts
  • subhatred (Subterranean Hatred in ECL base)
  • subhatred_en (Subterranean Hatred in ECL (English))
  • subhatred_jp (Subterranean Hatred in ECL (Japanese))
  • um_extra (UM Extra? - Joon patch)
https://mirrors.thpatch.net/Guy/ Guy's patches
  • blob (Replaces BGM by Thomas Light's wonderful Blob Opera renditions (+minor graphical changes).)
  • greenscreen (Replaces graphical elements to easily key them out for transparent screenshots of patterns. Invincibility is recommended.)
  • sightseeing (Removes stage logic and player sprites to take pictures of the backgrounds.)
  • slap (Keeps Remi's name out their fucking mouthes)
https://raw.githubusercontent.com/KabanFriends/THGTE/master/ Project 6 (a.k.a. Touhou Project: Google Translate Edition)
  • th10gte (Strong East Wind - Rock of Faith (a.k.a. Touhou 10: Google Translation Edition))
https://mirrors.thpatch.net/Shoxlu/ Some projects.
  • BetterSoundClue (A mod that changes some sound effects to help you playing the game.(th19 only))
  • FestivalCreationCdI (Un mod créé avec Lance#7161(Sprites, dialogues et autres) et MLM3#1370(Musique) à l'occasion du Festival de Créations du serveur francophone "Le Café des Illusions" sur le thème de Touhou 7 et du printemps !)
  • ModCdI (My first mod ever,for th13 (unfinished, probably) based on some people on the Café des Illusions discord server)
  • Th19ExAttackResAnimFix (A mod that fixes the Ex attack animation that is offset for resolutions different than 1280x960. (It happens only to a few characters such as Chiyari.))
  • Th19FixOrinLV2 (Fixes the Orin's lv2 bug, killing her when she uses it too high.)
https://mirrors.thpatch.net/Kogasas_Mods/ Kogasa's Mods
  • DDCSakuya (DDCSakuya (14) Minor DPS balance adjustments for Sakuya)
  • ECLSandbox (Various random ECL tests I've done in case you want them for some reason.)
  • EosdPhantasm (EosdPhantasm (06) Eosd Phantasm Stage featuring Sunny Milk?!)
  • Flanpatch (FlanPatch (11) (WIP) Mod that makes Flandre playable in SA.)
  • INRandomMod (INRandom (08) Mod that adds the Aki sisters, Nitori, Takane, Kaguya, and Doremy to Touhou 08 Imperishable Night)
  • Koapatchy (Koapatchy (08) Mod that adds Koakuma and Patchouli as playable characters to Touhou 08 Imperishable Night)
  • KogasaMod (Kogasa Mod (08) Mod that adds Kogasa, Koishi, Satori, Mugetsu, and Gengetsu to Touhou 08 Imperishable Night)
  • NoHitbox (NoHitbox (07-18) This mod that removes visible player hitboxes, for weirdos who like that.)
  • OkuuMod (OkuuMod (17) Mod that adds Utsuho Reiuji to Touhou WBaWC.)
  • Pizzanae (Pizzanae (15) Pizzanae)
  • ReimuHsifs (ReimuHsifs (06-18) Mod that makes Reimu's homing bullets look like the ones from Hsifs.)
  • ReimuHsifsPlus (ReimuHsifsPlus (13-18) ReimuHsifs mod but makes the bullets behave like hsifs too (perma homing).)
  • RinSatsukiMod (RinSatsuki (06) Mod that adds Rin Satsuki to Touhou EOSD Embodiment of Scarlet Devil)
  • SALW (SALW (11) Old LW test stuff. Unfinished and likely never will be, mess around with it how you like.)
  • SakuyaScarf (SakuyaScarf (07) Mod that adds Sakuya's scarf to her player sprite for PCB. Mod by pure_platinum_killer)
  • SakuyaTouhou19 (SakuyaTouhou19 (19) Makes Sakuya Izayoi a playable character in touhou UDoALG. Mod by Perfect_Platinum_Killer uploaded with consent)
  • YukariCtcMod (YukariCtc (07) Mod that replaces Yukari's PCB theme with the CTC Night Falls ~ Evening Star and Ran's theme with her ghostly field club one.)
  • YuukaMod (YuukaMod (06) Mod that makes Yuuka playable in EoSD Embodiment of Scarlet Devil)
  • mokers (MokouTheme (08) Mod that replaces Mokou's theme to be https://www.youtube.com/watch?v=F2MmslJ3T7o)
https://mirrors.thpatch.net/TESM/ TESM's Patches
  • 13Kaizo (Touhou 13 Kaizo)
  • 15Kaizo (15Kaizo)
  • 16Kaizo (16Kaizo)
  • AltJessPH (AltJessPH)
  • Data10 (Touhou 10 Kaizo)
  • KaizoIN (Kaizo IN)
  • PC98R (PC98 Reimu in touhou 18 stage 4 + Flandre on extra stage)
  • TESMgoofs (TESMgoofs in th15 and th06. and now a pure WIP on touhou 19 and touhou 12.8 atm)
  • THMiDI (Touhou Minds in Dreaming Individuals, a fangame fanpatch idea that I thought of)
  • blueziffern (blueziffern)
https://mirrors.thpatch.net/Clb184/ Clb184 stuff
  • PlayableHatate (TH09. Replaces Aya A sprites with Hatate sprites)
  • SeihouYuka (TH09. Replaces Yuuka sprites with her Kioh Gyoku sprites.)
  • TeamTouhou2 (TH06. Replaces different portraits with the mercs from TF2. This was my first mod (2020).)
  • ctk-731-midi (TH06-07-(08)-09. Replaces the BGMs with recordings of MIDIs of the games played on my Casio CTK-731.)
  • th17ep_ssg ((TH17 E+): (WIP) Shuusou Gyoku in ECLPlus, Extra Stage available only with Reimu Bossfight.)
https://mirrors.thpatch.net/Wasted/ Wasted mods
  • 100Christmas ((th185) A small Christmas mod featuring a replacement of Takane with Doremy with 3 new spellcards, stage background replacement and a bit enemy waves modification)
  • RemiRetexture ((th11) A retexture mod that replace Marisa with Remilia)
https://raw.githubusercontent.com/BrosterMedia/touhoupatches/main/ Broster Thcrap Repository
  • playable_seiran (Playable Seiran (Reimu retexture) (TH17))
https://mirrors.thpatch.net/egor/ egor's patches
  • th19_fallback_msgs ((th19) show fallback messages)
  • th19_png ((th19) replace some JPEG textures with PNGs)
https://mirrors.thpatch.net/mintymods/ Mints' Semi-Functional Patch Repository
  • blemishes (A small change for Overflowing Blemishes to adjust the difficulty more in line with "Hard".)
  • pd_powerfix (Prevents LoLK from dropping your power when dying in Pointdevice.)
  • practice_variants (Various changes to patterns to facilitate efficient practice.)
  • resource_limiter (A patch to help restrict resource usage.)
https://mirrors.thpatch.net/yova/ Yova's Repository of Hirokawa Ghost
  • en-eastern (Japanese characters' names in the eastern name order(last name first) for the english patch)
  • jouga (Replaces Chang'e with Jouga in LOLK(TH15).)
  • kuchko (Prevod Alisine i Marisine "bitch" rečenice na srpski(latinicu) u TH08.)
https://mirrors.thpatch.net/SuperChrim/ SuperChrim's Patch Repository
  • HouseSetOST (House Set remixes (Composed by Kuroneko Lounge)
Supports th6, th7, th8, th9, th10, th11, th12, th13, th14, th143, th15, th16)
  • Th19Balance (Tweaks to characters to make VS mode more balanced)
  • Th19BigPortraits (Adds a new big version of the character portraits for boss attacks. (Customization options included))
  • Th19BugFixes (Multiple bug fixes and performance improvements for Touhou 19.)
  • Th19Chaos (Enemy waves spawn in all the time with no wait in between. Absolute chaos!)
  • Th19StoryAISwap (A silly little mod that makes you control player 2 in Touhou 19 story mode.)
  • Th19StoryBGMChange (Changes the first couple stage BGMs of each story to their respective opponent themes.)
  • Th19StoryBalance (An expansion to Th19Balance. Adds tweaks to story mode.)
https://mirrors.thpatch.net/TRDario/ TRDario's patches
  • unvertical (Flips vertical text to display horizontally.)
https://mirrors.thpatch.net/yuureiki/ yuureiki's Patches
  • th185border (Fixes HBM's misaligned game border.)
  • th19gohei (Restore player Reimu's purification rod.)
  • th19nazrincard (Swaps Nazrin's incorrectly displayed Ability Card art.)
  • th19oldspr (Swaps certain boss sprites for their non-UDoALG counterparts.)
  • th19pofvui (Change UDoALG's game border to PoFV's.)
https://mirrors.thpatch.net/tpZHCHTex/ Thpatch Chinese Traditional ex-Patches.
  • ex_tasofro (Dependency packages for Traditional Chinese patch of FTG games.(Tasofro))
  • ex_tsa (Dependency packages for Traditional Chinese patch of STG games.(TSA))
https://mirrors.thpatch.net/farawayvision/ FarawayVision's patches
  • old_spell_names (Restores older and more familiar names for certain spells)
  • th08_8stages ((TH08) Allows playing stages 4A, 4B, 6A, and 6B all in a single run, for 8 total stages)
  • th08_9stages ((TH08) Allows playing stages 4A, 4B, 6A, 6B, and Extra all in a single run, for 9 total stages)
https://raw.githubusercontent.com/megapig9001/megapig9001-mods/main/ Megapig9001 Mods
  • SteamboatWillie (TH12. Replaces Nazrins Sprites with Steamboat Willie (Drawn by Zzzzoozie). Also edits some dialouge.)
https://mirrors.thpatch.net/SSM/ SSM's Patches
  • Moon2Earth (The moon becomes earth.)
  • UnkoFO (UFO venturers and UFOs will be Unko.)
https://mirrors.thpatch.net/catysumi/catysumi/ Profaned Red Moon Team
  • LoEK (Touhou x Hollow Knight ~ Legacy Of Eternal Kingdom)
  • Ro98 (Return Of 98)
  • THCaty (Caty Yafumo Phantasm)
https://mirrors.thpatch.net/DedeHead/ ZeZunStyler's Mods
  • Touhou6FlowerEdition (Touhou6FlowerEdition (06) Adds Rin Satsuki to Eosd(WIP))

搭建自己的补丁服务器

对于2014-01-26及以后的版本, thcrap 包含了一个Python脚本,它可以帮助你构建你自己的自更新补丁服务器。您可以在其中发布自己的补丁,同时完全控制它们。虽然这听起来很复杂,但实际上并没有那么复杂——我们特意以不需要特定服务器软件的方式设计系统。可以使用任何支持HTTP协议并允许在保留文件名和目录结构的情况下将任意文件存储并发布到网络的任何东西。

要做到这件事,你甚至无需为网络存储付费;有许多免费的云存储提供商可以很好的工作。在下面,您可以找到有关如何在免费云存储上设置自己的存储库的教程。所有这些教程都是仅针对Windows编写的,但如果你使用其他操作系统,你应该可以毫无困难地适应它们。☺

概述

术语解释:

  • 首先我们有 补丁 。补丁基本上只是无序的文件集合,它们可以替换某些游戏原始数据。一个补丁可以为不限数量的游戏提供数据。
  • 补丁在 仓库 中分组。仓库依次是一个人或社区提供和控制的所有不同补丁的集合。

首先创建一个 仓库 ,然后创建一个或多个 补丁 ,然后定期将其发布在 服务器

本地配置

首先,你需要给仓库取一个 全局唯一的短ID 。这可以只是你的名字,或者你社区的名字。本教程中,我们就用 RepoDir

你还需要做下面这些:

  1. 下载并安装 Python.svg Python 3 ,如果你还没有安装,确保记住它的安装路径。
    (这是一种编程语言,用于编写构建仓库的脚本)
  2. 在你的thcrap目录中,新建以 RepoDir 命名的目录。
    这将会是你的 本地仓库路径 ,也就是你所有补丁开发的地方。
  3. RepoDir 中,为每个补丁创建一个新目录,并以各自的短ID命名。本教程就以 PatchDir 为例。

补丁配置

RepoDir\PatchDir 中为每个补丁创建一个名为 patch.js 的文件。这是强制性的,否则构建脚本将无法识别该补丁。

所有 .js 结尾的文件都是 JSON格式的文件。您可以使用类似 JSONLint 的网站验证其语法。

依赖

依赖使用 patch.js 中的 dependencies 数组设置,并确保配置工具自动为您的补丁提取所有必需的功能。

依赖声明的格式为 repo_id/patch_idrepo_id是可选的——若省略,首先会在你的仓库中解析,随后在用户发现的所有仓库中全局解析。注意,使用不在你仓库中的补丁可能会带来意料之外的后果。

你可能需要或者想依赖的补丁包有这么一些:

  • nmlgc/base_tsa: Windows上的东方游戏的最基础技术支持包。如果你的补丁包要在任何这些游戏中生效,请一定要确保依赖这个补丁包!否则配置工具不会把这个包同步下来,也就会导致配置失效!
  • nmlgc/script_latin: 包含了一个对拉丁、希腊和西里尔文字有足够Unicode覆盖率的字体,拥有一些能够尽可能优化每个游戏的设置,包括对平文式罗马字形式的词语和图像的优化。
  • nmlgc/western_name_order: 正如其名,将Boss战中显示的名字改为西式顺序(先名后姓)。
  • thpatch/lang_en: 这个补丁不仅仅是会带来最新的英文翻译,它还确保在配置工具中选择补丁时,翻译补丁的任何其他依赖(如上面提到的所有三个补丁包)都将存在。
样例

使用非英语拉丁语脚本语言的翻译补丁的基本配置:

{ "dependencies": [ "nmlgc/base_tsa", "nmlgc/script_latin", "nmlgc/western_name_order" ] }

以上所有内容(将来可能更多)再附上英语翻译的设置:

{ "dependencies": [ "thpatch/lang_en" ] }

字体

若您的补丁包含自定义字体, 请用fonts进行注册。 以下是对游戏应用补丁前需要加载 的字体列表:

{ "fonts": { "Font1.ttf": true, "Font2.otf": true } }

(thcrap并不检查这些项目的值,"true"仅为参考)

好的,接下来我该怎么做

thcrap可以做很多事情。 ☺ 在我们全部进行介绍前,您最好先看看我们的补丁如何实现您的 打算。若您仍有疑问,请进入我们的IRC聊天室提问,我们很乐意为您解答。

建立服务器

本教程的剩余部分因您使用的网络空间或服务器提供商而异。

使用GitHub.png GitHub

此为推荐选项。它能使你的仓库处于版本控制的管理下并储存历史补丁版本,并可以方便的 在Github上进行阅览。我们也考虑为thcrap的更新程序添加Git支持,以此让安装更为简便。

如果您已经熟悉Git: 只需在每次提交前运行repo_update.py。如果您不熟悉,以下是 如何在Windows进行设置:

  1. 确保你的 Thcrap 为 2014-05-08或更新版本。此版本对仓库脚本进行了一些重要更改。并确保 thcrap.zip 及其内容与补丁位于同一目录下。 否则将提示“ repo_update 丢失”的错误。
  2. 如果您没有 GitHub 账户,请前往网站注册。
  3. 在您的用户界面上,使用默认设置创建一个新仓库。它的名称无需与您在本地的 RepoDir 名称一致。

    GitHub Tutorial 02 - Dashboard.png

    GitHub Tutorial 03 - New repo.png

  4. 下载并安装 GitHub Windows 客户端并登录你的 GitHub 账户。
  5. 在 Options 选项卡中,设置default storage directory为你的 thcrap 目录,并在configure git项中填入用户名和邮箱。

    GitHub Tutorial 05 - Login.png

  6. 将你在GitHub创建的仓库Clone到 Thcrap 目录。
    如果你的本地目录与 GitHub 仓库名一样则会导致失败。这种情况下,只需要暂时先重命名本地目录,之后待Clong完成后将所有的文件移入新建的目录即可。

    GitHub Tutorial 06 - Clone.png

  7. 在新Clone好的目录中,创建名为Update.bat的文件,用于运行Thcrap的更新脚本:

C:\path\to\python.exe ..\scripts\repo_update.py
pause
之后运行 Update.bat 并设置仓库的基本参数。 仓库ID应当与目录名称一致,GitHub 的公共 URL 为:
https://raw.githubusercontent.com/GitHub 用户名/GitHub 仓库名/master/

GitHub Tutorial 07 - repo update.png

以上是基本设置。下面是在完成补丁制作后,如何将其发布:

  1. 运行Update.bat
  2. 打开 GitHub 客户端并进入您的补丁仓库页面。页面应当为您提供自上次提交以来的所有更改以及创建新更改的选项。
    请务必于运行更新脚本后立即操作! 如果在提交之前运行 Thcrap 使用正在编辑的补丁,更新程序将使用服务器上该补丁的最后状态覆写你的更改! 自2017-02-05起,若补丁位于git仓库中,自动更新将禁用。
  3. 验证您将要提交的更改。如果一切正常的话,每个您更改的文件在所受影响补丁的files.js中应该具有不同的校验和:

    GitHub Tutorial 08 - Commit.png

  4. 之后,只需单击commit to master,并单击publish,您的更改就会生效。

推广你的仓库

为了让您的补丁在全球范围内被其他人看到并能够使用,通常有以下三种方法:

  • 在您的仓库被上传,其他人都可以通过使用您的 URL 作为命令行参数调用 thcrap 发现它。
  • 如果您有自己的网站、博客等,您可以上传一个在目录中包含repo.js文件的自定义版本。 虽然我们不推荐这么做。
  • 然而最好的方式是在 discord.png Discord 联系并告诉我们您的仓库 URL ,以作为我们的邻居之一在东方补丁中心网络中列出。