From 8954463f0e2adfb6fb24bd652bec8b31f1d8dcf1 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sat, 5 Jul 2025 14:21:25 +0300 Subject: [PATCH] Added new libADLMIDI and libOPNMIDI options Not yet translated --- src/common/audio/music/music_config.cpp | 24 ++++++++++++++++ src/gameconfigfile.cpp | 11 ++++++++ wadsrc/static/menudef.txt | 35 ++++++++++++++++++++++-- wadsrc/static/xg.wopn | Bin 62080 -> 186204 bytes 4 files changed, 68 insertions(+), 2 deletions(-) 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 b5290c542502ca5f4b3e7d920e2a9ffff30bd6db..38208b255b4759eb1869c24d807ecd02a19fa9ae 100644 GIT binary patch delta 9158 zcmZp8%6w-Xw_vz`fS-}BlaZe{0}}%S7X$Z1LD$I#4HOs|Cm%FWWMl@DY+#ZDO!9z9 zJ}@Z&BAEmkCWft=e8@l%tVe+fLNP*=gOxBUf)p}pZ2Z4iNm1W|fq_Auf#E*`gTA~F zh+>!z;xTdvi!l6RU|2A@ajJ^4uK)uBKSY%@M3p3ps!0r4lMfmwb67Ai$jdV@@K3(T zEyWdFQk0pOt`MA)IC-IznCkx*3?>ZxAiG!?SQ+Fc8NM+v@P$YTN-!{UOc7%E!N4fN zD7g8cK|Hgx1OpQr*cwJwd0~eC3`~mi#TfoGFfz;+oqTVy=H?3qFPT|_GxEzPE5yi5 zKBdDu*;hxL>qEF_fI>({X(6ezq@s?0oTj5FUt{@D|;ITGXZ%qh7WwELh=#}3=B0Kd_qD$8A^Hj zKonyQ!vc@|qT*Bq_r#o>{K*TY#Fb5L85kJE1Q|YXFbT@@GJHp)<~T5zg2Gf$o`GHR zm;fI;gQy@sFCP~JhrkIwfiMO(hHgHAZ49h;m?tlklAYYZ#;#<+P{_c*z`)MHB+kdr z@SUNMft8Jcje&`Qn}wI1f#oOT&B+H1)+(_uFliiSW=v#YP-f?3_{_k_*2>0I%)lhe z#m4Z3p?rf>2q?*c;>(7igjW<|ATP+k0tsPmJ~j>}22N&Pb_Vt~CZ){>4K$dz0y6UR zQWcyNb8;qMHj6A1E00#?aAea1N4i>&Z9=W9)a~zmtpvo9DQ0~VX7U|_IeVPN1A zkrJH2!^|KcDL8|Nkwco7!Ggh%Lxx*OAEfgjNKbGHD0U^a{=c)cQK%E;ZeU40&Kz(Y%F37rZQ3-%w`Nm%2MpiW(-Bl zoDDqe4D7QQZ-Uf27bO;FfPz`W+eQJLoj!0BGJumF1A}xo!+!Z)RKb49B|M~VrJD6v14FlV+DD!fQOZV zft8_9jFo}m8v`>pD+2=?!yE^8v*41%qT-Cq$qS{Vl|yWVt)=A|7?>GqjKGu;2WtZZ z8$&UKn&ZH%1}dO*c^GVjt(7D=_=7oWbc9&>l{t(!_#g`TLDU=vre08pz@tfxfq_99 z6ioss(Ig9rCUIyqU4^9XFKPr!gOi&N8bmTqPOx;vS(!AshP~o7hX~V$649egP1`HwM3_lqdIpXMizN)ZZigJ1{q#%bp{SA=Cf{@MXBZaMcKs) z(RrzY`viYEa4f7;MM;5<#%w>~Z868<{b}=8D+{Ng`Jc*rg@_9yQ zF2+19g`kZ5l+@zMzKqh7&6(s_f@U!aPL5=9WU+d|{BH6*CMRwcCK)XS=bXf{%)H44 zN>Y%4g3e3d&ZXO1+C)OTjrKKeI@|F)?GZqm0;ORemKVwh(a1Jh@O%OWKV=fpaPY zlPH5B!)#V2GX@d1DGf{<409YoXMIVhG!O&_INd$2T=6Cto4BGOr{x6aDGny3NWxRFfq4t zF@U0ut#tB1gY*1gZ6!six%oNy3dJRp6=Ot{Y*Y z58|~jGRJH_Xu!?F<(iz4uMm)!qF@9nrIo~3j5Na=7(yACIA?IMv+^?W#5eG;@D>V8 zX<%SsnB%~u0ZurZFBp7fRx)R(l9T7+`@s;%70JoFLw5&=96 zUl|ycg;*IrF)+%Cf!k~hL0k-98F&KOFKj+&aF9_+i-}QKo{ixfL!r1l0|O6(A*dbB z%fQGi&%gicoI81;l%$d&1EY*I11~oNqoy3F4TL#a+!+*@C(joYWny$gQEko09*|#
    ZL zi^wRkFu1zQPiC)UP|}z`iKU6bkU>O9?iT|igQT#;Zw5vdhKk7t4L*V6FCG$q^EudA z89?#J2a3P>(D-Xbu>|a|b}qllocuiZ(##U0$rB|dbrl#`4dsOx)ENvloGonS-g*l2VVAq z%EyU9;z}$m2C9J#41o*myM9$$)a9ygW05KZBuyJR3tiLlKKSJHvVgBNnjW90!H~kY()P zoEwlhd83Y$3J(J-3xk?R149r4gJ3fQLofpak2}ce418^nfak-T7ED*lpI+z&G zY~~F-ClBsO)cPqgg2F;+@*zJZ#xSrLyFZL|rcjZIF>&(y!t;~&ZC6q@uwf8j5Mkf| zwPEGOB{>-c7-R+bS1^Ej(n6dJj1w4HCNu9yS2iM~j^W$ng(XUx*B85_D2ti08nfJI z5ctf%$Z%hX?`TotYfY|)=X1fF;pf+DH$YG@FXn-rm0KjV_f&&1cNQ`5i%hZi!(4VG1#$)fw~$se3Bqu85;)&gDJxt2ewZ1Q2=EoX35E`bex&k8z#Tk zab{zaKphp(Bh(LIhy?|!vOb|v0mck)gP9(q0!qpbpiVaKVF4x=MoX}({Rs>TBrwjM ze9&Nxk}dvG0hM2zlLJjEnLIoDKG=jja0L~>e88uMSu`yvNWf0_I7H2Tz=oezkU|`k=5a3K_ zU}W%~D8K<4Nc0R&E*eGy3mOaz4FA8l4U?e-g=oLj)D&!E3&agAVCyjYF;33(Rbt!) zN_Lai`6^B>T%)CM^a3g48^ZOt483lRJVGm}5A%O zGns+;tkz`S5Xs5@!5YkF%q^3vg7Fy0vVlclvi)u+W=U?h$t)p`EGqkWA5QiRablKa zJvg~9#EH9!F+@utxF82KMhi0bONb&z5*wG6f^&ZPU#fI$5gRkwr_vBQrf?^7(L?$;-nPnV65r9DlVGoD-80izf?4i%&FQnY=qffjN&McJjRl7miphh2V_*qLRsZk%(Sm#*MmnpreCkWqZ{`AD|OvudQ6uYhXPD5c4fQQ*P& zD5c5sq7<1Jxh5Zsg1FDOv?O(MV6@C+jc7$CrjwJsqn(+U*Gv|ub7Hn-h@E^j+KJhY z<>_Rp7$@cv3>A~(W1M)(m|L_IoKkagLW)ws13HHnsxa}GO@0{zN-pc_op=S9%OHs& zxU?u`vSFCSlwKDzcR4ZGw}0#V_;;6XMlAy^8J-Lgcv|WB*N^I9VZL3 z^RP3pDl$Hp{1a=QW0ar#aJw)+w-5&dBZEAjPy_?xB}UcB3wJ6_UcW)K^I{ncWJ^5sVK;)BA8p z?~sZHn%W_GDB913F<|lnKTrh#O4*3su8+SGNTIL`b zh4O@GP~Aa#k*pW%#LLQf2@;2hA~{xp`560MqRM0%rqPSn)#WaOW|JA~;X^AjKNuM6 z!9yzyR~b$~(=SNj1y=sg42<>nMId7^Lh|3i3VF&H7?v?cjizgww>E}oy7p%R0J^z| AVgLXD delta 499 zcmcb!j=SM0vtYP?fS-}BlaZe{0}}%S69el+LD$J?jH@=^VOpfLSzvJ;2TQnTfWqWI zy7H6d^%NN^COhh#-(09>!weRmCeI`{ou!abP^gf>k4=z`frX(DL@`D&T5e`s9KbU9 zp;^~v#>LxMRCpNJ)fphbh*6}0fepfDU?}1gVPIfmnB%~BW^Dzuh&Nv6D%Vhn<1dl;N+ILU2iDa&~ZL%H)YQ64Sq@GAd7>HHXQWiP3U;d>W%G zh@&yxXD*X86Ql3;muZaWVO%eurQn-dQk0*UpPQ=Sl$w(>U2GMj z>Gad>jORi6m6TOXS&dolv+{ptU}U&2!uykfkzqc+{C5x~z+KM3^n>9M+%_d;4Fam4 zFg%)G+r_A~y}OgqB}G{steimrY`72~*l+>)9~_Jf^96Xz80I)I*i0@|Q<^@djZv9s Yw;!xva+=