ppercameraads_opt.c 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. class PPERequester_CameraADS extends PPERequester_GameplayBase
  2. {
  3. void SetValuesOptics(out array<float> mask_array, out array<float> lens_array, float gauss = 0.0)
  4. {
  5. //mask
  6. GetGame().ResetPPMask();
  7. if (mask_array.Count() != 4)
  8. {
  9. mask_array = {0.0,0.0,0.0,0.0};
  10. }
  11. GetGame().AddPPMask(mask_array[0], mask_array[1], mask_array[2], mask_array[3]);
  12. //lens
  13. if (lens_array.Count() != 4)
  14. {
  15. lens_array = {0.0,0.0,0.0,0.0};
  16. }
  17. SetTargetValueFloat(PostProcessEffectType.Glow,PPEGlow.PARAM_LENSDISTORT,false,lens_array[0],PPEGlow.L_27_ADS,PPOperators.SET);
  18. SetTargetValueFloat(PostProcessEffectType.Glow,PPEGlow.PARAM_MAXCHROMABBERATION,false,lens_array[1],PPEGlow.L_28_ADS,PPOperators.SET);
  19. SetTargetValueFloat(PostProcessEffectType.Glow,PPEGlow.PARAM_LENSCENTERX,false,lens_array[2],PPEGlow.L_29_ADS,PPOperators.SET);
  20. SetTargetValueFloat(PostProcessEffectType.Glow,PPEGlow.PARAM_LENSCENTERY,false,lens_array[3],PPEGlow.L_30_ADS,PPOperators.SET);
  21. //DOF - no DOF in optics
  22. SetTargetValueBoolDefault(PPEExceptions.DOF,PPEDOF.PARAM_ENABLE);
  23. //blur
  24. SetTargetValueFloat(PostProcessEffectType.GaussFilter,PPEGaussFilter.PARAM_INTENSITY,false,gauss,PPEGaussFilter.L_0_ADS,PPOperators.ADD_RELATIVE);
  25. }
  26. void SetValuesIronsights(out array<float> DOF_array)
  27. {
  28. //mask - no mask
  29. GetGame().ResetPPMask();
  30. //lens - no lens
  31. SetTargetValueFloatDefault(PostProcessEffectType.Glow,PPEGlow.PARAM_LENSDISTORT);
  32. SetTargetValueFloatDefault(PostProcessEffectType.Glow,PPEGlow.PARAM_MAXCHROMABBERATION);
  33. SetTargetValueFloatDefault(PostProcessEffectType.Glow,PPEGlow.PARAM_LENSCENTERX);
  34. SetTargetValueFloatDefault(PostProcessEffectType.Glow,PPEGlow.PARAM_LENSCENTERY);
  35. //DOF
  36. SetTargetValueBool(PPEExceptions.DOF,PPEDOF.PARAM_ENABLE,DOF_array[0],PPEDOF.L_0_ADS,PPOperators.SET);
  37. SetTargetValueFloat(PPEExceptions.DOF,PPEDOF.PARAM_FOCUS_DIST,false,DOF_array[1],PPEDOF.L_1_ADS,PPOperators.SET);
  38. SetTargetValueFloat(PPEExceptions.DOF,PPEDOF.PARAM_FOCUS_LEN,false,DOF_array[2],PPEDOF.L_2_ADS,PPOperators.SET);
  39. SetTargetValueFloat(PPEExceptions.DOF,PPEDOF.PARAM_FOCUS_LEN_NEAR,false,DOF_array[3],PPEDOF.L_3_ADS,PPOperators.SET);
  40. SetTargetValueFloat(PPEExceptions.DOF,PPEDOF.PARAM_BLUR,false,DOF_array[4],PPEDOF.L_4_ADS,PPOperators.SET);
  41. SetTargetValueFloat(PPEExceptions.DOF,PPEDOF.PARAM_FOCUS_DEPTH_OFFSET,false,DOF_array[5],PPEDOF.L_5_ADS,PPOperators.SET);
  42. //blur - no gauss blur (DOF bokeh only)
  43. SetTargetValueFloatDefault(PostProcessEffectType.GaussFilter,PPEGaussFilter.PARAM_INTENSITY);
  44. }
  45. override protected void OnStop(Param par = null)
  46. {
  47. super.OnStop(par);
  48. if ( !GetGame() )
  49. return;
  50. GetGame().ResetPPMask();
  51. //material parameter values reset by default on stop
  52. }
  53. }