如何导出GBA游戏中的各种文件?

来自Wenbanzhu
跳转至: 导航搜索

待解问题.png 问题

如何导出GBA游戏中的各种文件?.jpg
--Ly651686474 2009年12月7日 (一) 13:08 (CST)

问题具体描述:如何导出GBA游戏中的各种文件?


最新回答.png 回答

方法

GBA游戏中的文件有很多种,我们如何能将这些文件倒出来呢?以下就以导出GBA三作的战斗动画为例,讲述了导出GBA文件的方法。

准备说明.gif说明:软件下载链接见页面下的参考网站部分

  • CrystalTile2:此工具集TILE处理和16位进制编辑器于一体,同时可以简单查找压缩文件。
  • NLZ GBA Advance:专门用于查看GBA游戏中被压缩过的图片,最新版本已针对GBA火纹三作进行优化,定位更快更准,使压缩图片一览无遗。当然也可进行简单的导入导出。
  • NLZ Compressor:同样是Nintenlord的杰作,针对LZ77算法有强大的解压和压缩功能,什么东西都能压到ROM里,缺点是无法预览图片,常常和NLZ GBA Advance配合使用。
  • GBA的模拟器和ROM:模拟器推荐用VisualboyAdvance。

方法:先要知道你所导人物完整的战斗动画到底有几个。GBA三作是由职业和武器决定战斗动画的。职业不同则动画不同,武器也是同理。说明.gif说明:举例说明见页面下的补充部分

  1. 用CrystalTile2打开烈火的ROM。
  2. 切换到编辑状态,从工具栏中找到“搜索”—“查找”,然后输入“bllf”,找到第一个bllf,在右边看到的是bllf_sw1,这就是琳用剑的动画。
    • 红色区域便是动画数据,一共32个字节。这32字节的前12字节是ASCII码,表示的就是右边的bllf_sw1,这只是名称而已,可以不管它。
    • 后面的20字节是5个指针,分别是C8 7F E4 08,A4 7A E4 08,1C 66 E4 08,78 51 E4 08,18 51 E4 08。记下这5个指针,然后把第一个指针转换成地址是E47FC8,在CrystalTile2 左边的偏移地址栏输入E47FC8,再回车。
  3. 从E47FC8开始选取6行共96个字节的数据,选中后点“编辑”—“导出”,导成2进制(.bin)文件,取名Data1。剩下的4个指针也转换成数据是E47AA4,E4661C,E45178,E45118,但是这4个地址的数据是被压缩过的,不能按第一个指针的办法来做。这时要用到NLZ Compressor。
  4. 用NLZ Compressor把4个地址的数据都解压后分别存为Data2,Data3,Data4,Data5。
  5. 然后用CrystalTile2打开Data2,同样切换到16进制编辑状态,可以发现里面有很多个指针,而且每个指针都重复出现很多次,这些指针指向的就是战斗动画的图片了。
  6. 经过仔细查找,一共发现4个指针(不能漏掉),它们是7012E408,E022E408,9034E408,7C47E408,都记下来。然后转换成地址为E41270,E422E0,E43490,E4477C。现在打开NLZ GBA Advance。第一次打开,ROM会提示要搜索一会,点“YES”。
  7. 你会发现每个地址对应的都是战斗动画图片,如果不是,则你的地址找错了,需要重找。
  8. 把这些图片存成dmp格式的文件(当然你可以点save as存成图片文件,不过这种格式有缺陷),取名为img01,img02,img03,img04。导出工作到此结束了。

补充

  • 战斗动画举例说明:领主骑士(烈火中小艾的高级职业)一共有4个战斗动画:枪、剑、空手、拿烈火之剑。重装领主(大海的高级职业)有5个战斗动画:剑、斧、投斧、空手、拿天雷之斧。
  • 导入GBA三作的战斗动画
    1. 将4个图片文件依次压缩到圣魔ROM
    2. 将4个新图片地址转换为指针,替换Data2里的4个旧指针
    3. 将5个Data文件导进圣魔ROM。定位到ROM最后,将Data1直接追加进去,其余4个要压缩进去。
    4. 将5个Data文件在ROM里的地址换成指针并记录下。
    5. 定位到C01928,圣魔最后一个动画后的空白处,添加12字节的ASCII码(可以空着不填),再把上一步里的5个指针输入
    6. 确定新动画代码(此处为C9),之后就简单了,给自己喜欢的职业加这段动画,以上方法中用的是领主(女),还可以用女剑士或女剑圣之类的。
  • 导出GBA游戏中的文件除了工具外,还要有一些基础知识:16进制知识必不可少,这里说一下偏移地址(简称地址)和指针的关系。
    1. 举例来说:9019A4 就是ROM里的一个地址,转换成指针就是A4199008,怎么换算的呢?把9019A4拆成90 19 A4三个部分,然后倒转部分间的顺序(每部分内的顺序不变)变成A4 19 90,最后合起来再加个08就是A4199008。
    2. 也许有人会问为什么要加08呢?这是指针规定的格式,在FFFFFF以前的地址转换成指针都要加08,当然如果地址到了1000000以后,那么转换就要加09了,比如10076E0,转换后就是E0760009。这个知识在ROM扩容到1000000以后会用到。
    3. 还有一点,正确的地址尾数只能是0、4、8、C其中的一个。

提示

  • 有的动画指针可多达10几个,直接找容易漏掉,我们可以先任意找到其中一个看是否为战斗动画图片,然后根据此图片在NLZ GBA Advance上下搜索其它图片,最后反找指针,这样就不容易漏掉图片了。
  • 需要注意的是:角色拿剑和魔法剑用的是同一动画,枪和投枪也是同一动画,斧和投斧却是两个动画。另外对某一职业来说,所有攻击性魔法(理光暗)用的是同一动画,杖是单独的动画,空手也是单独的动画。

参考网站

相关问答

明星版主.png 版主: 本页回答由版主“Ly651686474”负责,您可以查看Ly651686474介绍和编辑或者给Ly651686474留言


分类浏览.png 分类游戏|如何|GBA|文件|导出

讨论.png 讨论

关于“如何导出GBA游戏中的各种文件?”的留言:

目前暂无留言

新增相关留言