Artemis引擎游戏去假名标注(ruby)
你可能会发现在使用Artemis引擎的游戏中假名注解会让文本提取出现问题,以下介绍一种较为轻松且通用*的解决方法:
以下教程以遥かなるニライカナイ为例,游戏主程序名niraikanai.exe
(部分内容请根据游戏具体情况灵活变化)
- 解开游戏封包
根据游戏主程序名,找到对应的封包niraikanai.pfs
这里需要用到一个开源项目pfs_upk,这个项目实现了对.pfs.*
的解包和重新封包功能
拖拽niraikanai.pfs
到pfs_upk.exe
上,稍等片刻之后你可以在游戏目录下找到niraikanai
文件夹(已解包的文件)
- 修改
script.lua
文件
转到niraikanai\system\extend
目录,找到script.lua
文件
使用任何用起来顺手的文本编辑器来打开它,稍微翻一下,你应该能够找到与下面这块内容相同/相似的
----------------------------------------
-- テキスト
----------------------------------------
--function tags.name(e, p) mw_name(p) return 1 end --
function tags.text(e, p) mw_text(p) return 1 end --
function tags.line(e, p) mw_line(p) return 1 end --
function tags.rt2(e, p) rt2() return 1 end --
function tags.nrt(e, p) nrt() return 1 end --
function tags.gaiji(e, p) gaiji(p) return 1 end --
function tags.exfont(e, p) exfont(p) return 1 end --
function tags.txruby(e, p) txruby(p) return 1 end -- <--找到这行,关键词ruby
function tags.txkey(e, p) txkey(p) return 1 end --
function tags.tximg(e, p) tximg(p) return 1 end --
function tags.txcode(e, p) txcode(p) return 1 end --
function tags.txnb(e, p) txnb(p) return 1 end --
function tags.txnc(e, p) txnc(p) return 1 end --
function tags.heroname(e, p) heroname(p) return 1 end --
修改txruby(p)
为mw_text(p)
,保存文件
- 重新打包
在重新打包之前,请先备份原版niraikanai.pfs
文件,并将它移动到其他位置或重命名
返回到游戏目录,拖拽先前解包且修改的niraikanai
文件夹到pfs_upk.exe
上并稍等片刻,你将得到一个新的niraikanai.pfs
文件
- 启动游戏
可以观察到原先提取不完整的文本已经能够正确提取
*并不能保证该方法与所有的Artemis引擎游戏兼容