Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AffTools

Version C# License

A toolset for Arcaea aff files.

  • Aff2Preview: 2D chart preview generator
  • AffAnalyzer: Analyze aff files

Aff2Preview

Generate 2D chart preview image by aff file.

Use System.Drawing.Common to generate images by default. To use another image library, pass graphicsAdapterFactory and imageFactory to the AffRenderer constructor.

Usage:

using AffTools.Aff2Preview;

AffRenderer affRenderer = new("assets/2.aff")
{
    Title = "Gift",
    Artist = "Notorious(Nota & TRIAL)",
    Charter = "Misaka12456",
    Side = 0,  // 0:hikari  1:tairitsu  2:dynamix or tempestissimo
    Difficulty = 2,
    Rating = 10.3f,
    Notes = 0, // notes are counted by internal note counter now
    ChartBpm = 200, // also used as the preview layout BPM; 0 uses the AFF base timing
    IsMirror = false, // controls whether the chart is mirrored or not
    GlobalArcSamplingDensity = 1f, // values above 1 make curved arcs smoother
};

// image resource to generate chart preview.
// for each side, please specify the image manually.
affRenderer.LoadResource(
    "assets/note.png",
    "assets/note_hold.png",
    "assets/arc_body.png",
    "", // sound arctap; empty string falls back to arc_body.png
    "", // designant arctap; empty string falls back to arc_body.png
    "assets/base.jpg",  // empty string if unwanted
    "assets/base.jpg"); // empty string if unwanted

var image = affRenderer.Draw();

image?.SaveToPng("output.png");

Arcaea 6.8 Designant arcs are supported. The parser accepts both the traditional boolean form and the extended form with an optional per-arc sampling density:

arc(0,1000,0.00,1.00,b,0.00,1.00,0,none,true);
arc(0,1000,0.00,1.00,b,0.00,1.00,0,none,designant,2.0)[arctap(500)];

Designant arcs and their arctaps are visual guides and are excluded from note analysis and note counts. Difficulty value 4 is displayed as Eternal.

Example output: assets/2.aff

example

AffAnalyzer

Can analyze aff file and generate chart data.

  • Note timing
  • Segment timing, bpm and beat per segment
  • Aff flaw detection
  • Note counting
  • Note count at specific timing
  • Note density

LICENSE

Assets: CC-BY-NC Arcaea-Infinity/OpenArcaeaArts

Gift: Source: BOFXVI

Aff & cover 616 SB License Misaka12456 from Arcaea-Infinity/FanmadeCharts

Part of note counting code modified from Lolitania/ArcaeaChartNoteCounterLibrary under BSD-3-Clause license.

Licensed under 616 SB License.

About

Generate 2d chart preview image by aff file.

Topics

Resources

Stars

26 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages