Skip to content
This repository has been archived by the owner on May 2, 2024. It is now read-only.

A mini tool written in C that helps convert .arcpkg to Arcaea readable songlist

License

Notifications You must be signed in to change notification settings

freeze-dolphin/EtoileLegacy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💫

English | 简体中文

Étoile

读取 ArcCreate 的 .arcpkg 格式,自动解压相关资源并生成 songlist,并且支持单个 .arcpkg 内塞多首曲目

此工具旨在将 .arcpkg 转换为 Arcaea 可读的谱面,去除部分不可实现的 scenecontroltiminggroup 的同时保留原谱的可玩性

使用过程中碰到任何问题,欢迎在 Issues 中交流,中英文皆可 ╮( ̄▽ ̄)╭

食用方法

这是一个命令行工具,你需要在你系统的终端中执行

以下参数列表,你也可以通过执行 Etoile --help 来查看

参数名中带 * 的是必须参数,这些参数控制程序的主要行为

参数名 简介 例子
--input, -i * .arcpkg 文件 -i ./Pilcrow_.LivingWill.arcpkg
--songs, -o * songs 目录 -o ./songs
--bg, -b * 背景图片目录 -b assets/img/bg
--pack, -p * 曲包名称 -p default
--lua, -l Lua 脚本路径 1 -l ./aff_processor.lua
--version, -v 曲目加入时的游戏版本2 -v 2.33
选项 简介
--force 启用强制模式3
--fix-constant 启用定数修正4
--disable-camera 去除视角指令
--help, -h 显示帮助信息和版本信息

一般来说,推荐开启定数修正

下面是一个简单的使用示例:

  • Windows:

    Etoile -i Pilcrow_.LivingWill.arcpkg -o songs -b bg -p default -l aff_processor.lua -v 3.4 --force --fix-constant
  • Linux:

    $ ./Etoile \
        -i ./Pilcrow_.LivingWill.arcpkg \
        -o ./songs \
        -b ./bg \
        -p default \
        -l aff_processor.lua \
        -v 3.4 \
        --force \
        --fix-constant

这两则示例功能相同

构建

注意,对于 Windows,由于本人没有现成的 Windows 开发环境,无法对 Windows 平台进行本地编译,只能在自己的电脑进行交叉编译并使用 wine 进行测试

至于 macOS,我既不会交叉编译也没有类似的兼容层来测试,如果你会写 macOS 兼容并且愿意为这个项目支持,那么欢迎 Pull Request

开发时使用的库版本:

library version
cargs 1.1.05
zip 0.3.15
libcyaml 1.3.1-16
cJSON 1.7.15-16
libmagickwand 8:6.9.11.60+dfsg-1.66
lua 5.4.4-36
  1. 安装 libcyaml:

    $ sudo apt install libcyaml-dev
  2. 安装 libcjson:

    $ sudo apt install libcjson-dev
  3. 安装 MagickWand:

    $ sudo apt install libmagickwand-dev
  4. 安装 Lua:

    $ sudo apt install liblua5.4-dev
  5. 确保 CMake 已安装,并执行:

    $ mkdir build && cd build
    $ cmake -DCMAKE_BUILD_TYPE=Release ..
    $ make

    或者使用项目根目录下的 Makefile 完成自动构建

Footnotes

  1. 若不写此参数,程序将读取执行目录内的 'aff_processor.lua',如果文件不存在将禁用此功能

  2. 若不写此参数,程序将默认为 1.0 版本

  3. 强制模式不会在覆盖背景文件和 songlist 文件时提醒用户

  4. 有些曲师没有填写定数参数,只是写了一个定数显示文本(如:“Future 10”),我们无法从这样的文本中判断具体定数,因为有些人可能会写类似“Eternity ???”之类的东西;开启此项后,缺失定数参数的谱面将被定为 ?(也就是 0);若不开启此项参数,缺失定数参数的谱面将被转换程序忽略

  5. 从 github 中克隆的源代码 2

  6. 从 debian 12 的仓库中安装的软件包版本 2 3 4