44670 / layeredFS

layeredFS 游戏翻译数据包生成工具
35 stars 9 forks source link

如果汉化资源新增了原游戏没有的资源文件,这些文件不会被读取并应用 #1

Closed giveup closed 9 years ago

giveup commented 9 years ago

举例,如原游戏A有1/2/3资源文件,汉化过后的由于种种原因需要新增一个资源来保证汉化完整 汉化后的游戏需要1/2/3/4资源文件来运行。4文件会由于原游戏没有也就不会重定向到SD卡导致不能被载入游戏。 目前发现的游戏有Pokemon OR/AS。由于3DS锁区十分严重。不同区域字库不一样, 难免会遇到需要增加字库来保证完整显示文字的游戏,故我觉得和汉化组反馈意义不大。 能否在layeredFS引擎的基础上改进,使之能完整读取SD卡的资源文件并应用到游戏。 如果能实现,layeredFS就不是一个简单的翻译引擎,而是一个mod引擎,可以增加游戏的资源并应用。 我个人的理解是这些文件在ExeFS.bin定义好的,汉化并没有应用汉化后的ExeFS.bin,也就不能读取新增的资源文件。

44670 commented 9 years ago

并非如此。 即使是原来不存在的文件,放进目录后也会被重定向读取。

giveup commented 9 years ago

@44670 我反复测试游戏,解包romfs,都无法完整应用汉化资源。表现为只有一部分内容汉化了。 当游戏不使用升级补丁时(无eshop更新),这时ntr可以完整地汉化游戏。 当游戏有eshop更新时,先分别解包原游戏romfs以及eshop补丁的romfs并合并成一个目录,作为romfs1 然后解包对应的汉化后的romfs以及汉化过的cia的romfs,合并成romfs2 用layeredFS生成补丁,无法完整汉化游戏,查看文件夹,多了几个原游戏没有的目录以及文件。故推测这些文件不会被应用到游戏中。 exefs.bin尝试过eshop原版的和汉化过的。(md5不同,故推测修改了内容) 在安装了eshop补丁的情况下,汉化不完整。 安装了汉化过的cia,可以完整汉化。 如果说layeredFS可以支持让游戏读取原本不存在的游戏资源文件,那我为何反复测试都无效呢? 是步骤有误还是只是特定游戏的bug?

44670 commented 9 years ago

这是因为游戏并不会主动读取添加的文件,而是要安装补丁后,新版的exefs才会读取这些添加的文件,直接修改romfs显然不行。 layeredfs只能做romfs的补丁,不能对exefs进行修改,以后也应该不会添加这项功能。

giveup commented 9 years ago

@44670 也就是还是要安装修改过的cia才能完整汉化游戏...ntr本身又不支持未签名的cia。 能否考虑添加这个功能呢?smea的hax 2.5也有一个类似的功能,它是直接替换整个romfs以及exefs。

44670 commented 9 years ago

暂时不会考虑哦。