Skip to content

VincentDirac/thtk-Unpack_All_in_One

Repository files navigation

自用一键式东方正作全解包

(其实就是个调包脚本)

快速开始

基本用法

将东方游戏目录拖放到 一键解包.bat 上,或使用 PowerShell 脚本:

.\unpack.ps1 -GameDir "D:\Touhou\th20"

系统要求

  • 操作系统:Windows 10/11
  • PowerShell:5.1+(Windows 内置)
  • Python:3.10+(必需,用于编码转换、BGM处理等功能)

详细用法

方法 1:PowerShell 脚本

支持参数化运行、错误处理和日志记录:

# 基础解包(交互式)
.\unpack.ps1 -GameDir "D:\Touhou\th20"

# 自动化解包(跳过所有确认)
.\unpack.ps1 -GameDir "D:\Touhou\th20" -Yes

# 试运行(不实际执行)
.\unpack.ps1 -GameDir "D:\Touhou\th20" -DryRun

# 详细输出
.\unpack.ps1 -GameDir "D:\Touhou\th20" -Detailed

# 自定义日志文件
.\unpack.ps1 -GameDir "D:\Touhou\th20" -LogFile "custom.log"

参数说明

  • -GameDir:游戏目录路径(必需,包含 thXX.exe 的文件夹)
  • -Yes:自动化模式,跳过所有确认提示
  • -DryRun:试运行模式,只显示将要执行的操作,不实际执行
  • -Detailed:详细输出模式,显示更多执行信息
  • -LogFile:自定义日志文件路径(默认:unpack.log)

方法 2:Python 模块方式

使用 pixi 环境运行(自动处理依赖):

# 基础解包
pixi run unpack D:\Touhou\th20

# 带 MP3 转换的解包(需要 FFmpeg)
pixi run unpack D:\Touhou\th20 --mp3

# 带淡出效果的解包
pixi run unpack D:\Touhou\th20 --fade

# 完整示例:MP3 + 淡出 + 清理
pixi run unpack D:\Touhou\th20 --mp3 --fade --clean

Python 命令行选项

python -m thtk_unpack_all_in_one.cli --help

常用参数:

  • game_dir:游戏目录路径(必要位置参数)
  • --mp3:同时将 WAV 转为 MP3(需要 FFmpeg)
  • --fade <seconds>:淡出时长,默认 3.0 秒
  • --clean:解包前清理输出目录
  • --no-clean:不清理输出目录(默认清理)
  • --skip-dat:跳过 DAT 解包
  • --skip-anm:跳过 ANM 解包
  • --skip-msg:跳过 MSG 解包
  • --skip-ecl:跳过 ECL 解包
  • --skip-encoding:跳过编码转换
  • --skip-bgm:跳过 BGM 解包
  • --skip-dialogue:跳过对话处理

方法 3:批处理脚本

将游戏所在文件夹拖动到 一键解包.bat 上,根据提示按 回车键 或输入 y/n

注意事项

  • 游戏文件夹名最好不要带有空格或特殊字符
  • 建议使用全英文+数字的形式以避免编码问题
  • 首次运行前确保所有依赖工具已正确安装

清理解包文件

点击 点击清空解包文件.bat 可清空所有生成内容。

建议在解包不同游戏前清理,以避免文件混淆。

环境要求和依赖

必需工具

  • PowerShell 5.1+:Windows 内置,用于运行 unpack.ps1 脚本
  • Python 3.10+:用于编码转换、BGM处理、对话生成等功能
  • thtk 工具集:东方正作解包工具(项目已内置)
    • thanm.exe:动画文件解包
    • thdat.exe:数据文件解包
    • thmsg.exe:消息文件解包
    • thecl.exe:脚本文件解包

可选工具

Python 依赖包(自动安装)

  • chardet:字符编码检测
  • numpy:数值计算

支持的游戏

  • 已验证:星莲船(th12)、鬼形兽(th17)、虹龙洞(th18)、兽王园(th19)、锦上京(th20)
  • 理论支持:th06~th20(东方新作弹幕作)
  • 不支持:旧作、游泳作、刚欲异闻等
  • 其他说明:可能存在 bug,欢迎反馈;若为 thtk 工具本身报错,请去 thtk 项目反馈

