aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/lwjgl
diff options
context:
space:
mode:
authorWyvest <45589059+Wyvest@users.noreply.github.com>2022-05-21 17:50:43 +0700
committerGitHub <noreply@github.com>2022-05-21 12:50:43 +0200
commitba87b8b1fa4e2397a3e0ed5a18f7ea6137d42f77 (patch)
treea052e7ac963be0f64980fc3faa664ebf20a52b34 /src/main/java/cc/polyfrost/oneconfig/lwjgl
parent1abe65dc3875df5a490d8c900399e61a378ae901 (diff)
downloadOneConfig-ba87b8b1fa4e2397a3e0ed5a18f7ea6137d42f77.tar.gz
OneConfig-ba87b8b1fa4e2397a3e0ed5a18f7ea6137d42f77.tar.bz2
OneConfig-ba87b8b1fa4e2397a3e0ed5a18f7ea6137d42f77.zip
vigilance compat (#15)
* vigilance compat reorganize ASM * remove non-RenderManager nanovg usage wherever possible fix build generalize utils * setupGradle task * migrate to kotlin gradle use essential gradle toolkit shade new gson * Small changes * Update .gitignore * fix natives * Fix all problems * null Co-authored-by: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/lwjgl')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/BlurHandler.java4
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/OneColor.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java14
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/font/Font.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java16
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/plugin/ClassTransformer.java56
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/plugin/LoadingPlugin.java54
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java1
8 files changed, 22 insertions, 127 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/BlurHandler.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/BlurHandler.java
index 973677e..090121b 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/BlurHandler.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/BlurHandler.java
@@ -1,9 +1,9 @@
package cc.polyfrost.oneconfig.lwjgl;
import cc.polyfrost.oneconfig.gui.OneConfigGui;
+import cc.polyfrost.oneconfig.libs.universal.UMinecraft;
+import cc.polyfrost.oneconfig.libs.universal.UScreen;
import cc.polyfrost.oneconfig.mixin.ShaderGroupAccessor;
-import gg.essential.universal.UMinecraft;
-import gg.essential.universal.UScreen;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.shader.Shader;
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/OneColor.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/OneColor.java
index d598e07..9c62d1a 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/OneColor.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/OneColor.java
@@ -15,7 +15,7 @@ import java.awt.*;
* </code>
*/
@SuppressWarnings("unused")
-public class OneColor {
+public final class OneColor {
transient private Integer rgba = null;
private short[] hsba;
private int chroma = -1;
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
index 9d6763f..c1df2fe 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
@@ -8,9 +8,9 @@ import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.ImageLoader;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
-import gg.essential.universal.UGraphics;
-import gg.essential.universal.UMinecraft;
-import gg.essential.universal.UResolution;
+import cc.polyfrost.oneconfig.libs.universal.UGraphics;
+import cc.polyfrost.oneconfig.libs.universal.UMinecraft;
+import cc.polyfrost.oneconfig.libs.universal.UResolution;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.shader.Framebuffer;
import org.lwjgl.nanovg.*;
@@ -298,6 +298,14 @@ public final class RenderManager {
return nvgColor;
}
+ public static void scale(long vg, float x, float y) {
+ nvgScale(vg, x, y);
+ }
+
+ public static void withAlpha(long vg, float alpha) {
+ nvgGlobalAlpha(vg, alpha);
+ }
+
public static void drawSvg(long vg, String filePath, float x, float y, float width, float height) {
float w = width;
float h = height;
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/font/Font.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/font/Font.java
index a369f26..8267ba7 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/font/Font.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/font/Font.java
@@ -1,7 +1,5 @@
package cc.polyfrost.oneconfig.lwjgl.font;
-import org.lwjgl.nanovg.NanoVG;
-
import java.nio.ByteBuffer;
public class Font {
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
index 128ae48..fb436dd 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
@@ -15,7 +15,7 @@ import java.util.HashMap;
public class ImageLoader {
private final HashMap<String, Integer> imageHashMap = new HashMap<>();
- private final HashMap<String, Integer> SVGHashMap = new HashMap<>();
+ private final HashMap<String, Integer> svgHashMap = new HashMap<>();
public static ImageLoader INSTANCE = new ImageLoader();
public boolean loadImage(long vg, String fileName) {
@@ -42,7 +42,7 @@ public class ImageLoader {
public boolean loadSVG(long vg, String fileName, float SVGWidth, float SVGHeight) {
String name = fileName + "-" + SVGWidth + "-" + SVGHeight;
- if (!SVGHashMap.containsKey(name)) {
+ if (!svgHashMap.containsKey(name)) {
try {
InputStream inputStream = this.getClass().getResourceAsStream(fileName);
if (inputStream == null) return false;
@@ -70,7 +70,7 @@ public class ImageLoader {
NanoSVG.nsvgDeleteRasterizer(rasterizer);
NanoSVG.nsvgDelete(svg);
- SVGHashMap.put(name, NanoVG.nvgCreateImageRGBA(vg, w, h, NanoVG.NVG_IMAGE_REPEATX | NanoVG.NVG_IMAGE_REPEATY | NanoVG.NVG_IMAGE_GENERATE_MIPMAPS, image));
+ svgHashMap.put(name, NanoVG.nvgCreateImageRGBA(vg, w, h, NanoVG.NVG_IMAGE_REPEATX | NanoVG.NVG_IMAGE_REPEATY | NanoVG.NVG_IMAGE_GENERATE_MIPMAPS, image));
return true;
} catch (Exception e) {
System.err.println("Failed to parse SVG file");
@@ -100,20 +100,20 @@ public class ImageLoader {
public int getSVG( String fileName, float width, float height) {
String name = fileName + "-" + width + "-" + height;
- return SVGHashMap.get(name);
+ return svgHashMap.get(name);
}
public void removeSVG(long vg, String fileName, float width, float height) {
String name = fileName + "-" + width + "-" + height;
NanoVG.nvgDeleteImage(vg, imageHashMap.get(name));
- SVGHashMap.remove(name);
+ svgHashMap.remove(name);
}
public void clearSVGs(long vg) {
- HashMap<String, Integer> temp = new HashMap<>(SVGHashMap);
+ HashMap<String, Integer> temp = new HashMap<>(svgHashMap);
for (String image : temp.keySet()) {
- NanoVG.nvgDeleteImage(vg, SVGHashMap.get(image));
- SVGHashMap.remove(image);
+ NanoVG.nvgDeleteImage(vg, svgHashMap.get(image));
+ svgHashMap.remove(image);
}
}
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/plugin/ClassTransformer.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/plugin/ClassTransformer.java
deleted file mode 100644
index 8e388dc..0000000
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/plugin/ClassTransformer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package cc.polyfrost.oneconfig.lwjgl.plugin;
-
-import net.minecraft.launchwrapper.IClassTransformer;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.tree.*;
-
-/**
- * Taken from LWJGLTwoPointFive under The Unlicense
- * <a href="https://github.com/DJtheRedstoner/LWJGLTwoPointFive/blob/master/LICENSE/">https://github.com/DJtheRedstoner/LWJGLTwoPointFive/blob/master/LICENSE/</a>
- */
-@SuppressWarnings("unused")
-public class ClassTransformer implements IClassTransformer {
- @Override
- public byte[] transform(String name, String transformedName, byte[] basicClass) {
- if (name.equals("org.lwjgl.nanovg.NanoVGGLConfig")) {
- ClassReader reader = new ClassReader(basicClass);
- ClassNode node = new ClassNode();
- reader.accept(node, ClassReader.EXPAND_FRAMES);
-
- for (MethodNode method : node.methods) {
- if (method.name.equals("configGL")) {
- InsnList list = new InsnList();
-
- list.add(new VarInsnNode(Opcodes.LLOAD, 0));
- list.add(new TypeInsnNode(Opcodes.NEW, "cc/polyfrost/oneconfig/lwjgl/plugin/Lwjgl2FunctionProvider"));
- list.add(new InsnNode(Opcodes.DUP));
- list.add(new MethodInsnNode(
- Opcodes.INVOKESPECIAL,
- "cc/polyfrost/oneconfig/lwjgl/plugin/Lwjgl2FunctionProvider",
- "<init>",
- "()V",
- false
- ));
- list.add(new MethodInsnNode(
- Opcodes.INVOKESTATIC,
- "org/lwjgl/nanovg/NanoVGGLConfig",
- "config",
- "(JLorg/lwjgl/system/FunctionProvider;)V",
- false
- ));
- list.add(new InsnNode(Opcodes.RETURN));
-
- method.instructions.clear();
- method.instructions.insert(list);
- }
- }
-
- ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
- node.accept(cw);
- return cw.toByteArray();
- }
- return basicClass;
- }
-} \ No newline at end of file
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/plugin/LoadingPlugin.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/plugin/LoadingPlugin.java
deleted file mode 100644
index 6cd8911..0000000
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/plugin/LoadingPlugin.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package cc.polyfrost.oneconfig.lwjgl.plugin;
-
-import cc.polyfrost.oneconfig.init.OneConfigInit;
-import net.minecraft.launchwrapper.Launch;
-import net.minecraft.launchwrapper.LaunchClassLoader;
-import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;
-
-import java.lang.reflect.Field;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Taken from LWJGLTwoPointFive under The Unlicense
- * <a href="https://github.com/DJtheRedstoner/LWJGLTwoPointFive/blob/master/LICENSE/">https://github.com/DJtheRedstoner/LWJGLTwoPointFive/blob/master/LICENSE/</a>
- */
-public class LoadingPlugin implements IFMLLoadingPlugin {
-
- public LoadingPlugin() {
- try {
- Field f_exceptions = LaunchClassLoader.class.getDeclaredField("classLoaderExceptions");
- f_exceptions.setAccessible(true);
- Set<String> exceptions = (Set<String>) f_exceptions.get(Launch.classLoader);
- exceptions.remove("org.lwjgl.");
- OneConfigInit.initialize(new String[]{});
- } catch (Exception e) {
- throw new RuntimeException("e");
- }
- }
-
- @Override
- public String[] getASMTransformerClass() {
- return new String[]{"cc.polyfrost.oneconfig.lwjgl.plugin.ClassTransformer"};
- }
-
- @Override
- public String getModContainerClass() {
- return null;
- }
-
- @Override
- public String getSetupClass() {
- return null;
- }
-
- @Override
- public void injectData(Map<String, Object> data) {
-
- }
-
- @Override
- public String getAccessTransformerClass() {
- return null;
- }
-} \ No newline at end of file
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java
index a3f3780..0f821c9 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java
@@ -1,6 +1,5 @@
package cc.polyfrost.oneconfig.lwjgl.scissor;
-import cc.polyfrost.oneconfig.lwjgl.scissor.Scissor;
import org.lwjgl.nanovg.NanoVG;
import java.util.ArrayList;