/*-----------------------------------------------------------.   
  /                       Description                           /
  '------------------------------------------------------------/
Game: Ryse - Son of Rome
Author: Earthquake
SweetFX version: 1.5.1/Boulotaur2024 Injector. +Chromatic Aberration Shader.
Description:
   /*-----------------------------------------------------------.
  /                      Choose effects                         /
  '-----------------------------------------------------------*/
// Set to 1 for ON or 0 for OFF
#define USE_SMAA_ANTIALIASING 1 //[0 or 1] SMAA Anti-aliasing : Smoothens jagged lines using the SMAA technique.
#define USE_HDR               1 //[0 or 1] HDR : Not actual HDR - It just tries to mimic an HDR look (relatively high performance cost)
#define USE_LUMASHARPEN       1 //[0 or 1] LumaSharpen : Also sharpens the antialiased edges which makes them less smooth - I'm working on fixing that.
#define USE_DPX               1 //[0 or 1] Cineon DPX : Should make the image look like it's been converted to DXP Cineon - basically it's another movie-like look similar to technicolor.
#define USE_LIFTGAMMAGAIN     1 //[0 or 1] Lift Gamma Gain : Adjust brightness and color of shadows, midtones and highlights (avoids clipping)
#define USE_TONEMAP           1 //[0 or 1] Tonemap : Adjust gamma, exposure, saturation, bleach and defog. (may cause clipping)
#define USE_VIBRANCE          1 //[0 or 1] Vibrance : Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
#define USE_CURVES            1 //[0 or 1] Curves : Contrast adjustments using S-curves.
   /*-----------------------------------------------------------.
  /                  SMAA Anti-aliasing settings                /
  '-----------------------------------------------------------*/
#define SMAA_THRESHOLD              0.05    //[0.05 to 0.20] Edge detection threshold. If SMAA misses some edges try lowering this slightly. I prefer between 0.08 and 0.12.
#define SMAA_MAX_SEARCH_STEPS         32    //[0 to 98] Determines the radius SMAA will search for aliased edges
#define SMAA_MAX_SEARCH_STEPS_DIAG    12    //[0 to 16] Determines the radius SMAA will search for diagonal aliased edges
#define SMAA_CORNER_ROUNDING          0    //[0 to 100] Determines the percent of antialiasing to apply to corners. 0 seems to affect fine text the least so it's the default.
// -- Advanced SMAA settings --
#define COLOR_EDGE_DETECTION           1    //[0 or 1] 1 Enables color edge detection (slower but slightly more acurate) - 0 uses luma edge detection (faster)
#define SMAA_DIRECTX9_LINEAR_BLEND     0    //[0 or 1] Using DX9 HARDWARE? (software version doesn't matter) if so this needs to be 1 - If not, leave it at 0.
                                            //Enable this only if you use a Geforce 7xxx series or older card, or a Radeon X1xxx series or older card.
   /*-----------------------------------------------------------.
  /                  HDR settings                               /
  '-----------------------------------------------------------*/
#define HDRPower 1.07  //[0.00 to 8.00] Strangely lowering this makes the image brighter
#define radius2  0.77  //[0.00 to 8.00] Raising this seems to make the effect stronger and also brighter
   /*-----------------------------------------------------------.
  /                  LumaSharpen settings                       /
  '-----------------------------------------------------------*/
// -- Sharpening --
#define sharp_strength 0.40  //[0.10 to 3.00] Strength of the sharpening
#define sharp_clamp    0.035  //[0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - Default is 0.035
// -- Advanced sharpening settings --
#define pattern 2        //[1|2|3|4] Choose a sample pattern. 1 = Fast, 2 = Normal, 3 = Wider, 4 = Pyramid shaped.
#define offset_bias 1.1  //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern.
                         //I designed the pattern for offset_bias 1.0, but feel free to experiment.
// -- Debug sharpening settings --
#define show_sharpen 0   //[0 or 1] Visualize the strength of the sharpen (multiplied by 4 to see it better)
   /*-----------------------------------------------------------.
  /                  Cineon DPX settings                        /
  '-----------------------------------------------------------*/