故障排除

PowerShell 脚本问题

  • 执行策略错误:运行 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • 路径包含空格:用引号包围路径,如 .\unpack.ps1 -GameDir "C:\Games\Touhou th20"
  • 权限不足:以管理员身份运行 PowerShell

工具 / 环境未找到或版本错误

  • 确认 thtk 文件夹存在且包含 thanm.exethdat.exethmsg.exethecl.exe
  • 如果使用 pixi,确保已安装且在 PATH 中:pixi run python --version
  • 如果使用系统 Python,确保 python 在 PATH 中并且版本 >= 3.10:python --version
  • 推荐 Python 3.10+,优先 3.11 或 3.12,以避免编码和依赖问题

找不到 thtk

  • 错误信息:找不到 thdatthdat 命令不存在
  • 解决:安装 thtk 并加入 PATH,参考 thtk 项目

找不到 FFmpeg(使用 --mp3 时)

  • 错误信息:ffmpeg 命令不存在找不到 ffmpeg
  • 解决:安装 FFmpeg 并加入 PATH,参考 FFmpeg 下载

Python 版本/环境问题

  • 错误信息:python 不是内部或外部命令ModuleNotFoundErrorSyntaxError
  • 解决:
    • 安装 Python 3.10+ 并加入 PATH
    • 运行 python -m pip install -r requirements.txt(如果有)
    • 推荐使用 pixi 创建独立环境:pixi install python@3.11pixi run python -m pip install -r requirements.txt

版本检测失败

  • 确保游戏目录包含 thXX.exe 文件(XX 为版本号)
  • 支持的格式:th12.exe, th17tr.exe(试玩版)等
  • 如果有多个 exe 文件,会自动选择最新版本

文件解包失败

  • 检查游戏文件完整性
  • 确认有足够磁盘空间
  • 查看 unpack.log 文件获取详细错误信息

编码转换问题

  • 某些文本文件可能需要手动检查编码
  • 如果转换后出现乱码,可能是特殊字符编码问题

常见日志消息

  • [INFO]:正常操作信息
  • [WARN]:警告信息,不影响执行
  • [ERROR]:错误信息,需要注意

项目结构

核心脚本

  • unpack.ps1:PowerShell 脚本版本的主解包工具

    • 支持参数化运行、错误处理、日志记录等高级功能
    • 推荐使用方式
  • 一键解包.bat:主要的批处理脚本

    • 传统方式,拖拽游戏目录即可使用
  • 点击清空解包文件.bat:清理脚本

    • 清理所有解包生成的文件和目录
    • 建议在解包不同游戏前使用

Python 脚本

  • upack.py:Python 主程序入口
  • shift_jis_to_utf-8.py:编码转换脚本
    • 将文本文件从 Shift-JIS 转换为 UTF-8
  • thbgm.py:BGM 音频提取脚本
  • transBFA.py:BGM 文件名转换脚本
    • 将 BgmForAll.ini 中的文件名替换为曲目名
  • transDialogue.py:对话文本提取脚本
    • 从 .msg 文件提取对话内容,生成 wikitext 格式

工具和配置

  • thtk/:东方正作解包工具集

  • pixi.toml:pixi 环境配置文件

  • pyproject.toml:Python 项目配置和依赖

输出目录

  • data/:解包后的游戏数据文件
  • anm/:图片文件输出目录
  • msg/:对话文件输出目录
  • ecl/:脚本文件输出目录
  • bgm/:曲目文件输出目录
  • dialogue/:对话文本输出目录

贡献和反馈

欢迎提交 Issue 和 Pull Request!

  • 项目主页:[GitHub Repository]
  • Bug 反馈:请提供详细的错误信息和日志
  • 功能建议:欢迎提出改进意见

许可证

本项目仅供学习和研究使用,请遵守相关法律法规。

说明

纯娱乐练手内容。还有诸多可拓展和改进之处。该项目致力于为东方同人创作者提供快速、便利的素材提取工具。

感谢

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors