thcrap基本补丁制作教程,从新建文件夹到验收成果全流程教学
发布于: 2026/02/25 19:38:41
内容概要
制作一个thcrap补丁,首先需要建立一个补丁仓库,设置仓库信息,再在仓库中建立一个或数个补丁包,为每个补丁包添加描述,添加资源文件。使用补丁时,需要先使用thcrap创建快捷方式,再通过快捷方式启动游戏并应用补丁。
本文介绍了如何制作一个简单的thcrap补丁。
参见thpatch上的官方教程。
使用thcrap补丁的前提...当然是安装thcrap啦...
创建仓库
适用于thcrap的补丁必须包含在一个补丁仓库中,所以创建补丁之前必须首先创建仓库。
在thcrap根目录下的repos文件夹内新建一个my-repo文件夹,它就是你的补丁仓库了。有条件的话可以把它上传到GitHub上。
注意要把my-repo替换为你给你的仓库取的名字(同时也是仓库的id),选定之后轻易不能更改。
VSCode配置
由于thcrap补丁内的所有*.js文件实际上都是json文件而不是JavaScript,编辑它们时绝大多数编辑器都会报错。
如果你和我一样使用VSCode的话,可以在项目根目录下新建.vscode文件夹,向其中添加settings.json文件并写入以下内容:
{
"files.associations": {
"*.js": "json"
}
}这会使VSCode在项目级将所有*.js文件视为json文件,并使用json语法进行解析。
仓库配置
补丁仓库配置
在仓库根目录内创建repo.js文件,描述仓库的基本信息。
{
"contact": "email: xxx@xxx.com, GitHub: xxx, weibo: xxx", // 联系方式:随便写,邮箱、社交账号啥的都可以
"id": "my-repo", // 仓库ID:就是你的仓库名称,与仓库目录名相同
"title": "USERNAME's Touhou Patch Repository", // 仓库描述
"patches": { // 仓库内的补丁列表
"ex-mod": "EX means Example." // 一个补丁:键值对,左侧的键为补丁id,右侧的值为补丁描述
},
"servers": [ // 仓库服务器列表:如果你把仓库上传到了GitHub,就填GitHub仓库地址,没有的话也可以不填
"https://raw.githubusercontent.com/USERNAME/my-repo/main/" // 没有服务器的话请删除此行
]
}Git配置
根目录内添加.gitattributes和.gitignore文件。(不使用Git的话可以跳过)
可以参考我的配置:.gitattributes和.gitignore。
官方也提供了.gitattributes文件,但其并不包含*.jpg的配置,导致上传jpg图像时可能会产生文件损坏。Git把jpg当成了文本文件,进行了行尾转换...
忽略补丁内文件
根目录内创建thcrap_ignore.txt文件,写入以下内容:
*.psd
*.xcf
*.kra
*.afphoto
*.aseprite参考相关代码,这应该是让thcrap在更新补丁文件时忽略这些文件。
创建补丁
假如你给补丁命名为ex-mod(同样地,它也会同时作为补丁的id),那就在仓库根目录内新建一个ex-mod文件夹,作为这个补丁的目录。
注册补丁
在仓库的配置文件内添加相应的键值对记录,注册补丁的id和描述文本。
{
...
"patches": {
"ex-mod": "EX means Example."
},
...
}补丁配置
在补丁目录内新建patch.js文件,写入以下内容:
{
"id": "ex-mod", // 补丁ID:同时也是补丁名称,与补丁目录名相同
"title": "Example Mod", // 补丁描述:与仓库配置文件内注册的描述不同,这个描述并不会显示在补丁列表中
"servers": [ // 补丁服务器列表:同仓库服务器列表,有的话就填,没有的话也可以不填
"https://raw.githubusercontent.com/USERNAME/my-repo/main/ex-mod/" // 没有服务器的话请删除此行
],
"dependencies": [ // 依赖列表:运行你的补丁所需要的依赖项
"nmlgc/base_tsa", // 东方官作基础支持包:必要依赖项
"nmlgc/base_tasofro" // 黄昏边境基础支持包:对于黄昏作,必要依赖项
]
}一些thpatch官方提供的基础包:thcrap-tsa。
编辑补丁文件
至此仓库和补丁的基本配置已经完成,接下来只要直接往补丁目录里扔文件就行了。
游戏版本目录
现在要明确的一点就是,一个补丁是可以适用于多部作品的。比如你要修改红魔乡的游戏文件,那就在补丁目录内新建th06文件夹,然后把修改后的文件扔进去。如果还要修改妖妖梦的文件,那就再新建一个th07文件夹,再把文件扔进去。当thcrap将这个补丁应用于红魔乡时,会自动选择th06目录内的文件,应用于妖妖梦时则会自动选择th07目录内的文件。
具体可用的游戏版本文件夹可参考基础支持包的文件列表。
修改游戏文件
把修改后的游戏资源文件扔到游戏版本目录后,运行游戏时thcrap会自动使用它们替换游戏原本的文件。
各部作品的可用资源文件以它们各自解包后得到的文件为准。然而,thcrap也额外定义了一些其独有的资源文件,这些资源文件是原版游戏所没有的,但是却可以方便补丁的开发。
基本上可能出现的文件类型有这些:
| 文件类型 | 说明 |
|---|---|
| ANM PNG JPG | 图像及动画 |
| WAV MID | 音频 |
| MSG | 对话文本 |
| END | 结局文本 |
| ECL | 弹幕控制代码 |
| SHT | 自机数据 |
| FMT POS | BGM元数据 |
| STD | 3D背景 |
| RPY | 演示回放 |
相关资料:
THBWiki
Touhou Wiki
pytouhou
二进制修改
我对这一部分目前并没有任何了解,但是在浏览文件时,看到基础支持包内根目录下有很多以游戏版本命名的json文件(比如这个),其中出现了大量的binhacks字段,那么很明显thcrap应该是支持二进制修改的。如果有兴趣,有时间的话,可能会研究一下。
完成示例补丁
是时候实践一下了。就以修改红魔乡的图像资源为例,从解包后的文件中随便挑两个,随便改改,再扔到my-repo/ex-mod/th06文件夹里,这个示例补丁就算完成了。


使用补丁
使用thcrap的补丁也很简单。
正确放置补丁
首先要保证补丁的仓库文件夹(一定要注意是整个仓库的文件夹而不是单独的补丁文件夹)在thcrap根目录下的repos目录内。不管是你自己制作的补丁仓库,还是下载的别人的补丁仓库,只有这样,补丁才能被thcrap正确识别。
配置thcrap
- 启动thcrap,点击Next。

- ①选择Simplified Chinese。
②点击All patches。
- 在Available Patches列表中找到你的仓库和补丁。

- 将鼠标移动到你的补丁的id上,显示出一个向右的小箭头,点击这个箭头。

- 点击Next。

- ①选择你要使用补丁的游戏版本。
②点击Next。
- ①选择你要在哪些地方创建快捷方式。
②点击Next。
- Congratulations! You did it!

验收成果
启动你刚刚创建的快捷方式,查看补丁效果。
