Test exports png files ok, need to clean this up as it is mostly ripped from os cache suite

This commit is contained in:
Adam
2015-11-12 19:01:48 -05:00
parent a312edd581
commit 1a8e11b7f9
3 changed files with 48 additions and 30 deletions

View File

@@ -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.*;
import java.awt.image.*; import java.awt.image.*;
import net.runelite.cache.definitions.SpriteDefinition;
import net.runelite.cache.fs.Store;
/** /**
* Created by Allen Kinzalow on 3/14/2015. * Created by Allen Kinzalow on 3/14/2015.
*/ */
public class RGBSprite extends Rasterizer2D { public class RGBSprite /*extends Rasterizer2D*/ {
public int offsetY; public int offsetY;
public int spriteWidth; public int spriteWidth;
@@ -19,29 +19,29 @@ public class RGBSprite extends Rasterizer2D {
public int maxWidth; public int maxWidth;
public int[] pixels; public int[] pixels;
public static RGBSprite getRGBSprite(Store store, int archiveId, int fileId, byte var3) { // public static RGBSprite getRGBSprite(Store store, int archiveId, int fileId, byte var3) {
if(!SpriteDefinition.loadPaletteSprite(store, archiveId, fileId, -1593817854)) { // if(!SpriteDefinition.loadPaletteSprite(store, archiveId, fileId, -1593817854)) {
return null; // return null;
} else { // } else {
RGBSprite sprite = new RGBSprite(); // RGBSprite sprite = new RGBSprite();
sprite.maxWidth = SpriteDefinition.loadedSpriteMaxWidth; // sprite.maxWidth = SpriteDefinition.loadedSpriteMaxWidth;
sprite.maxHeight = SpriteDefinition.loadedSpriteMaxHeight; // sprite.maxHeight = SpriteDefinition.loadedSpriteMaxHeight;
sprite.offsetX = SpriteDefinition.loadedSpriteOffsetX[0]; // sprite.offsetX = SpriteDefinition.loadedSpriteOffsetX[0];
sprite.offsetY = SpriteDefinition.loadedSpriteOffsetY[0]; // sprite.offsetY = SpriteDefinition.loadedSpriteOffsetY[0];
sprite.spriteWidth = SpriteDefinition.loadedSpriteWidth[0]; // sprite.spriteWidth = SpriteDefinition.loadedSpriteWidth[0];
sprite.spriteHeight = SpriteDefinition.loadedSpriteHeight[0]; // sprite.spriteHeight = SpriteDefinition.loadedSpriteHeight[0];
int dimmension = sprite.spriteWidth * sprite.spriteHeight; // int dimmension = sprite.spriteWidth * sprite.spriteHeight;
byte[] var6 = SpriteDefinition.loadedSpritePixels[0]; // byte[] var6 = SpriteDefinition.loadedSpritePixels[0];
sprite.pixels = new int[dimmension]; // sprite.pixels = new int[dimmension];
//
for(int pos = 0; pos < dimmension; ++pos) { // for(int pos = 0; pos < dimmension; ++pos) {
sprite.pixels[pos] = SpriteDefinition.loadedPalette[var6[pos] & 255]; // sprite.pixels[pos] = SpriteDefinition.loadedPalette[var6[pos] & 255];
} // }
//
SpriteDefinition.resetLastPaletteValues(); // SpriteDefinition.resetLastPaletteValues();
return sprite; // return sprite;
} // }
} // }
public static RGBSprite getRGBSprite(int index) { public static RGBSprite getRGBSprite(int index) {
RGBSprite sprite = new RGBSprite(); RGBSprite sprite = new RGBSprite();
@@ -94,6 +94,7 @@ public class RGBSprite extends Rasterizer2D {
return bufferedImage; return bufferedImage;
} }
/*
void method2741(int var1, int var2, int var3, int var4, int var5, int var6) { void method2741(int var1, int var2, int var3, int var4, int var5, int var6) {
if(var6 != 0) { if(var6 != 0) {
var1 -= this.offsetX << 4; var1 -= this.offsetX << 4;
@@ -569,6 +570,7 @@ public class RGBSprite extends Rasterizer2D {
} }
} }
} }
*/
public RGBSprite(int var1, int var2) { public RGBSprite(int var1, int var2) {
this.pixels = new int[var1 * var2]; this.pixels = new int[var1 * var2];
@@ -578,6 +580,7 @@ public class RGBSprite extends Rasterizer2D {
this.offsetX = 0; this.offsetX = 0;
} }
/*
public RGBSprite method2743() { public RGBSprite method2743() {
RGBSprite var1 = new RGBSprite(this.spriteWidth, this.spriteHeight); RGBSprite var1 = new RGBSprite(this.spriteWidth, this.spriteHeight);
var1.maxWidth = this.maxWidth; var1.maxWidth = this.maxWidth;
@@ -1193,7 +1196,9 @@ public class RGBSprite extends Rasterizer2D {
} }
*/
RGBSprite() {} RGBSprite() {}
/*
static void method2770(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { 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); int var9 = -(var5 >> 2);
@@ -1244,7 +1249,7 @@ public class RGBSprite extends Rasterizer2D {
var3 += var8; var3 += var8;
} }
} }*/
/*public void method2778(PaletteSprite var1, int var2, int var3) { /*public void method2778(PaletteSprite var1, int var2, int var3) {
if(bottomX - topX == var1.paletteSpriteWidth && bottomY - topY == var1.paletteSpriteHeight) { if(bottomX - topX == var1.paletteSpriteWidth && bottomY - topY == var1.paletteSpriteHeight) {
@@ -1298,6 +1303,7 @@ public class RGBSprite extends Rasterizer2D {
} }
}*/ }*/
/*
public void method2782(int var1) { public void method2782(int var1) {
if(this.spriteWidth != this.maxWidth || this.spriteHeight != this.maxHeight) { if(this.spriteWidth != this.maxWidth || this.spriteHeight != this.maxHeight) {
int var3 = var1; int var3 = var1;
@@ -1428,6 +1434,7 @@ public class RGBSprite extends Rasterizer2D {
this.pixels = var1; this.pixels = var1;
this.offsetX = this.maxWidth - this.spriteWidth - this.offsetX; this.offsetX = this.maxWidth - this.spriteWidth - this.offsetX;
} }
*/
public RGBSprite(byte[] var1, Component var2) { public RGBSprite(byte[] var1, Component var2) {
try { try {

View File

@@ -4,5 +4,5 @@ import java.io.File;
public class StoreLocation public class StoreLocation
{ {
public static final File LOCATION = new File("c:/rs/cache"); public static final File LOCATION = new File("d:/rs/07/cache");
} }

View File

@@ -1,7 +1,9 @@
package net.runelite.cache.loaders; package net.runelite.cache.loaders;
import java.awt.image.BufferedImage;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import javax.imageio.ImageIO;
import net.runelite.cache.IndexType; import net.runelite.cache.IndexType;
import net.runelite.cache.StoreLocation; import net.runelite.cache.StoreLocation;
import net.runelite.cache.definitions.SpriteDefinition; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.io.InputStream; import net.runelite.cache.io.InputStream;
import net.runelite.cache.renderable.RGBSprite;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
@@ -37,8 +40,16 @@ public class SpriteLoaderTest
SpriteDefinition def = new SpriteDefinition(42); SpriteDefinition def = new SpriteDefinition(42);
def.decode(new InputStream(contents)); 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; int i =5;
//break;
} }
} }
} }