C2 chart format
Cytus II (C2) chart format is a JSON file, that means you can edit easily in any text editor. This article will explain its concept and parameters that appears in a chart file.
Parameters
WARNING!
This article aims at Cytoid compatibility, some tools might not be fully supported.
Root parameters
format_version: chart format version (not required in Cytoid).
time_base: the length of a beat (in tick).
music_offset: music playing offset (in seconds).
size: note size of all notes. Default:
1.0
.ring_color: ring color of all notes (in RGB hexadecimal).
fill_colors: array of fill colors of different types of notes (in RGB hexadecimal format).
- Format:
[<click 1>, <click 2>, <drag 1>, <drag 2>, <hold 1>, <hold 2>, <long hold 1>, <long hold 2>, <flick 1>, <flick 2>]
- Format:
opacity: maximum opacity of all notes. Default:
1.0
.skip_music_on_completion: if
true
, the game will skip the music when the player finishes the chart.display_boundaries: display the scanline boundaries.
horizontal_margin: the horizontal margin (ranged from
1
to5
).vertical_margin: the vertical margin (ranged from
1
to5
).tempo_list: array of Tempo objects.
page_list: array of Page objects.
note_list: array of Note objects.
event_order_list: array of EventOrder objects.
Objects
Tempo
tick: Specify when the tempo will be applied.
value: the duration of a beat (in nanoseconds).
NOTICE!
This is different from BPM. However, you still can convert by using this equation:
Note
page_index: which page the note is in.
type: Type of note, ranged from 0 to 7.
0
: Click1
: Hold2
: Long Hold3
: Drag head4
: Drag child5
: Flick6
: C-Drag head7
: C-Drag child
id: the note ID
NOTICE!
When you chart, be sure that the current note ID is different from the others.
tick: the note timing (in tick).
x: the note position, in X-axis.
has_sibling: let the game know there is any other note in the same tick or not.
hold_tick: the length of the hold note
NOTICE!
This parameter is only usable in Hold and Long Hold notes (type 1
and 2
).
- next_id: the next note ID to make a Drag/C-Drag chain
NOTICE!
This parameter is only usable in Drag and C-Drag notes (type 3
, 4
, 6
, and 7
).
TIPS
When you want to finish the Drag/C-Drag chain, set it to -1
.
- is_forward
EventOrder
tick: specify when the event will be triggered.
event_list: array of ChartEvent object
ChartEvent
type: the event type
args: the event arguments
W
: Use when the scanline returns to the original speedR
: Use when the scanline is slower than the original speedG
: Use when the scanline is faster than the original speed