RPG Maker 2000 / 2003 的素材管理工具
- 查看素材内容和引用情况
- 方便、批量地管理游戏素材
- 内置强大的编码检测功能(?)
要在本机运行,需要克隆此仓库:
git clone https://github.com/blanhhy/rm200x-material-manager.git双击运行 RUN.bat 即可(或手动 npm)
打开一个游戏项目目录,等待加载完成,就可以开始使用了!!
并不是——其实需要在下拉菜单里选择正确的编码
但是!目前的自动检测几乎不会出错,所以省心了
如果你发现自动选编码的是错的,可以提 issue
(最好带上控制台日志)
从列表里选择一个素材,就可以在右侧预览它的内容和引用情况了
此外,素材还按照引用情况做了如下分类:
- 素材库:就是项目里的素材文件
- 数据库:是游戏实际使用的素材集合
- 已使用:文件存在且引用正确的素材
- 未使用:没有被游戏使用的素材文件
- 缺失:游戏需要但项目缺少对应文件
- RTP:需要从 RTP 获取文件的素材
在查看素材列表时,可以筛选其中的某一类单独查看
图片在预览时,可以启用或关闭透明色
而且,任何时候都可以重新选择透明色,不必在 RPG Maker 里重新导入!!
(VIPRPG 自动保管库里面有几个素材的透明色没选对...)
选择一个素材后,可以重命名和删除
右键素材卡片本身,也可以进入删除的多选模式
RPG Maker 居然没有这样的功能……!
事实上,如果素材的原始名字不满意,但又已经使用了,在原版会非常棘手,因为必须重命名文件然后手动改每一个引用点(谁记得啊!)
总之,这个工具的重命名和删除都是对文件名和引用名同步生效的,所以不用担心!!
说到删除就是备份了吧
本工具中一切删除 & 修改文件的操作,都会自动创建备份,如有需要的话可以在上方菜单里恢复
各种杂项小工具,但实际可能使用频率超过本体的功能
-
注入 RTP
一键注入 RTP 素材到项目本地!打包分发的时候会很好用
或者没有 RTP 的玩家也可以直接在线注入,免去下载 RTP 的麻烦最初是为了解决 温蒂翻译器 过度注入的问题
-
精简 RTP
和上面完全相反的操作...如果想减轻云盘压力的话,这个就会派上用场吧
-
RTP 标准化
将 RTP 引用名都改成英文版的名字,这样的话在任何编码下都能用同一套素材文件了
最初是为了解决 温蒂翻译器 对 RTP 处理方式很别扭的问题
-
清理无用素材
删除数据库中未使用的素材文件,释放空间
居然……最初也是为了解决 温蒂翻译器 过度注入的问题!!
-
清理无效引用
删除游戏数据库里指向不存在文件的引用,其实空引用对 Runtime 影响不大,实际强迫症功能...
具体实现见 encodingDetect.ts
使用游戏中的 实际显示文本(displayText) 来推断适合游玩的编码的技术
实际显示文本是指玩家会看到的文本,包括系统中的一些术语(角色名,物品名,技能名等等),以及更重要的对话文本(含选项等)。这些文本的语言决定了玩家在游玩时会使用的编码,因此解释器实际会按此编码来请求素材文件,所以文件的名字必须和引用名按此编码解码后的文本一致
顺便一提,没考虑这一点也是 温蒂翻译器 早期造成乱码 RTP 的主要原因...
本项目在收集实际显示文本之后,会剔除纯 ASCII 字符与语言中性字符(标点符号等),只保留实际的文本内容,分别按照中日文解码,评估文本的正常程度
- 中文的特征:首先无疑是汉字占比大,但实际上其他编码解成 GBK 也几乎全是汉字(
锟斤拷...),所以做了常用汉字统计
常用汉字集是统计实际游戏文本得到的,因为样本并不广泛,所以能明显地看到一些奇怪的结果,
你也可以在构建前用自己的游戏来 生成新的数据
- 日文的特征:首先是假名占比大,然而实际上中文游戏解成 Shift_JIS 也几乎全是假名,但显著特征是全是半角假名,而在真正的日文游戏中,半角假名是不常用的,所以对此设置了阈值
中日文阈值是根据实验调整的,你也可以手动运行 验证脚本 来实际检查得分情况
具体实现见 rtpIndex.ts
使 RTP 与文件名语言无关的技术。为了适应多种 RTP 语言变体,但又不至于内置或要求用户安装所有语言的 RTP 文件
RTP 映射保证了就算游戏和所选 RTP 的语言不对口,素材管理器也能正常从 RTP 中获取相应的素材文件
与游戏编码无关,即使是乱码 RTP, 也可以正常识别,RTP 注入也 ok
其他的文档...
raw-enents-table.md 记录了所有的事件命令,以及对应的语义
下面有一些用途未知的,如果你知道的话可以补充
EasyRPG 提供了 RPG Maker 素材处理机制的重要参考
rpgrt 封装了便利的 lcf 读写
