Skip to content

Commit

Permalink
Document map format additions from BS version 1.40.0 (#634)
Browse files Browse the repository at this point in the history
  • Loading branch information
XAce1337manX authored Dec 22, 2024
1 parent e00cea9 commit e9c6f2d
Show file tree
Hide file tree
Showing 7 changed files with 336 additions and 14 deletions.
100 changes: 100 additions & 0 deletions wiki/.assets/snippets/beatmap/4.1.0.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"version": "4.0.0",
"colorNotes": [
{
"b": 10,
"r": 0,
"i": 0
}
],
"colorNotesData": [
{
"x": 1,
"y": 0,
"c": 0,
"d": 1,
"a": 0
},
{
"x": 2,
"y": 2,
"c": 0,
"d": 0,
"a": 0
}
],
"bombNotes": [
{
"b": 10,
"r": 0,
"i": 0
}
],
"bombNotesData": [
{
"x": 1,
"y": 0
}
],
"obstacles": [
{
"b": 10,
"r": 0,
"i": 0
}
],
"obstaclesData": [
{
"d": 5,
"x": 1,
"y": 0,
"w": 1,
"h": 5
}
],
"arcs": [
{
"hb": 10,
"tb": 15,
"hr": 0,
"tr": 0,
"hi": 0,
"ti": 1,
"ai": 0
}
],
"arcsData": [
{
"m": 1,
"tm": 1,
"a": 0
}
],
"chains": [
{
"hb": 10,
"tb": 15,
"hr": 0,
"tr": 0,
"i": 0,
"ci": 0
}
],
"chainsData": [
{
"tx": 2,
"ty": 2,
"c": 3,
"s": 0.5
}
]
"njsEvents": [
"b": 1.0,
"i": 0,
],
"njsEventData": [
"p": 1,
"e": 1,
"d": 2.0
]
}
14 changes: 7 additions & 7 deletions wiki/.assets/snippets/info/4.0.0.dat
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@
{
"useOverride": true,
"colorSchemeName": "Weave",
"saberAColor": "#C81414FF",
"saberBColor": "#288ED2FF",
"obstaclesColor": "#FF3030FF",
"environmentColor0": "#D91616FF",
"environmentColor1": "#30ACFFFF",
"environmentColor0Boost": "#D216D9FF",
"environmentColor1Boost": "#00FFA5FF"
"saberAColor": "C81414FF",
"saberBColor": "288ED2FF",
"obstaclesColor": "FF3030FF",
"environmentColor0": "D91616FF",
"environmentColor1": "30ACFFFF",
"environmentColor0Boost": "D216D9FF",
"environmentColor1Boost": "00FFA5FF"
}
],
"difficultyBeatmaps": [
Expand Down
129 changes: 129 additions & 0 deletions wiki/.assets/snippets/info/4.0.1.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
{
"version": "4.0.0",
"song": {
"title": "Magic",
"subTitle": "ft. Meredith Bull",
"author": "Jaroslav Beck"
},
"audio": {
"songFilename": "song.ogg",
"songDuration": 202,
"audioDataFilename": "BPMInfo.dat",
"bpm": 208,
"lufs": 0,
"previewStartTime": 0,
"previewDuration": 0
},
"songPreviewFilename": "song.ogg",
"coverImageFilename": "cover.png",
"environmentNames": [
"WeaveEnvironment",
"GlassDesertEnvironment"
],
"colorSchemes": [
{
"colorSchemeName": "Weave",
"overrideNotes": true,
"saberAColor": "C81414FF",
"saberBColor": "288ED2FF",
"obstaclesColor": "FF3030FF",
"overrideLights": true,
"environmentColor0": "D91616FF",
"environmentColor1": "30ACFFFF",
"environmentColor0Boost": "D216D9FF",
"environmentColor1Boost": "00FFA5FF"
}
],
"difficultyBeatmaps": [
{
"characteristic": "Standard",
"difficulty": "Easy",
"beatmapAuthors": {
"mappers": [
"Freeek"
],
"lighters": [
"Freeek"
]
},
"environmentNameIdx": 0,
"beatmapColorSchemeIdx": 0,
"noteJumpMovementSpeed": 10,
"noteJumpStartBeatOffset": 0,
"beatmapDataFilename": "Easy.dat",
"lightshowDataFilename": "Lightshow.dat"
},
{
"characteristic": "Standard",
"difficulty": "Normal",
"beatmapAuthors": {
"mappers": [
"Freeek"
],
"lighters": [
"Freeek"
]
},
"environmentNameIdx": 0,
"beatmapColorSchemeIdx": 0,
"noteJumpMovementSpeed": 10,
"noteJumpStartBeatOffset": 0,
"beatmapDataFilename": "Normal.dat",
"lightshowDataFilename": "Lightshow.dat"
},
{
"characteristic": "Standard",
"difficulty": "Hard",
"beatmapAuthors": {
"mappers": [
"Freeek"
],
"lighters": [
"Freeek"
]
},
"environmentNameIdx": 0,
"beatmapColorSchemeIdx": 0,
"noteJumpMovementSpeed": 10,
"noteJumpStartBeatOffset": 0,
"beatmapDataFilename": "Hard.dat",
"lightshowDataFilename": "Lightshow.dat"
},
{
"characteristic": "Standard",
"difficulty": "Expert",
"beatmapAuthors": {
"mappers": [
"Freeek"
],
"lighters": [
"Freeek"
]
},
"environmentNameIdx": 0,
"beatmapColorSchemeIdx": 0,
"noteJumpMovementSpeed": 16,
"noteJumpStartBeatOffset": 1,
"beatmapDataFilename": "Expert.dat",
"lightshowDataFilename": "Lightshow.dat"
},
{
"characteristic": "Standard",
"difficulty": "ExpertPlus",
"beatmapAuthors": {
"mappers": [
"Freeek"
],
"lighters": [
"Freeek"
]
},
"environmentNameIdx": 0,
"beatmapColorSchemeIdx": 0,
"noteJumpMovementSpeed": 18,
"noteJumpStartBeatOffset": 0.5,
"beatmapDataFilename": "ExpertPlus.dat",
"lightshowDataFilename": "LightshowPlus.dat"
}
]
}
3 changes: 3 additions & 0 deletions wiki/mapping/map-format/audio.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
---
prev: false
next: false
description: Take a deep dive into the audio file format for a Beat Saber map.
---

# Audio
Expand Down
55 changes: 55 additions & 0 deletions wiki/mapping/map-format/beatmap.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
---
prev: false
next: false
description: Take a deep dive into the beatmap file format for a Beat Saber map.
---

# Beatmap
Expand All @@ -25,6 +28,7 @@ to know where the corresponding collections are located.
<<< @/.assets/snippets/beatmap/3.2.0.dat{json} [3.2.0]
<<< @/.assets/snippets/beatmap/3.3.0.dat{json} [3.3.0]
<<< @/.assets/snippets/beatmap/4.0.0.dat{json} [4.0.0]
<<< @/.assets/snippets/beatmap/4.1.0.dat{json} [4.1.0]
:::
::::

Expand Down Expand Up @@ -87,6 +91,12 @@ Introduced in **1.34.5**
- Beatmap objects now use a template-like structure for serialization.
- All non-interactable beatmap objects were relocated to the [Lightshow](./lightshow.md) file.

== 4.1.0
Introduced in **1.40.0**

- Added support for [NJS Events](#njs-events)
- Removed support for [Spawn Rotations](#spawn-rotations)

:::

## Color Notes
Expand Down Expand Up @@ -853,6 +863,51 @@ A specific point in time, as determined by the [BPM](info.md#bpm) of the song, w

Alters the BPM to the defined value at the indicated beat.

## NJS Events

Allows you to alter the [NJS](info.md#note-jump-metadata) of the chart easing from the previous NJS event's time to the
current NJS event's time.

::: code-group

```jsonc [4.1.0]
{
"njsEvents": [
{
"b": 1.0, // Beat
"i": 0, // NJS Event Metadata Index Index
},
],
"njsEventData": [
{
"p": 1, // Extend (Use previous NJS event values)
"e": 1, // Easing
"d": 2.0, // Relative NJS difference from base NJS in Info.dat
},
],
}
```

### Beat {#njs-events-beat}

A specific point in time, as determined by the [BPM](info.md#bpm) of the song, when this event should produce its effect.

### Easing {#njs-events-easing}

An integer value which determines the interpolation of the transition between states.

<!--@include: @/.assets/parts/easings.md-->

### Relative NJS Difference {#njs-events-difference}

Alters the NJS to the value relative to the [base NJS](info.md#note-jump-metadata) of the song.
A positive value increases the NJS. A negative value decreases the NJS.

When the NJS decreases below base NJS the [Jump Distance](../intermediate-mapping.md#jump-settings) of objects remains
constant.
When the NJS increases above base NJS the [Reaction Time](../intermediate-mapping.md#jump-settings) of objects remains
constant.

## Lightshow

As of v4, all non-interactable beatmap objects have been migrated to the [Lightshow](./lightshow.md) file.
Expand Down
Loading

0 comments on commit e9c6f2d

Please sign in to comment.