From b72b3dca39631a995b422e0b3495e8d3618e91d8 Mon Sep 17 00:00:00 2001
From: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>
Date: Wed, 1 Jun 2022 18:40:47 +0200
Subject: temp
---
.../oneconfig/gui/animations/Animation.java | 49 ++++++++++++++++++++++
.../oneconfig/gui/animations/EaseInOutQuad.java | 23 ++++++++++
.../oneconfig/gui/animations/EaseInOutQuart.java | 23 ++++++++++
3 files changed, 95 insertions(+)
create mode 100644 src/main/java/cc/polyfrost/oneconfig/gui/animations/Animation.java
create mode 100644 src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java
create mode 100644 src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java
(limited to 'src/main/java/cc/polyfrost/oneconfig/gui/animations')
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/animations/Animation.java b/src/main/java/cc/polyfrost/oneconfig/gui/animations/Animation.java
new file mode 100644
index 0000000..894be2a
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/animations/Animation.java
@@ -0,0 +1,49 @@
+package cc.polyfrost.oneconfig.gui.animations;
+
+import cc.polyfrost.oneconfig.gui.OneConfigGui;
+
+public abstract class Animation {
+ private final int duration;
+ private final float start;
+ private final float change;
+ private long timePassed = 0;
+
+ /**
+ * @param duration The duration of the animation
+ * @param start The start of the animation
+ * @param end The end of the animation
+ * @param reverse Reverse the animation
+ */
+ public Animation(int duration, float start, float end, boolean reverse) {
+ this.duration = duration;
+ this.start = start;
+ if (!reverse) this.change = end - start;
+ else this.change = start - end;
+ }
+
+ /**
+ * @param deltaTime The time since the last frame
+ * @return The new value
+ */
+ public float get(long deltaTime) {
+ timePassed += deltaTime;
+ if (timePassed >= duration) return start + change;
+ return animate(timePassed, duration, start, change);
+ }
+
+ /**
+ * @return The new value
+ */
+ public float get() {
+ return get(OneConfigGui.getDeltaTimeNullSafe());
+ }
+
+ /**
+ * @return If the animation is finished or not
+ */
+ public boolean isFinished() {
+ return timePassed >= duration;
+ }
+
+ protected abstract float animate(long timePassed, int duration, float start, float change);
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java
new file mode 100644
index 0000000..df0ad68
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java
@@ -0,0 +1,23 @@
+package cc.polyfrost.oneconfig.gui.animations;
+
+public class EaseInOutQuad extends Animation{
+
+ /**
+ * @param duration The duration of the animation
+ * @param start The start of the animation
+ * @param end The end of the animation
+ * @param reverse Reverse the animation
+ */
+ public EaseInOutQuad(int duration, float start, float end, boolean reverse) {
+ super(duration, start, end, reverse);
+ }
+
+ /**
+ * Adapted from https://github.com/jesusgollonet/processing-penner-easing
+ */
+ @Override
+ protected float animate(long timePassed, int duration, float start, float change) {
+ if ((timePassed /= (double) duration / 2) < 1) return change / 2 * timePassed * timePassed + start;;
+ return -change / 2 * ((--timePassed) * (timePassed - 2) - 1) + start;
+ }
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java
new file mode 100644
index 0000000..cb69e64
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java
@@ -0,0 +1,23 @@
+package cc.polyfrost.oneconfig.gui.animations;
+
+public class EaseInOutQuart extends Animation{
+
+ /**
+ * @param duration The duration of the animation
+ * @param start The start of the animation
+ * @param end The end of the animation
+ * @param reverse Reverse the animation
+ */
+ public EaseInOutQuart(int duration, float start, float end, boolean reverse) {
+ super(duration, start, end, reverse);
+ }
+
+ /**
+ * Adapted from https://github.com/jesusgollonet/processing-penner-easing
+ */
+ @Override
+ protected float animate(long timePassed, int duration, float start, float change) {
+ if ((timePassed /= (double) duration / 2) < 1) return change / 2 * timePassed * timePassed * timePassed * timePassed + start;
+ return -change / 2 * ((timePassed -= 2) * timePassed * timePassed * timePassed - 2) + start;
+ }
+}
--
cgit
From 53494fad20feed812735b36dea31c6b0656bb104 Mon Sep 17 00:00:00 2001
From: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>
Date: Wed, 1 Jun 2022 18:51:21 +0200
Subject: temp
---
src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java | 4 ++++
.../java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java | 2 +-
.../java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
(limited to 'src/main/java/cc/polyfrost/oneconfig/gui/animations')
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java b/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java
index 078a2d7..0558799 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java
@@ -40,6 +40,10 @@ public class SideBar {
buttons.get(2).setClickAction(new ModsPage());
HUDButton.setClickAction(() -> GuiUtils.displayScreen(new HudGui()));
CloseButton.setClickAction(GuiUtils::closeScreen);
+ for (int i = 0; i < buttons.size(); i++) {
+ if (i == 0 || i == 2) continue;
+ buttons.get(i).disable(true);
+ }
}
public void draw(long vg, int x, int y) {
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java
index df0ad68..14e802f 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java
@@ -17,7 +17,7 @@ public class EaseInOutQuad extends Animation{
*/
@Override
protected float animate(long timePassed, int duration, float start, float change) {
- if ((timePassed /= (double) duration / 2) < 1) return change / 2 * timePassed * timePassed + start;;
+ if ((timePassed /= duration / 2) < 1) return change / 2 * timePassed * timePassed + start;;
return -change / 2 * ((--timePassed) * (timePassed - 2) - 1) + start;
}
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java
index cb69e64..55c1cad 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuart.java
@@ -17,7 +17,7 @@ public class EaseInOutQuart extends Animation{
*/
@Override
protected float animate(long timePassed, int duration, float start, float change) {
- if ((timePassed /= (double) duration / 2) < 1) return change / 2 * timePassed * timePassed * timePassed * timePassed + start;
+ if ((timePassed /= duration / 2) < 1) return change / 2 * timePassed * timePassed * timePassed * timePassed + start;
return -change / 2 * ((timePassed -= 2) * timePassed * timePassed * timePassed - 2) + start;
}
}
--
cgit