From 1a8e11b7f9b4ab44f99403530ce77d434b1504f9 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 12 Nov 2015 19:01:48 -0500 Subject: [PATCH] Test exports png files ok, need to clean this up as it is mostly ripped from os cache suite --- .../runelite/cache/renderable/RGBSprite.java | 63 ++++++++++--------- .../net/runelite/cache/StoreLocation.java | 2 +- .../cache/loaders/SpriteLoaderTest.java | 13 +++- 3 files changed, 48 insertions(+), 30 deletions(-) diff --git a/src/main/java/net/runelite/cache/renderable/RGBSprite.java b/src/main/java/net/runelite/cache/renderable/RGBSprite.java index 8a7c668ad3..488cea9a83 100644 --- a/src/main/java/net/runelite/cache/renderable/RGBSprite.java +++ b/src/main/java/net/runelite/cache/renderable/RGBSprite.java @@ -1,15 +1,15 @@ -package com.osrs.suite.cache.renderable; +package net.runelite.cache.renderable; -import com.alex.store.Store; -import com.osrs.suite.cache.definitions.SpriteDefinition; import java.awt.*; import java.awt.image.*; +import net.runelite.cache.definitions.SpriteDefinition; +import net.runelite.cache.fs.Store; /** * Created by Allen Kinzalow on 3/14/2015. */ -public class RGBSprite extends Rasterizer2D { +public class RGBSprite /*extends Rasterizer2D*/ { public int offsetY; public int spriteWidth; @@ -19,29 +19,29 @@ public class RGBSprite extends Rasterizer2D { public int maxWidth; public int[] pixels; - public static RGBSprite getRGBSprite(Store store, int archiveId, int fileId, byte var3) { - if(!SpriteDefinition.loadPaletteSprite(store, archiveId, fileId, -1593817854)) { - return null; - } else { - RGBSprite sprite = new RGBSprite(); - sprite.maxWidth = SpriteDefinition.loadedSpriteMaxWidth; - sprite.maxHeight = SpriteDefinition.loadedSpriteMaxHeight; - sprite.offsetX = SpriteDefinition.loadedSpriteOffsetX[0]; - sprite.offsetY = SpriteDefinition.loadedSpriteOffsetY[0]; - sprite.spriteWidth = SpriteDefinition.loadedSpriteWidth[0]; - sprite.spriteHeight = SpriteDefinition.loadedSpriteHeight[0]; - int dimmension = sprite.spriteWidth * sprite.spriteHeight; - byte[] var6 = SpriteDefinition.loadedSpritePixels[0]; - sprite.pixels = new int[dimmension]; - - for(int pos = 0; pos < dimmension; ++pos) { - sprite.pixels[pos] = SpriteDefinition.loadedPalette[var6[pos] & 255]; - } - - SpriteDefinition.resetLastPaletteValues(); - return sprite; - } - } +// public static RGBSprite getRGBSprite(Store store, int archiveId, int fileId, byte var3) { +// if(!SpriteDefinition.loadPaletteSprite(store, archiveId, fileId, -1593817854)) { +// return null; +// } else { +// RGBSprite sprite = new RGBSprite(); +// sprite.maxWidth = SpriteDefinition.loadedSpriteMaxWidth; +// sprite.maxHeight = SpriteDefinition.loadedSpriteMaxHeight; +// sprite.offsetX = SpriteDefinition.loadedSpriteOffsetX[0]; +// sprite.offsetY = SpriteDefinition.loadedSpriteOffsetY[0]; +// sprite.spriteWidth = SpriteDefinition.loadedSpriteWidth[0]; +// sprite.spriteHeight = SpriteDefinition.loadedSpriteHeight[0]; +// int dimmension = sprite.spriteWidth * sprite.spriteHeight; +// byte[] var6 = SpriteDefinition.loadedSpritePixels[0]; +// sprite.pixels = new int[dimmension]; +// +// for(int pos = 0; pos < dimmension; ++pos) { +// sprite.pixels[pos] = SpriteDefinition.loadedPalette[var6[pos] & 255]; +// } +// +// SpriteDefinition.resetLastPaletteValues(); +// return sprite; +// } +// } public static RGBSprite getRGBSprite(int index) { RGBSprite sprite = new RGBSprite(); @@ -94,6 +94,7 @@ public class RGBSprite extends Rasterizer2D { return bufferedImage; } + /* void method2741(int var1, int var2, int var3, int var4, int var5, int var6) { if(var6 != 0) { var1 -= this.offsetX << 4; @@ -569,6 +570,7 @@ public class RGBSprite extends Rasterizer2D { } } } + */ public RGBSprite(int var1, int var2) { this.pixels = new int[var1 * var2]; @@ -578,6 +580,7 @@ public class RGBSprite extends Rasterizer2D { this.offsetX = 0; } + /* public RGBSprite method2743() { RGBSprite var1 = new RGBSprite(this.spriteWidth, this.spriteHeight); var1.maxWidth = this.maxWidth; @@ -1193,7 +1196,9 @@ public class RGBSprite extends Rasterizer2D { } + */ RGBSprite() {} + /* static void method2770(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { int var9 = -(var5 >> 2); @@ -1244,7 +1249,7 @@ public class RGBSprite extends Rasterizer2D { var3 += var8; } - } + }*/ /*public void method2778(PaletteSprite var1, int var2, int var3) { if(bottomX - topX == var1.paletteSpriteWidth && bottomY - topY == var1.paletteSpriteHeight) { @@ -1298,6 +1303,7 @@ public class RGBSprite extends Rasterizer2D { } }*/ + /* public void method2782(int var1) { if(this.spriteWidth != this.maxWidth || this.spriteHeight != this.maxHeight) { int var3 = var1; @@ -1428,6 +1434,7 @@ public class RGBSprite extends Rasterizer2D { this.pixels = var1; this.offsetX = this.maxWidth - this.spriteWidth - this.offsetX; } + */ public RGBSprite(byte[] var1, Component var2) { try { diff --git a/src/test/java/net/runelite/cache/StoreLocation.java b/src/test/java/net/runelite/cache/StoreLocation.java index 4d0b08c945..58a8aae92d 100644 --- a/src/test/java/net/runelite/cache/StoreLocation.java +++ b/src/test/java/net/runelite/cache/StoreLocation.java @@ -4,5 +4,5 @@ import java.io.File; public class StoreLocation { - public static final File LOCATION = new File("c:/rs/cache"); + public static final File LOCATION = new File("d:/rs/07/cache"); } \ No newline at end of file diff --git a/src/test/java/net/runelite/cache/loaders/SpriteLoaderTest.java b/src/test/java/net/runelite/cache/loaders/SpriteLoaderTest.java index 6bc0960123..29abccedf4 100644 --- a/src/test/java/net/runelite/cache/loaders/SpriteLoaderTest.java +++ b/src/test/java/net/runelite/cache/loaders/SpriteLoaderTest.java @@ -1,7 +1,9 @@ package net.runelite.cache.loaders; +import java.awt.image.BufferedImage; import java.io.IOException; import java.util.List; +import javax.imageio.ImageIO; import net.runelite.cache.IndexType; import net.runelite.cache.StoreLocation; import net.runelite.cache.definitions.SpriteDefinition; @@ -10,6 +12,7 @@ import net.runelite.cache.fs.File; import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Store; import net.runelite.cache.io.InputStream; +import net.runelite.cache.renderable.RGBSprite; import org.junit.Assert; import org.junit.Test; @@ -37,8 +40,16 @@ public class SpriteLoaderTest SpriteDefinition def = new SpriteDefinition(42); def.decode(new InputStream(contents)); - SpriteDefinition spr[] = SpriteDefinition.loadPaletteSpriteSet(); + RGBSprite sp = RGBSprite.getRGBSprite(0); + if (sp.spriteHeight <= 0 || sp.spriteWidth <= 0) + continue; + BufferedImage image = sp.getBufferedImage(); + java.io.File targ = new java.io.File(base, "sprites/" + a.getArchiveId() + ".png"); + targ.mkdirs(); + ImageIO.write(image, "png", targ); + //SpriteDefinition spr[] = SpriteDefinition.loadPaletteSpriteSet(); int i =5; + //break; } } }