diff --git a/src/common/audio/music/music_config.cpp b/src/common/audio/music/music_config.cpp index 5ea5e97d9..7a4b8a200 100644 --- a/src/common/audio/music/music_config.cpp +++ b/src/common/audio/music/music_config.cpp @@ -104,6 +104,16 @@ CUSTOM_CVAR(Int, adl_volume_model, 0 /*ADLMIDI_VolumeModel_AUTO*/, CVAR_ARCHIVE { FORWARD_CVAR(adl_volume_model); } + +CUSTOM_CVAR(Int, adl_chan_alloc, 0 /*ADLMIDI_ChanAlloc_AUTO*/, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL) +{ + FORWARD_CVAR(adl_chan_alloc); +} + +CUSTOM_CVAR(Bool, adl_auto_arpeggio, false, CVAR_ARCHIVE | CVAR_VIRTUAL) +{ + FORWARD_BOOL_CVAR(adl_auto_arpeggio); +} #endif //========================================================================== // @@ -271,6 +281,20 @@ CUSTOM_CVAR(String, opn_custom_bank, "", CVAR_ARCHIVE | CVAR_VIRTUAL) FORWARD_STRING_CVAR(opn_custom_bank); } +CUSTOM_CVAR(Int, opn_volume_model, 0 /*OPNMIDI_VolumeModel_AUTO*/, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL) +{ + FORWARD_CVAR(adl_volume_model); +} + +CUSTOM_CVAR(Int, opn_chan_alloc, -1 /*OPNMIDI_ChanAlloc_AUTO*/, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL) +{ + FORWARD_CVAR(adl_chan_alloc); +} + +CUSTOM_CVAR(Bool, opn_auto_arpeggio, false, CVAR_ARCHIVE | CVAR_VIRTUAL) +{ + FORWARD_BOOL_CVAR(adl_auto_arpeggio); +} //========================================================================== // // GUS MIDI device diff --git a/src/gameconfigfile.cpp b/src/gameconfigfile.cpp index efdad2fd5..8f89f29ca 100644 --- a/src/gameconfigfile.cpp +++ b/src/gameconfigfile.cpp @@ -71,6 +71,11 @@ EXTERN_CVAR (Bool, vid_scale_linear) EXTERN_CVAR(Float, m_sensitivity_x) EXTERN_CVAR(Float, m_sensitivity_y) EXTERN_CVAR(Int, adl_volume_model) +EXTERN_CVAR(Int, adl_chan_alloc) +EXTERN_CVAR(Bool, adl_auto_arpeggio) +EXTERN_CVAR(Int, opn_volume_model) +EXTERN_CVAR(Int, opn_chan_alloc) +EXTERN_CVAR(Bool, opn_auto_arpeggio) EXTERN_CVAR (Int, gl_texture_hqresize_targets) EXTERN_CVAR(Int, wipetype) EXTERN_CVAR(Bool, i_pauseinbackground) @@ -587,6 +592,12 @@ void FGameConfigFile::DoGlobalSetup () m_sensitivity_y = (float)yfact; adl_volume_model = 0; + adl_chan_alloc = -1; + adl_auto_arpeggio = false; + + opn_volume_model = 0; + opn_chan_alloc = -1; + opn_auto_arpeggio = false; // if user originally wanted the in-game textures resized, set model skins to resize too int old_targets = gl_texture_hqresize_targets; diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt index 9eecfde3e..3b568e392 100644 --- a/wadsrc/static/menudef.txt +++ b/wadsrc/static/menudef.txt @@ -2244,6 +2244,24 @@ OptionMenu ModReplayerOptions protected 11, "$ADLVLMODEL_HMIOLD" } + OptionValue OpnVolumeModels + { + 0, "$OPNVLMODEL_AUTO" + 1, "$OPNVLMODEL_GENERIC" + 2, "$OPNVLMODEL_NATIVE" + 3, "$OPNVLMODEL_DMX" + 4, "$OPNVLMODEL_APOGEE" + 5, "$OPNVLMODEL_WIN9X" + } + + OptionValue AdlChanAllocs + { + -1, "$ADLCHANALLOC_AUTO" + 0, "$ADLCHANALLOC_OFFDELAY" + 1, "$ADLCHANALLOC_SAMEINST" + 2, "$ADLCHANALLOC_ANYREL" + } + OptionValue ADLOplCores { 0, "$OPTVAL_NUKEDOPL3" @@ -2251,16 +2269,24 @@ OptionMenu ModReplayerOptions protected 2, "$OPTVAL_DOSBOXOPL3" 3, "$OPTVAL_OPALOPL3" 4, "$OPTVAL_JAVAOPL3" + 5, "$OPTVAL_ESFMu" + 6, "$OPTVAL_MAMEOPL2" + 7, "$OPTVAL_YMFMOPL2" + 8, "$OPTVAL_YMFMOPL3" + 9, "$OPTVAL_LLENUKEDOPL2" + 10, "$OPTVAL_LLENUKEDOPL3" } OptionValue OpnCores { 0, "$OPTVAL_MAMEOPN2" - 1, "$OPTVAL_NUKEDOPN2" + 1, "$OPTVAL_NUKEDOPN2YM3438" 2, "$OPTVAL_GENSOPN2" + 3, "$OPTVAL_YMFMOPN2" 4, "$OPTVAL_NP2OPNA" 5, "$OPTVAL_MAMEOPNA" - 6, "$OPTVAL_PMDWINOPNA" + 6, "$OPTVAL_YMFMOPNA" + 7, "$OPTVAL_NUKEDOPN2YM2612" } OptionMenu ADLOptions protected @@ -2271,6 +2297,8 @@ OptionMenu ModReplayerOptions protected Slider "$ADVSNDMNU_ADLNUMCHIPS", "adl_chips_count", 1, 32, 1, 0 Option "$ADVSNDMNU_OPLFULLPAN", "adl_fullpan", "OnOff" Option "$ADVSNDMNU_VLMODEL", "adl_volume_model", "AdlVolumeModels" + Option "$ADVSNDMNU_CHANALLOC", "adl_chan_alloc", "AdlChanAllocs" + Option "$ADVSNDMNU_AUTOARPEGGIO", "adl_auto_arpeggio", "OnOff" StaticText "" LabeledSubmenu "$ADVSNDMNU_OPLBANK", "adl_bank", "ADLBankMenu" StaticText "" @@ -2285,6 +2313,9 @@ OptionMenu ModReplayerOptions protected Option "$ADVSNDMNU_RUNPCMRATE", "opn_run_at_pcm_rate", "OnOff" Slider "$ADVSNDMNU_OPNNUMCHIPS", "opn_chips_count", 1, 32, 1, 0 Option "$ADVSNDMNU_OPLFULLPAN", "opn_fullpan", "OnOff" + Option "$ADVSNDMNU_VLMODEL", "opn_volume_model", "OpnVolumeModels" + Option "$ADVSNDMNU_CHANALLOC", "opn_chan_alloc", "AdlChanAllocs" + Option "$ADVSNDMNU_AUTOARPEGGIO", "opn_auto_arpeggio", "OnOff" StaticText "" Option "$ADVSNDMNU_OPNCUSTOMBANK", "opn_use_custom_bank", "OnOff" LabeledSubmenu "$ADVSNDMNU_OPNBANKFILE", "opn_custom_bank", "OPNMIDICustomBanksMenu" diff --git a/wadsrc/static/xg.wopn b/wadsrc/static/xg.wopn index b5290c542..38208b255 100644 Binary files a/wadsrc/static/xg.wopn and b/wadsrc/static/xg.wopn differ