Rizline:Chart file
Jump to navigation
Jump to search
Rizline chart files use the JSON file format. A chart file contains information about colors, lines, notes, challenge time, BPM and other information.
JSON structure
[edit | edit source]- (root)
fileVersion
(int) - File format version. This is usually 0, but in some charts like Tempest (onIN
difficulty), this is set to 1. [verify]songsName
(string) - Title of the song; often it is an empty string. This seems to be a leftover value from charting software, it is unused in-game.themes
(array) - List of themes; there is always two [verify] themes:0
(theme object) - Default theme. See #Theme object structure for details.1
(theme object) - Challenge-time theme. See #Theme object structure for details.
challengeTimes
(array) - Challenge times of the chart; currently there is always exactly one challenge time, but there could be more in the future. [verify]-
(object)
- A challenge time.
checkPoint
(float) - Purpose currently unknown. [verify]start
(float) - Start of challenge time (in beats).end
(float) - End of challenge time (in beats).transTime
(float) - Transition time (in beats). [verify]
-
(object)
- A challenge time.
bPM
(float) - Initial BPM of the song.bpmShifts
(array) - Changes of BPM in the song.-
(key point object)
- The value of the key point is a multiplier of the initial song BPM. If the initial BPM is 120, then a key point with a value of 1.5 means a new BPM of 180. A value of 0.5 would mean the new BPM is 60. These key points, unlike other key points, are not interpolated in any way. The changes of BPM are always instant. The
easeType
property of the key point has no effect. See #Key point object structure for details.
-
(key point object)
- The value of the key point is a multiplier of the initial song BPM. If the initial BPM is 120, then a key point with a value of 1.5 means a new BPM of 180. A value of 0.5 would mean the new BPM is 60. These key points, unlike other key points, are not interpolated in any way. The changes of BPM are always instant. The
offset
(float) - Audio or chart offset. It is currently unknown if this value shifts the audio or the chart forwards, nor is it known if this value is in milliseconds or seconds (or beats!). Always0.0
. [verify]lines
(array) - List of all lines in the chart. This part usually takes up most of the chart file.-
(object)
- A line.
linePoints
(array) - Line points that determine the shape and position-based colors of the line.-
(object)
- A line point
time
(float) - Time of the point (in beats).xPosition
(float) - Position of the note relative to the canvas. As with all other X coordinates: -0.5 is the left edge of the screen, 0.0 is the center of the screen, 0.5 is the right edge of the screen. Note that the value can be outside the -0.5..0.5 range, and the line point still may be visible (for example, if the xPosition is -10.0, but the canvas x position is 10.0, the line point will be visible in the middle of the screen).color
(color object) - Color of the point. See #Color object structure for details.easeType
(int) - ID of the ease type used for this point. See #Ease type enum for details.canvasIndex
(int) - ID of the canvas that the point is on.floorPosition
(float) - Pre-calculated time of the point (in seconds). This value is not always accurate.
-
(object)
- A line point
notes
(array) - Notes that are on that line.-
(object)
- A note.
type
(int) - Type of the note. See #Note type enum for details.time
(float) - Time of the note (in beats).floorPosition
(float) - Pre-calculated time of the note (in seconds). This value should not be trusted, as it is not always accurate or present.otherInformations
(array) - This array is empty for most notes, but it contains 3 entries forHold Notes:
0
(float) - End time of the note (in beats).1
(float) - Duration of the note (in beats).2
(float) - Pre-calculated end time of the note (in seconds).
-
(object)
- A note.
judgeRingColor
(array) - Changes of the color of the judge ring.- (color key point object) - A color change. See #Color key point object structure for details.
lineColor
(array) - Gradient line color changes, based on time.- (color key point object) - A color change. See #Color key point object structure for details.
-
(object)
- A line.
canvasMoves
(array) - Changes of canvas' positions.-
(object)
- A move pattern for one canvas. The index of the element in the array is the canvas index.
index
(int) - Index of the canvas; should always the same as the index of the item in the parent array.xPositionKeyPoints
(array) - Position changes of the canvas in the song.- (key point object) - A position change. The value of the key point is the absolute X position of the center of the canvas. As with all other X coordinates: -0.5 is the left edge of the screen, 0.0 is the center of the screen, 0.5 is the right edge of the screen. See #Key point object structure for details.
speedKeyPoints
(array) - Speed changes of the canvas in the song.- (key point object) - A speed change. The value of the key point indicates a scroll speed multiplier, that is applied to a base scroll speed based on the user's preference. See #Key point object structure for details.
-
(object)
- A move pattern for one canvas. The index of the element in the array is the canvas index.
cameraMove
(object) - Changes of camera position.scaleKeyPoints
(array) - Scale/zoom changes of the camera in the song.- (key point object) - A scale change. [unfinished] See #Key point object structure for details.
xPositionKeyPoints
(array) - Position changes of the camera in the song.- (key point object) - A position change. The value of the key point is the absolute X position of the center of the canvas. As with all other X coordinates: -0.5 is the left edge of the screen, 0.0 is the center of the screen, 0.5 is the right edge of the screen. See #Key point object structure for details.
Theme object structure
[edit | edit source]- (root)
colorsList
(array) - List of colors; there are always 3 [verify] colors:0
(color object) - Background color. See #Color object structure for details.1
(color object) - Note color. See #Color object structure for details.2
(color object) - Particle color. See #Color object structure for details.
Color object structure
[edit | edit source]- (root)
r
(int) - Red value (from 0 to 255).g
(int) - Green value (from 0 to 255).b
(int) - Blue value (from 0 to 255).a
(int) - Alpha value (from 0 to 255).
Key point object structure
[edit | edit source]- (root)
time
(float) - Time of the key point (in beats).value
(float) - Value of the key point.easeType
(int) - ID of the ease type used for this key point. See #Ease type enum for details.floorPosition
(float) - Pre-calculated time of the key point (in seconds). This value is not always accurate.
Ease type enum
[edit | edit source][unfinished]
0
- unknown1
- unknown2
- unknown3
- unknown4
- unknown5
- unknown6
- unknown7
- unknown8
- unknown9
- unknown10
- unknown11
- unknown12
- unknown13
- unknown
Note type enum
[edit | edit source]0
-Tap Note
1
-Catch Note
2
-Hold Note
Color key point object structure
[edit | edit source]Color key points change the color of the entire line (or judge ring) over time, as opposed to line point colors, which change the color of the line in a gradient fashion, locally. Color key points always interpolate linearly. The current color can be calculated with the following formula:
// prev = key point that's the closest to `currentTime`, but not after it // next = next key point, one that's right after `prev` t = (currentTime - prev.time) / (next.time - prev.time) color = ((1.0 - t) * prev.startColor) + (t * prev.endColor))
- (root)
startColor
(color object) - Starting color. See #Color object structure for details.endColor
(color object) - Ending color. See #Color object structure for details.time
(float) - Time of the start of the key point (in beats).
Navigation
[edit | edit source]
![]() | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||
|