From 968536742b84a09c31c4650fc25eb499a339bb95 Mon Sep 17 00:00:00 2001 From: galaxyoyo Date: Wed, 7 Jan 2015 22:50:11 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=C3=A9=20enti=C3=A8rement=20l'enregistreme?= =?UTF-8?q?nt=20des=20sprites?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unknown/api/editor/EditorAPI.java | 18 ++-- .../unknown/api/editor/sprites/Sprite.java | 18 ++++ .../api/editor/sprites/SpriteRegister.java | 77 ++++++++++++++++++ .../galaxyoyo/unknown/client/main/Main.java | 3 + .../java/galaxyoyo/unknown/editor/Editor.java | 15 +++- .../galaxyoyo/unknown/editor/EditorFrame.java | 6 +- .../assets/unknown/textures/sprites/gazon.png | Bin 0 -> 18612 bytes .../unknown/textures/sprites/sprites.json | 11 +++ .../assets/unknown/textures/tiles/gazon.png | Bin 18627 -> 0 bytes 9 files changed, 139 insertions(+), 9 deletions(-) create mode 100644 src/api/java/galaxyoyo/unknown/api/editor/sprites/Sprite.java create mode 100644 src/api/java/galaxyoyo/unknown/api/editor/sprites/SpriteRegister.java create mode 100644 src/main/resources/assets/unknown/textures/sprites/gazon.png create mode 100644 src/main/resources/assets/unknown/textures/sprites/sprites.json delete mode 100644 src/main/resources/assets/unknown/textures/tiles/gazon.png diff --git a/src/api/java/galaxyoyo/unknown/api/editor/EditorAPI.java b/src/api/java/galaxyoyo/unknown/api/editor/EditorAPI.java index a9093ba..078f97d 100644 --- a/src/api/java/galaxyoyo/unknown/api/editor/EditorAPI.java +++ b/src/api/java/galaxyoyo/unknown/api/editor/EditorAPI.java @@ -1,5 +1,7 @@ package galaxyoyo.unknown.api.editor; +import galaxyoyo.unknown.editor.Editor; + import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; @@ -78,7 +80,7 @@ public class EditorAPI } } - public static void open() + public static Editor open() { JFileChooser jfc = createJFC(); File file = null; @@ -90,17 +92,16 @@ public class EditorAPI System.out.println(file); } - open(file); + return open(file); } - public static void open(File f) + public static Editor open(File f) { - System.out.println(f); + byte[] bytes = null; try { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f)); - byte[] bytes = new byte[(int) f.length()]; - System.out.println(bis); + bytes = new byte[(int) f.length()]; while (bis.read(bytes) != -1); for (byte b : bytes) { @@ -112,9 +113,12 @@ public class EditorAPI { e.printStackTrace(); } + + return open(bytes); } - public static void open(byte[] bytes) + public static Editor open(byte[] bytes) { + return new Editor(bytes); } } diff --git a/src/api/java/galaxyoyo/unknown/api/editor/sprites/Sprite.java b/src/api/java/galaxyoyo/unknown/api/editor/sprites/Sprite.java new file mode 100644 index 0000000..b30471f --- /dev/null +++ b/src/api/java/galaxyoyo/unknown/api/editor/sprites/Sprite.java @@ -0,0 +1,18 @@ +package galaxyoyo.unknown.api.editor.sprites; + +import java.awt.image.BufferedImage; + +public class Sprite +{ + private final BufferedImage img; + + public Sprite(BufferedImage img) + { + this.img = img; + } + + public BufferedImage getImage() + { + return this.img; + } +} diff --git a/src/api/java/galaxyoyo/unknown/api/editor/sprites/SpriteRegister.java b/src/api/java/galaxyoyo/unknown/api/editor/sprites/SpriteRegister.java new file mode 100644 index 0000000..ad2c44a --- /dev/null +++ b/src/api/java/galaxyoyo/unknown/api/editor/sprites/SpriteRegister.java @@ -0,0 +1,77 @@ +package galaxyoyo.unknown.api.editor.sprites; + +import java.awt.image.BufferedImage; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.imageio.ImageIO; + +import org.apache.logging.log4j.LogManager; + +import com.google.gson.Gson; + +public class SpriteRegister +{ + private static Map>> nameToCoords; + private static Map> sprites = new HashMap>(); + + @SuppressWarnings("unchecked") + public static void refreshAllSprites() + { + try + { + BufferedReader br = new BufferedReader(new InputStreamReader(SpriteRegister.class.getResourceAsStream("/assets/unknown/textures/sprites/sprites.json"))); + nameToCoords = new Gson().fromJson(br, Map.class); + System.out.println(nameToCoords); + br.close(); + + for (String key : nameToCoords.keySet()) + { + try + { + InputStream is = SpriteRegister.class.getResourceAsStream("/assets/unknown/textures/sprites/" + key + ".png"); + BufferedImage img = ImageIO.read(is); + List lSprites = new ArrayList(); + + for (List list : nameToCoords.get(key)) + { + int x = list.get(0).intValue(); + int y = list.get(1).intValue(); + int width = list.get(2).intValue() * 16; + int height = list.get(3).intValue() * 16; + BufferedImage child = img.getSubimage(x, y, width, height); + Sprite sprite = new Sprite(child); + lSprites.add(sprite); + } + + sprites.put(key, lSprites); + } + catch (Throwable t) + { + LogManager.getLogger("SpriteRegister").fatal("Erreur lors de la lecture du sprite '" + key + "'", t); + continue; + } + } + } + catch (IOException e) + { + e.printStackTrace(); + } + } + + public static List getCategory(String name) + { + return sprites.get(name); + } + + public static List getCategory(int index) + { + return getCategory(new ArrayList(sprites.keySet()).get(index)); + } +} diff --git a/src/main/java/galaxyoyo/unknown/client/main/Main.java b/src/main/java/galaxyoyo/unknown/client/main/Main.java index 02274ab..c2a75c6 100644 --- a/src/main/java/galaxyoyo/unknown/client/main/Main.java +++ b/src/main/java/galaxyoyo/unknown/client/main/Main.java @@ -4,6 +4,7 @@ package galaxyoyo.unknown.client.main; import galaxyoyo.unknown.api.editor.EditorAPI; +import galaxyoyo.unknown.api.editor.sprites.SpriteRegister; import galaxyoyo.unknown.frame.MainFrame; import java.awt.Color; @@ -103,6 +104,8 @@ public class Main } } + SpriteRegister.refreshAllSprites(); + if (set.has(edit)) { launchEditMode(); diff --git a/src/main/java/galaxyoyo/unknown/editor/Editor.java b/src/main/java/galaxyoyo/unknown/editor/Editor.java index e2c8b44..af925d0 100644 --- a/src/main/java/galaxyoyo/unknown/editor/Editor.java +++ b/src/main/java/galaxyoyo/unknown/editor/Editor.java @@ -1,14 +1,22 @@ package galaxyoyo.unknown.editor; +import java.util.ArrayList; +import java.util.List; + +import galaxyoyo.unknown.api.editor.sprites.Sprite; + public class Editor { private final EditorFrame frame; private byte[] bytes; + private List> sprites = new ArrayList>(); public Editor(byte[] bytes) { - frame = new EditorFrame(); + frame = new EditorFrame(this); this.bytes = bytes; + + getFrame().setVisible(true); } public EditorFrame getFrame() @@ -25,4 +33,9 @@ public class Editor { this.bytes = bytes; } + + public Sprite getSprite(int x, int y) + { + return sprites.get(x).get(y); + } } diff --git a/src/main/java/galaxyoyo/unknown/editor/EditorFrame.java b/src/main/java/galaxyoyo/unknown/editor/EditorFrame.java index eb6f848..6f8311f 100644 --- a/src/main/java/galaxyoyo/unknown/editor/EditorFrame.java +++ b/src/main/java/galaxyoyo/unknown/editor/EditorFrame.java @@ -5,8 +5,12 @@ import javax.swing.JFrame; public class EditorFrame extends JFrame { private static final long serialVersionUID = -2705122356101556462L; + + @SuppressWarnings("unused") + private final Editor editor; - public EditorFrame() + public EditorFrame(Editor editor) { + this.editor = editor; } } diff --git a/src/main/resources/assets/unknown/textures/sprites/gazon.png b/src/main/resources/assets/unknown/textures/sprites/gazon.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b3c1dae0ea4c6aa8d3e46f0689f2b48d22e8b9 GIT binary patch literal 18612 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 FV1k+qFFybP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unknown/textures/sprites/sprites.json b/src/main/resources/assets/unknown/textures/sprites/sprites.json new file mode 100644 index 0000000..ea92c86 --- /dev/null +++ b/src/main/resources/assets/unknown/textures/sprites/sprites.json @@ -0,0 +1,11 @@ +{ + "gazon": [ + [0,15,1,5], + [0,144,1,3], + [16,144,2,2], + [32,208,6,2], + [128,144,1,2], + [160,156,3,2], + [160,32,1,3] + ] +} diff --git a/src/main/resources/assets/unknown/textures/tiles/gazon.png b/src/main/resources/assets/unknown/textures/tiles/gazon.png deleted file mode 100644 index 8d95b91ee83d0faad6596a1ba6b102b93963f508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18627 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 M07*qoM6N<$g1oOZX8-^I