From 2a274edbbdc303b1a71e535cb049d89079f2042b Mon Sep 17 00:00:00 2001 From: "C.S. Melis" Date: Wed, 17 Aug 2022 14:32:13 +0200 Subject: [PATCH] Remove unused ReShade effects --- CHANGELOG.md | 1 + EXE/reshade-shaders/Shaders/Blending.fxh | 589 --------------------- EXE/reshade-shaders/Shaders/DrawText.fxh | 228 --------- EXE/reshade-shaders/Shaders/Macros.fxh | 625 ----------------------- 4 files changed, 1 insertion(+), 1442 deletions(-) delete mode 100644 EXE/reshade-shaders/Shaders/Blending.fxh delete mode 100644 EXE/reshade-shaders/Shaders/DrawText.fxh delete mode 100644 EXE/reshade-shaders/Shaders/Macros.fxh diff --git a/CHANGELOG.md b/CHANGELOG.md index 25f70c3..0a54f32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -106,6 +106,7 @@ - Added the missing for sale ship in Omicron Minor Battleship Osiris - Disabled encryption when save game files are created and saved - Adjusted next and previous sub-target button positions slightly +- Removed an unedited icon file and several unused ReShade effects ## [[v0.5] - 2022-01-21](https://github.com/BC46/freelancer-hd-edition/releases/tag/0.5) diff --git a/EXE/reshade-shaders/Shaders/Blending.fxh b/EXE/reshade-shaders/Shaders/Blending.fxh deleted file mode 100644 index e881ced..0000000 --- a/EXE/reshade-shaders/Shaders/Blending.fxh +++ /dev/null @@ -1,589 +0,0 @@ -/*------------------. -| :: Description :: | -'-------------------/ - - Blending Header (version 0.8) - - Blending Algorithm Sources: - https://www.khronos.org/registry/OpenGL/extensions/NV/NV_blend_equation_advanced.txt - - http://www.nathanm.com/photoshop-blending-math/ - (Alt) https://github.com/cplotts/WPFSLBlendModeFx/blob/master/PhotoshopMathFP.hlsl - - Header Authors: originalnicodr, prod80, uchu suzume, Marot Satil - - About: - Provides a variety of blending methods for you to use as you wish. Just include this header. - - History: - (*) Feature (+) Improvement (x) Bugfix (-) Information (!) Compatibility - - Version 0.1 by Marot Satil & uchu suzume - * Added and improved upon multiple blending modes thanks to the work of uchu suzume, prod80, and originalnicodr. - - Version 0.2 by uchu suzume & Marot Satil - * Added Addition, Subtract, Divide blending modes and improved code readability. - - Version 0.3 by uchu suzume & Marot Satil - * Sorted blending modes in a more logical fashion, grouping by type. - - Version 0.4 by uchu suzume - x Corrected Color Dodge blending behavior. - - Version 0.5 by Marot Satil & uchu suzume - * Added preprocessor macros for uniform variable combo UI element & lerp. - - Version 0.6 by Marot Satil & uchu suzume - * Added Divide (Alternative) and Divide (Photoshop) blending modes. - - Version 0.7 by prod80 - - Added original sources for blending algorithms. - x Corrected average luminosity values. - - Version 0.8 by Marot Satil - * Added a new funciton to output blended data. - + Moved all code into the BlendingH namespace, which is part of the ComHeaders common namespace meant to be used by other headers. - ! Removed old preprocessor macro blending output. - -.------------------. -| :: How To Use :: | -'------------------/ - - Blending two variables using this header in your own shaders is very straightforward. - Very basic example code using the "Darken" blending mode follows: - - // First, include the header. - #include "Blending.fxh" - - // You can use this preprocessor macro to generate an attractive and functional uniform int UI combo element containing the list of blending techniques: - // BLENDING_COMBO(variable_name, label, tooltip, category, category_closed, spacing, default_value) - BLENDING_COMBO(_BlendMode, "Blending Mode", "Select the blending mode applied to the layer.", "Blending Options", false, 0, 0) - - // Inside of your function you can call this function to apply the blending option specified by an int (variable) to your float3 (input) via - // a lerp between your float3 (input), float3 (output), and a float (blending) for the alpha channel. - // ComHeaders::Blending::Blend(int variable, float3 input, float3 output, float blending) - outColor.rgb = ComHeaders::Blending::Blend(_BlendMode, inColor, outColor, outColor.a); -*/ - - -// ------------------------------------- -// Preprocessor Macros -// ------------------------------------- - -#undef BLENDING_COMBO -#define BLENDING_COMBO(variable, name_label, description, group, grp_closed, space, default_value) \ -uniform int variable \ -< \ - ui_category = group; \ - ui_category_closed = grp_closed; \ - ui_items = \ - "Normal\0" \ -/* "Darken" */ \ - "Darken\0" \ - " Multiply\0" \ - " Color Burn\0" \ - " Linear Burn\0" \ -/* "Lighten" */ \ - "Lighten\0" \ - " Screen\0" \ - " Color Dodge\0" \ - " Linear Dodge\0" \ - " Addition\0" \ - " Glow\0" \ -/* "Contrast" */ \ - "Overlay\0" \ - " Soft Light\0" \ - " Hard Light\0" \ - " Vivid Light\0" \ - " Linear Light\0" \ - " Pin Light\0" \ - " Hard Mix\0" \ -/* "Inversion" */ \ - "Difference\0" \ - " Exclusion\0" \ -/* "Cancelation" */ \ - "Subtract\0" \ - " Divide\0" \ - " Divide (Alternative)\0" \ - " Divide (Photoshop)\0" \ - " Reflect\0" \ - " Grain Extract\0" \ - " Grain Merge\0" \ -/* "Component" */ \ - "Hue\0" \ - " Saturation\0" \ - " Color\0" \ - " Luminosity\0"; \ - ui_label = name_label; \ - ui_tooltip = description; \ - ui_type = "combo"; \ - ui_spacing = space; \ -> = default_value; - -namespace ComHeaders -{ - namespace Blending - { - -// ------------------------------------- -// Helper Functions -// ------------------------------------- - - float3 Aux(float3 a) - { - if (a.r <= 0.25 && a.g <= 0.25 && a.b <= 0.25) - return ((16.0 * a - 12.0) * a + 4) * a; - else - return sqrt(a); - } - - float Lum(float3 a) - { - return (0.33333 * a.r + 0.33334 * a.g + 0.33333 * a.b); - } - - float3 SetLum (float3 a, float b){ - const float c = b - Lum(a); - return float3(a.r + c, a.g + c, a.b + c); - } - - float min3 (float a, float b, float c) - { - return min(a, (min(b, c))); - } - - float max3 (float a, float b, float c) - { - return max(a, max(b, c)); - } - - float3 SetSat(float3 a, float b){ - float ar = a.r; - float ag = a.g; - float ab = a.b; - if (ar == max3(ar, ag, ab) && ab == min3(ar, ag, ab)) - { - //caso r->max g->mid b->min - if (ar > ab) - { - ag = (((ag - ab) * b) / (ar - ab)); - ar = b; - } - else - { - ag = 0.0; - ar = 0.0; - } - ab = 0.0; - } - else - { - if (ar == max3(ar, ag, ab) && ag == min3(ar, ag, ab)) - { - //caso r->max b->mid g->min - if (ar > ag) - { - ab = (((ab - ag) * b) / (ar - ag)); - ar = b; - } - else - { - ab = 0.0; - ar = 0.0; - } - ag = 0.0; - } - else - { - if (ag == max3(ar, ag, ab) && ab == min3(ar, ag, ab)) - { - //caso g->max r->mid b->min - if (ag > ab) - { - ar = (((ar - ab) * b) / (ag - ab)); - ag = b; - } - else - { - ar = 0.0; - ag = 0.0; - } - ab = 0.0; - } - else - { - if (ag == max3(ar, ag, ab) && ar == min3(ar, ag, ab)) - { - //caso g->max b->mid r->min - if (ag > ar) - { - ab = (((ab - ar) * b) / (ag - ar)); - ag = b; - } - else - { - ab = 0.0; - ag = 0.0; - } - ar = 0.0; - } - else - { - if (ab == max3(ar, ag, ab) && ag == min3(ar, ag, ab)) - { - //caso b->max r->mid g->min - if (ab > ag) - { - ar = (((ar - ag) * b) / (ab - ag)); - ab = b; - } - else - { - ar = 0.0; - ab = 0.0; - } - ag = 0.0; - } - else - { - if (ab == max3(ar, ag, ab) && ar == min3(ar, ag, ab)) - { - //caso b->max g->mid r->min - if (ab > ar) - { - ag = (((ag - ar) * b) / (ab - ar)); - ab = b; - } - else - { - ag = 0.0; - ab = 0.0; - } - ar = 0.0; - } - } - } - } - } - } - return float3(ar, ag, ab); - } - - float Sat(float3 a) - { - return max3(a.r, a.g, a.b) - min3(a.r, a.g, a.b); - } - - -// ------------------------------------- -// Blending Modes -// ------------------------------------- - - // Darken - float3 Darken(float3 a, float3 b) - { - return min(a, b); - } - - // Multiply - float3 Multiply(float3 a, float3 b) - { - return a * b; - } - - // Color Burn - float3 ColorBurn(float3 a, float3 b) - { - if (b.r > 0 && b.g > 0 && b.b > 0) - return 1.0 - min(1.0, (0.5 - a) / b); - else - return 0.0; - } - - // Linear Burn - float3 LinearBurn(float3 a, float3 b) - { - return max(a + b - 1.0f, 0.0f); - } - - // Lighten - float3 Lighten(float3 a, float3 b) - { - return max(a, b); - } - - // Screen - float3 Screen(float3 a, float3 b) - { - return 1.0 - (1.0 - a) * (1.0 - b); - } - - // Color Dodge - float3 ColorDodge(float3 a, float3 b) - { - if (b.r < 1 && b.g < 1 && b.b < 1) - return min(1.0, a / (1.0 - b)); - else - return 1.0; - } - - // Linear Dodge - float3 LinearDodge(float3 a, float3 b) - { - return min(a + b, 1.0f); - } - - // Addition - float3 Addition(float3 a, float3 b) - { - return min((a + b), 1); - } - - // Reflect - float3 Reflect(float3 a, float3 b) - { - if (b.r >= 0.999999 || b.g >= 0.999999 || b.b >= 0.999999) - return b; - else - return saturate(a * a / (1.0f - b)); - } - - // Glow - float3 Glow(float3 a, float3 b) - { - return Reflect(b, a); - } - - // Overlay - float3 Overlay(float3 a, float3 b) - { - return lerp(2 * a * b, 1.0 - 2 * (1.0 - a) * (1.0 - b), step(0.5, a)); - } - - // Soft Light - float3 SoftLight(float3 a, float3 b) - { - if (b.r <= 0.5 && b.g <= 0.5 && b.b <= 0.5) - return clamp(a - (1.0 - 2 * b) * a * (1 - a), 0,1); - else - return clamp(a + (2 * b - 1.0) * (Aux(a) - a), 0, 1); - } - - // Hard Light - float3 HardLight(float3 a, float3 b) - { - return lerp(2 * a * b, 1.0 - 2 * (1.0 - b) * (1.0 - a), step(0.5, b)); - } - - // Vivid Light - float3 VividLight(float3 a, float3 b) - { - return lerp(2 * a * b, b / (2 * (1.01 - a)), step(0.50, a)); - } - - // Linear Light - float3 LinearLight(float3 a, float3 b) - { - if (b.r < 0.5 || b.g < 0.5 || b.b < 0.5) - return LinearBurn(a, (2.0 * b)); - else - return LinearDodge(a, (2.0 * (b - 0.5))); - } - - // Pin Light - float3 PinLight(float3 a, float3 b) - { - if (b.r < 0.5 || b.g < 0.5 || b.b < 0.5) - return Darken(a, (2.0 * b)); - else - return Lighten(a, (2.0 * (b - 0.5))); - } - - // Hard Mix - float3 HardMix(float3 a, float3 b) - { - const float3 vl = VividLight(a, b); - if (vl.r < 0.5 || vl.g < 0.5 || vl.b < 0.5) - return 0.0; - else - return 1.0; - } - - // Difference - float3 Difference(float3 a, float3 b) - { - return max(a - b, b - a); - } - - // Exclusion - float3 Exclusion(float3 a, float3 b) - { - return a + b - 2 * a * b; - } - - // Subtract - float3 Subtract(float3 a, float3 b) - { - return max((a - b), 0); - } - - // Divide - float3 Divide(float3 a, float3 b) - { - return (saturate(a / (b + 0.01))); - } - - // Divide (Alternative) - float3 DivideAlt(float3 a, float3 b) - { - return (saturate(1.0 / (a / b))); - } - - // Divide (Photoshop) - float3 DividePS(float3 a, float3 b) - { - return (saturate(a / b)); - } - - // Grain Merge - float3 GrainMerge(float3 a, float3 b) - { - return saturate(b + a - 0.5); - } - - // Grain Extract - float3 GrainExtract(float3 a, float3 b) - { - return saturate(a - b + 0.5); - } - - // Hue - float3 Hue(float3 a, float3 b) - { - return SetLum(SetSat(b, Sat(a)), Lum(a)); - } - - // Saturation - float3 Saturation(float3 a, float3 b) - { - return SetLum(SetSat(a, Sat(b)), Lum(a)); - } - - // Color - float3 ColorB(float3 a, float3 b) - { - return SetLum(b, Lum(a)); - } - - // Luminousity - float3 Luminosity(float3 a, float3 b) - { - return SetLum(a, Lum(b)); - } - - -// ------------------------------------- -// Output Functions -// ------------------------------------- - - float3 Blend(int mode, float3 input, float3 output, float blending) - { - switch (mode) - { - // Normal - default: - return lerp(input.rgb, output.rgb, blending); - // Darken - case 1: - return lerp(input.rgb, Darken(input.rgb, output.rgb), blending); - // Multiply - case 2: - return lerp(input.rgb, Multiply(input.rgb, output.rgb), blending); - // Color Burn - case 3: - return lerp(input.rgb, ColorBurn(input.rgb, output.rgb), blending); - // Linear Burn - case 4: - return lerp(input.rgb, LinearBurn(input.rgb, output.rgb), blending); - // Lighten - case 5: - return lerp(input.rgb, Lighten(input.rgb, output.rgb), blending); - // Screen - case 6: - return lerp(input.rgb, Screen(input.rgb, output.rgb), blending); - // Color Dodge - case 7: - return lerp(input.rgb, ColorDodge(input.rgb, output.rgb), blending); - // Linear Dodge - case 8: - return lerp(input.rgb, LinearDodge(input.rgb, output.rgb), blending); - // Addition - case 9: - return lerp(input.rgb, Addition(input.rgb, output.rgb), blending); - // Glow - case 10: - return lerp(input.rgb, Glow(input.rgb, output.rgb), blending); - // Overlay - case 11: - return lerp(input.rgb, Overlay(input.rgb, output.rgb), blending); - // Soft Light - case 12: - return lerp(input.rgb, SoftLight(input.rgb, output.rgb), blending); - // Hard Light - case 13: - return lerp(input.rgb, HardLight(input.rgb, output.rgb), blending); - // Vivid Light - case 14: - return lerp(input.rgb, VividLight(input.rgb, output.rgb), blending); - // Linear Light - case 15: - return lerp(input.rgb, LinearLight(input.rgb, output.rgb), blending); - // Pin Light - case 16: - return lerp(input.rgb, PinLight(input.rgb, output.rgb), blending); - // Hard Mix - case 17: - return lerp(input.rgb, HardMix(input.rgb, output.rgb), blending); - // Difference - case 18: - return lerp(input.rgb, Difference(input.rgb, output.rgb), blending); - // Exclusion - case 19: - return lerp(input.rgb, Exclusion(input.rgb, output.rgb), blending); - // Subtract - case 20: - return lerp(input.rgb, Subtract(input.rgb, output.rgb), blending); - // Divide - case 21: - return lerp(input.rgb, Divide(input.rgb, output.rgb), blending); - // Divide (Alternative) - case 22: - return lerp(input.rgb, DivideAlt(input.rgb, output.rgb), blending); - // Divide (Photoshop) - case 23: - return lerp(input.rgb, DividePS(input.rgb, output.rgb), blending); - // Reflect - case 24: - return lerp(input.rgb, Reflect(input.rgb, output.rgb), blending); - // Grain Merge - case 25: - return lerp(input.rgb, GrainMerge(input.rgb, output.rgb), blending); - // Grain Extract - case 26: - return lerp(input.rgb, GrainExtract(input.rgb, output.rgb), blending); - // Hue - case 27: - return lerp(input.rgb, Hue(input.rgb, output.rgb), blending); - // Saturation - case 28: - return lerp(input.rgb, Saturation(input.rgb, output.rgb), blending); - // Color - case 29: - return lerp(input.rgb, ColorB(input.rgb, output.rgb), blending); - // Luminosity - case 30: - return lerp(input.rgb, Luminosity(input.rgb, output.rgb), blending); - } - } - } -} diff --git a/EXE/reshade-shaders/Shaders/DrawText.fxh b/EXE/reshade-shaders/Shaders/DrawText.fxh deleted file mode 100644 index 61974ad..0000000 --- a/EXE/reshade-shaders/Shaders/DrawText.fxh +++ /dev/null @@ -1,228 +0,0 @@ -#ifndef _DRAWTEXT_H_ -#define _DRAWTEXT_H_ - -#define _DRAWTEXT_GRID_X 14.0 -#define _DRAWTEXT_GRID_Y 7.0 - - -/////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// DrawText.fxh by kingreic1992 ( update: Sep.28.2019 ) // -// // -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// -// // -// Available functions: // -// DrawText_String( offset, text size, xy ratio, input coord, string array, array size, output) // -// float2 offset = top left corner of string, screen hight pixel unit. // -// float text size = text size, screen hight pixel unit. // -// float xy ratio = xy ratio of text. // -// float2 input coord = current texture coord. // -// int string array = string data in float2 array format, ex: "Demo Text" // -// int String0[9] = { __D, __e, __m, __o, __Space, __T, __e, __x, __t}; // -// int string size = size of the string array. // -// float output = output. // -// // -// DrawText_Digit( offset, text size, xy ratio, input coord, precision after dot, data, output) // -// float2 offset = same as DrawText_String. // -// float text size = same as DrawText_String. // -// float xy ratio = same as DrawText_String. // -// float2 input coord = same as DrawText_String. // -// int precision = digits after dot. // -// float data = input float. // -// float output = output. // -// // -// float2 DrawText_Shift(offset, shift, text size, xy ratio) // -// float2 offset = same as DrawText_String. // -// float2 shift = shift line(y) and column. // -// float text size = same as DrawText_String. // -// float xy ratio = same as DrawText_String. // -// // -/////////////////////////////////////////////////////////////////////////////////////////////////////// - - -//Sample Usage - -/* - -#include "DrawText.fxh" - -float4 main_fragment( float4 position : POSITION, - float2 txcoord : TEXCOORD) : COLOR { - float res = 0.0; - - int line0[9] = { __D, __e, __m, __o, __Space, __T, __e, __x, __t }; //Demo Text - int line1[15] = { __b, __y, __Space, __k, __i, __n, __g, __e, __r, __i, __c, __1, __9, __9, __2 }; //by kingeric1992 - int line2[6] = { __S, __i, __z, __e, __Colon, __Space }; // Size: %d. - - DrawText_String(float2(100.0 , 100.0), 32, 1, txcoord, line0, 9, res); - DrawText_String(float2(100.0 , 134.0), textSize, 1, txcoord, line1, 15, res); - DrawText_String(DrawText_Shift(float2(100.0 , 134.0), int2(0, 1), textSize, 1), 18, 1, txcoord, line2, 6, res); - DrawText_Digit(DrawText_Shift(DrawText_Shift(float2(100.0 , 134.0), int2(0, 1), textSize, 1), int2(8, 0), 18, 1), - 18, 1, txcoord, 0, textSize, res); - return res; -} -*/ - -//Text display -//Character indexing -#define __Space 0 // (space) -#define __Exclam 1 // ! -#define __Quote 2 // " -#define __Pound 3 // # -#define __Dollar 4 // $ -#define __Percent 5 // % -#define __And 6 // & -#define __sQuote 7 // ' -#define __rBrac_O 8 // ( -#define __rBrac_C 9 // ) -#define __Asterisk 10 // * -#define __Plus 11 // + -#define __Comma 12 // , -#define __Minus 13 // - - -#define __Dot 14 // . -#define __Slash 15 // / -#define __0 16 // 0 -#define __1 17 // 1 -#define __2 18 // 2 -#define __3 19 // 3 -#define __4 20 // 4 -#define __5 21 // 5 -#define __6 22 // 6 -#define __7 23 // 7 -#define __8 24 // 8 -#define __9 25 // 9 -#define __Colon 26 // : -#define __sColon 27 // ; - -#define __Less 28 // < -#define __Equals 29 // = -#define __Greater 30 // > -#define __Question 31 // ? -#define __at 32 // @ -#define __A 33 // A -#define __B 34 // B -#define __C 35 // C -#define __D 36 // D -#define __E 37 // E -#define __F 38 // F -#define __G 39 // G -#define __H 40 // H -#define __I 41 // I - -#define __J 42 // J -#define __K 43 // K -#define __L 44 // L -#define __M 45 // M -#define __N 46 // N -#define __O 47 // O -#define __P 48 // P -#define __Q 49 // Q -#define __R 50 // R -#define __S 51 // S -#define __T 52 // T -#define __U 53 // U -#define __V 54 // V -#define __W 55 // W - -#define __X 56 // X -#define __Y 57 // Y -#define __Z 58 // Z -#define __sBrac_O 59 // [ -#define __Backslash 60 // \.. -#define __sBrac_C 61 // ] -#define __Caret 62 // ^ -#define __Underscore 63 // _ -#define __Punc 64 // ` -#define __a 65 // a -#define __b 66 // b -#define __c 67 // c -#define __d 68 // d -#define __e 69 // e - -#define __f 70 // f -#define __g 71 // g -#define __h 72 // h -#define __i 73 // i -#define __j 74 // j -#define __k 75 // k -#define __l 76 // l -#define __m 77 // m -#define __n 78 // n -#define __o 79 // o -#define __p 80 // p -#define __q 81 // q -#define __r 82 // r -#define __s 83 // s - -#define __t 84 // t -#define __u 85 // u -#define __v 86 // v -#define __w 87 // w -#define __x 88 // x -#define __y 89 // y -#define __z 90 // z -#define __cBrac_O 91 // { -#define __vBar 92 // | -#define __cBrac_C 93 // } -#define __Tilde 94 // ~ -#define __tridot 95 // (...) -#define __empty0 96 // (null) -#define __empty1 97 // (null) -//Character indexing ends - -texture Texttex < source = "FontAtlas.png"; > { - Width = 512; - Height = 512; -}; - -sampler samplerText { - Texture = Texttex; -}; - -//accomodate for undef array size. -#define DrawText_String( pos, size, ratio, tex, array, arrSize, output ) \ - { float text = 0.0; \ - float2 uv = (tex * float2(BUFFER_WIDTH, BUFFER_HEIGHT) - pos) / size; \ - uv.y = saturate(uv.y); \ - uv.x *= ratio * 2.0; \ - float id = array[int(trunc(uv.x))]; \ - if(uv.x <= arrSize && uv.x >= 0.0) \ - text = tex2D(samplerText, (frac(uv) + float2( id % 14.0, trunc(id / 14.0))) \ - / float2( _DRAWTEXT_GRID_X, _DRAWTEXT_GRID_Y) ).x; \ - output += text; } - -float2 DrawText_Shift( float2 pos, int2 shift, float size, float ratio ) { - return pos + size * shift * float2(0.5, 1.0) / ratio; -} - -void DrawText_Digit( float2 pos, float size, float ratio, float2 tex, int digit, float data, inout float res) { - int digits[13] = { - __0, __1, __2, __3, __4, __5, __6, __7, __8, __9, __Minus, __Space, __Dot - }; - - float2 uv = (tex * float2(BUFFER_WIDTH, BUFFER_HEIGHT) - pos) / size; - uv.y = saturate(uv.y); - uv.x *= ratio * 2.0; - - float t = abs(data); - int radix = floor(t)? ceil(log2(t)/3.32192809):0; - - //early exit: - if(uv.x > digit+1 || -uv.x > radix+1) return; - - float index = t; - if(floor(uv.x) > 0) - for(int i = ceil(-uv.x); i<0; i++) index *= 10.; - else - for(int i = ceil(uv.x); i<0; i++) index /= 10.; - - index = (uv.x >= -radix-!radix)? index%10 : (10+step(0, data)); //adding sign - index = (uv.x > 0 && uv.x < 1)? 12:index; //adding dot - index = digits[(uint)index]; - - res += tex2D(samplerText, (frac(uv) + float2( index % 14.0, trunc(index / 14.0))) / - float2( _DRAWTEXT_GRID_X, _DRAWTEXT_GRID_Y)).x; -} - -#endif \ No newline at end of file diff --git a/EXE/reshade-shaders/Shaders/Macros.fxh b/EXE/reshade-shaders/Shaders/Macros.fxh deleted file mode 100644 index b4da885..0000000 --- a/EXE/reshade-shaders/Shaders/Macros.fxh +++ /dev/null @@ -1,625 +0,0 @@ -//////////////////////////////////////////////////////////// -// BASIC MACROS FOR RESHADE 4 // -// AUTHOR: TREYM // -//////////////////////////////////////////////////////////// -// Modified by dddfault // -// // -// Changelogs : // -// Added Sampler texture boundary resolver option // -// Added float2 parameters option // -//////////////////////////////////////////////////////////// -// Macros Guide: // -//////////////////////////////////////////////////////////// - -/* //////////////////////////////////////////////////// * - * //////////////////////////////////////////////////// * - - Usage of these macros is very simple once you understand - the syntax and variable names. Let's start with a Simple - integer slider. To begin, type: - - UI_INT - - Next we need to add _S to indicate that this is a - "slider" widget. Follow the syntax below: - - UI_INT_S(INT_NAME, "Label", "Tooltip", 0, 100, 50) - - Using just a single line of code, we have created a UI - tweakable integer named INT_NAME with a minimum value of - 0, a maximum value of 100, and a default value of 50. - - Next, let's create that same widget, but within a UI - category. This time, we'll type: - - CAT_INT_S(INT_NAME, "Category", "Label", "Tooltip", 0, 100, 50) - - As you can see, the syntax follows the same pattern but - with a new input for "Category" - - Below you will find a useful list of examples to get you - started. I hope you find these useful and they help your - workflow. Happy coding! - - - TreyM - - * //////////////////////////////////////////////////// * - * //////////////////////////////////////////////////// * - - Widget Types - Input = _I - Slider = _S - Drag = _D - - * //////////////////////////////////////////////////// * - - BOOLEAN Macro - UI_BOOL(BOOL_NAME, "Label", "Tooltip", true) - - BOOLEAN Categorized Macro - CAT_BOOL(BOOL_NAME, "Category", "Label", "Tooltip", true) - - * //////////////////////////////////////////////////// * - - INTEGER Combo Widget - UI_COMBO(INT_NAME, "Label", "Tooltip", 0, 2, 0, "Item 1\0Item 2\0Item 3\0") - - INTEGER Drag Widget - UI_INT_D(INT_NAME, "Label", "Tooltip", 0, 100, 50) - - INTEGER Input Widget - UI_INT_I(INT_NAME, "Label", "Tooltip", 0, 100, 50) - - INTEGER Radio Widget - UI_RADIO(INT_NAME, "Label", "Tooltip", 0, 2, 0, " Item 1 \0 Item 2 \0 Item 3\0") - - INTEGER Slider Widget - UI_INT_S(INT_NAME, "Label", "Tooltip", 0, 100, 50) - - INTEGER Categorized Combo Widget - CAT_COMBO(INT_NAME, "Category", "Label", "Tooltip", 0, 2, 0, " Item 1 \0 Item 2 \0 Item 3\0") - - INTEGER Categorized Drag Widget - CAT_INT_D(INT_NAME, "Category", "Label", "Tooltip", 0, 100, 50) - - INTEGER Categorized Input Widget - CAT_INT_I(INT_NAME, "Category", "Label", "Tooltip", 0, 100, 50) - - INTEGER Categorized Radio Widget - CAT_RADIO(INT_NAME, "Category", "Label", "Tooltip", 0, 2, 0, " Item 1 \0 Item 2 \0 Item 3\0") - - INTEGER Categorized Slider Widget - CAT_INT_S(INT_NAME, "Category", "Label", "Tooltip", 0, 100, 50) - - * //////////////////////////////////////////////////// * - - FLOAT Drag Widget - UI_FLOAT_D(FLOAT_NAME, "Label", "Tooltip", 0.0, 1.0, 0.5) - - FLOAT Input Widget - UI_FLOAT_I(FLOAT_NAME, "Label", "Tooltip", 0.0, 1.0, 0.5) - - FLOAT Slider Widget - UI_FLOAT_S(FLOAT_NAME, "Label", "Tooltip", 0.0, 1.0, 0.5) - - FLOAT Categorized Drag Widget - CAT_FLOAT_D(FLOAT_NAME, "Category", "Label", "Tooltip", 0.0, 1.0, 0.5) - - FLOAT Categorized Input Widget - CAT_FLOAT_I(FLOAT_NAME, "Category", "Label", "Tooltip", 0.0, 1.0, 0.5) - - FLOAT Categorized Slider Widget - CAT_FLOAT_S(FLOAT_NAME, "Category", "Label", "Tooltip", 0.0, 1.0, 0.5) - - FLOAT macro with full control (value after "Tooltip" is ui_step) - UI_FLOAT_FULL(FLOAT_NAME, "ui_type", "Label", "Tooltip", 0.1, 0.0, 1.0, 0.5) - - FLOAT Categorized macro with full control (value after "Tooltip" is ui_step) - CAT_FLOAT_FULL(FLOAT_NAME, "ui_type", "Category", "Label", "Tooltip", 0.1, 0.0, 1.0, 0.5) - - * //////////////////////////////////////////////////// * - - FLOAT2 Drag Widget - UI_FLOAT2_D(FLOAT_NAME, "Label", "Tooltip", 0.0, 1.0, 0.5, 0.5) - - FLOAT2 Input Widget - UI_FLOAT2_I(FLOAT_NAME, "Label", "Tooltip", 0.0, 1.0, 0.5, 0.5) - - FLOAT2 Slider Widget - UI_FLOAT2_S(FLOAT_NAME, "Label", "Tooltip", 0.0, 1.0, 0.5, 0.5) - - FLOAT2 Categorized Drag Widget - CAT_FLOAT2_D(FLOAT_NAME, "Category", "Label", "Tooltip", 0.0, 1.0, 0.5, 0.5) - - FLOAT2 Categorized Input Widget - CAT_FLOAT2_I(FLOAT_NAME, "Category", "Label", "Tooltip", 0.0, 1.0, 0.5, 0.5) - - FLOAT2 Categorized Slider Widget - CAT_FLOAT2_S(FLOAT_NAME, "Category", "Label", "Tooltip", 0.0, 1.0, 0.5, 0.5) - - FLOAT2 macro with full control (value after "Tooltip" is ui_step) - UI_FLOAT2_FULL(FLOAT_NAME, "ui_type", "Label", "Tooltip", 0.1, 0.0, 1.0, 0.5, 0.5) - - FLOAT2 Categorized macro with full control (value after "Tooltip" is ui_step) - CAT_FLOAT2_FULL(FLOAT_NAME, "ui_type", "Category", "Label", "Tooltip", 0.1, 0.0, 1.0, 0.5, 0.5) - - * //////////////////////////////////////////////////// * - - FLOAT3 Drag Widget - UI_FLOAT3_D(FLOAT_NAME, "Label", "Tooltip", 0.5, 0.5, 0.5) - - FLOAT3 Input Widget - UI_FLOAT3_I(FLOAT_NAME, "Label", "Tooltip", 0.5, 0.5, 0.5) - - FLOAT3 Slider Widget - UI_FLOAT3_S(FLOAT_NAME, "Label", "Tooltip", 0.5, 0.5, 0.5) - - FLOAT3 Categorized Drag Widget - CAT_FLOAT3_D(FLOAT_NAME, "Category", "Label", "Tooltip", 0.5, 0.5, 0.5) - - FLOAT3 Categorized Input Widget - CAT_FLOAT3_I(FLOAT_NAME, "Category", "Label", "Tooltip", 0.5, 0.5, 0.5) - - FLOAT3 Categorized Slider Widget - CAT_FLOAT3_S(FLOAT_NAME, "Category", "Label", "Tooltip", 0.5, 0.5, 0.5) - - * //////////////////////////////////////////////////// * - - FLOAT3 Color Widget - UI_COLOR(FLOAT_NAME, "Label", "Tooltip", 0.5, 0.5, 0.5) - - FLOAT3 Categorized Color Widget - CAT_COLOR(FLOAT_NAME, "Category", "Label", "Tooltip", 0.5, 0.5, 0.5) - - * //////////////////////////////////////////////////// * - - SAMPLER Macro - SAMPLER(SamplerName, TextureName) - - SAMPLER Macro with texture boundary resolver option - SAMPLER_UV(SamplerName, TextureName, ResolverType) - - TEXTURE Macro - TEXTURE(TextureName, "TexturePath") - - TEXTURE Full Macro - TEXTURE_FULL(TextureName, "TexturePath", Width, Height, Format) - - * //////////////////////////////////////////////////// * - - TECHNIQUE Macro - TECHNIQUE(TechniqueName, PassMacro) - - PASS Macro - PASS(PassID, VertexShader, PixelShader) - - PASS Macro with RenderTarget - PASS_RT(PassID, VertexShader, PixelShader, RenderTarget) - - //////////////////////////////////////////////////// - * //////////////////////////////////////////////////// */ - -// INTEGER MACROS //////////////////////////////// - #define UI_COMBO(var, label, tooltip, minval, maxval, defval, items) \ - uniform int var \ - < \ - ui_type = "combo"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_items = items; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_COMBO(var, category, label, tooltip, minval, maxval, defval, items) \ - uniform int var \ - < \ - ui_type = "combo"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_items = items; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define UI_INT_I(var, label, tooltip, minval, maxval, defval) \ - uniform int var \ - < \ - ui_type = "input"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_INT_I(var, category, label, tooltip, minval, maxval, defval) \ - uniform int var \ - < \ - ui_type = "input"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define UI_INT_S(var, label, tooltip, minval, maxval, defval) \ - uniform int var \ - < \ - ui_type = "slider"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_INT_S(var, category, label, tooltip, minval, maxval, defval) \ - uniform int var \ - < \ - ui_type = "slider"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define UI_INT_D(var, label, tooltip, minval, maxval, defval) \ - uniform int var \ - < \ - ui_type = "drag"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_INT_D(var, category, label, tooltip, minval, maxval, defval) \ - uniform int var \ - < \ - ui_type = "drag"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define UI_RADIO(var, label, tooltip, minval, maxval, defval, items) \ - uniform int var \ - < \ - ui_type = "radio"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_items = items; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_RADIO(var, category, label, tooltip, minval, maxval, defval, items) \ - uniform int var \ - < \ - ui_type = "radio"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_items = items; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - -// BOOL MACROS /////////////////////////////////// - #define UI_BOOL(var, label, tooltip, def) \ - uniform bool var \ - < \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = def; - - #define CAT_BOOL(var, category, label, tooltip, def) \ - uniform bool var \ - < \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = def; - -// FLOAT MACROS ////////////////////////////////// - #define UI_FLOAT_D(var, label, tooltip, minval, maxval, defval) \ - uniform float var \ - < \ - ui_type = "drag"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_FLOAT_D(var, category, label, tooltip, minval, maxval, defval) \ - uniform float var \ - < \ - ui_type = "drag"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define UI_FLOAT_FULL(var, uitype, label, tooltip, uistep, minval, maxval, defval) \ - uniform float var \ - < \ - ui_type = uitype; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_step = uistep; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_FLOAT_FULL(var, uitype, category, label, tooltip, uistep, minval, maxval, defval) \ - uniform float var \ - < \ - ui_type = uitype; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_step = uistep; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define UI_FLOAT_I(var, label, tooltip, minval, maxval, defval) \ - uniform float var \ - < \ - ui_type = "input"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_FLOAT_I(var, category, label, tooltip, minval, maxval, defval) \ - uniform float var \ - < \ - ui_type = "input"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define UI_FLOAT_S(var, label, tooltip, minval, maxval, defval) \ - uniform float var \ - < \ - ui_type = "slider"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define CAT_FLOAT_S(var, category, label, tooltip, minval, maxval, defval) \ - uniform float var \ - < \ - ui_type = "slider"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = defval; - - #define UI_FLOAT2_D(var, label, tooltip, minval, maxval, defval1, defval2) \ - uniform float2 var \ - < \ - ui_type = "drag"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = float2(defval1, defval2); - - #define CAT_FLOAT2_D(var, category, label, tooltip, minval, maxval, defval1, defval2) \ - uniform float2 var \ - < \ - ui_type = "drag"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = float2(defval1, defval2); - - #define UI_FLOAT2_FULL(var, uitype, label, tooltip, uistep, minval, maxval, defval1, defval2) \ - uniform float2 var \ - < \ - ui_type = uitype; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_step = uistep; \ - ui_min = minval; \ - ui_max = maxval; \ - > = float2(defval1, defval2); - - #define CAT_FLOAT2_FULL(var, uitype, category, label, tooltip, uistep, minval, defval1, defval2) \ - uniform float2 var \ - < \ - ui_type = uitype; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_step = uistep; \ - ui_min = minval; \ - ui_max = maxval; \ - > = float2(defval1, defval2); - - #define UI_FLOAT2_I(var, label, tooltip, minval, maxval, defval1, defval2) \ - uniform float2 var \ - < \ - ui_type = "input"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = float2(defval1, defval2); - - #define CAT_FLOAT2_I(var, category, label, tooltip, minval, maxval, defval1, defval2) \ - uniform float2 var \ - < \ - ui_type = "input"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = float2(defval1, defval2); - - #define UI_FLOAT2_S(var, label, tooltip, minval, maxval, defval1, defval2) \ - uniform float2 var \ - < \ - ui_type = "slider"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = float2(defval1, defval2); - - #define CAT_FLOAT2_S(var, category, label, tooltip, minval, maxval, defval1, defval2) \ - uniform float2 var \ - < \ - ui_type = "slider"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - ui_min = minval; \ - ui_max = maxval; \ - > = float2(defval1, defval2); - - #define UI_FLOAT3_D(var, label, tooltip, defval1, defval2, defval3) \ - uniform float3 var \ - < \ - ui_type = "drag"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = float3(defval1, defval2, defval3); - - #define CAT_FLOAT3_D(var, category, label, tooltip, defval1, defval2, defval3) \ - uniform float3 var \ - < \ - ui_type = "drag"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = float3(defval1, defval2, defval3); - - #define UI_FLOAT3_I(var, label, tooltip, defval1, defval2, defval3) \ - uniform float3 var \ - < \ - ui_type = "input"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = float3(defval1, defval2, defval3); - - #define CAT_FLOAT3_I(var, category, label, tooltip, defval1, defval2, defval3) \ - uniform float3 var \ - < \ - ui_type = "input"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = float3(defval1, defval2, defval3); - - #define UI_FLOAT3_S(var, label, tooltip, defval1, defval2, defval3) \ - uniform float3 var \ - < \ - ui_type = "slider"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = float3(defval1, defval2, defval3); - - #define CAT_FLOAT3_S(var, category, label, tooltip, defval1, defval2, defval3) \ - uniform float3 var \ - < \ - ui_type = "slider"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = float3(defval1, defval2, defval3); - - -// COLOR WIDGET MACROS /////////////////////////// - #define UI_COLOR(var, label, tooltip, defval1, defval2, defval3) \ - uniform float3 var \ - < \ - ui_type = "color"; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = float3(defval1, defval2, defval3); - - #define CAT_COLOR(var, category, label, tooltip, defval1, defval2, defval3) \ - uniform float3 var \ - < \ - ui_type = "color"; \ - ui_category = category; \ - ui_label = label; \ - ui_tooltip = tooltip; \ - > = float3(defval1, defval2, defval3); - - -// SAMPLER MACRO ///////////////////////////////// - #define SAMPLER(sname, tname) \ - sampler sname \ - { \ - Texture = tname; \ - }; - - #define SAMPLER_UV(sname, tname, addUVW) \ - sampler sname \ - { \ - Texture = tname; \ - AddressU = addUVW; \ - AddressV = addUVW; \ - AddressW = addUVW; \ - }; - - -// TEXTURE MACROs //////////////////////////////// - #define TEXTURE(tname, src) \ - texture tname \ - { \ - Width = BUFFER_WIDTH; \ - Height = BUFFER_HEIGHT; \ - Format = RGBA8; \ - }; - - #define TEXTURE_FULL(tname, src, width, height, fomat) \ - texture tname \ - { \ - Width = width; \ - Height = height; \ - Format = fomat; \ - }; - - -// TECHNIQUE MACROS ////////////////////////////// - #define TECHNIQUE(tname, pass) \ - technique tname \ - { \ - pass \ - } - - #define PASS(ID, vs, ps) pass \ - { \ - VertexShader = vs; \ - PixelShader = ps; \ - } - - #define PASS_RT(ID, vs, ps, rt) pass \ - { \ - VertexShader = vs; \ - PixelShader = ps; \ - RenderTarget = rt; \ - }