Major MariFX update:

- Complete RetroFX filter (downscale+palette).
 - Additional palettes, extending to the full range of 64.
 - Localization support (just English for now).
 - Better slider input (shift for 10x increments, alt for 5x increments)
 - Use nosave cvars for performance and so they don't end up in savegames.
 - A lot of cleanup.
This commit is contained in:
Marisa the Magician 2021-10-07 19:51:47 +02:00
commit 232ec85941
19 changed files with 689 additions and 591 deletions

View file

@ -1,207 +1,161 @@
version "3.3"
// keyboard input snaps to increment
// holding shift increments by ten steps
Class OptionMenuItemMFXSlider : OptionMenuItemSlider
{
bool bShift, bAlt;
override bool MenuEvent ( int mkey, bool fromcontroller )
{
double value = GetSliderValue();
double step = bShift?(mStep*10):bAlt?(mStep*5):mStep;
if ( mkey == Menu.MKEY_Left ) value -= step;
else if ( mkey == Menu.MKEY_Right ) value += step;
else return OptionMenuItem.MenuEvent(mkey,fromcontroller);
if ( value ~== 0 ) value = 0; // This is to prevent formatting anomalies with very small values
value = round(value/step)*step; // truncate to step
SetSliderValue(clamp(value,mMin,mMax));
Menu.MenuSound("menu/change");
return true;
}
}
// passes shift presses to MFXSliders
Class MFXOptionMenu : OptionMenu
{
override void Init( Menu parent, OptionMenuDescriptor desc )
{
Super.init(parent,desc);
DontDim = true;
DontBlur = true;
}
override bool OnUIEvent( UIEvent ev )
{
for ( int i=0; i<mDesc.mItems.size(); i++ )
{
if ( !(mDesc.mItems[i] is 'OptionMenuItemMFXSlider') )
continue;
OptionMenuItemMFXSlider(mDesc.mItems[i]).bShift = ev.IsShift;
OptionMenuItemMFXSlider(mDesc.mItems[i]).bAlt = ev.IsAlt;
}
return Super.OnUIEvent(ev);
}
}
Class MariFXHandler : StaticEventHandler
{
// luma sharpen
transient ui CVar mfx_lsharpenable, mfx_lsharpradius,
mfx_lsharpclamp, mfx_lsharpblend,
// noise
mfx_ne, mfx_ni, mfx_ns, mfx_np, mfx_bnp, mfx_nb,
// dirt
mfx_dirtenable, mfx_dirtcfactor, mfx_dirtmc,
// grading
mfx_gradeenable, mfx_grademul_r, mfx_grademul_g,
mfx_grademul_b, mfx_gradepow_r, mfx_gradepow_g, mfx_gradepow_b,
mfx_gradecol_r, mfx_gradecol_g, mfx_gradecol_b,
mfx_gradecolfact, mfx_gradesatmul, mfx_gradesatpow,
mfx_gradevalmul, mfx_gradevalpow,
// blursharpshift
mfx_bssblurenable, mfx_bssblurradius, mfx_bsssharpenable,
mfx_bsssharpradius, mfx_bsssharpamount, mfx_bssshiftenable,
mfx_bssshiftradius,
// vignette
mfx_vigenable, mfx_bblurenable, mfx_vigpow, mfx_vigmul,
mfx_vigbump, mfx_vigcolor_r, mfx_vigcolor_g, mfx_vigcolor_b,
mfx_bblurpow, mfx_bblurmul, mfx_bblurbump, mfx_bblurradius,
mfx_vigshape, mfx_vigmode,
// color matrix
mfx_cmatenable, mfx_cmat_rr, mfx_cmat_rg, mfx_cmat_rb,
mfx_cmat_gr, mfx_cmat_gg, mfx_cmat_gb, mfx_cmat_br,
mfx_cmat_bg, mfx_cmat_bb, mfx_cmatnormalize,
// hue-saturation
mfx_hsenable, mfx_hsover, mfx_hshue_a, mfx_hssat_a,
mfx_hsval_a, mfx_hshue_r, mfx_hssat_r, mfx_hsval_r,
mfx_hshue_y, mfx_hssat_y, mfx_hsval_y, mfx_hshue_g,
mfx_hssat_g, mfx_hsval_g, mfx_hshue_c, mfx_hssat_c,
mfx_hsval_c, mfx_hshue_b, mfx_hssat_b, mfx_hsval_b,
mfx_hshue_m, mfx_hssat_m, mfx_hsval_m,
// palette
mfx_palenable, mfx_palnum, mfx_paldither;
override void RenderOverlay( RenderEvent e )
{
PlayerInfo p = players[consoleplayer];
if ( !mfx_lsharpenable ) mfx_lsharpenable = CVar.FindCVar('mfx_lsharpenable');
if ( !mfx_lsharpradius ) mfx_lsharpradius = CVar.FindCVar('mfx_lsharpradius');
if ( !mfx_lsharpclamp ) mfx_lsharpclamp = CVar.FindCVar('mfx_lsharpclamp');
if ( !mfx_lsharpblend ) mfx_lsharpblend = CVar.FindCVar('mfx_lsharpblend');
Shader.SetEnabled(p,"mfx_lumasharp",mfx_lsharpenable.GetBool());
Shader.SetUniform1f(p,"mfx_lumasharp","sharpradius",mfx_lsharpradius.GetFloat());
Shader.SetUniform1f(p,"mfx_lumasharp","sharpclamp",mfx_lsharpclamp.GetFloat());
Shader.SetUniform1f(p,"mfx_lumasharp","sharpblend",mfx_lsharpblend.GetFloat());
if ( !mfx_ne ) mfx_ne = CVar.FindCVar('mfx_ne');
if ( !mfx_ni ) mfx_ni = CVar.FindCVar('mfx_ni');
if ( !mfx_ns ) mfx_ns = CVar.FindCVar('mfx_ns');
if ( !mfx_np ) mfx_np = CVar.FindCVar('mfx_np');
if ( !mfx_bnp ) mfx_bnp = CVar.FindCVar('mfx_bnp');
if ( !mfx_nb ) mfx_nb = CVar.FindCVar('mfx_nb');
Shader.SetEnabled(p,"mfx_grain",mfx_ne.GetBool());
Shader.SetUniform1f(p,"mfx_grain","ni",mfx_ni.GetFloat());
Shader.SetUniform1f(p,"mfx_grain","ns",mfx_ns.GetFloat());
Shader.SetUniform1f(p,"mfx_grain","np",mfx_np.GetFloat());
Shader.SetUniform1f(p,"mfx_grain","bnp",mfx_bnp.GetFloat());
Shader.SetUniform1i(p,"mfx_grain","nb",mfx_nb.GetInt());
// LUMA SHARPEN
Shader.SetEnabled(p,"mfx_lumasharp",mfx_lsharpenable);
Shader.SetUniform1f(p,"mfx_lumasharp","sharpradius",mfx_lsharpradius);
Shader.SetUniform1f(p,"mfx_lumasharp","sharpclamp",mfx_lsharpclamp);
Shader.SetUniform1f(p,"mfx_lumasharp","sharpblend",mfx_lsharpblend);
// FILM GRAIN
Shader.SetEnabled(p,"mfx_grain",mfx_ne);
Shader.SetUniform1f(p,"mfx_grain","ni",mfx_ni);
Shader.SetUniform1f(p,"mfx_grain","ns",mfx_ns);
Shader.SetUniform1f(p,"mfx_grain","np",mfx_np);
Shader.SetUniform1f(p,"mfx_grain","bnp",mfx_bnp);
Shader.SetUniform1i(p,"mfx_grain","nb",mfx_nb);
Shader.SetUniform1f(p,"mfx_grain","Timer",(gametic+e.fractic)/35.);
if ( !mfx_dirtenable ) mfx_dirtenable = CVar.FindCVar('mfx_dirtenable');
if ( !mfx_dirtmc ) mfx_dirtmc = CVar.FindCVar('mfx_dirtmc');
if ( !mfx_dirtcfactor ) mfx_dirtcfactor = CVar.FindCVar('mfx_dirtcfactor');
Shader.SetEnabled(p,"mfx_dirt",mfx_dirtenable.GetBool());
Shader.SetUniform1f(p,"mfx_dirt","dirtmc",mfx_dirtmc.GetFloat());
Shader.SetUniform1f(p,"mfx_dirt","dirtcfactor",mfx_dirtcfactor.GetFloat());
if ( !mfx_gradeenable ) mfx_gradeenable = CVar.FindCVar('mfx_gradeenable');
if ( !mfx_grademul_r ) mfx_grademul_r = CVar.FindCVar('mfx_grademul_r');
if ( !mfx_grademul_g ) mfx_grademul_g = CVar.FindCVar('mfx_grademul_g');
if ( !mfx_grademul_b ) mfx_grademul_b = CVar.FindCVar('mfx_grademul_b');
if ( !mfx_gradepow_r ) mfx_gradepow_r = CVar.FindCVar('mfx_gradepow_r');
if ( !mfx_gradepow_g ) mfx_gradepow_g = CVar.FindCVar('mfx_gradepow_g');
if ( !mfx_gradepow_b ) mfx_gradepow_b = CVar.FindCVar('mfx_gradepow_b');
if ( !mfx_gradecol_r ) mfx_gradecol_r = CVar.FindCVar('mfx_gradecol_r');
if ( !mfx_gradecol_g ) mfx_gradecol_g = CVar.FindCVar('mfx_gradecol_g');
if ( !mfx_gradecol_b ) mfx_gradecol_b = CVar.FindCVar('mfx_gradecol_b');
if ( !mfx_gradecolfact ) mfx_gradecolfact = CVar.FindCVar('mfx_gradecolfact');
if ( !mfx_gradesatmul ) mfx_gradesatmul = CVar.FindCVar('mfx_gradesatmul');
if ( !mfx_gradesatpow ) mfx_gradesatpow = CVar.FindCVar('mfx_gradesatpow');
if ( !mfx_gradevalmul ) mfx_gradevalmul = CVar.FindCVar('mfx_gradevalmul');
if ( !mfx_gradevalpow ) mfx_gradevalpow = CVar.FindCVar('mfx_gradevalpow');
Shader.SetEnabled(p,"mfx_grading",mfx_gradeenable.GetBool());
Shader.SetUniform3f(p,"mfx_grading","grademul",(mfx_grademul_r.GetFloat(),mfx_grademul_g.GetFloat(),mfx_grademul_b.GetFloat()));
Shader.SetUniform3f(p,"mfx_grading","gradepow",(mfx_gradepow_r.GetFloat(),mfx_gradepow_g.GetFloat(),mfx_gradepow_b.GetFloat()));
Shader.SetUniform3f(p,"mfx_grading","gradecol",(mfx_gradecol_r.GetFloat(),mfx_gradecol_g.GetFloat(),mfx_gradecol_b.GetFloat()));
Shader.SetUniform1f(p,"mfx_grading","gradecolfact",mfx_gradecolfact.GetFloat());
Shader.SetUniform1f(p,"mfx_grading","gradesatmul",mfx_gradesatmul.GetFloat());
Shader.SetUniform1f(p,"mfx_grading","gradesatpow",mfx_gradesatpow.GetFloat());
Shader.SetUniform1f(p,"mfx_grading","gradevalmul",mfx_gradevalmul.GetFloat());
Shader.SetUniform1f(p,"mfx_grading","gradevalpow",mfx_gradevalpow.GetFloat());
if ( !mfx_cmatenable ) mfx_cmatenable = CVar.FindCVar('mfx_cmatenable');
if ( !mfx_cmat_rr ) mfx_cmat_rr = CVar.FindCVar('mfx_cmat_rr');
if ( !mfx_cmat_rg ) mfx_cmat_rg = CVar.FindCVar('mfx_cmat_rg');
if ( !mfx_cmat_rb ) mfx_cmat_rb = CVar.FindCVar('mfx_cmat_rb');
if ( !mfx_cmat_gr ) mfx_cmat_gr = CVar.FindCVar('mfx_cmat_gr');
if ( !mfx_cmat_gg ) mfx_cmat_gg = CVar.FindCVar('mfx_cmat_gg');
if ( !mfx_cmat_gb ) mfx_cmat_gb = CVar.FindCVar('mfx_cmat_gb');
if ( !mfx_cmat_br ) mfx_cmat_br = CVar.FindCVar('mfx_cmat_br');
if ( !mfx_cmat_bg ) mfx_cmat_bg = CVar.FindCVar('mfx_cmat_bg');
if ( !mfx_cmat_bb ) mfx_cmat_bb = CVar.FindCVar('mfx_cmat_bb');
Shader.SetEnabled(p,"mfx_colormatrix",mfx_cmatenable.GetBool());
Shader.SetUniform3f(p,"mfx_colormatrix","redrow",(mfx_cmat_rr.GetFloat(),mfx_cmat_rg.GetFloat(),mfx_cmat_rb.GetFloat()));
Shader.SetUniform3f(p,"mfx_colormatrix","greenrow",(mfx_cmat_gr.GetFloat(),mfx_cmat_gg.GetFloat(),mfx_cmat_gb.GetFloat()));
Shader.SetUniform3f(p,"mfx_colormatrix","bluerow",(mfx_cmat_br.GetFloat(),mfx_cmat_bg.GetFloat(),mfx_cmat_bb.GetFloat()));
if ( !mfx_hsenable ) mfx_hsenable = CVar.FindCVar('mfx_hsenable');
if ( !mfx_hsover ) mfx_hsover = CVar.FindCVar('mfx_hsover');
if ( !mfx_hshue_a ) mfx_hshue_a = CVar.FindCVar('mfx_hshue_a');
if ( !mfx_hssat_a ) mfx_hssat_a = CVar.FindCVar('mfx_hssat_a');
if ( !mfx_hsval_a ) mfx_hsval_a = CVar.FindCVar('mfx_hsval_a');
if ( !mfx_hshue_r ) mfx_hshue_r = CVar.FindCVar('mfx_hshue_r');
if ( !mfx_hssat_r ) mfx_hssat_r = CVar.FindCVar('mfx_hssat_r');
if ( !mfx_hsval_r ) mfx_hsval_r = CVar.FindCVar('mfx_hsval_r');
if ( !mfx_hshue_y ) mfx_hshue_y = CVar.FindCVar('mfx_hshue_y');
if ( !mfx_hssat_y ) mfx_hssat_y = CVar.FindCVar('mfx_hssat_y');
if ( !mfx_hsval_y ) mfx_hsval_y = CVar.FindCVar('mfx_hsval_y');
if ( !mfx_hshue_g ) mfx_hshue_g = CVar.FindCVar('mfx_hshue_g');
if ( !mfx_hssat_g ) mfx_hssat_g = CVar.FindCVar('mfx_hssat_g');
if ( !mfx_hsval_g ) mfx_hsval_g = CVar.FindCVar('mfx_hsval_g');
if ( !mfx_hshue_c ) mfx_hshue_c = CVar.FindCVar('mfx_hshue_c');
if ( !mfx_hssat_c ) mfx_hssat_c = CVar.FindCVar('mfx_hssat_c');
if ( !mfx_hsval_c ) mfx_hsval_c = CVar.FindCVar('mfx_hsval_c');
if ( !mfx_hshue_b ) mfx_hshue_b = CVar.FindCVar('mfx_hshue_b');
if ( !mfx_hssat_b ) mfx_hssat_b = CVar.FindCVar('mfx_hssat_b');
if ( !mfx_hsval_b ) mfx_hsval_b = CVar.FindCVar('mfx_hsval_b');
if ( !mfx_hshue_m ) mfx_hshue_m = CVar.FindCVar('mfx_hshue_m');
if ( !mfx_hssat_m ) mfx_hssat_m = CVar.FindCVar('mfx_hssat_m');
if ( !mfx_hsval_m ) mfx_hsval_m = CVar.FindCVar('mfx_hsval_m');
Shader.SetEnabled(p,"mfx_huesaturation",mfx_hsenable.GetBool());
Shader.SetUniform1f(p,"mfx_huesaturation","hsover",mfx_hsover.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_a",mfx_hshue_a.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_a",mfx_hssat_a.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_a",mfx_hsval_a.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_r",mfx_hshue_r.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_r",mfx_hssat_r.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_r",mfx_hsval_r.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_y",mfx_hshue_y.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_y",mfx_hssat_y.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_y",mfx_hsval_y.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_g",mfx_hshue_g.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_g",mfx_hssat_g.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_g",mfx_hsval_g.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_c",mfx_hshue_c.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_c",mfx_hssat_c.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_c",mfx_hsval_c.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_b",mfx_hshue_b.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_b",mfx_hssat_b.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_b",mfx_hsval_b.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_m",mfx_hshue_m.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_m",mfx_hssat_m.GetFloat());
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_m",mfx_hsval_m.GetFloat());
if ( !mfx_bssblurenable ) mfx_bssblurenable = CVar.FindCVar('mfx_bssblurenable');
if ( !mfx_bssblurradius ) mfx_bssblurradius = CVar.FindCVar('mfx_bssblurradius');
if ( !mfx_bsssharpenable ) mfx_bsssharpenable = CVar.FindCVar('mfx_bsssharpenable');
if ( !mfx_bsssharpradius ) mfx_bsssharpradius = CVar.FindCVar('mfx_bsssharpradius');
if ( !mfx_bsssharpamount ) mfx_bsssharpamount = CVar.FindCVar('mfx_bsssharpamount');
if ( !mfx_bssshiftenable ) mfx_bssshiftenable = CVar.FindCVar('mfx_bssshiftenable');
if ( !mfx_bssshiftradius ) mfx_bssshiftradius = CVar.FindCVar('mfx_bssshiftradius');
Shader.SetEnabled(p,"mfx_bss_blur",mfx_bssblurenable.GetBool());
Shader.SetUniform1f(p,"mfx_bss_blur","bssblurradius",mfx_bssblurradius.GetFloat());
Shader.SetEnabled(p,"mfx_bss_sharp",mfx_bsssharpenable.GetBool());
Shader.SetUniform1f(p,"mfx_bss_sharp","bsssharpradius",mfx_bsssharpradius.GetFloat());
Shader.SetUniform1f(p,"mfx_bss_sharp","bsssharpamount",mfx_bsssharpamount.GetFloat());
Shader.SetEnabled(p,"mfx_bss_shift",mfx_bssshiftenable.GetBool());
Shader.SetUniform1f(p,"mfx_bss_shift","bssshiftradius",mfx_bssshiftradius.GetFloat());
if ( !mfx_vigenable ) mfx_vigenable = CVar.FindCVar('mfx_vigenable');
if ( !mfx_vigcolor_r ) mfx_vigcolor_r = CVar.FindCVar('mfx_vigcolor_r');
if ( !mfx_vigcolor_g ) mfx_vigcolor_g = CVar.FindCVar('mfx_vigcolor_g');
if ( !mfx_vigcolor_b ) mfx_vigcolor_b = CVar.FindCVar('mfx_vigcolor_b');
if ( !mfx_vigpow ) mfx_vigpow = CVar.FindCVar('mfx_vigpow');
if ( !mfx_vigmul ) mfx_vigmul = CVar.FindCVar('mfx_vigmul');
if ( !mfx_vigbump ) mfx_vigbump = CVar.FindCVar('mfx_vigbump');
if ( !mfx_bblurenable ) mfx_bblurenable = CVar.FindCVar('mfx_bblurenable');
if ( !mfx_bblurpow ) mfx_bblurpow = CVar.FindCVar('mfx_bblurpow');
if ( !mfx_bblurmul ) mfx_bblurmul = CVar.FindCVar('mfx_bblurmul');
if ( !mfx_bblurbump ) mfx_bblurbump = CVar.FindCVar('mfx_bblurbump');
if ( !mfx_bblurradius ) mfx_bblurradius = CVar.FindCVar('mfx_bblurradius');
if ( !mfx_vigshape ) mfx_vigshape = CVar.FindCVar('mfx_vigshape');
if ( !mfx_vigmode ) mfx_vigmode = CVar.FindCVar('mfx_vigmode');
Shader.SetEnabled(p,"mfx_borderblur",mfx_bblurenable.GetBool());
Shader.SetUniform1f(p,"mfx_borderblur","vigpow",mfx_vigpow.GetFloat());
Shader.SetUniform1f(p,"mfx_borderblur","vigmul",mfx_vigmul.GetFloat());
Shader.SetUniform1f(p,"mfx_borderblur","vigbump",mfx_vigbump.GetFloat());
Shader.SetUniform1i(p,"mfx_borderblur","vigshape",mfx_vigshape.GetInt());
Shader.SetUniform1f(p,"mfx_borderblur","bblurpow",mfx_bblurpow.GetFloat());
Shader.SetUniform1f(p,"mfx_borderblur","bblurmul",mfx_bblurmul.GetFloat());
Shader.SetUniform1f(p,"mfx_borderblur","bblurbump",mfx_bblurbump.GetFloat());
Shader.SetUniform1f(p,"mfx_borderblur","bblurradius",mfx_bblurradius.GetFloat());
Shader.SetEnabled(p,"mfx_vignette",mfx_vigenable.GetBool());
Shader.SetUniform3f(p,"mfx_vignette","vigcolor",(mfx_vigcolor_r.GetFloat(),mfx_vigcolor_g.GetFloat(),mfx_vigcolor_b.GetFloat()));
Shader.SetUniform1f(p,"mfx_vignette","vigpow",mfx_vigpow.GetFloat());
Shader.SetUniform1f(p,"mfx_vignette","vigmul",mfx_vigmul.GetFloat());
Shader.SetUniform1f(p,"mfx_vignette","vigbump",mfx_vigbump.GetFloat());
Shader.SetUniform1i(p,"mfx_vignette","vigshape",mfx_vigshape.GetInt());
Shader.SetUniform1i(p,"mfx_vignette","vigmode",mfx_vigmode.GetInt());
if ( !mfx_palenable ) mfx_palenable = CVar.FindCVar('mfx_palenable');
if ( !mfx_palnum ) mfx_palnum = CVar.FindCVar('mfx_palnum');
if ( !mfx_paldither ) mfx_paldither = CVar.FindCVar('mfx_paldither');
Shader.SetEnabled(p,"mfx_palette",mfx_palenable.GetBool());
Shader.SetUniform1i(p,"mfx_palette","palnum",mfx_palnum.GetInt());
Shader.SetUniform1f(p,"mfx_palette","paldither",mfx_paldither.GetFloat());
// SCREEN DIRT
Shader.SetEnabled(p,"mfx_dirt",mfx_dirtenable);
Shader.SetUniform1f(p,"mfx_dirt","dirtmc",mfx_dirtmc);
Shader.SetUniform1f(p,"mfx_dirt","dirtcfactor",mfx_dirtcfactor);
// COLOR GRADING
Shader.SetEnabled(p,"mfx_grading",mfx_gradeenable);
Shader.SetUniform3f(p,"mfx_grading","grademul",(mfx_grademul_r,mfx_grademul_g,mfx_grademul_b));
Shader.SetUniform3f(p,"mfx_grading","gradepow",(mfx_gradepow_r,mfx_gradepow_g,mfx_gradepow_b));
Shader.SetUniform3f(p,"mfx_grading","gradecol",(mfx_gradecol_r,mfx_gradecol_g,mfx_gradecol_b));
Shader.SetUniform1f(p,"mfx_grading","gradecolfact",mfx_gradecolfact);
Shader.SetUniform1f(p,"mfx_grading","gradesatmul",mfx_gradesatmul);
Shader.SetUniform1f(p,"mfx_grading","gradesatpow",mfx_gradesatpow);
Shader.SetUniform1f(p,"mfx_grading","gradevalmul",mfx_gradevalmul);
Shader.SetUniform1f(p,"mfx_grading","gradevalpow",mfx_gradevalpow);
// COLOR MATRIX
Shader.SetEnabled(p,"mfx_colormatrix",mfx_cmatenable);
Shader.SetUniform3f(p,"mfx_colormatrix","redrow",(mfx_cmat_rr,mfx_cmat_rg,mfx_cmat_rb));
Shader.SetUniform3f(p,"mfx_colormatrix","greenrow",(mfx_cmat_gr,mfx_cmat_gg,mfx_cmat_gb));
Shader.SetUniform3f(p,"mfx_colormatrix","bluerow",(mfx_cmat_br,mfx_cmat_bg,mfx_cmat_bb));
// HUE-SATURATION
Shader.SetEnabled(p,"mfx_huesaturation",mfx_hsenable);
Shader.SetUniform1f(p,"mfx_huesaturation","hsover",mfx_hsover);
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_a",mfx_hshue_a);
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_a",mfx_hssat_a);
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_a",mfx_hsval_a);
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_r",mfx_hshue_r);
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_r",mfx_hssat_r);
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_r",mfx_hsval_r);
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_y",mfx_hshue_y);
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_y",mfx_hssat_y);
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_y",mfx_hsval_y);
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_g",mfx_hshue_g);
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_g",mfx_hssat_g);
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_g",mfx_hsval_g);
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_c",mfx_hshue_c);
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_c",mfx_hssat_c);
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_c",mfx_hsval_c);
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_b",mfx_hshue_b);
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_b",mfx_hssat_b);
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_b",mfx_hsval_b);
Shader.SetUniform1f(p,"mfx_huesaturation","hshue_m",mfx_hshue_m);
Shader.SetUniform1f(p,"mfx_huesaturation","hssat_m",mfx_hssat_m);
Shader.SetUniform1f(p,"mfx_huesaturation","hsval_m",mfx_hsval_m);
// BLURSHARPSHIFT
Shader.SetEnabled(p,"mfx_bss_blur",mfx_bssblurenable);
Shader.SetUniform1f(p,"mfx_bss_blur","bssblurradius",mfx_bssblurradius);
Shader.SetEnabled(p,"mfx_bss_sharp",mfx_bsssharpenable);
Shader.SetUniform1f(p,"mfx_bss_sharp","bsssharpradius",mfx_bsssharpradius);
Shader.SetUniform1f(p,"mfx_bss_sharp","bsssharpamount",mfx_bsssharpamount);
Shader.SetEnabled(p,"mfx_bss_shift",mfx_bssshiftenable);
Shader.SetUniform1f(p,"mfx_bss_shift","bssshiftradius",mfx_bssshiftradius);
// VIGNETTE / BORDER BLUR
Shader.SetEnabled(p,"mfx_borderblur",mfx_bblurenable);
Shader.SetUniform1f(p,"mfx_borderblur","vigpow",mfx_vigpow);
Shader.SetUniform1f(p,"mfx_borderblur","vigmul",mfx_vigmul);
Shader.SetUniform1f(p,"mfx_borderblur","vigbump",mfx_vigbump);
Shader.SetUniform1i(p,"mfx_borderblur","vigshape",mfx_vigshape);
Shader.SetUniform1f(p,"mfx_borderblur","bblurpow",mfx_bblurpow);
Shader.SetUniform1f(p,"mfx_borderblur","bblurmul",mfx_bblurmul);
Shader.SetUniform1f(p,"mfx_borderblur","bblurbump",mfx_bblurbump);
Shader.SetUniform1f(p,"mfx_borderblur","bblurradius",mfx_bblurradius);
Shader.SetEnabled(p,"mfx_vignette",mfx_vigenable);
Shader.SetUniform3f(p,"mfx_vignette","vigcolor",(mfx_vigcolor_r,mfx_vigcolor_g,mfx_vigcolor_b));
Shader.SetUniform1f(p,"mfx_vignette","vigpow",mfx_vigpow);
Shader.SetUniform1f(p,"mfx_vignette","vigmul",mfx_vigmul);
Shader.SetUniform1f(p,"mfx_vignette","vigbump",mfx_vigbump);
Shader.SetUniform1i(p,"mfx_vignette","vigshape",mfx_vigshape);
Shader.SetUniform1i(p,"mfx_vignette","vigmode",mfx_vigmode);
// RETRO FX
Vector2 rresl = (Screen.GetWidth(),Screen.GetHeight());
Vector2 bresl = rresl;
switch ( mfx_retroscalemode )
{
case 0:
bresl = (CleanWidth,CleanHeight);
break;
case 1:
bresl = (CleanWidth_1,CleanHeight_1);
break;
case 2:
bresl = (max(1,rresl.x*mfx_bscl_x),max(1,rresl.y*mfx_bscl_y));
break;
case 3:
bresl = (clamp(mfx_bres_x,1,rresl.x),clamp(mfx_bres_y,1,rresl.y));
break;
}
Shader.SetEnabled(p,"mfx_retrofx",mfx_retroenable);
Shader.SetUniform2f(p,"mfx_retrofx","bresl",bresl);
Shader.SetEnabled(p,"mfx_palette",mfx_palenable);
Shader.SetUniform2f(p,"mfx_palette","sfact",mfx_retroenable?bresl:rresl);
Shader.SetUniform1f(p,"mfx_palette","palsat",mfx_palsat);
Shader.SetUniform1f(p,"mfx_palette","palpow",mfx_palpow);
Shader.SetUniform1i(p,"mfx_palette","palnum",mfx_palnum);
Shader.SetUniform1f(p,"mfx_palette","paldither",mfx_paldither);
}
override void ConsoleProcess( ConsoleEvent e )
{
@ -211,192 +165,115 @@ Class MariFXHandler : StaticEventHandler
switch( e.args[0] )
{
case 0:
if ( !mfx_ne ) mfx_ne = CVar.FindCVar('mfx_ne');
if ( !mfx_ni ) mfx_ni = CVar.FindCVar('mfx_ni');
if ( !mfx_ns ) mfx_ns = CVar.FindCVar('mfx_ns');
if ( !mfx_np ) mfx_np = CVar.FindCVar('mfx_np');
if ( !mfx_bnp ) mfx_bnp = CVar.FindCVar('mfx_bnp');
if ( !mfx_nb ) mfx_nb = CVar.FindCVar('mfx_nb');
mfx_ne.ResetToDefault();
mfx_ni.ResetToDefault();
mfx_ns.ResetToDefault();
mfx_np.ResetToDefault();
mfx_bnp.ResetToDefault();
mfx_nb.ResetToDefault();
CVar.FindCVar('mfx_ne').ResetToDefault();
CVar.FindCVar('mfx_ni').ResetToDefault();
CVar.FindCVar('mfx_ns').ResetToDefault();
CVar.FindCVar('mfx_np').ResetToDefault();
CVar.FindCVar('mfx_bnp').ResetToDefault();
CVar.FindCVar('mfx_nb').ResetToDefault();
break;
case 1:
if ( !mfx_dirtenable ) mfx_dirtenable = CVar.FindCVar('mfx_dirtenable');
if ( !mfx_dirtmc ) mfx_dirtmc = CVar.FindCVar('mfx_dirtmc');
if ( !mfx_dirtcfactor ) mfx_dirtcfactor = CVar.FindCVar('mfx_dirtcfactor');
mfx_dirtenable.ResetToDefault();
mfx_dirtmc.ResetToDefault();
mfx_dirtcfactor.ResetToDefault();
CVar.FindCVar('mfx_dirtenable').ResetToDefault();
CVar.FindCVar('mfx_dirtmc').ResetToDefault();
CVar.FindCVar('mfx_dirtcfactor').ResetToDefault();
break;
case 2:
if ( !mfx_gradeenable ) mfx_gradeenable = CVar.FindCVar('mfx_gradeenable');
if ( !mfx_grademul_r ) mfx_grademul_r = CVar.FindCVar('mfx_grademul_r');
if ( !mfx_grademul_g ) mfx_grademul_g = CVar.FindCVar('mfx_grademul_g');
if ( !mfx_grademul_b ) mfx_grademul_b = CVar.FindCVar('mfx_grademul_b');
if ( !mfx_gradepow_r ) mfx_gradepow_r = CVar.FindCVar('mfx_gradepow_r');
if ( !mfx_gradepow_g ) mfx_gradepow_g = CVar.FindCVar('mfx_gradepow_g');
if ( !mfx_gradepow_b ) mfx_gradepow_b = CVar.FindCVar('mfx_gradepow_b');
if ( !mfx_gradecol_r ) mfx_gradecol_r = CVar.FindCVar('mfx_gradecol_r');
if ( !mfx_gradecol_g ) mfx_gradecol_g = CVar.FindCVar('mfx_gradecol_g');
if ( !mfx_gradecol_b ) mfx_gradecol_b = CVar.FindCVar('mfx_gradecol_b');
if ( !mfx_gradecolfact ) mfx_gradecolfact = CVar.FindCVar('mfx_gradecolfact');
if ( !mfx_gradesatmul ) mfx_gradesatmul = CVar.FindCVar('mfx_gradesatmul');
if ( !mfx_gradesatpow ) mfx_gradesatpow = CVar.FindCVar('mfx_gradesatpow');
if ( !mfx_gradevalmul ) mfx_gradevalmul = CVar.FindCVar('mfx_gradevalmul');
if ( !mfx_gradevalpow ) mfx_gradevalpow = CVar.FindCVar('mfx_gradevalpow');
mfx_gradeenable.ResetToDefault();
mfx_grademul_r.ResetToDefault();
mfx_grademul_g.ResetToDefault();
mfx_grademul_b.ResetToDefault();
mfx_gradepow_r.ResetToDefault();
mfx_gradepow_g.ResetToDefault();
mfx_gradepow_b.ResetToDefault();
mfx_gradecol_r.ResetToDefault();
mfx_gradecol_g.ResetToDefault();
mfx_gradecol_b.ResetToDefault();
mfx_gradecolfact.ResetToDefault();
mfx_gradesatmul.ResetToDefault();
mfx_gradesatpow.ResetToDefault();
mfx_gradevalmul.ResetToDefault();
mfx_gradevalpow.ResetToDefault();
CVar.FindCVar('mfx_gradeenable').ResetToDefault();
CVar.FindCVar('mfx_grademul_r').ResetToDefault();
CVar.FindCVar('mfx_grademul_g').ResetToDefault();
CVar.FindCVar('mfx_grademul_b').ResetToDefault();
CVar.FindCVar('mfx_gradepow_r').ResetToDefault();
CVar.FindCVar('mfx_gradepow_g').ResetToDefault();
CVar.FindCVar('mfx_gradepow_b').ResetToDefault();
CVar.FindCVar('mfx_gradecol_r').ResetToDefault();
CVar.FindCVar('mfx_gradecol_g').ResetToDefault();
CVar.FindCVar('mfx_gradecol_b').ResetToDefault();
CVar.FindCVar('mfx_gradecolfact').ResetToDefault();
CVar.FindCVar('mfx_gradesatmul').ResetToDefault();
CVar.FindCVar('mfx_gradesatpow').ResetToDefault();
CVar.FindCVar('mfx_gradevalmul').ResetToDefault();
CVar.FindCVar('mfx_gradevalpow').ResetToDefault();
break;
case 3:
if ( !mfx_cmatenable ) mfx_cmatenable = CVar.FindCVar('mfx_cmatenable');
if ( !mfx_cmat_rr ) mfx_cmat_rr = CVar.FindCVar('mfx_cmat_rr');
if ( !mfx_cmat_rg ) mfx_cmat_rg = CVar.FindCVar('mfx_cmat_rg');
if ( !mfx_cmat_rb ) mfx_cmat_rb = CVar.FindCVar('mfx_cmat_rb');
if ( !mfx_cmat_gr ) mfx_cmat_gr = CVar.FindCVar('mfx_cmat_gr');
if ( !mfx_cmat_gg ) mfx_cmat_gg = CVar.FindCVar('mfx_cmat_gg');
if ( !mfx_cmat_gb ) mfx_cmat_gb = CVar.FindCVar('mfx_cmat_gb');
if ( !mfx_cmat_br ) mfx_cmat_br = CVar.FindCVar('mfx_cmat_br');
if ( !mfx_cmat_bg ) mfx_cmat_bg = CVar.FindCVar('mfx_cmat_bg');
if ( !mfx_cmat_bb ) mfx_cmat_bb = CVar.FindCVar('mfx_cmat_bb');
mfx_cmatenable.ResetToDefault();
mfx_cmat_rr.ResetToDefault();
mfx_cmat_rg.ResetToDefault();
mfx_cmat_rb.ResetToDefault();
mfx_cmat_gr.ResetToDefault();
mfx_cmat_gg.ResetToDefault();
mfx_cmat_gb.ResetToDefault();
mfx_cmat_br.ResetToDefault();
mfx_cmat_bg.ResetToDefault();
mfx_cmat_bb.ResetToDefault();
CVar.FindCVar('mfx_cmatenable').ResetToDefault();
CVar.FindCVar('mfx_cmat_rr').ResetToDefault();
CVar.FindCVar('mfx_cmat_rg').ResetToDefault();
CVar.FindCVar('mfx_cmat_rb').ResetToDefault();
CVar.FindCVar('mfx_cmat_gr').ResetToDefault();
CVar.FindCVar('mfx_cmat_gg').ResetToDefault();
CVar.FindCVar('mfx_cmat_gb').ResetToDefault();
CVar.FindCVar('mfx_cmat_br').ResetToDefault();
CVar.FindCVar('mfx_cmat_bg').ResetToDefault();
CVar.FindCVar('mfx_cmat_bb').ResetToDefault();
break;
case 4:
if ( !mfx_hsenable ) mfx_hsenable = CVar.FindCVar('mfx_hsenable');
if ( !mfx_hsover ) mfx_hsover = CVar.FindCVar('mfx_hsover');
if ( !mfx_hshue_a ) mfx_hshue_a = CVar.FindCVar('mfx_hshue_a');
if ( !mfx_hssat_a ) mfx_hssat_a = CVar.FindCVar('mfx_hssat_a');
if ( !mfx_hsval_a ) mfx_hsval_a = CVar.FindCVar('mfx_hsval_a');
if ( !mfx_hshue_r ) mfx_hshue_r = CVar.FindCVar('mfx_hshue_r');
if ( !mfx_hssat_r ) mfx_hssat_r = CVar.FindCVar('mfx_hssat_r');
if ( !mfx_hsval_r ) mfx_hsval_r = CVar.FindCVar('mfx_hsval_r');
if ( !mfx_hshue_y ) mfx_hshue_y = CVar.FindCVar('mfx_hshue_y');
if ( !mfx_hssat_y ) mfx_hssat_y = CVar.FindCVar('mfx_hssat_y');
if ( !mfx_hsval_y ) mfx_hsval_y = CVar.FindCVar('mfx_hsval_y');
if ( !mfx_hshue_g ) mfx_hshue_g = CVar.FindCVar('mfx_hshue_g');
if ( !mfx_hssat_g ) mfx_hssat_g = CVar.FindCVar('mfx_hssat_g');
if ( !mfx_hsval_g ) mfx_hsval_g = CVar.FindCVar('mfx_hsval_g');
if ( !mfx_hshue_c ) mfx_hshue_c = CVar.FindCVar('mfx_hshue_c');
if ( !mfx_hssat_c ) mfx_hssat_c = CVar.FindCVar('mfx_hssat_c');
if ( !mfx_hsval_c ) mfx_hsval_c = CVar.FindCVar('mfx_hsval_c');
if ( !mfx_hshue_b ) mfx_hshue_b = CVar.FindCVar('mfx_hshue_b');
if ( !mfx_hssat_b ) mfx_hssat_b = CVar.FindCVar('mfx_hssat_b');
if ( !mfx_hsval_b ) mfx_hsval_b = CVar.FindCVar('mfx_hsval_b');
if ( !mfx_hshue_m ) mfx_hshue_m = CVar.FindCVar('mfx_hshue_m');
if ( !mfx_hssat_m ) mfx_hssat_m = CVar.FindCVar('mfx_hssat_m');
if ( !mfx_hsval_m ) mfx_hsval_m = CVar.FindCVar('mfx_hsval_m');
mfx_hsenable.ResetToDefault();
mfx_hsover.ResetToDefault();
mfx_hshue_a.ResetToDefault();
mfx_hssat_a.ResetToDefault();
mfx_hsval_a.ResetToDefault();
mfx_hshue_r.ResetToDefault();
mfx_hssat_r.ResetToDefault();
mfx_hsval_r.ResetToDefault();
mfx_hshue_y.ResetToDefault();
mfx_hssat_y.ResetToDefault();
mfx_hsval_y.ResetToDefault();
mfx_hshue_g.ResetToDefault();
mfx_hssat_g.ResetToDefault();
mfx_hsval_g.ResetToDefault();
mfx_hshue_c.ResetToDefault();
mfx_hssat_c.ResetToDefault();
mfx_hsval_c.ResetToDefault();
mfx_hshue_b.ResetToDefault();
mfx_hssat_b.ResetToDefault();
mfx_hsval_b.ResetToDefault();
mfx_hshue_m.ResetToDefault();
mfx_hssat_m.ResetToDefault();
mfx_hsval_m.ResetToDefault();
CVar.FindCVar('mfx_hsenable').ResetToDefault();
CVar.FindCVar('mfx_hsover').ResetToDefault();
CVar.FindCVar('mfx_hshue_a').ResetToDefault();
CVar.FindCVar('mfx_hssat_a').ResetToDefault();
CVar.FindCVar('mfx_hsval_a').ResetToDefault();
CVar.FindCVar('mfx_hshue_r').ResetToDefault();
CVar.FindCVar('mfx_hssat_r').ResetToDefault();
CVar.FindCVar('mfx_hsval_r').ResetToDefault();
CVar.FindCVar('mfx_hshue_y').ResetToDefault();
CVar.FindCVar('mfx_hssat_y').ResetToDefault();
CVar.FindCVar('mfx_hsval_y').ResetToDefault();
CVar.FindCVar('mfx_hshue_g').ResetToDefault();
CVar.FindCVar('mfx_hssat_g').ResetToDefault();
CVar.FindCVar('mfx_hsval_g').ResetToDefault();
CVar.FindCVar('mfx_hshue_c').ResetToDefault();
CVar.FindCVar('mfx_hssat_c').ResetToDefault();
CVar.FindCVar('mfx_hsval_c').ResetToDefault();
CVar.FindCVar('mfx_hshue_b').ResetToDefault();
CVar.FindCVar('mfx_hssat_b').ResetToDefault();
CVar.FindCVar('mfx_hsval_b').ResetToDefault();
CVar.FindCVar('mfx_hshue_m').ResetToDefault();
CVar.FindCVar('mfx_hssat_m').ResetToDefault();
CVar.FindCVar('mfx_hsval_m').ResetToDefault();
break;
case 5:
if ( !mfx_bssblurenable ) mfx_bssblurenable = CVar.FindCVar('mfx_bssblurenable');
if ( !mfx_bssblurradius ) mfx_bssblurradius = CVar.FindCVar('mfx_bssblurradius');
if ( !mfx_bsssharpenable ) mfx_bsssharpenable = CVar.FindCVar('mfx_bsssharpenable');
if ( !mfx_bsssharpradius ) mfx_bsssharpradius = CVar.FindCVar('mfx_bsssharpradius');
if ( !mfx_bsssharpamount ) mfx_bsssharpamount = CVar.FindCVar('mfx_bsssharpamount');
if ( !mfx_bssshiftenable ) mfx_bssshiftenable = CVar.FindCVar('mfx_bssshiftenable');
if ( !mfx_bssshiftradius ) mfx_bssshiftradius = CVar.FindCVar('mfx_bssshiftradius');
mfx_bssblurenable.ResetToDefault();
mfx_bssblurradius.ResetToDefault();
mfx_bsssharpenable.ResetToDefault();
mfx_bsssharpradius.ResetToDefault();
mfx_bsssharpamount.ResetToDefault();
mfx_bssshiftenable.ResetToDefault();
mfx_bssshiftradius.ResetToDefault();
CVar.FindCVar('mfx_bssblurenable').ResetToDefault();
CVar.FindCVar('mfx_bssblurradius').ResetToDefault();
CVar.FindCVar('mfx_bsssharpenable').ResetToDefault();
CVar.FindCVar('mfx_bsssharpradius').ResetToDefault();
CVar.FindCVar('mfx_bsssharpamount').ResetToDefault();
CVar.FindCVar('mfx_bssshiftenable').ResetToDefault();
CVar.FindCVar('mfx_bssshiftradius').ResetToDefault();
break;
case 6:
if ( !mfx_vigenable ) mfx_vigenable = CVar.FindCVar('mfx_vigenable');
if ( !mfx_vigcolor_r ) mfx_vigcolor_r = CVar.FindCVar('mfx_vigcolor_r');
if ( !mfx_vigcolor_g ) mfx_vigcolor_g = CVar.FindCVar('mfx_vigcolor_g');
if ( !mfx_vigcolor_b ) mfx_vigcolor_b = CVar.FindCVar('mfx_vigcolor_b');
if ( !mfx_vigpow ) mfx_vigpow = CVar.FindCVar('mfx_vigpow');
if ( !mfx_vigmul ) mfx_vigmul = CVar.FindCVar('mfx_vigmul');
if ( !mfx_vigbump ) mfx_vigbump = CVar.FindCVar('mfx_vigbump');
if ( !mfx_vigshape ) mfx_vigshape = CVar.FindCVar('mfx_vigshape');
if ( !mfx_vigmode ) mfx_vigmode = CVar.FindCVar('mfx_vigmode');
if ( !mfx_bblurenable ) mfx_bblurenable = CVar.FindCVar('mfx_bblurenable');
if ( !mfx_bblurpow ) mfx_bblurpow = CVar.FindCVar('mfx_bblurpow');
if ( !mfx_bblurmul ) mfx_bblurmul = CVar.FindCVar('mfx_bblurmul');
if ( !mfx_bblurbump ) mfx_bblurbump = CVar.FindCVar('mfx_bblurbump');
if ( !mfx_bblurradius ) mfx_bblurradius = CVar.FindCVar('mfx_bblurradius');
mfx_bblurenable.ResetToDefault();
mfx_bblurpow.ResetToDefault();
mfx_bblurmul.ResetToDefault();
mfx_bblurbump.ResetToDefault();
mfx_bblurradius.ResetToDefault();
mfx_vigenable.ResetToDefault();
mfx_vigcolor_r.ResetToDefault();
mfx_vigcolor_g.ResetToDefault();
mfx_vigcolor_b.ResetToDefault();
mfx_vigpow.ResetToDefault();
mfx_vigmul.ResetToDefault();
mfx_vigbump.ResetToDefault();
mfx_vigshape.ResetToDefault();
mfx_vigmode.ResetToDefault();
CVar.FindCVar('mfx_bblurenable').ResetToDefault();
CVar.FindCVar('mfx_bblurpow').ResetToDefault();
CVar.FindCVar('mfx_bblurmul').ResetToDefault();
CVar.FindCVar('mfx_bblurbump').ResetToDefault();
CVar.FindCVar('mfx_bblurradius').ResetToDefault();
CVar.FindCVar('mfx_vigenable').ResetToDefault();
CVar.FindCVar('mfx_vigcolor_r').ResetToDefault();
CVar.FindCVar('mfx_vigcolor_g').ResetToDefault();
CVar.FindCVar('mfx_vigcolor_b').ResetToDefault();
CVar.FindCVar('mfx_vigpow').ResetToDefault();
CVar.FindCVar('mfx_vigmul').ResetToDefault();
CVar.FindCVar('mfx_vigbump').ResetToDefault();
CVar.FindCVar('mfx_vigshape').ResetToDefault();
CVar.FindCVar('mfx_vigmode').ResetToDefault();
break;
case 7:
if ( !mfx_palenable ) mfx_palenable = CVar.FindCVar('mfx_palenable');
if ( !mfx_palnum ) mfx_palnum = CVar.FindCVar('mfx_palnum');
if ( !mfx_paldither ) mfx_paldither = CVar.FindCVar('mfx_paldither');
mfx_palenable.ResetToDefault();
mfx_palnum.ResetToDefault();
mfx_paldither.ResetToDefault();
CVar.FindCVar('mfx_retroenable').ResetToDefault();
CVar.FindCVar('mfx_retroscalemode').ResetToDefault();
CVar.FindCVar('mfx_bres_x').ResetToDefault();
CVar.FindCVar('mfx_bres_y').ResetToDefault();
CVar.FindCVar('mfx_bscl_x').ResetToDefault();
CVar.FindCVar('mfx_bscl_y').ResetToDefault();
CVar.FindCVar('mfx_palenable').ResetToDefault();
CVar.FindCVar('mfx_palnum').ResetToDefault();
CVar.FindCVar('mfx_palsat').ResetToDefault();
CVar.FindCVar('mfx_palpow').ResetToDefault();
CVar.FindCVar('mfx_paldither').ResetToDefault();
break;
case 8:
if ( !mfx_lsharpenable ) mfx_lsharpenable = CVar.FindCVar('mfx_lsharpenable');
if ( !mfx_lsharpradius ) mfx_lsharpradius = CVar.FindCVar('mfx_lsharpradius');
if ( !mfx_lsharpclamp ) mfx_lsharpclamp = CVar.FindCVar('mfx_lsharpclamp');
if ( !mfx_lsharpblend ) mfx_lsharpblend = CVar.FindCVar('mfx_lsharpblend');
mfx_lsharpenable.ResetToDefault();
mfx_lsharpradius.ResetToDefault();
mfx_lsharpclamp.ResetToDefault();
mfx_lsharpblend.ResetToDefault();
CVar.FindCVar('mfx_lsharpenable').ResetToDefault();
CVar.FindCVar('mfx_lsharpradius').ResetToDefault();
CVar.FindCVar('mfx_lsharpclamp').ResetToDefault();
CVar.FindCVar('mfx_lsharpblend').ResetToDefault();
break;
}
}