From f3410c50bdcc5c5ddbbdfa05ad539d178dfdbf84 Mon Sep 17 00:00:00 2001 From: syeyoung Date: Sat, 4 Feb 2023 02:03:37 +0900 Subject: - Configuration Overhaul - Move to new system - more shaders!! Signed-off-by: syeyoung --- .../dungeonsguide/gui/config/normalconfig.gui | 4 +- .../dungeonsguide/gui/config/parameter/boolean.gui | 22 ++++++ .../dungeonsguide/gui/config/parameter/color.gui | 25 +++++++ .../gui/config/parameter/colorSet.gui | 85 ++++++++++++++++++++++ .../dungeonsguide/gui/config/parameter/keybind.gui | 23 ++++++ .../dungeonsguide/gui/config/parameter/number.gui | 46 ++++++++++++ .../dungeonsguide/gui/config/parameter/string.gui | 22 ++++++ .../gui/config/parameter/stringChoice.gui | 50 +++++++++++++ .../dungeonsguide/gui/config/parameteritem.gui | 60 +++++++++++++++ .../dungeonsguide/gui/config/popup/quickEdit.gui | 23 ++++++ .../dungeonsguide/gui/config/popup/quickEnable.gui | 34 +++++++++ .../assets/dungeonsguide/gui/config/popupmenu.gui | 2 +- .../dungeonsguide/gui/elements/locationedPopup.gui | 10 ++- .../gui/features/fairysoul/roomconfiguration.gui | 49 +++++++++++++ .../gui/features/fairysoul/roomswitch.gui | 34 +++++++++ .../assets/dungeonsguide/shaders/chromacircle.frag | 27 +++++++ .../dungeonsguide/shaders/chromaroundrect.frag | 23 ++++++ .../dungeonsguide/shaders/chromaroundrect.vert | 19 +++++ .../assets/dungeonsguide/shaders/donut.frag | 17 +++++ .../assets/dungeonsguide/shaders/roundrect.frag | 6 +- .../assets/dungeonsguide/shaders/roundrect.vert | 8 ++ 21 files changed, 582 insertions(+), 7 deletions(-) create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/boolean.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/color.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/colorSet.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/keybind.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/number.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/string.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/stringChoice.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/parameteritem.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/popup/quickEdit.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/config/popup/quickEnable.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/features/fairysoul/roomconfiguration.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/gui/features/fairysoul/roomswitch.gui create mode 100644 mod/src/main/resources/assets/dungeonsguide/shaders/chromacircle.frag create mode 100644 mod/src/main/resources/assets/dungeonsguide/shaders/chromaroundrect.frag create mode 100644 mod/src/main/resources/assets/dungeonsguide/shaders/chromaroundrect.vert create mode 100644 mod/src/main/resources/assets/dungeonsguide/shaders/donut.frag create mode 100644 mod/src/main/resources/assets/dungeonsguide/shaders/roundrect.vert (limited to 'mod/src/main/resources') diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui index 6381664f..305faa81 100644 --- a/mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui @@ -16,6 +16,7 @@ ~ along with this program. If not, see . --> + @@ -86,4 +87,5 @@ - \ No newline at end of file + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/boolean.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/boolean.gui new file mode 100644 index 00000000..4fc0c1c0 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/boolean.gui @@ -0,0 +1,22 @@ + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/color.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/color.gui new file mode 100644 index 00000000..d5db4950 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/color.gui @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/colorSet.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/colorSet.gui new file mode 100644 index 00000000..89129d84 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/colorSet.gui @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/keybind.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/keybind.gui new file mode 100644 index 00000000..134d105e --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/keybind.gui @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/number.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/number.gui new file mode 100644 index 00000000..57c21e3b --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/number.gui @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/string.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/string.gui new file mode 100644 index 00000000..fea9fe77 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/string.gui @@ -0,0 +1,22 @@ + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/stringChoice.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/stringChoice.gui new file mode 100644 index 00000000..27822ea9 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameter/stringChoice.gui @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/parameteritem.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameteritem.gui new file mode 100644 index 00000000..cc8115f2 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/parameteritem.gui @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/popup/quickEdit.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/popup/quickEdit.gui new file mode 100644 index 00000000..105a4680 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/popup/quickEdit.gui @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/popup/quickEnable.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/popup/quickEnable.gui new file mode 100644 index 00000000..bdc3120d --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/popup/quickEnable.gui @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/popupmenu.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/popupmenu.gui index ecfe8c5d..ec192ef4 100644 --- a/mod/src/main/resources/assets/dungeonsguide/gui/config/popupmenu.gui +++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/popupmenu.gui @@ -16,7 +16,7 @@ ~ along with this program. If not, see . --> - + diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/elements/locationedPopup.gui b/mod/src/main/resources/assets/dungeonsguide/gui/elements/locationedPopup.gui index 9d56c62c..56732908 100644 --- a/mod/src/main/resources/assets/dungeonsguide/gui/elements/locationedPopup.gui +++ b/mod/src/main/resources/assets/dungeonsguide/gui/elements/locationedPopup.gui @@ -15,6 +15,10 @@ ~ You should have received a copy of the GNU Affero General Public License ~ along with this program. If not, see . --> - - - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/features/fairysoul/roomconfiguration.gui b/mod/src/main/resources/assets/dungeonsguide/gui/features/fairysoul/roomconfiguration.gui new file mode 100644 index 00000000..c9bbbc54 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/features/fairysoul/roomconfiguration.gui @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/features/fairysoul/roomswitch.gui b/mod/src/main/resources/assets/dungeonsguide/gui/features/fairysoul/roomswitch.gui new file mode 100644 index 00000000..64352709 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/gui/features/fairysoul/roomswitch.gui @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/shaders/chromacircle.frag b/mod/src/main/resources/assets/dungeonsguide/shaders/chromacircle.frag new file mode 100644 index 00000000..25354550 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/shaders/chromacircle.frag @@ -0,0 +1,27 @@ +#version 120 + +#define TWO_PI 6.28318530718 + +uniform float radius; +uniform vec2 centerPos; +uniform float smoothness; +uniform float value; + + +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +void main() { + vec2 stuff = gl_FragCoord.xy - centerPos; + float sdf = length(stuff)-radius; + float saturation = 1.0+(sdf / radius); + float clampd = 1.0 - smoothstep(-smoothness, smoothness, sdf); + float angle = atan(-stuff.x, -stuff.y) / TWO_PI + 0.5; + + vec3 col = hsv2rgb(vec3(angle, saturation, value)); + + gl_FragColor = vec4(col,clampd); +} \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/shaders/chromaroundrect.frag b/mod/src/main/resources/assets/dungeonsguide/shaders/chromaroundrect.frag new file mode 100644 index 00000000..7ddf2db8 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/shaders/chromaroundrect.frag @@ -0,0 +1,23 @@ +#version 120 +uniform float radius; +uniform vec2 halfSize; +uniform vec2 centerPos; +uniform float smoothness; +varying vec4 color; + +vec3 hsv2rgb(vec3 c) +{ + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +float roundedBoxSDF(vec2 CenterPosition, vec2 Size, float Radius) { + return length(max(abs(CenterPosition)-Size+Radius,0.0))-Radius; +} + +void main() { + float distance = roundedBoxSDF(gl_FragCoord.xy - centerPos, halfSize, radius); + float smoothedAlpha = smoothstep(-smoothness,0.0, -distance); + gl_FragColor = vec4(hsv2rgb(color.rgb), color.a) * vec4(1.0, 1.0, 1.0, smoothedAlpha); +} \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/shaders/chromaroundrect.vert b/mod/src/main/resources/assets/dungeonsguide/shaders/chromaroundrect.vert new file mode 100644 index 00000000..377182c5 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/shaders/chromaroundrect.vert @@ -0,0 +1,19 @@ +#version 120 + +varying vec4 color; + +vec3 rgb2hsv(vec3 c) +{ + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); + vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); + + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +void main() { + gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; + color = vec4(rgb2hsv(gl_Color.rgb), gl_Color.a); +} \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/shaders/donut.frag b/mod/src/main/resources/assets/dungeonsguide/shaders/donut.frag new file mode 100644 index 00000000..cca6bc39 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/shaders/donut.frag @@ -0,0 +1,17 @@ +#version 120 + + +uniform float radius; +uniform float thickness; +uniform vec2 centerPos; +uniform float smoothness; + + + +void main() { + vec2 stuff = gl_FragCoord.xy - centerPos; + float sdf = abs(length(stuff)-radius); + float clampd = 1.0 - smoothstep(thickness, thickness+smoothness, sdf); + + gl_FragColor = gl_Color * vec4(1.0, 1.0, 1.0, clampd); +} \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/shaders/roundrect.frag b/mod/src/main/resources/assets/dungeonsguide/shaders/roundrect.frag index 93a6c7c0..95649cf4 100644 --- a/mod/src/main/resources/assets/dungeonsguide/shaders/roundrect.frag +++ b/mod/src/main/resources/assets/dungeonsguide/shaders/roundrect.frag @@ -1,8 +1,10 @@ -#version 110 +#version 120 uniform float radius; uniform vec2 halfSize; uniform vec2 centerPos; uniform float smoothness; +varying vec4 color; + float roundedBoxSDF(vec2 CenterPosition, vec2 Size, float Radius) { return length(max(abs(CenterPosition)-Size+Radius,0.0))-Radius; @@ -11,5 +13,5 @@ float roundedBoxSDF(vec2 CenterPosition, vec2 Size, float Radius) { void main() { float distance = roundedBoxSDF(gl_FragCoord.xy - centerPos, halfSize, radius); float smoothedAlpha = smoothstep(-smoothness,0.0, -distance); - gl_FragColor = gl_Color * vec4(1.0, 1.0, 1.0, smoothedAlpha); + gl_FragColor = color * vec4(1.0, 1.0, 1.0, smoothedAlpha); } \ No newline at end of file diff --git a/mod/src/main/resources/assets/dungeonsguide/shaders/roundrect.vert b/mod/src/main/resources/assets/dungeonsguide/shaders/roundrect.vert new file mode 100644 index 00000000..7a2ec153 --- /dev/null +++ b/mod/src/main/resources/assets/dungeonsguide/shaders/roundrect.vert @@ -0,0 +1,8 @@ +#version 120 + +varying vec4 color; + +void main() { + gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; + color = gl_Color; +} \ No newline at end of file -- cgit