AAM——一个Arcaea资产管理工具
direwolf
2023-01-06 0

最近写了一个arc资产管理工具,用来打包壳子。

0x00 有什么用?

在写谱过程中,每次测谱都需要手动把各种文件复制过去,然后用压缩软件打包。开发AAM的出发点就是解决这个问题。同时,通过计算需要的文件,AAM会报告可能被遗漏的文件,从而减少闪退的发生。

0x01 使用方法

一个典型的使用流程

介绍一下借助AAM导谱的流程。

0. 打开软件

点击“加载Assets”即可载入资产文件夹。所谓的“资产文件夹”需要包含imgsongs等目录,对于ipa包来说一般是/Payload/Arc-mobile.app,对于apk包来说一般是/assets

启动页面

1. 导入歌曲

在载入文件夹后是这样一个显示歌曲信息的界面(这里用官包举例)。

歌曲信息页面

不过这个不是很重要。接下来通过“文件”(Mac上是标题菜单)>“导入”>“歌曲(链接模式)”来导入曲目。点了之后就可以选择你的谱面文件夹了(多选也行!)。“谱面文件夹”需要包含songlist、曲封、ogg音频、谱面等。

导入歌曲

非常重要的一点是,一定要包含songlist,因为AAM通过songlist知道你需要哪些文件。而且你的songlist格式应该是这样的:

{
  "songs": [   // 曲目信息需要用{ "songs": [] }包起来
    {
      "id": "zhilishiid",
      // 各种字段
      "difficulties": [
        {
          "ratingClass": 0,
          "chartDesigner": "",
          "jacketDesigner": "",
          "rating": -1   // 注意这里,我们约定不需要处理的谱面rating小于0
        },
        {
          "ratingClass": 1,
          "chartDesigner": "",
          "jacketDesigner": "",
          "rating": -1   // 这样pst和prs就会被当成不存在了
        },
        {
          "ratingClass": 2,
          "chartDesigner": "",
          "jacketDesigner": "",
          "rating": 0,   // 随便标个什么,其实0就可以!
          "ratingPlus": true
        }
      ]
    }
  ]
}

通过这种方式导入有一些好处:

a. AAM会记住你从哪导了歌,并且会在打包的时候自动复制,这在测谱的时候很有用。
b. AAM会复制你需要的东西,包括谱面、曲封、音频。
c. AAM不会复制多余的东西,包括但不限于Arcade文件夹。

在导入之后,你一般能在曲目列表的最后看到刚导进去的歌,歌名旁边会有一个“外”标识,表明AAM在导入的时候记录了原始路径,并且会在每次打包的时候自动更新。

外部标识

2. 验证依赖

在打包之前,建议先确认一下有没有漏掉东西。使用“生成”>“验证依赖”来检查包里的资源有没有问题。结果会像下面这样。

验证依赖

其中,[W]开头的是警告,[E]开头的是错误。你可能需要更多地关注“错误”的部分。为了强调这一点,“错误”会显示在“警告”上面。

3. 打包

通过“生成”>“生成...”菜单来打包。AAM并不能确定包的种类,所以需要在打包的时候选择。

文件种类选择

这个地方有点重要,所以需要再确认一次。确认之后耐心等待就好。

打包确认

顺利的话,就能找到打好的包了。之后再签名安装什么的就行。

其他功能

  • 如果不想要每次打包都复制,用“导入”>“歌曲”就行。
  • 如果需要导背景,可以用“导入”>“背景”。

0x02 QA部分

是不是应该有...功能

如你所见,AAM处在一个相当早期的阶段,而且这整个东西属于为了“方便测谱”这碟醋包的一盘饺子。

可以提建议,更多功能可能会加也可能不会(

链接模式的链接记到哪了

songlist(笑

arc并不会理会多余的字段,所以直接写到里面了。

复制的时候漏文件了!

目前会自动复制的:

  • base.ogg
  • base(_256).jpg
  • 难度>=0的.aff
  • audioOverridejacketOverride

不会复制的:

  • 音效天键用的音效
  • 背景
  • 其余我还没想到的东西

有bug

写的很糙,请见谅。并且我主要是在Mac上测的。

直达链接:Issues

好大啊。

electron是这样的(逃离

0x03 链接

下载链接(GitHub Releases)

评论 0
没有评论
评论已关闭
发表评论
评论 取消回复
Copyright © 2024 .direwolf