mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-08 04:54:05 +00:00

The playlist macros set the music list twice, once before the story screen and again in prestart, but the order of tracks is different. This means that the track order at the titlescreen and in the lobby is now the same as the track order in a scenario using the default playlist, which previously was not the case. Similarly, the track order in the editor is now the same as the track order in a scenario using the full playlist. Whether that actually matters? I have no idea. I doubt it. In any case, as of this commit, there are no schema validation errors at the title screen, when entering the MP Create screen, or in the map editor.
623 lines
14 KiB
INI
623 lines
14 KiB
INI
#textdomain wesnoth
|
||
# Music control macros, and declarations of sound resource lists.
|
||
#
|
||
# As of 1.1.3, music is parsed as follows:
|
||
#! 1. the [scenario]-level [music] tag
|
||
#! 2. the [story]-level music key
|
||
#! 3. any [event]-level [music] tags
|
||
#
|
||
# If you change the music at a lower level, the tags above it will NOT
|
||
# be re-parsed and your scenario will sound wrong. For example, if
|
||
# you set scenario music with the normal [scenario]-level music tag
|
||
# but change the music during the [story], it is never reset back to
|
||
# normal. Therefore, these macros are intended to catch instances
|
||
# like that. Of course, if you want something more elaborate, code it
|
||
# manually.
|
||
|
||
# These macros do not rely on any other macros. Please don't change this.
|
||
|
||
#define DEFAULT_MUSIC_PLAYLIST_NO_EVENT
|
||
[music]
|
||
name=knolls.ogg
|
||
ms_before=12000
|
||
[/music]
|
||
[music]
|
||
name=wanderer.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=battle.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=transience.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=the_king_is_dead.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=knalgan_theme.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=the_city_falls.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=nunc_dimittis.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=revelation.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=loyalists.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=breaking_the_chains.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=elvish-theme.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=legends_of_the_north.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=traveling_minstrels.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=underground.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=vengeful.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=frantic.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=the_dangerous_symphony.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=heroes_rite.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=suspense.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=the_deep_path.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=siege_of_laurelmor.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=casualties_of_war.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=silvan_sanctuary.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=battle-epic.ogg
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
#enddef
|
||
|
||
#define DEFAULT_MUSIC_PLAYLIST
|
||
{DEFAULT_MUSIC_PLAYLIST_NO_EVENT}
|
||
[event]
|
||
name=prestart
|
||
{DEFAULT_MUSIC_PLAYLIST_NO_EVENT}
|
||
[/event]
|
||
#enddef
|
||
|
||
#define FULL_MUSIC_PLAYLIST_NO_EVENT
|
||
[music]
|
||
name=battle-epic.ogg
|
||
title= _ "Battle Epic"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=battle.ogg
|
||
title= _ "Battle Music"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=breaking_the_chains.ogg
|
||
title= _ "Breaking the Chains"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=casualties_of_war.ogg
|
||
title= _ "Casualties of War"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=elf-land.ogg
|
||
title= _ "Elf Land"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=elvish-theme.ogg
|
||
title= _ "Elvish theme"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=frantic.ogg
|
||
title= _ "Frantic"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=heroes_rite.ogg
|
||
title= _ "Heroes Rite"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=into_the_shadows.ogg
|
||
title= _ "Into the Shadows"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=journeys_end.ogg
|
||
title= _ "Journey’s End"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=knalgan_theme.ogg
|
||
title= _ "Knalgan Theme"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=knolls.ogg
|
||
title= _ "The Knolls of Doldesh"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=legends_of_the_north.ogg
|
||
title= _ "Legends of the North"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=love_theme.ogg
|
||
title= _ "Love Theme"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=loyalists.ogg
|
||
title= _ "Loyalists"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=northern_mountains.ogg
|
||
title= _ "Over the Northern Mountains"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=northerners.ogg
|
||
title= _ "Northerners"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=nunc_dimittis.ogg
|
||
title= _ "Nunc Dimittis"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=revelation.ogg
|
||
title= _ "Revelation"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=sad.ogg
|
||
title= _ "Sad"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=siege_of_laurelmor.ogg
|
||
title= _ "Siege of Laurelmor"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=silvan_sanctuary.ogg
|
||
title= _ "Silvan Sanctuary"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=suspense.ogg
|
||
title= _ "Suspense"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=the_city_falls.ogg
|
||
title= _ "The City Falls"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=the_dangerous_symphony.ogg
|
||
title= _ "The Dangerous Symphony"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=the_deep_path.ogg
|
||
title= _ "The Deep Path"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=the_king_is_dead.ogg
|
||
title= _ "The King is Dead"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=transience.ogg
|
||
title= _ "Transience"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=traveling_minstrels.ogg
|
||
title= _ "Traveling Minstrels"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=underground.ogg
|
||
title= _ "Underground"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=vengeful.ogg
|
||
title= _ "Vengeful Pursuit"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=wanderer.ogg
|
||
title= _ "Still Another Wanderer"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
[music]
|
||
name=weight_of_revenge.ogg
|
||
title= _ "Weight of Revenge"
|
||
ms_before=12000
|
||
append=yes
|
||
[/music]
|
||
#enddef
|
||
|
||
#define FULL_MUSIC_PLAYLIST
|
||
{FULL_MUSIC_PLAYLIST_NO_EVENT}
|
||
[event]
|
||
name=prestart
|
||
{FULL_MUSIC_PLAYLIST_NO_EVENT}
|
||
[/event]
|
||
#enddef
|
||
|
||
#define SCENARIO_MUSIC MUSIC
|
||
# This music macro ensures that the correct music is selected
|
||
# for a scenario just in case it is changed by [story].
|
||
# It should be positioned at the top of the scenario file
|
||
# so it can be overridden by other prestart or start events.
|
||
#
|
||
# It also allows for the convenient use of standardized
|
||
# intra-scenario music, should we decide to use one.
|
||
[music]
|
||
name="revelation.ogg"
|
||
[/music]
|
||
[event]
|
||
name=prestart
|
||
[music]
|
||
name={MUSIC}
|
||
immediate=yes
|
||
ms_after=2000
|
||
[/music]
|
||
[/event]
|
||
#enddef
|
||
|
||
#define EXTRA_SCENARIO_MUSIC MUSIC
|
||
# Use this immediately after the above SCENARIO_MUSIC macro to append extra
|
||
# tracks to the playlist.
|
||
#
|
||
# Example:
|
||
#! {SCENARIO_MUSIC battle.ogg}
|
||
#! {EXTRA_SCENARIO_MUSIC knolls.ogg}
|
||
#! {EXTRA_SCENARIO_MUSIC frantic.ogg}
|
||
[+event]
|
||
[music]
|
||
name={MUSIC}
|
||
append=yes
|
||
[/music]
|
||
[/event]
|
||
#enddef
|
||
|
||
#define INTRO_AND_SCENARIO_MUSIC INTRO_MUSIC SCENARIO_MUSIC
|
||
# This works as SCENARIO_MUSIC does, except that it allows you to specify
|
||
# the music used for the story screen (if any) as well.
|
||
[music]
|
||
name={INTRO_MUSIC}
|
||
immediate=yes
|
||
[/music]
|
||
[event]
|
||
name=prestart
|
||
[music]
|
||
name={SCENARIO_MUSIC}
|
||
immediate=yes
|
||
append=no
|
||
ms_after=2000
|
||
[/music]
|
||
[/event]
|
||
#enddef
|
||
|
||
#define LET_INTRO_MUSIC_FINISH
|
||
# Use immediately following INTRO_AND_SCENARIO_MUSIC, to let the intro music
|
||
# finish before switching to scenario music.
|
||
[+event]
|
||
[+music]
|
||
immediate=no
|
||
[/music]
|
||
[/event]
|
||
#enddef
|
||
|
||
#define INCIDENTAL_MUSIC MUSIC
|
||
# To be played immediately to mark an incident,
|
||
# but not appended to the scenario playlist.
|
||
# The playlist will be resumed afterwards.
|
||
[music]
|
||
name={MUSIC}
|
||
play_once=yes
|
||
[/music]
|
||
#enddef
|
||
|
||
#define APPEND_MUSIC MUSIC
|
||
# Append to playlist. Meant to be used after REPLACE_SCENARIO_MUSIC.
|
||
[music]
|
||
name={MUSIC}
|
||
append=yes
|
||
[/music]
|
||
#enddef
|
||
|
||
#define REPLACE_SCENARIO_MUSIC MUSIC
|
||
# To be used mid-scenario to replace the current playlist.
|
||
[music]
|
||
name={MUSIC}
|
||
immediate=yes
|
||
append=no
|
||
[/music]
|
||
#enddef
|
||
|
||
# For some animations some units use a list of sounds, from which one is
|
||
# randomly picked every time, instead of a single sound. Here the most commonly
|
||
# used lists are wrapped inside macros.
|
||
#
|
||
# These are used in unit .cfg files, for example like this:
|
||
#
|
||
#! [animation]
|
||
#! hits=no
|
||
#! start_time=-200
|
||
#!
|
||
#! [frame]
|
||
#! sound={SOUND_LIST:MISS}
|
||
#! image="units/dwarves/warrior-attack.png:200"
|
||
#! [/frame]
|
||
|
||
#define SOUND_LIST:HOLY
|
||
magic-holy-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:HOLY_MISS
|
||
magic-holy-miss-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:MISS
|
||
miss-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:THROW
|
||
throw-[1~4].wav #enddef
|
||
|
||
#define SOUND_LIST:SWORD_SWISH
|
||
sword-1.ogg #enddef
|
||
|
||
#define SOUND_LIST:BAT_HIT
|
||
bat-hit-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:DRAKE_HIT
|
||
drake-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:DWARF_HIT
|
||
dwarf-hit-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:DWARF_DIE
|
||
dwarf-die-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:ELF_HIT
|
||
human-hit-[1~4].ogg,elf-hit-[1~2].ogg #enddef
|
||
|
||
#define SOUND_LIST:ELF_FEMALE_HIT
|
||
human-female-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:GOBLIN_HIT
|
||
goblin-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:GOBLIN_DIE
|
||
goblin-die-[1~2].ogg #enddef
|
||
|
||
#define SOUND_LIST:GRYPHON_HIT
|
||
gryphon-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:GRYPHON_DIE
|
||
gryphon-die-[1~2].ogg #enddef
|
||
|
||
#define SOUND_LIST:HORSE_HIT
|
||
horse-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:HUMAN_HIT
|
||
human-hit-[1~5].ogg #enddef
|
||
|
||
#define SOUND_LIST:HUMAN_FEMALE_HIT
|
||
human-female-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:HUMAN_OLD_HIT
|
||
human-old-hit-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:HUMAN_OLD_DIE
|
||
human-old-die-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:HUMAN_DIE
|
||
human-die-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:HUMAN_FEMALE_DIE
|
||
human-female-die-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:LICH_HIT
|
||
lich-hit-[1~2].ogg #enddef
|
||
|
||
#define SOUND_LIST:NAGA_HIT
|
||
naga-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:OGRE_HIT
|
||
ogre-hit-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:OGRE_DIE
|
||
ogre-die-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:ORC_HIT
|
||
orc-hit-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:ORC_DIE
|
||
orc-die-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:ORC_SMALL_HIT
|
||
orc-small-hit-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:ORC_SMALL_DIE
|
||
orc-small-die-[1~2].ogg #enddef
|
||
|
||
#define SOUND_LIST:SKELETON_HIT
|
||
skeleton-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:SKELETON_BIG_HIT
|
||
skeleton-big-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:SKELETON_DIE
|
||
skeleton-die-[1~2].ogg #enddef
|
||
|
||
#define SOUND_LIST:TROLL_HIT
|
||
troll-hit-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:TROLL_DIE
|
||
troll-die-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:WOLF_GROWL
|
||
wolf-growl-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:WOLF_HIT
|
||
wolf-hit-[1~3].ogg #enddef
|
||
|
||
#define SOUND_LIST:WOLF_DIE
|
||
wolf-die-[1~4].ogg #enddef
|
||
|
||
#define SOUND_LIST:ZOMBIE_WEAK_HIT
|
||
zombie-hit-[4~6].ogg #enddef
|
||
|
||
#define SOUND_LIST:ZOMBIE_HIT
|
||
zombie-hit-[1~6].ogg #enddef
|
||
|
||
#define SOUND:HIT_AND_MISS HITSOUND MISSSOUND TIME
|
||
# A more convenient way of wiring in hit and miss sounds to an
|
||
# attack animation. Just specify the sounds to use and the time
|
||
# when they should trigger.
|
||
|
||
attack_sound_start_time={TIME}
|
||
[if]
|
||
hits=yes
|
||
[attack_sound_frame]
|
||
sound={HITSOUND}
|
||
[/attack_sound_frame]
|
||
[/if]
|
||
[else]
|
||
hits=no
|
||
[attack_sound_frame]
|
||
sound={MISSSOUND}
|
||
[/attack_sound_frame]
|
||
[/else]
|
||
#enddef
|
||
|
||
#define SOUND:HIT HITSOUND TIME
|
||
# A more convenient way of wiring in hit only sounds to an
|
||
# attack animation. Just specify the sound to use and the time
|
||
# when it should trigger.
|
||
|
||
[if]
|
||
hits=yes
|
||
attack_sound_start_time={TIME}
|
||
[attack_sound_frame]
|
||
sound={HITSOUND}
|
||
[/attack_sound_frame]
|
||
[/if]
|
||
#enddef
|