aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/dev/figboot/cuberender/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/dev/figboot/cuberender/test')
-rw-r--r--src/main/java/dev/figboot/cuberender/test/GraphicsPanel.java45
-rw-r--r--src/main/java/dev/figboot/cuberender/test/TestWindow.java2
-rw-r--r--src/main/java/dev/figboot/cuberender/test/TestWindowControl.java2
3 files changed, 6 insertions, 43 deletions
diff --git a/src/main/java/dev/figboot/cuberender/test/GraphicsPanel.java b/src/main/java/dev/figboot/cuberender/test/GraphicsPanel.java
index 0473be4..12ca9ef 100644
--- a/src/main/java/dev/figboot/cuberender/test/GraphicsPanel.java
+++ b/src/main/java/dev/figboot/cuberender/test/GraphicsPanel.java
@@ -1,5 +1,6 @@
package dev.figboot.cuberender.test;
+import dev.figboot.cuberender.api.SkinUtil;
import dev.figboot.cuberender.math.*;
import dev.figboot.cuberender.state.BlendMode;
import dev.figboot.cuberender.state.Framebuffer;
@@ -14,12 +15,11 @@ import java.awt.*;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.image.BufferedImage;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.EnumMap;
-public class GraphicsPanel extends JPanel {
+class GraphicsPanel extends JPanel {
private Framebuffer framebuffer;
private final EnumMap<BodyPart, Mesh<?>> meshes = new EnumMap<>(BodyPart.class);
@@ -54,43 +54,6 @@ public class GraphicsPanel extends JPanel {
private BodyPart[] overlayParts;
private BodyPart[] overlayPartsSlim;
- private void copyLimbFlipped(BufferedImage src, BufferedImage target) {
- for (int y = 4, maxY = src.getHeight(); y < maxY; ++y) {
- for (int x = 0; x < 4; ++x) {
- target.setRGB(x, y, src.getRGB(11 - x, y));
- target.setRGB(x + 4, y, src.getRGB(7 - x, y));
- target.setRGB(x + 8, y, src.getRGB(3 - x, y));
- target.setRGB(x + 12, y, src.getRGB(15 - x, y));
- }
- }
-
- for (int y = 0; y < 4; ++y) {
- for (int x = 0; x < 4; ++x) {
- target.setRGB(x + 4, y, src.getRGB(7 - x, y));
- target.setRGB(x + 8, y, src.getRGB(11 - x, y));
- }
- }
- }
-
- private BufferedImage convertToModernSkin(BufferedImage bi) {
- BufferedImage realBI = new BufferedImage(64, 64, BufferedImage.TYPE_INT_ARGB);
- Graphics2D g2d = realBI.createGraphics();
-
- g2d.drawImage(bi, 0, 0, 64, 32, null);
-
- copyLimbFlipped(bi.getSubimage(0, 16, 16, 16), realBI.getSubimage(16, 48, 16, 16));
- copyLimbFlipped(bi.getSubimage(40, 16, 16, 16), realBI.getSubimage(32, 48, 16, 16));
- g2d.dispose();
-
- try {
- ImageIO.write(realBI, "PNG", new File("test.png"));
- } catch (IOException ex) {
- throw new RuntimeException(ex);
- }
-
- return realBI;
- }
-
public GraphicsPanel() {
addComponentListener(new ComponentAdapter() {
@Override
@@ -114,7 +77,7 @@ public class GraphicsPanel extends JPanel {
}
if (bi.getHeight() == 32) {
- bi = convertToModernSkin(bi);
+ bi = SkinUtil.convertToModernSkin(bi, null);
}
Texture tex = new Texture(bi);
@@ -310,7 +273,7 @@ public class GraphicsPanel extends JPanel {
}
@RequiredArgsConstructor
- public enum BodyPart {
+ private enum BodyPart {
HEAD(8/16f, 8/16f, 8/16f, 8/64f, 56/64f),
TORSO(8/16f, 12/16f, 4/16f, 20/64f, 44/64f),
LEFT_ARM(4/16f, 12/16f, 4/16f, 44/64f, 44/64f),
diff --git a/src/main/java/dev/figboot/cuberender/test/TestWindow.java b/src/main/java/dev/figboot/cuberender/test/TestWindow.java
index f7f94bd..95af070 100644
--- a/src/main/java/dev/figboot/cuberender/test/TestWindow.java
+++ b/src/main/java/dev/figboot/cuberender/test/TestWindow.java
@@ -2,7 +2,7 @@ package dev.figboot.cuberender.test;
import javax.swing.*;
-public class TestWindow extends JFrame {
+class TestWindow extends JFrame {
public TestWindow() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Graphics test");
diff --git a/src/main/java/dev/figboot/cuberender/test/TestWindowControl.java b/src/main/java/dev/figboot/cuberender/test/TestWindowControl.java
index 22218b5..e023e39 100644
--- a/src/main/java/dev/figboot/cuberender/test/TestWindowControl.java
+++ b/src/main/java/dev/figboot/cuberender/test/TestWindowControl.java
@@ -11,7 +11,7 @@ import java.awt.event.ActionEvent;
import java.util.EnumMap;
import java.util.Map;
-public class TestWindowControl extends JFrame {
+class TestWindowControl extends JFrame {
private final GraphicsPanel graphicsPanel;
private final JRadioButton radOverlayOpaque, radOverlayTranslucent;