-
Notifications
You must be signed in to change notification settings - Fork 9
Home
This page is a good introduction in the program. After Reading this check out the examples, Default WallStructures and Special WallStructures
The goal of the Beatwalls Program is to make working with mapping extension walls easier and enable everyone to use cool Walls in their Maps. It is designed to be used easily with good defaults, but still enables lots of options for interested Users.
A WallStructure is a collection of Walls. Bundling them together allows one to scale, repeat and edit them all at once to fit the Song, without having to manually edit each Wall. Combine multiple Wallstructures, to create amazing scenery for your Map.
To make working with Walls easier, I introduce to you a new standard of Values, which define a wall. It defines 1 = one line Index and the center = 0. Everything else scales accordingly.
An example floor Wall:
{ "duration": 1.0, "height": 0.1, "startHeight": 0.0, "startRow": -2.0, "width": 4.0, "startTime": 0.0 }
represents this Wall:
Lets go and try setting up our first Walls.
To add a WallStructure at a specific Beat, you have to add a bookmark at the beat, either with a Map Editor or by JSON-editing, which contains /bw $name
, where $name is the name of your Wallstructure. Take any song you want (prefferably with no prexisting walls, since it will delete those) and add the following bookmark:
Now we need to run the program. To do so just take you whole song folder and drag it into the exe. You will have to confirm the settings, and off you go. If everything goes right you should be able to go into beatsaber and see your beautifull floor now.
You probably don't want your cool Walls to be only one beat long and only once. That why you can use Options behind the name, to customize the walls.
-
Scale: scales the whole structure on the duration. Lets take our Floor, which has a default Duration of 1 and a startTime of 0. If you use
/bw floor 2
it will change the duration to 2 leave the startTime at 0. So now you have a floor with a duration of 2. For Structures which only use one Wall, this is kind of unnesecary, but imagine for a Line of Walls. By Scaling it, and not just increasing the duration, you make sure the duration of each wall still fits in the Line. default: 1 -
RepeatCount: How often you want to repeat your Structure after your initial Structure. With our good old floor, we can use
/bw floor 1 3
To create 4 (1 + 3 repeats) Walls behind each other. So now we got a floor with a total duration of 4 which consist of 4 1-duration walls. default: 0 -
RepeatGap Lets say you only want your precious floor to appear every second Beat. The RepeatGap controls, how far the gap between the repeats is. With
/bw floor 1 3 2
You will have a gap of one beat between each floor. But careful! It is affected by the scale, so with a scale of 2 the Gap will be 2 beats wide default: 1
Our finale wall with /bw floor 1 3 2
now looks like this
If you want to fine tune the walls you can do so by adjusting the Parameters of the Pattern. Each Value will get added to every wall in the pattern. This is done before Scale and Repeat count are applied. The Parameters are as follows:
$startRow $duration $width $wallHeight $wallStartHeight $startTime
For most changes, it is propably the best, to just change the Wall in the BeatwallAsset file and not in the Parameters, since that can get confusing pretty quickly. The complete List is now
/bw $name $scale $repeatCount $repeatGap $startRow $duration $width $wallHeight $wallStartHeight $startTime
and I dont think thats very readable:
Example!: lets use our previous wall and change some values
/bw floor 1 3 2 0.5 1 1 -2 -1 0
Remember! the default duration was 1, the default height was 0, etc.. By apllying these parameters we are just adding this values to our given ones Whe changed the duration of the wall to 1.5, added 1 to the hight, etc...
The Asset File is the File, where most of the CustomWallStructures are saved! You are invited to look into it, change it and add new structures. Wallstructures there are saved in json mode. An example Wall:
{
"name": "Floor",
"mirror": false,
"WallList": [
{
"duration": 1.0,
"height": 0,
"startHeight": 0.0,
"startRow": -2.0,
"width": 4.0,
"startTime": 0.0
}
]
}
You can add your own Wallstructures to the Asset file and then use them like any other Wall. You even can add already existing Walls to the Asset File To Do that:
- copy the array of _obstacles into a new file
- adjust the startTime values, you probably want them 0, if they should appear at the time of the bookmark
- save the file as $yourcoolName.oldAsset
- drag the file into the beatwalls.exe, it should give you message that it added the Structure.
If you create Some cool new structures, please send me, so I can add them to the default asset file!