#define Red   8.0  //[1.0 to 15.0]
#define Green 8.0  //[1.0 to 15.0]
#define Blue  8.0  //[1.0 to 15.0]
#define ColorGamma    1.1  //[0.1 to 2.5] Adjusts the colorfulness of the effect in a manner similar to Vibrance. 1.0 is neutral.
#define DPXSaturation 1.0  //[0.0 to 8.0] Adjust saturation of the effect. 1.0 is neutral.
#define RedC   0.30  //[0.60 to 0.20]
#define GreenC 0.30  //[0.60 to 0.20]
#define BlueC  0.28  //[0.60 to 0.20]
#define Blend 0.15    //[0.00 to 1.00] How strong the effect should be
   /*-----------------------------------------------------------.
  /                  Lift Gamma Gain settings                   /
  '-----------------------------------------------------------*/
#define RGB_Lift  float3(0.998, 0.998, 0.996)  //[0.000 to 2.000] Adjust shadows for Red, Green and Blue
#define RGB_Gamma float3(1.000, 1.000, 1.000)  //[0.000 to 2.000] Adjust midtones for Red, Green and Blue
#define RGB_Gain  float3(1.015, 1.015, 1.015)  //[0.000 to 2.000] Adjust highlights for Red, Green and Blue
   /*-----------------------------------------------------------.
  /                  Tonemap settings                           /
  '-----------------------------------------------------------*/
#define Gamma      	    1.0          //[0.000 to 2.000] Adjust midtones. 1.000 is neutral. This setting does exactly the same as the one in Lift Gamma Gain, only with less control.
#define Exposure            0.020           //[-1.000 to 1.000] Adjust exposure
#define Saturation 	    0.008           //[-1.000 to 1.000] Adjust saturation
#define Bleach              0.004           //[0.000 to 1.000] Brightens the shadows and fades the colors
#define Defog               0.4           //[0.000 to 1.000] How much of the color tint to remove
#define FogColor float3(0.00, 0.00, 0.00) //[0.00 to 2.55, 0.00 to 2.55, 0.00 to 2.55] What color to remove - default is blue
   /*-----------------------------------------------------------.
  /                  Vibrance settings                          /
  '-----------------------------------------------------------*/
#define Vibrance            -0.35         	           //[-1.00 to 1.00] Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
#define Vibrance_RGB_balance float3(-0.45, -0.55, -0.50)   //[-10.00 to 10.00,-10.00 to 10.00,-10.00 to 10.00] A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others
   /*-----------------------------------------------------------.
  /                  Curves settings                            /
  '-----------------------------------------------------------*/
#define Curves_mode     0    //[0|1|2] Choose what to apply contrast to. 0 = Luma, 1 = Chroma, 2 = both Luma and Chroma. Default is 0 (Luma)
#define Curves_contrast 0.2 //[-1.00 to 1.00] The amount of contrast you want
// -- Advanced curve settings --
#define Curves_formula     2 //[1|2|3|4|5|6|7|8|9|10] The contrast s-curve you want to use.
                             //1 = Sine, 2 = Abs split, 3 = Smoothstep, 4 = Exp formula, 5 = Simplified Catmull-Rom (0,0,1,1), 6 = Perlins Smootherstep
                             //7 = Abs add, 8 = Techicolor Cinestyle, 9 = Parabola, 10 = Half-circles.
                             //Note that Technicolor Cinestyle is practically identical to Sine, but runs slower. In fact I think the difference might only be due to rounding errors.
                             //I prefer 2 myself, but 3 is a nice alternative with a little more effect (but harsher on the highlight and shadows) and it's the fastest formula.
   /*-----------------------------------------------------------.
  /                  Key settings                               /
  '-----------------------------------------------------------*/
// This is the section where you can define your own key mapping
// See the following URL to find out what keycode a key has:
// http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
// key_toggle_sweetfx = 145 ; 145 = Scroll Lock
// key_screenshot     = 44 ; 44 = Print Screen
// key_reload_sweetfx = 19 ; 19 = Pause/Break