-
Notifications
You must be signed in to change notification settings - Fork 2
Setting up AltSidesHelper for your map
To use any of AltSidesHelper's customizations, you'll need to add extra metadata to your map stored in YAML files next to your map.
Similar to Everest's {map name}.meta.yaml
, you'll need to create a {map name}.altsideshelper.meta.yaml
for every map you want to customize, or add as an alt-side.
When making an alt-side, save it as a .bin
as usual. The map file must not end in -B
, -C
, -H
, or -X
, or otherwise be recognized as a B-Side or C-Side by Everest - that will produce crashes. Ensure that the map is sorted last alphabetically, such as by appending Z-
or 99-
to the start - not doing so can mess up your campaign's overworld (sorry!).
An "A-Side" is used here to refer to a regular map that's being customized, or the A-Side for a map with alt-sides. Here's an example for the A-Side map examplemodder/ExampleMod/ExampleMap.bin
's alt-side meta:
Sides:
- OverrideVanillaSideData: true
Preset: "a-side"
ShowHeartPoem: true
- Map: "examplemodder/ExampleMod/ExampleMap-D"
Preset: "d-side"
ShowBerriesAsGolden: true
This file would modify the A-Side's heart to show no text when collected, and add the map examplemodder/ExampleMod/ExampleMap-D.bin
as a D-Side (using AltSidesHelper's D-Side assets) that shows it's berries as golden berries on the chapter panel.
If you're not familiar with the YAML format, I recommend using a YAML validator website to check your formatting. In short: each bullet point starts another entry, which can either be an additional map added as an alt-side (by specifying the Map
field), or a set of customizations to be applied to the A-Side (by specifying OverrideVanillaSideData: true
). The full list of fields that can be set is detailed in the Fields section below.
Here's what the alt-side meta for the D-Side in the previous example would look like.
AltSideData:
IsAltSide: true
For: "examplemodder/ExampleMod/ExampleMap"
There's not much to be customised here. IsAltSide
should be set to true for any map that is an alt-side, so that it can be hidden from the overworld. For
should be set to the ID (path minus .bin
) for the A-Side, so that AltSidesHelper can find it's customizations.
The field CopyEndScreenData
can also be set, and defaults to true
. When on, the alt-side will use the end screen of the A-Side when completed (with different text). If this is disabled, you can set it separately in the {map name}.meta.yaml
like normal.
Here's the full list of attributes that can be set in the A-Side meta, for each side. Attributes for more customisation (e.g. end screen music, columns in journal) are planned. Journal customisation will likely involve a level-set specific meta file for adding columns (such as for deaths).
The ID of the map to be used - the map's path from Maps/
, minus .bin
.
One of a-side
, b-side
, c-side
, d-side
, and none
(default). Setting this will set all attributes that you haven't specified, to
follow that particular side, with d-side
using assets provided by AltSidesHelper. You can leave this unset (or set to none
) to set all values manually. These values are listed for each attribute.
If true
, the A-Side will have its data modified, rather than creating a new side. See "Changing A-Side data". (false
)
Whether the in-world heart, chapter panel heart, and heart poem textures and colours should be overriden to match ChapterPanelHeartIcon
, HeartColour
, and InWorldHeartIcon
. true
by default, but you might want to disable this if you're using e.g. Collab Utils 2's options for overriding the heart textures and colour.
Decides when the alt-side should be available for selection. You may specify it as one of:
-
consecutively
(default), which unlocks this alt-side after the previous mode -
always
, which makes this alt-side always available (if the A-Side is unlocked) -
triggered
, which makes this alt-side hidden until it's unlocked by an Alt-side Cassette or Alt-side Unlock Trigger -
with_previous
, which unlocks this alt-side when the previous one is unlocked -
c_sides_unlocked
, which unlocks this alt-side when C-Sides are unlocked for that save file
The image to be displayed on the chapter select panel banner for that side for that side. menu/play
(backpack), menu/remix
(cassette), menu/rmx2
(c-side cassette), menu/leppa/AltSidesHelper/rmx3
(d-side cassette)
The dialog key of text that appears when this side is selected. (A-Side is OVERWORLD_NORMAL
, B-Side is OVERWORLD_REMIX
, C-Side is OVERWORLD_REMIX2
, D-Side is leppa_AltSidesHelper_overworld_remix3
.)
Decides whether strawberries should be shown as golden berries on the chapter panel, like in a vanilla B/C-Side. false
by default, but you will want to set this for any side that has no red berries.
The image to be used for the deaths counter. (collectables/skullBlue
, collectables/skullRed
, collectables/skullGold
, collectables/skullGold
)
The sprite set to be used for the crystal heart on the chapter panel and when displaying the heart poem. Note that you must append an additional /
at the end of the filepath for this to register. (collectables/heartgem/0/spin/
, collectables/heartgem/1/spin/
, collectables/heartgem/2/spin/
, collectables/leppa/AltSidesHelper/heartgem/dside/
(a grey heart))
The texture to be used for the crystal heart in the journal, in the Journal atlas. Also used for the file select screen. (heartgem0
, heartgem1
, heartgem2
, leppa/AltSidesHelper/heartgemD
)
The colour of the text and lines in the heart poem, and the heart's particles and light, specified as a hex value. (8cc7fa
, ff668a
, fffc24
, ffffff
)
The textures to be used for the crystal heart entity. (collectables/heartGem/0
, collectables/heartGem/1
, collectables/heartGem/2
, collectables/heartGem/3
)
Whether the crystal heart should show text when collected. (true
, except in c-side.)
The dialog key of the text to be displayed on the end screen. If this is unset, or set to nothing, it won't be modified. (AREACOMPLETE_NORMAL
, AREACOMPLETE_BSIDE
, AREACOMPLETE_CSIDE
, leppa_AltSidesHelper_areacomplete_dside
)
Whether the music remix title, artist, and album should be displayed when entering the chapter.
- Setting the "
{map name}_remix_artist
", "{map name}_remix
", and "{map name}_remix_album
" dialog keys will display those just like a vanilla B-Side. - Setting the "
{map name}_altsides_remix_intro
" dialog key will allow your to instead write your own list of text, with as many lines as you want.
Determines whether the other full clear options (Heart/CassetteNeededForFullClear) are considered. If true, EndScreenClearTitle
will be used for the end screen title after a full clear. You can use this with the b-side
or c-side
presets to create a B/C side that can be full-cleared. Do also note that if you have every Berry, Heart, and Cassette in the level, it will always register as a full clear, regardless of what's set here. (false
)
Whether the player must collect a cassette (vanilla or alt-side) to full clear the map in question. This is especially important for maps that lack a Cassette but you want to be full clear-able. (true
) by default.
Whether the player must collect a crystal heart to full clear. (true
)
If CanFullClear
is set to true, this dialog key will be used for the title on the end screen after a full clear. If this is unset, or set to nothing, it won't be modified. (AREACOMPLETE_NORMAL_FULLCLEAR
, leppa_AltSidesHelper_areacomplete_fullclear_bside
, leppa_AltSidesHelper_areacomplete_fullclear_cside
, leppa_AltSidesHelper_areacomplete_fullclear_dside
)