diff --git a/src/s_sound.cpp b/src/s_sound.cpp index 2df0f6a96..42692dab0 100644 --- a/src/s_sound.cpp +++ b/src/s_sound.cpp @@ -148,6 +148,11 @@ static FString LastSong; // last music that was played static FPlayList *PlayList; static int RestartEvictionsAt; // do not restart evicted channels before this level.time +DEFINE_GLOBAL(mus_playing); +DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, name); +DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, baseorder); +DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, loop); + // PUBLIC DATA DEFINITIONS ------------------------------------------------- int sfx_empty; diff --git a/wadsrc/static/zscript/base.zs b/wadsrc/static/zscript/base.zs index 30ebf0fb7..e17f3cd94 100644 --- a/wadsrc/static/zscript/base.zs +++ b/wadsrc/static/zscript/base.zs @@ -45,9 +45,17 @@ struct _ native // These are the global variables, the struct is only here to av native readonly Weapon WP_NOCHANGE; native int LocalViewPitch; deprecated("3.8") native readonly bool globalfreeze; + native readonly @MusPlayingInfo mus_playing; } +struct MusPlayingInfo native +{ + native String name; + native int baseorder; + native bool loop; +}; + struct TexMan { enum EUseTypes