From 7f7ccc9911b058808bf5fdba892dee7643082bf3 Mon Sep 17 00:00:00 2001 From: kaysrishaq <62462173+kaysrishaq@users.noreply.github.com> Date: Wed, 13 May 2020 19:20:21 -0400 Subject: [PATCH 1/5] musicpref console variable Adds musicpref to console and sound options menu, which allows users to select whether to prioritize MIDI or Digital music. Functions GameMIDIMusic_OnChange and GameDigiMusic_OnChange updated to not assume digital music priority, and to have more consistent behavior between the two. Positive side effect of using P_RestoreMusic in these functions means that powerup music (speed shoes, invincibility) will restore in the correct position when reenabling the original MusicType they loaded in with. --- src/m_menu.c | 26 ++++++------ src/s_sound.c | 109 ++++++++++++++++++++++++++++++-------------------- src/s_sound.h | 10 ++++- 3 files changed, 88 insertions(+), 57 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index 2977b432f..bd0328b09 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1451,21 +1451,23 @@ static menuitem_t OP_OpenGLFogMenu[] = static menuitem_t OP_SoundOptionsMenu[] = { {IT_HEADER, NULL, "Game Audio", NULL, 0}, - {IT_STRING | IT_CVAR, NULL, "Sound Effects", &cv_gamesounds, 12}, - {IT_STRING | IT_CVAR | IT_CV_SLIDER, NULL, "Sound Volume", &cv_soundvolume, 22}, + {IT_STRING | IT_CVAR, NULL, "Sound Effects", &cv_gamesounds, 6}, + {IT_STRING | IT_CVAR | IT_CV_SLIDER, NULL, "Sound Volume", &cv_soundvolume, 11}, - {IT_STRING | IT_CVAR, NULL, "Digital Music", &cv_gamedigimusic, 42}, - {IT_STRING | IT_CVAR | IT_CV_SLIDER, NULL, "Digital Music Volume", &cv_digmusicvolume, 52}, + {IT_STRING | IT_CVAR, NULL, "Digital Music", &cv_gamedigimusic, 21}, + {IT_STRING | IT_CVAR | IT_CV_SLIDER, NULL, "Digital Music Volume", &cv_digmusicvolume, 26}, - {IT_STRING | IT_CVAR, NULL, "MIDI Music", &cv_gamemidimusic, 72}, - {IT_STRING | IT_CVAR | IT_CV_SLIDER, NULL, "MIDI Music Volume", &cv_midimusicvolume, 82}, + {IT_STRING | IT_CVAR, NULL, "MIDI Music", &cv_gamemidimusic, 36}, + {IT_STRING | IT_CVAR | IT_CV_SLIDER, NULL, "MIDI Music Volume", &cv_midimusicvolume, 41}, + + {IT_STRING | IT_CVAR, NULL, "Music Preference", &cv_musicpref, 51}, - {IT_HEADER, NULL, "Miscellaneous", NULL, 102}, - {IT_STRING | IT_CVAR, NULL, "Closed Captioning", &cv_closedcaptioning, 114}, - {IT_STRING | IT_CVAR, NULL, "Reset Music Upon Dying", &cv_resetmusic, 124}, - {IT_STRING | IT_CVAR, NULL, "Default 1-Up sound", &cv_1upsound, 134}, + {IT_HEADER, NULL, "Miscellaneous", NULL, 61}, + {IT_STRING | IT_CVAR, NULL, "Closed Captioning", &cv_closedcaptioning, 67}, + {IT_STRING | IT_CVAR, NULL, "Reset Music Upon Dying", &cv_resetmusic, 72}, + {IT_STRING | IT_CVAR, NULL, "Default 1-Up sound", &cv_1upsound, 77}, - {IT_STRING | IT_SUBMENU, NULL, "Advanced Settings...", &OP_SoundAdvancedDef, 154}, + {IT_STRING | IT_SUBMENU, NULL, "Advanced Settings...", &OP_SoundAdvancedDef, 87}, }; #ifdef HAVE_OPENMPT @@ -2152,7 +2154,7 @@ menu_t OP_ColorOptionsDef = 0, NULL }; -menu_t OP_SoundOptionsDef = DEFAULTMENUSTYLE( +menu_t OP_SoundOptionsDef = DEFAULTSCROLLMENUSTYLE( MTREE2(MN_OP_MAIN, MN_OP_SOUND), "M_SOUND", OP_SoundOptionsMenu, &OP_MainDef, 30, 30); menu_t OP_SoundAdvancedDef = DEFAULTMENUSTYLE( diff --git a/src/s_sound.c b/src/s_sound.c index 5ed9fd83a..1dde31349 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -60,6 +60,7 @@ static void Command_RestartAudio_f(void); static void GameMIDIMusic_OnChange(void); static void GameSounds_OnChange(void); static void GameDigiMusic_OnChange(void); +static void MusicPref_OnChange(void); #ifdef HAVE_OPENMPT static void ModFilter_OnChange(void); @@ -129,6 +130,14 @@ consvar_t cv_gamedigimusic = {"digimusic", "On", CV_SAVE|CV_CALL|CV_NOINIT, CV_O consvar_t cv_gamemidimusic = {"midimusic", "On", CV_SAVE|CV_CALL|CV_NOINIT, CV_OnOff, GameMIDIMusic_OnChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_gamesounds = {"sounds", "On", CV_SAVE|CV_CALL|CV_NOINIT, CV_OnOff, GameSounds_OnChange, 0, NULL, NULL, 0, 0, NULL}; +// Music preference +static CV_PossibleValue_t cons_musicpref_t[] = { + {0, "Digital"}, + {1, "MIDI"}, + {0, NULL} +}; +consvar_t cv_musicpref = {"musicpref", "Digital", CV_SAVE|CV_CALL|CV_NOINIT, cons_musicpref_t, MusicPref_OnChange, 0, NULL, NULL, 0, 0, NULL}; + // Window focus sound sytem toggles consvar_t cv_playmusicifunfocused = {"playmusicifunfocused", "No", CV_SAVE, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_playsoundsifunfocused = {"playsoundsifunfocused", "No", CV_SAVE, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL}; @@ -301,6 +310,7 @@ void S_RegisterSoundStuff(void) CV_RegisterVar(&cv_gamesounds); CV_RegisterVar(&cv_gamedigimusic); CV_RegisterVar(&cv_gamemidimusic); + CV_RegisterVar(&cv_musicpref); #ifdef HAVE_OPENMPT CV_RegisterVar(&cv_modfilter); #endif @@ -1847,19 +1857,6 @@ const char *S_MusicName(void) return music_name; } -boolean S_MusicInfo(char *mname, UINT16 *mflags, boolean *looping) -{ - if (!I_SongPlaying()) - return false; - - strncpy(mname, music_name, 7); - mname[6] = 0; - *mflags = music_flags; - *looping = music_looping; - - return (boolean)mname[0]; -} - boolean S_MusicExists(const char *mname, boolean checkMIDI, boolean checkDigi) { return ( @@ -2201,10 +2198,12 @@ boolean S_RecallMusic(UINT16 status, boolean fromfirst) static lumpnum_t S_GetMusicLumpNum(const char *mname) { - if (!S_DigMusicDisabled() && S_DigExists(mname)) - return W_GetNumForName(va("o_%s", mname)); - else if (!S_MIDIMusicDisabled() && S_MIDIExists(mname)) - return W_GetNumForName(va("d_%s", mname)); + boolean midipref = cv_musicpref.value; + + if (PREFAVAILABLE(midipref, mname)) + return W_GetNumForName(va(midipref ? "d_%s":"o_%s", mname)); + else if (ELSEAVAILABLE(midipref, mname)) + return W_GetNumForName(va(midipref ? "o_%s":"d_%s", mname)); else return LUMPERROR; } @@ -2660,11 +2659,17 @@ void GameDigiMusic_OnChange(void) else if (M_CheckParm("-nodigmusic")) return; + boolean midipref = cv_musicpref.value; + if (digital_disabled) { digital_disabled = false; I_StartupSound(); // will return early if initialised I_InitMusic(); + + if (midipref && (S_MusicType() == MU_MID || S_MusicType() == MU_MID_EX)) + return; + S_StopMusic(); if (Playing()) P_RestoreMusic(&players[consoleplayer]); @@ -2674,27 +2679,20 @@ void GameDigiMusic_OnChange(void) else { digital_disabled = true; - if (S_MusicType() != MU_MID) + if (S_MusicType() != MU_MID && S_MusicType() != MU_MID_EX) { - if (midi_disabled) - S_StopMusic(); - else + S_StopMusic(); + if (!midi_disabled) { - char mmusic[7]; - UINT16 mflags; - boolean looping; - - if (S_MusicInfo(mmusic, &mflags, &looping) && S_MIDIExists(mmusic)) - { - S_StopMusic(); - S_ChangeMusic(mmusic, mflags, looping); - } + if (Playing()) + P_RestoreMusic(&players[consoleplayer]); else - S_StopMusic(); + S_ChangeMusicInternal("_clear", false); } } } } +} void GameMIDIMusic_OnChange(void) { @@ -2703,11 +2701,18 @@ void GameMIDIMusic_OnChange(void) else if (M_CheckParm("-nomidimusic")) return; + boolean midipref = cv_musicpref.value; + if (midi_disabled) { midi_disabled = false; I_StartupSound(); // will return early if initialised I_InitMusic(); + + if (!midipref && (S_MusicType() != MU_MID && S_MusicType() != MU_MID_EX && S_MusicType() != MU_NONE)) + return; + + S_StopMusic(); if (Playing()) P_RestoreMusic(&players[consoleplayer]); else @@ -2718,26 +2723,42 @@ void GameMIDIMusic_OnChange(void) midi_disabled = true; if (S_MusicType() == MU_MID || S_MusicType() == MU_MID_EX) { - if (digital_disabled) - S_StopMusic(); - else + S_StopMusic(); + if (!digital_disabled) { - char mmusic[7]; - UINT16 mflags; - boolean looping; - - if (S_MusicInfo(mmusic, &mflags, &looping) && S_DigExists(mmusic)) - { - S_StopMusic(); - S_ChangeMusic(mmusic, mflags, looping); - } + if (Playing()) + P_RestoreMusic(&players[consoleplayer]); else - S_StopMusic(); + S_ChangeMusicInternal("_clear", false); } } } } +void MusicPref_OnChange(void) +{ + if (M_CheckParm("-nomusic") || M_CheckParm("-noaudio") || + M_CheckParm("-nomidimusic") || M_CheckParm("-nodigmusic")) + return; + + boolean currentmidi = (I_SongType() == MU_MID || I_SongType() == MU_MID_EX); + boolean midipref = cv_musicpref.value; + + if (midipref == currentmidi) + return; + + if (Playing() && PREFAVAILABLE(midipref, S_MusicName())) + { + S_StopMusic(); + P_RestoreMusic(&players[consoleplayer]); + } + else if (PREFAVAILABLE(midipref, "_clear")) + { + S_StopMusic(); + S_ChangeMusicInternal("_clear", false); + } +} + #ifdef HAVE_OPENMPT void ModFilter_OnChange(void) { diff --git a/src/s_sound.h b/src/s_sound.h index 3334fcb69..8b5c2aa1a 100644 --- a/src/s_sound.h +++ b/src/s_sound.h @@ -46,6 +46,15 @@ extern consvar_t cv_1upsound; extern consvar_t cv_gamedigimusic; extern consvar_t cv_gamemidimusic; extern consvar_t cv_gamesounds; +extern consvar_t cv_musicpref; + +#define PREFAVAILABLE(pref, music) (pref ? \ + (!S_MIDIMusicDisabled() && S_MIDIExists(music)) : \ + (!S_DigMusicDisabled() && S_DigExists(music))) + +#define ELSEAVAILABLE(pref, music) (pref ? \ + (!S_DigMusicDisabled() && S_DigExists(music)) : \ + (!S_MIDIMusicDisabled() && S_MIDIExists(music))) extern consvar_t cv_playmusicifunfocused; extern consvar_t cv_playsoundsifunfocused; @@ -178,7 +187,6 @@ boolean S_MusicPaused(void); boolean S_MusicNotInFocus(void); musictype_t S_MusicType(void); const char *S_MusicName(void); -boolean S_MusicInfo(char *mname, UINT16 *mflags, boolean *looping); boolean S_MusicExists(const char *mname, boolean checkMIDI, boolean checkDigi); #define S_DigExists(a) S_MusicExists(a, false, true) #define S_MIDIExists(a) S_MusicExists(a, true, false) From fd31c5cd5eab28b2e16dc8983f8464cc9cd43628 Mon Sep 17 00:00:00 2001 From: kaysrishaq <62462173+kaysrishaq@users.noreply.github.com> Date: Thu, 14 May 2020 06:33:03 -0400 Subject: [PATCH 2/5] Update Worked out some edge cases that had resulted in tracks restarting in the same format when they shouldn't - or tracks not switching to the other format when they should. Removed stray } --- src/s_sound.c | 45 ++++++++++++++------------------------------- 1 file changed, 14 insertions(+), 31 deletions(-) diff --git a/src/s_sound.c b/src/s_sound.c index 1dde31349..2797ec252 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2151,7 +2151,11 @@ boolean S_RecallMusic(UINT16 status, boolean fromfirst) return false; } - if (strncmp(entry->musname, S_MusicName(), 7)) // don't restart music if we're already playing it + boolean currentmidi = (I_SongType() == MU_MID || I_SongType() == MU_MID_EX); + boolean midipref = cv_musicpref.value; + + if (strncmp(entry->musname, S_MusicName(), 7) || // don't restart music if we're already playing it + (midipref != currentmidi && PREFAVAILABLE(midipref, entry->musname))) // but do if the user's preference has changed { if (music_stack_fadeout) S_ChangeMusicEx(entry->musname, entry->musflags, entry->looping, 0, music_stack_fadeout, 0); @@ -2350,6 +2354,9 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 return; } + boolean currentmidi = (I_SongType() == MU_MID || I_SongType() == MU_MID_EX); + boolean midipref = cv_musicpref.value; + if (prefadems) // queue music change for after fade // allow even if the music is the same // && S_MusicPlaying() // Let the delay happen even if we're not playing music { @@ -2358,7 +2365,8 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 I_FadeSong(0, prefadems, S_ChangeMusicToQueue); return; } - else if (strnicmp(music_name, newmusic, 6) || (mflags & MUSIC_FORCERESET)) + else if (strnicmp(music_name, newmusic, 6) || (mflags & MUSIC_FORCERESET) || + (midipref != currentmidi && PREFAVAILABLE(midipref, newmusic))) { CONS_Debug(DBG_DETAILED, "Now playing song %s\n", newmusic); @@ -2659,21 +2667,15 @@ void GameDigiMusic_OnChange(void) else if (M_CheckParm("-nodigmusic")) return; - boolean midipref = cv_musicpref.value; - if (digital_disabled) { digital_disabled = false; I_StartupSound(); // will return early if initialised I_InitMusic(); - if (midipref && (S_MusicType() == MU_MID || S_MusicType() == MU_MID_EX)) - return; - - S_StopMusic(); if (Playing()) P_RestoreMusic(&players[consoleplayer]); - else + else if ((!cv_musicpref.value || midi_disabled) && S_DigExists("_clear")) S_ChangeMusicInternal("_clear", false); } else @@ -2692,7 +2694,6 @@ void GameDigiMusic_OnChange(void) } } } -} void GameMIDIMusic_OnChange(void) { @@ -2701,21 +2702,15 @@ void GameMIDIMusic_OnChange(void) else if (M_CheckParm("-nomidimusic")) return; - boolean midipref = cv_musicpref.value; - if (midi_disabled) { midi_disabled = false; I_StartupSound(); // will return early if initialised I_InitMusic(); - if (!midipref && (S_MusicType() != MU_MID && S_MusicType() != MU_MID_EX && S_MusicType() != MU_NONE)) - return; - - S_StopMusic(); if (Playing()) P_RestoreMusic(&players[consoleplayer]); - else + else if ((cv_musicpref.value || digital_disabled) && S_MIDIExists("_clear")) S_ChangeMusicInternal("_clear", false); } else @@ -2741,22 +2736,10 @@ void MusicPref_OnChange(void) M_CheckParm("-nomidimusic") || M_CheckParm("-nodigmusic")) return; - boolean currentmidi = (I_SongType() == MU_MID || I_SongType() == MU_MID_EX); - boolean midipref = cv_musicpref.value; - - if (midipref == currentmidi) - return; - - if (Playing() && PREFAVAILABLE(midipref, S_MusicName())) - { - S_StopMusic(); + if (Playing()) P_RestoreMusic(&players[consoleplayer]); - } - else if (PREFAVAILABLE(midipref, "_clear")) - { - S_StopMusic(); + else if (PREFAVAILABLE(cv_musicpref.value, "_clear")) S_ChangeMusicInternal("_clear", false); - } } #ifdef HAVE_OPENMPT From c2a54acae3665362a8f6b0eafe359c965197381e Mon Sep 17 00:00:00 2001 From: kaysrishaq <62462173+kaysrishaq@users.noreply.github.com> Date: Thu, 14 May 2020 07:17:58 -0400 Subject: [PATCH 3/5] Minor reorganization --- src/s_sound.c | 2 +- src/s_sound.h | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/s_sound.c b/src/s_sound.c index 2797ec252..32c4a2fbc 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2206,7 +2206,7 @@ static lumpnum_t S_GetMusicLumpNum(const char *mname) if (PREFAVAILABLE(midipref, mname)) return W_GetNumForName(va(midipref ? "d_%s":"o_%s", mname)); - else if (ELSEAVAILABLE(midipref, mname)) + else if (PREFAVAILABLE(!midipref, mname)) return W_GetNumForName(va(midipref ? "o_%s":"d_%s", mname)); else return LUMPERROR; diff --git a/src/s_sound.h b/src/s_sound.h index 8b5c2aa1a..f2c6f0e62 100644 --- a/src/s_sound.h +++ b/src/s_sound.h @@ -48,14 +48,6 @@ extern consvar_t cv_gamemidimusic; extern consvar_t cv_gamesounds; extern consvar_t cv_musicpref; -#define PREFAVAILABLE(pref, music) (pref ? \ - (!S_MIDIMusicDisabled() && S_MIDIExists(music)) : \ - (!S_DigMusicDisabled() && S_DigExists(music))) - -#define ELSEAVAILABLE(pref, music) (pref ? \ - (!S_DigMusicDisabled() && S_DigExists(music)) : \ - (!S_MIDIMusicDisabled() && S_MIDIExists(music))) - extern consvar_t cv_playmusicifunfocused; extern consvar_t cv_playsoundsifunfocused; @@ -191,6 +183,12 @@ boolean S_MusicExists(const char *mname, boolean checkMIDI, boolean checkDigi); #define S_DigExists(a) S_MusicExists(a, false, true) #define S_MIDIExists(a) S_MusicExists(a, true, false) +// Returns whether the preferred format a (true = MIDI, false = Digital) +// exists and is enabled for musicname b +#define PREFAVAILABLE(a, b) (a ? \ + (!S_MIDIMusicDisabled() && S_MIDIExists(b)) : \ + (!S_DigMusicDisabled() && S_DigExists(b))) + // // Music Effects // From 70896f9095f289eb8192ff6e533a2084425ad8f2 Mon Sep 17 00:00:00 2001 From: kaysrishaq <62462173+kaysrishaq@users.noreply.github.com> Date: Thu, 14 May 2020 07:42:06 -0400 Subject: [PATCH 4/5] clean whitespace --- src/s_sound.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/s_sound.c b/src/s_sound.c index 32c4a2fbc..045e8409d 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2366,7 +2366,7 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 return; } else if (strnicmp(music_name, newmusic, 6) || (mflags & MUSIC_FORCERESET) || - (midipref != currentmidi && PREFAVAILABLE(midipref, newmusic))) + (midipref != currentmidi && PREFAVAILABLE(midipref, newmusic))) { CONS_Debug(DBG_DETAILED, "Now playing song %s\n", newmusic); From f541c37ebc9068cf6a3526fb92d5bd655b5b444e Mon Sep 17 00:00:00 2001 From: kaysrishaq <62462173+kaysrishaq@users.noreply.github.com> Date: Mon, 13 Jul 2020 15:16:49 -0400 Subject: [PATCH 5/5] Fix formatting PREFAVAILABLE -> S_PrefAvailable move declarations to top of blocks --- src/s_sound.c | 20 +++++++++----------- src/s_sound.h | 2 +- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/s_sound.c b/src/s_sound.c index 045e8409d..072a69f6c 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2097,6 +2097,8 @@ boolean S_RecallMusic(UINT16 status, boolean fromfirst) boolean mapmuschanged = false; musicstack_t *result; musicstack_t *entry = Z_Calloc(sizeof (*result), PU_MUSIC, NULL); + boolean currentmidi = (I_SongType() == MU_MID || I_SongType() == MU_MID_EX); + boolean midipref = cv_musicpref.value; if (status) result = S_GetMusicStackEntry(status, fromfirst, -1); @@ -2151,11 +2153,8 @@ boolean S_RecallMusic(UINT16 status, boolean fromfirst) return false; } - boolean currentmidi = (I_SongType() == MU_MID || I_SongType() == MU_MID_EX); - boolean midipref = cv_musicpref.value; - if (strncmp(entry->musname, S_MusicName(), 7) || // don't restart music if we're already playing it - (midipref != currentmidi && PREFAVAILABLE(midipref, entry->musname))) // but do if the user's preference has changed + (midipref != currentmidi && S_PrefAvailable(midipref, entry->musname))) // but do if the user's preference has changed { if (music_stack_fadeout) S_ChangeMusicEx(entry->musname, entry->musflags, entry->looping, 0, music_stack_fadeout, 0); @@ -2204,9 +2203,9 @@ static lumpnum_t S_GetMusicLumpNum(const char *mname) { boolean midipref = cv_musicpref.value; - if (PREFAVAILABLE(midipref, mname)) + if (S_PrefAvailable(midipref, mname)) return W_GetNumForName(va(midipref ? "d_%s":"o_%s", mname)); - else if (PREFAVAILABLE(!midipref, mname)) + else if (S_PrefAvailable(!midipref, mname)) return W_GetNumForName(va(midipref ? "o_%s":"d_%s", mname)); else return LUMPERROR; @@ -2333,6 +2332,8 @@ static void S_ChangeMusicToQueue(void) void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 position, UINT32 prefadems, UINT32 fadeinms) { char newmusic[7]; + boolean currentmidi = (I_SongType() == MU_MID || I_SongType() == MU_MID_EX); + boolean midipref = cv_musicpref.value; if (S_MusicDisabled()) return; @@ -2354,9 +2355,6 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 return; } - boolean currentmidi = (I_SongType() == MU_MID || I_SongType() == MU_MID_EX); - boolean midipref = cv_musicpref.value; - if (prefadems) // queue music change for after fade // allow even if the music is the same // && S_MusicPlaying() // Let the delay happen even if we're not playing music { @@ -2366,7 +2364,7 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 return; } else if (strnicmp(music_name, newmusic, 6) || (mflags & MUSIC_FORCERESET) || - (midipref != currentmidi && PREFAVAILABLE(midipref, newmusic))) + (midipref != currentmidi && S_PrefAvailable(midipref, newmusic))) { CONS_Debug(DBG_DETAILED, "Now playing song %s\n", newmusic); @@ -2738,7 +2736,7 @@ void MusicPref_OnChange(void) if (Playing()) P_RestoreMusic(&players[consoleplayer]); - else if (PREFAVAILABLE(cv_musicpref.value, "_clear")) + else if (S_PrefAvailable(cv_musicpref.value, "_clear")) S_ChangeMusicInternal("_clear", false); } diff --git a/src/s_sound.h b/src/s_sound.h index f2c6f0e62..35d1c3dc5 100644 --- a/src/s_sound.h +++ b/src/s_sound.h @@ -185,7 +185,7 @@ boolean S_MusicExists(const char *mname, boolean checkMIDI, boolean checkDigi); // Returns whether the preferred format a (true = MIDI, false = Digital) // exists and is enabled for musicname b -#define PREFAVAILABLE(a, b) (a ? \ +#define S_PrefAvailable(a, b) (a ? \ (!S_MIDIMusicDisabled() && S_MIDIExists(b)) : \ (!S_DigMusicDisabled() && S_DigExists(b)))