重要说明
我即将对它用Tauri进行彻底重构,使之有更好的性能和页面,同时加入AI辅助ZUNCODE编程的功能。 如果您想要使用THTK-Studio做东方魔改,我强烈建议你等到2月份我推出2.0.0版本后再使用。
v1.0.2 Touhou-Toolkit的集成式打包/解包和脚本编辑器
一个面向东方 Project 资源的图形化脚本编辑器,基于 PyQt6 开发。支持 ANM / STD / MSG / ECL 多脚本类型,集成了解包/打包、语法高亮、结构大纲、悬浮说明与帮助面板等功能;并提供“关于 → 项目整体说明”的独立弹窗以便快速上手与查阅项目说明。
- 2025-07-xx : 项目原型的前期准备, 用python封装了touhou-toolkit的核心模块功能
- 2025-10-xx : 项目雏形——一个比thtk-gui更好的msg脚本解包和翻译工具。
- 2025-11-04 : v1.0.0第一个正式版本,引入了内联编辑器和多脚本支持,并封装了thanm/thstd/thmsg/thecl等核心工具的一键打包解包功能。
- 2025-11-13 : v1.0.1 修正了ECL脚本高亮器, 加入ECL内置变量支持, 改进了对stderr的处理,并把默认的eclmap改成了Zero318的更现代的版本。
- 2025-11-15 : v1.0.2 修正了ANM高亮器,优化ANM渲染精灵的逻辑,加入了ANM专用的精灵位置摆放帮助窗口(负责搞明白图像拼起来是什么样的)。
- 多脚本支持:ANM(动画)、STD(3d背景)、MSG(对话)、ECL(弹幕)统一编辑体验,自动按后缀切换处理器
- 语法高亮与补全:按脚本类型加载关键字与指令文档,提供补全与错误高亮(如 STD 分号检查)
- 实时精灵预览(ANM):在编辑 ANM 文本时预览图集精灵
- 结构大纲(ECL):右侧对函数展开成树状结构,支持过滤、展开/折叠、双击跳转,状态稳定(防重置)
- 一键预设对话(MSG): 左侧内置了常用msg代码结构,减小无意义工作量
- 帮助面板(右侧):光标悬停显示指令签名与说明;顶部下拉可直接检索指令名
- 文档管线:支持从
resources/thecl_ref.json加载 ECL 指令说明,兼容ins_<id>与指令名两种检索 - 一键打包/解包:内置
thanm/thstd/thmsg/thecl封装入口,图形化设置路径与选项 - 关于弹窗:菜单“关于 → 项目整体说明...” 打开完整 HTML 弹窗,便于查阅与定制
如果你连Python环境都懒得配置, 可以去release页面下载exe版本的压缩包
- Windows 10/11
- Python 3.13
使用根目录的依赖文件(注意:文件名为 requirments.txt):
pip install -r .\requirments.txt如需手动安装核心依赖,可参考:
pip install PyQt6 pillowpython .\main.py程序启动后将进入默认 ANM 处理器,可根据打开的文件类型自动切换。
将 thanm.exe / thstd.exe / thmsg.exe / thecl.exe 等放在 resources/,或在相应工具面板中手动设置路径。未设置时某些解包/打包功能将不可用,但编辑器与查看器功能仍可使用。
-
打开文件:文件 → 打开…,选择
.anm.txt/.std(.txt)/.msg(.txt)/.ecl(.txt)等,处理器自动切换。 -
帮助面板:
- 光标悬停到指令/变量会显示说明与签名。
- 顶部下拉可输入或选择指令名进行检索。
-
ECL 结构大纲:
- 右侧 Dock 展示函数与标签的层级结构。
- 支持过滤、展开/折叠,双击可跳转到相应位置。
-
关于 → 项目整体说明…:
- 在菜单栏的“关于(&A)”中,点击“项目整体说明...”,将弹出完整 HTML 对话框。
- 内容来源:
resources/project_overview.html,可直接编辑自定义。
-
打包/解包:
- 打开对应脚本类型时,左侧(或工具面板区域)会显示该类型的工具入口。
- 选择游戏版本与路径,点击“解包…”或“打包…”。
- 指令说明(ECL):
- 文件:
resources/thecl_ref.json - 支持通过签名中的指令名或
ins_<id>两种键检索(如wait或ins_18)。
- 文件:
- 概览文档:
- 文件:
resources/project_overview.html - 用于“关于 → 项目整体说明…”弹窗的展示内容,可自由编辑。
- 文件:
- 语法/关键字:
- 相关定义与变量可在
resources/下的 JSON 文件中扩展。
- 相关定义与变量可在
├─ main.py
├─ README.md
├─ PROJECT_DOCUMENTATION.md
├─ requirments.txt
├─ app/
│ ├─ main_window.py
│ ├─ core/ # 解析与工具封装(thecl/thstd/thanm/thmsg 等)
│ ├─ handlers/ # 各脚本类型处理器(anm/msg/std/ecl)
│ └─ widgets/ # 编辑器、帮助面板、关于弹窗等 UI 组件
├─ resources/
│ ├─ project_overview.html
│ ├─ thecl_ref.json
│ ├─ thstd_ref.json / thmsg_ref.json / instructions.json ...
│ └─ eclm_files/
└─ data/
- 更全面的技术说明、架构与扩展指南,请查阅项目根目录的
PROJECT_DOCUMENTATION.md。
- 集成thbgm和thdat模块
- 加入对Thecl1.1版本的eclm支持(它的指令名和一些语法略有区别)
- 加入更智能的代码补全和错误检查系统, 特别是对于函数调用和参数类型的检测
- 加入代码折叠功能, 方便用户管理和浏览大型脚本文件
- 加强文档与帮助系统,提供更全面的使用指南与示例
- 更进一步的可视化编辑器, 比如对动画甚至3D场景的可视化编辑和时间轴功能
-
看不到指令帮助?
- 确认
resources/thecl_ref.json存在或在设置中指定了有效路径。 - 将光标悬停在指令名或
ins_<id>上,或在帮助面板下拉中直接输入检索。
- 确认
-
切换编辑器类型后右侧大纲反复刷新/堆积?
- 已修复:切换处理器时会销毁旧 Dock,避免重复累积;大纲刷新做了去抖处理,避免折叠状态被重置。
-
运行时报 PyQt6 相关的 IDE 告警?
- 若是代码检查的“无法解析导入”类提示,多为本地环境未安装 PyQt6 所致;按上文安装依赖即可。
本项目由同人社团境界景观学会 发起和维护, 并欢迎更多热爱东方 Project 的同好参与开发。
如有问题或建议,请通过以下方式与我们联系:
- 社团qq群: 748966757
- 邮箱:contact@secret-sealing.club
- GitHub: THTK-Studio
欢迎提交 Issue / PR 来改进这个项目,包括:新脚本类型支持、语法定义完善、错误修复与 UI 体验优化等。
本项目用于东方 Project 相关的二次创作学习与研究,请遵循原作与社区规范。