Settings - KatieZeldaKat/spyro-rt-autosplitter GitHub Wiki
LiveSplit has a GUI to edit settings, but LiveSplit One platforms currently do not. The only way to edit settings for these is to edit them in the .lss
file directly. This serves as a guide to add/change settings manually.
.lss
files are XML files. It is recommended to use software which can make this look more "pretty," such as using VSCodium with the Pretty XML extension.
At the bottom of the XML, there may exist a tag for <AutoSplitterSettings />
. It should be just before the ending tag of </Run>
. Something like this:
<!-- snip -->
</Segments>
<AutoSplitterSettings />
</Run>
Replace the tag with a more verbose version so there's room to add settings:
<!-- snip -->
</Segments>
<AutoSplitterSettings>
<CustomSettings>
<!-- Settings go here! -->
</CustomSettings>
</AutoSplitterSettings>
</Run>
For all the examples below, you should place the snippets inside the comment block within <CustomSettings>
so the auto-splitter can recognize them.
The simplest setting, where its value can either be True
or False
. In ASL, this is the only way for settings to be set. Since WASM gives more versatility, the only setting in which a bool
is useful is for resetting on the title screen:
<!-- This setting is False by default. -->
<!-- You don't need to add a setting if you want to keep the default. -->
<Setting id="reset_on_title" type="bool">True</Setting>
This is the most common setting for the auto-splitter. Most settings are defined by an event which can occur multiple times within a run (i.e. exiting a level or killing a boss). This setting controls when the specified event should trigger a timer split. These options are:
FirstTime
EveryTime
Never
In practice, the XML looks something like this:
<!-- This setting is FirstTime by default. -->
<!-- You don't need to add a setting if you want to keep the default. -->
<Setting id="s3_molten_crater" type="string" value="EveryTime" />
Any setting to split for a given level will do so upon exiting the level. Entering a level will never trigger a split unless the level being exited does so.
There are exceptions for when specific level-transitions should occur, such as level storage and going from one home world to another. You can see these exceptions in MapCache::is_valid_map_transition()
.
Below is a table of levels with their corresponding id
values that can be added to the settings like in the Split
example.
Level | Setting |
---|---|
Artisans | s1_artisans |
Stone Hill | s1_stone_hill |
Dark Hollow | s1_dark_hollow |
Town Square | s1_town_square |
Sunny Flight | s1_sunny_flight |
Toasty | s1_toasty |
Peace Keepers | s1_peace_keepers |
Dry Canyon | s1_dry_canyon |
Cliff Town | s1_cliff_town |
Ice Cavern | s1_ice_cavern |
Night Flight | s1_night_flight |
Doctor Shemp | s1_doctor_shemp |
Magic Crafters | s1_magic_crafters |
Alpine Ridge | s1_alpine_ridge |
High Caves | s1_high_caves |
Wizard Peak | s1_wizard_peak |
Crystal Flight | s1_crystal_flight |
Blowhard | s1_blowhard |
Beast Makers | s1_beast_makers |
Terrace Village | s1_terrace_village |
Misty Bog | s1_misty_bog |
Tree Tops | s1_tree_tops |
Wild Flight | s1_wild_flight |
Metalhead | s1_metalhead |
Dream Weavers | s1_dream_weavers |
Dark Passage | s1_dark_passage |
Lofty Castle | s1_lofty_castle |
Haunted Towers | s1_haunted_towers |
Icy Flight | s1_icy_flight |
Jacques | s1_jacques |
Gnorc Cove | s1_gnorc_cove |
Twilight Harbor | s1_twilight_harbor |
Gnasty Gnorc | s1_gnasty_gnorc |
Gnasty's Loot | s1_gnastys_loot |
Glimmer | s2_glimmer |
Idol Springs | s2_idol_springs |
Colossus | s2_colossus |
Hurricos | s2_hurricos |
Sunny Beach | s2_sunny_beach |
Aquaria Towers | s2_aquaria_towers |
Crush's Dungeon | s2_crushs_dungeon |
Ocean Speedway | s2_ocean_speedway |
Crystal Glacier | s2_crystal_glacier |
Skelos Badlands | s2_skelos_badlands |
Zephyr | s2_zephyr |
Breeze Harbor | s2_breeze_harbor |
Scorch | s2_scorch |
Fracture Hills | s2_fracture_hills |
Magma Cone | s2_magma_cone |
Shady Oasis | s2_shady_oasis |
Gulp's Overlook | s2_gulps_overlook |
Icy Speedway | s2_icy_speedway |
Metro Speedway | s2_metro_speedway |
Mystic Marsh | s2_mystic_marsh |
Cloud Temples | s2_cloud_temples |
Metropolis | s2_metropolis |
Robotica Farms | s2_robotica_farms |
Ripto's Arena | s2_riptos_arena |
Canyon Speedway | s2_canyon_speedway |
Dragon Shores | s2_dragon_shores |
Sunny Villa | s3_sunny_villa |
Cloud Spires | s3_cloud_spires |
Molten Crater | s3_molten_crater |
Seashell Shore | s3_seashell_shore |
Sheila's Alp | s3_sheilas_alp |
Mushroom Speedway | s3_mushroom_speedway |
Buzz's Dungeon | s3_buzzs_dungeon |
Crawdad Farm | s3_crawdad_farm |
Icy Peak | s3_icy_peak |
Enchanted Towers | s3_enchanted_towers |
Spooky Swamp | s3_spooky_swamp |
Bamboo Terrace | s3_bamboo_terrace |
Sgt. Byrd's Base | s3_sgt_byrds_base |
Country Speedway | s3_country_speedway |
Spike's Arena | s3_spikes_arena |
Spider Town | s3_spider_town |
Lost Fleet | s3_lost_fleet |
Frozen Altars | s3_frozen_altars |
Fireworks Factory | s3_fireworks_factory |
Charmed Ridge | s3_charmed_ridge |
Bentley's Outpost | s3_bentleys_outpost |
Honey Speedway | s3_honey_speedway |
Scorch's Pit | s3_scorchs_pit |
Starfish Reef | s3_starfish_reef |
Crystal Islands | s3_crystal_islands |
Desert Ruins | s3_desert_ruins |
Haunted Tomb | s3_haunted_tomb |
Dino Mines | s3_dino_mines |
Agent 9's Lab | s3_agent_9s_lab |
Harbor Speedway | s3_harbor_speedway |
Sorceress's Lair | s3_sorceresss_lair |
Bugbot Factory | s3_bugbot_factory |
Super Bonus Round | s3_super_bonus_round |
Any setting to split for a given boss will do so upon killing them. Below is a table of supported bosses with their corresponding id
values that can be added to the settings like in the Split
example.
Boss | Setting |
---|---|
Ripto | s2_ripto_kill |
Sorceress (Lair) | s3_sorceress_lair_kill |
Sorceress (Super Bonus Round) | s3_sorceress_sbr_kill |
Similar to Split
, this is also defined by an event. In this case, it's picking up a collectable, dependent on the game. The options are:
Never
OnCategoryRequirement
EveryCollection
The category requirement is specifically for category extensions. These are as follows:
- Spyro the Dragon - 80 Dragons
- Spyro 2: Ripto's Rage - 40 Orbs (not supported by auto-splitter)
- Spyro: Year of the Dragon - 149 Eggs
In practice, the XML looks something like this:
<!-- This setting is Never by default. -->
<!-- You don't need to add a setting if you want to keep the default. -->
<Setting id="s3_egg_collected" type="string" value="EveryCollection"/>
Below is a table of the games with their corresponding id
values that can be added to the settings like in the above example.
Game | Setting |
---|---|
Spyro 1 | s1_dragon_collected |
Spyro 3 | s3_egg_collected |