diff --git a/cache/pom.xml b/cache/pom.xml index 88b8f1d5e4..4853a5e004 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -83,6 +83,12 @@ commons-cli 1.3.1 + + org.projectlombok + lombok + 1.16.18 + provided + junit diff --git a/cache/src/main/java/net/runelite/cache/InterfaceManager.java b/cache/src/main/java/net/runelite/cache/InterfaceManager.java index d9e22139ec..ccfcfedd3b 100644 --- a/cache/src/main/java/net/runelite/cache/InterfaceManager.java +++ b/cache/src/main/java/net/runelite/cache/InterfaceManager.java @@ -27,8 +27,6 @@ package net.runelite.cache; import java.io.File; import java.io.IOException; import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.List; import net.runelite.cache.definitions.InterfaceDefinition; import net.runelite.cache.definitions.exporters.InterfaceExporter; import net.runelite.cache.definitions.loaders.InterfaceLoader; @@ -43,7 +41,7 @@ import net.runelite.cache.util.Namer; public class InterfaceManager { private final Store store; - private final List interfaces = new ArrayList<>(); + private InterfaceDefinition[][] interfaces; private final Namer namer = new Namer(); public InterfaceManager(Store store) @@ -58,12 +56,21 @@ public class InterfaceManager Storage storage = store.getStorage(); Index index = store.getIndex(IndexType.INTERFACES); + int max = index.getArchives().stream().mapToInt(a -> a.getArchiveId()).max().getAsInt(); + interfaces = new InterfaceDefinition[max + 1][]; + for (Archive archive : index.getArchives()) { int archiveId = archive.getArchiveId(); byte[] archiveData = storage.loadArchive(archive); ArchiveFiles files = archive.getFiles(archiveData); + InterfaceDefinition[] ifaces = interfaces[archiveId]; + if (ifaces == null) + { + ifaces = interfaces[archiveId] = new InterfaceDefinition[archive.getFileData().length]; + } + for (FSFile file : files.getFiles()) { int fileId = file.getFileId(); @@ -71,12 +78,32 @@ public class InterfaceManager int widgetId = (archiveId << 16) + fileId; InterfaceDefinition iface = loader.load(widgetId, file.getContents()); - interfaces.add(iface); + ifaces[fileId] = iface; } } } - public List getItems() + public int getNumInterfaceGroups() + { + return interfaces.length; + } + + public int getNumChildren(int groupId) + { + return interfaces[groupId].length; + } + + public InterfaceDefinition[] getIntefaceGroup(int groupId) + { + return interfaces[groupId]; + } + + public InterfaceDefinition getInterface(int groupId, int childId) + { + return interfaces[groupId][childId]; + } + + public InterfaceDefinition[][] getInterfaces() { return interfaces; } @@ -85,12 +112,28 @@ public class InterfaceManager { out.mkdirs(); - for (InterfaceDefinition def : interfaces) + for (InterfaceDefinition[] defs : interfaces) { - InterfaceExporter exporter = new InterfaceExporter(def); + if (defs == null) + { + continue; + } - File targ = new File(out, def.id + ".json"); - exporter.exportTo(targ); + for (InterfaceDefinition def : defs) + { + if (def == null) + { + continue; + } + + InterfaceExporter exporter = new InterfaceExporter(def); + + File folder = new File(out, "" + (def.id >>> 16)); + folder.mkdirs(); + + File targ = new File(folder, (def.id & 0xffff) + ".json"); + exporter.exportTo(targ); + } } } @@ -105,20 +148,27 @@ public class InterfaceManager fw.println("package net.runelite.api;"); fw.println(""); fw.println("public final class InterfaceID {"); - for (InterfaceDefinition def : interfaces) + for (InterfaceDefinition[] defs : interfaces) { - if (def.name == null || def.name.equalsIgnoreCase("NULL")) + if (defs == null) { continue; } - - String name = namer.name(def.name, def.id); - if (name == null) + for (InterfaceDefinition def : defs) { - continue; - } + if (def == null || def.name == null || def.name.equalsIgnoreCase("NULL")) + { + continue; + } - fw.println(" public static final int " + name + " = " + def.id + ";"); + String name = namer.name(def.name, def.id); + if (name == null) + { + continue; + } + + fw.println(" public static final int " + name + " = " + def.id + ";"); + } } fw.println("}"); } diff --git a/cache/src/main/java/net/runelite/cache/ItemManager.java b/cache/src/main/java/net/runelite/cache/ItemManager.java index 9d11ec1668..ff24a24203 100644 --- a/cache/src/main/java/net/runelite/cache/ItemManager.java +++ b/cache/src/main/java/net/runelite/cache/ItemManager.java @@ -27,8 +27,10 @@ package net.runelite.cache; import java.io.File; import java.io.IOException; import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.List; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import net.runelite.cache.definitions.ItemDefinition; import net.runelite.cache.definitions.exporters.ItemExporter; import net.runelite.cache.definitions.loaders.ItemLoader; @@ -43,7 +45,7 @@ import net.runelite.cache.util.Namer; public class ItemManager { private final Store store; - private final List items = new ArrayList<>(); + private final Map items = new HashMap<>(); private final Namer namer = new Namer(); public ItemManager(Store store) @@ -65,20 +67,25 @@ public class ItemManager for (FSFile f : files.getFiles()) { ItemDefinition def = loader.load(f.getFileId(), f.getContents()); - items.add(def); + items.put(f.getFileId(), def); } } - public List getItems() + public Collection getItems() { - return items; + return Collections.unmodifiableCollection(items.values()); + } + + public ItemDefinition getItem(int itemId) + { + return items.get(itemId); } public void export(File out) throws IOException { out.mkdirs(); - for (ItemDefinition def : items) + for (ItemDefinition def : items.values()) { ItemExporter exporter = new ItemExporter(def); @@ -99,7 +106,7 @@ public class ItemManager fw.println(""); fw.println("public final class ItemID"); fw.println("{"); - for (ItemDefinition def : items) + for (ItemDefinition def : items.values()) { if (def.name.equalsIgnoreCase("NULL")) { diff --git a/cache/src/main/java/net/runelite/cache/ObjectManager.java b/cache/src/main/java/net/runelite/cache/ObjectManager.java index 5edfdfd718..a14461f322 100644 --- a/cache/src/main/java/net/runelite/cache/ObjectManager.java +++ b/cache/src/main/java/net/runelite/cache/ObjectManager.java @@ -28,6 +28,7 @@ import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import net.runelite.cache.definitions.ObjectDefinition; import net.runelite.cache.definitions.exporters.ObjectExporter; @@ -71,7 +72,7 @@ public class ObjectManager public List getObjects() { - return objects; + return Collections.unmodifiableList(objects); } public void dump(File out) throws IOException diff --git a/cache/src/main/java/net/runelite/cache/definitions/EnumDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/EnumDefinition.java index 8d7fc79f42..d2fd425584 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/EnumDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/EnumDefinition.java @@ -25,6 +25,9 @@ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class EnumDefinition { private int id; @@ -36,94 +39,4 @@ public class EnumDefinition private int size; private int[] keys; private String[] stringVals; - - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public int[] getIntVals() - { - return intVals; - } - - public void setIntVals(int[] intVals) - { - this.intVals = intVals; - } - - public char getKeyType() - { - return keyType; - } - - public void setKeyType(char keyType) - { - this.keyType = keyType; - } - - public char getValType() - { - return valType; - } - - public void setValType(char valType) - { - this.valType = valType; - } - - public String getDefaultString() - { - return defaultString; - } - - public void setDefaultString(String defaultString) - { - this.defaultString = defaultString; - } - - public int getDefaultInt() - { - return defaultInt; - } - - public void setDefaultInt(int defaultInt) - { - this.defaultInt = defaultInt; - } - - public int getSize() - { - return size; - } - - public void setSize(int size) - { - this.size = size; - } - - public int[] getKeys() - { - return keys; - } - - public void setKeys(int[] keys) - { - this.keys = keys; - } - - public String[] getStringVals() - { - return stringVals; - } - - public void setStringVals(String[] stringVals) - { - this.stringVals = stringVals; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/InventoryDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/InventoryDefinition.java index 7d8bd28bed..d8f383ac58 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/InventoryDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/InventoryDefinition.java @@ -26,5 +26,6 @@ package net.runelite.cache.definitions; public class InventoryDefinition { + public int id; public int size; } diff --git a/cache/src/main/java/net/runelite/cache/definitions/ItemDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/ItemDefinition.java index 775b8936f1..7c78b3dcf4 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/ItemDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/ItemDefinition.java @@ -25,10 +25,12 @@ package net.runelite.cache.definitions; import java.util.Map; +import lombok.RequiredArgsConstructor; +@RequiredArgsConstructor public class ItemDefinition { - public int id; + public final int id; public String name = "null"; @@ -99,9 +101,4 @@ public class ItemDefinition public int placeholderTemplateId = -1; public Map params = null; - - public ItemDefinition(int definitionID) - { - this.id = definitionID; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/KitDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/KitDefinition.java index e61048c154..8db2095eb3 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/KitDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/KitDefinition.java @@ -24,8 +24,13 @@ */ package net.runelite.cache.definitions; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor public class KitDefinition { + @Getter private final int id; public short[] recolorToReplace; public short[] recolorToFind; @@ -38,14 +43,4 @@ public class KitDefinition -1, -1, -1, -1, -1 }; public boolean nonSelectable = false; - - public KitDefinition(int id) - { - this.id = id; - } - - public int getId() - { - return id; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/NpcDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/NpcDefinition.java index d0a7da2f07..9696c6a281 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/NpcDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/NpcDefinition.java @@ -26,11 +26,13 @@ package net.runelite.cache.definitions; import java.util.Map; +import lombok.RequiredArgsConstructor; +@RequiredArgsConstructor public class NpcDefinition { - public int id; + public final int id; public short[] recolorToFind; public int anInt2156 = 32; public String name = "null"; @@ -63,9 +65,4 @@ public class NpcDefinition public int anInt2189 = -1; public boolean aBool2190 = false; public Map params = null; - - public NpcDefinition(int definitionID) - { - this.id = definitionID; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java index 35e6d7ae4c..9512cb32f4 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java @@ -26,7 +26,9 @@ package net.runelite.cache.definitions; import java.util.Map; +import lombok.Data; +@Data public class ObjectDefinition { private int id; @@ -73,444 +75,4 @@ public class ObjectDefinition private int anInt2113 = 0; private boolean blocksProjectile = true; private Map params = null; - - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public short[] getRetextureToFind() - { - return retextureToFind; - } - - public void setRetextureToFind(short[] retextureToFind) - { - this.retextureToFind = retextureToFind; - } - - public int getAnInt2069() - { - return anInt2069; - } - - public void setAnInt2069(int anInt2069) - { - this.anInt2069 = anInt2069; - } - - public boolean isIsSolid() - { - return isSolid; - } - - public void setIsSolid(boolean isSolid) - { - this.isSolid = isSolid; - } - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public int[] getObjectModels() - { - return objectModels; - } - - public void setObjectModels(int[] objectModels) - { - this.objectModels = objectModels; - } - - public int[] getObjectTypes() - { - return objectTypes; - } - - public void setObjectTypes(int[] objectTypes) - { - this.objectTypes = objectTypes; - } - - public short[] getRecolorToFind() - { - return recolorToFind; - } - - public void setRecolorToFind(short[] recolorToFind) - { - this.recolorToFind = recolorToFind; - } - - public int getMapAreaId() - { - return mapAreaId; - } - - public void setMapAreaId(int mapAreaId) - { - this.mapAreaId = mapAreaId; - } - - public short[] getTextureToReplace() - { - return textureToReplace; - } - - public void setTextureToReplace(short[] textureToReplace) - { - this.textureToReplace = textureToReplace; - } - - public int getSizeX() - { - return sizeX; - } - - public void setSizeX(int sizeX) - { - this.sizeX = sizeX; - } - - public int getSizeY() - { - return sizeY; - } - - public void setSizeY(int sizeY) - { - this.sizeY = sizeY; - } - - public int getAnInt2083() - { - return anInt2083; - } - - public void setAnInt2083(int anInt2083) - { - this.anInt2083 = anInt2083; - } - - public int[] getAnIntArray2084() - { - return anIntArray2084; - } - - public void setAnIntArray2084(int[] anIntArray2084) - { - this.anIntArray2084 = anIntArray2084; - } - - public int getOffsetX() - { - return offsetX; - } - - public void setOffsetX(int offsetX) - { - this.offsetX = offsetX; - } - - public boolean isNonFlatShading() - { - return nonFlatShading; - } - - public void setNonFlatShading(boolean nonFlatShading) - { - this.nonFlatShading = nonFlatShading; - } - - public int getAnInt2088() - { - return anInt2088; - } - - public void setAnInt2088(int anInt2088) - { - this.anInt2088 = anInt2088; - } - - public int getAnimationID() - { - return animationID; - } - - public void setAnimationID(int animationID) - { - this.animationID = animationID; - } - - public int getVarpID() - { - return varpID; - } - - public void setVarpID(int varpID) - { - this.varpID = varpID; - } - - public int getAmbient() - { - return ambient; - } - - public void setAmbient(int ambient) - { - this.ambient = ambient; - } - - public int getContrast() - { - return contrast; - } - - public void setContrast(int contrast) - { - this.contrast = contrast; - } - - public String[] getActions() - { - return actions; - } - - public void setActions(String[] actions) - { - this.actions = actions; - } - - public int getAnInt2094() - { - return anInt2094; - } - - public void setAnInt2094(int anInt2094) - { - this.anInt2094 = anInt2094; - } - - public int getMapSceneID() - { - return mapSceneID; - } - - public void setMapSceneID(int mapSceneID) - { - this.mapSceneID = mapSceneID; - } - - public short[] getRecolorToReplace() - { - return recolorToReplace; - } - - public void setRecolorToReplace(short[] recolorToReplace) - { - this.recolorToReplace = recolorToReplace; - } - - public boolean isaBool2097() - { - return aBool2097; - } - - public void setaBool2097(boolean aBool2097) - { - this.aBool2097 = aBool2097; - } - - public int getModelSizeX() - { - return modelSizeX; - } - - public void setModelSizeX(int modelSizeX) - { - this.modelSizeX = modelSizeX; - } - - public int getModelSizeHeight() - { - return modelSizeHeight; - } - - public void setModelSizeHeight(int modelSizeHeight) - { - this.modelSizeHeight = modelSizeHeight; - } - - public int getModelSizeY() - { - return modelSizeY; - } - - public void setModelSizeY(int modelSizeY) - { - this.modelSizeY = modelSizeY; - } - - public int getObjectID() - { - return objectID; - } - - public void setObjectID(int objectID) - { - this.objectID = objectID; - } - - public int getOffsetHeight() - { - return offsetHeight; - } - - public void setOffsetHeight(int offsetHeight) - { - this.offsetHeight = offsetHeight; - } - - public int getOffsetY() - { - return offsetY; - } - - public void setOffsetY(int offsetY) - { - this.offsetY = offsetY; - } - - public boolean isaBool2104() - { - return aBool2104; - } - - public void setaBool2104(boolean aBool2104) - { - this.aBool2104 = aBool2104; - } - - public int getAnInt2105() - { - return anInt2105; - } - - public void setAnInt2105(int anInt2105) - { - this.anInt2105 = anInt2105; - } - - public int getAnInt2106() - { - return anInt2106; - } - - public void setAnInt2106(int anInt2106) - { - this.anInt2106 = anInt2106; - } - - public int[] getConfigChangeDest() - { - return configChangeDest; - } - - public void setConfigChangeDest(int[] configChangeDest) - { - this.configChangeDest = configChangeDest; - } - - public boolean isRotated() - { - return isRotated; - } - - public void setIsRotated(boolean isRotated) - { - this.isRotated = isRotated; - } - - public int getConfigId() - { - return configId; - } - - public void setConfigId(int configId) - { - this.configId = configId; - } - - public int getAnInt2110() - { - return anInt2110; - } - - public void setAnInt2110(int anInt2110) - { - this.anInt2110 = anInt2110; - } - - public boolean isaBool2111() - { - return aBool2111; - } - - public void setaBool2111(boolean aBool2111) - { - this.aBool2111 = aBool2111; - } - - public int getAnInt2112() - { - return anInt2112; - } - - public void setAnInt2112(int anInt2112) - { - this.anInt2112 = anInt2112; - } - - public int getAnInt2113() - { - return anInt2113; - } - - public void setAnInt2113(int anInt2113) - { - this.anInt2113 = anInt2113; - } - - public boolean isaBool2114() - { - return aBool2114; - } - - public void setaBool2114(boolean aBool2114) - { - this.aBool2114 = aBool2114; - } - - public Map getParams() - { - return params; - } - - public void setParams(final Map params) - { - this.params = params; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/OverlayDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/OverlayDefinition.java index 46e8dfca98..02be73a73d 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/OverlayDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/OverlayDefinition.java @@ -25,6 +25,9 @@ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class OverlayDefinition { private int id; @@ -32,54 +35,4 @@ public class OverlayDefinition private int texture = -1; private int secondaryRgbColor = -1; private boolean hideUnderlay = true; - - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public int getRgbColor() - { - return rgbColor; - } - - public void setRgbColor(int rgbColor) - { - this.rgbColor = rgbColor; - } - - public int getTexture() - { - return texture; - } - - public void setTexture(int texture) - { - this.texture = texture; - } - - public int getSecondaryRgbColor() - { - return secondaryRgbColor; - } - - public void setSecondaryRgbColor(int secondaryRgbColor) - { - this.secondaryRgbColor = secondaryRgbColor; - } - - public boolean isHideUnderlay() - { - return hideUnderlay; - } - - public void setHideUnderlay(boolean hideUnderlay) - { - this.hideUnderlay = hideUnderlay; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/ScriptDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/ScriptDefinition.java index 77a21c253a..cb57851b8c 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/ScriptDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/ScriptDefinition.java @@ -25,7 +25,9 @@ package net.runelite.cache.definitions; import java.util.Map; +import lombok.Data; +@Data public class ScriptDefinition { private int id; @@ -37,94 +39,4 @@ public class ScriptDefinition private int localIntCount; private int localStringCount; private Map[] switches; - - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public int getIntStackCount() - { - return intStackCount; - } - - public void setIntStackCount(int intStackCount) - { - this.intStackCount = intStackCount; - } - - public int[] getInstructions() - { - return instructions; - } - - public void setInstructions(int[] instructions) - { - this.instructions = instructions; - } - - public int[] getIntOperands() - { - return intOperands; - } - - public void setIntOperands(int[] intOperands) - { - this.intOperands = intOperands; - } - - public String[] getStringOperands() - { - return stringOperands; - } - - public void setStringOperands(String[] stringOperands) - { - this.stringOperands = stringOperands; - } - - public int getLocalStringCount() - { - return localStringCount; - } - - public void setLocalStringCount(int localStringCount) - { - this.localStringCount = localStringCount; - } - - public int getStringStackCount() - { - return stringStackCount; - } - - public void setStringStackCount(int stringStackCount) - { - this.stringStackCount = stringStackCount; - } - - public int getLocalIntCount() - { - return localIntCount; - } - - public void setLocalIntCount(int localIntCount) - { - this.localIntCount = localIntCount; - } - - public Map[] getSwitches() - { - return switches; - } - - public void setSwitches(Map[] switches) - { - this.switches = switches; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/SequenceDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/SequenceDefinition.java index 1e60857963..7f29ee7b49 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/SequenceDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/SequenceDefinition.java @@ -24,8 +24,13 @@ */ package net.runelite.cache.definitions; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor public class SequenceDefinition { + @Getter private final int id; public int[] frameIDs; public int[] field3048; @@ -41,15 +46,4 @@ public class SequenceDefinition public int replyMode = 2; public int frameStep = -1; public int priority = -1; - - public SequenceDefinition(int id) - { - this.id = id; - } - - public int getId() - { - return id; - } - } diff --git a/cache/src/main/java/net/runelite/cache/definitions/SpriteDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/SpriteDefinition.java index 7cb2665d6d..49549433d9 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/SpriteDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/SpriteDefinition.java @@ -25,6 +25,9 @@ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class SpriteDefinition { private int id; @@ -36,130 +39,4 @@ public class SpriteDefinition private int[] pixels; private int maxWidth; private int maxHeight; - - @Override - public int hashCode() - { - int hash = 7; - hash = 89 * hash + this.id; - hash = 89 * hash + this.frame; - return hash; - } - - @Override - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) - { - return false; - } - final SpriteDefinition other = (SpriteDefinition) obj; - if (this.id != other.id) - { - return false; - } - if (this.frame != other.frame) - { - return false; - } - return true; - } - - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public int getFrame() - { - return frame; - } - - public void setFrame(int frame) - { - this.frame = frame; - } - - public int getOffsetX() - { - return offsetX; - } - - public void setOffsetX(int offsetX) - { - this.offsetX = offsetX; - } - - public int getOffsetY() - { - return offsetY; - } - - public void setOffsetY(int offsetY) - { - this.offsetY = offsetY; - } - - public int getWidth() - { - return width; - } - - public void setWidth(int width) - { - this.width = width; - } - - public int getHeight() - { - return height; - } - - public void setHeight(int height) - { - this.height = height; - } - - public int[] getPixels() - { - return pixels; - } - - public void setPixels(int[] pixels) - { - this.pixels = pixels; - } - - public int getMaxWidth() - { - return maxWidth; - } - - public void setMaxWidth(int maxWidth) - { - this.maxWidth = maxWidth; - } - - public int getMaxHeight() - { - return maxHeight; - } - - public void setMaxHeight(int maxHeight) - { - this.maxHeight = maxHeight; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/TextureDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/TextureDefinition.java index f7257bc9e8..da8d89738a 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/TextureDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/TextureDefinition.java @@ -25,28 +25,11 @@ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class TextureDefinition { private int id; private int[] fileIds; - - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public int[] getFileIds() - { - return fileIds; - } - - public void setFileIds(int[] fileIds) - { - this.fileIds = fileIds; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/UnderlayDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/UnderlayDefinition.java index 70d5b27b2a..ff3d6046f3 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/UnderlayDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/UnderlayDefinition.java @@ -24,28 +24,11 @@ */ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class UnderlayDefinition { private int id; private int color; - - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public int getColor() - { - return color; - } - - public void setColor(int color) - { - this.color = color; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/VarbitDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/VarbitDefinition.java index 8eac206d6e..f50ae2ddf1 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/VarbitDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/VarbitDefinition.java @@ -24,50 +24,13 @@ */ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class VarbitDefinition { private int id; private int index; private int leastSignificantBit; private int mostSignificantBit; - - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public int getIndex() - { - return index; - } - - public void setIndex(int index) - { - this.index = index; - } - - public int getLeastSignificantBit() - { - return leastSignificantBit; - } - - public void setLeastSignificantBit(int leastSignificantBit) - { - this.leastSignificantBit = leastSignificantBit; - } - - public int getMostSignificantBit() - { - return mostSignificantBit; - } - - public void setMostSignificantBit(int mostSignificantBit) - { - this.mostSignificantBit = mostSignificantBit; - } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/WorldMapDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/WorldMapDefinition.java index e7e2d68dbc..a8333263e5 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/WorldMapDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/WorldMapDefinition.java @@ -25,8 +25,10 @@ package net.runelite.cache.definitions; import java.util.List; +import lombok.Data; import net.runelite.cache.region.Position; +@Data public class WorldMapDefinition { public String name; diff --git a/cache/src/main/java/net/runelite/cache/definitions/WorldMapType1.java b/cache/src/main/java/net/runelite/cache/definitions/WorldMapType1.java index c75e23760b..15a4f3e28d 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/WorldMapType1.java +++ b/cache/src/main/java/net/runelite/cache/definitions/WorldMapType1.java @@ -24,6 +24,9 @@ */ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class WorldMapType1 implements WorldMapTypeBase { public int field424; diff --git a/cache/src/main/java/net/runelite/cache/definitions/WorldMapType2.java b/cache/src/main/java/net/runelite/cache/definitions/WorldMapType2.java index 6ff63d870d..7b5326814d 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/WorldMapType2.java +++ b/cache/src/main/java/net/runelite/cache/definitions/WorldMapType2.java @@ -24,6 +24,9 @@ */ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class WorldMapType2 implements WorldMapTypeBase { public int field510; diff --git a/cache/src/main/java/net/runelite/cache/definitions/WorldMapType3.java b/cache/src/main/java/net/runelite/cache/definitions/WorldMapType3.java index d44175864f..433c8a17fa 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/WorldMapType3.java +++ b/cache/src/main/java/net/runelite/cache/definitions/WorldMapType3.java @@ -24,6 +24,9 @@ */ package net.runelite.cache.definitions; +import lombok.Data; + +@Data public class WorldMapType3 implements WorldMapTypeBase { public int field376; diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/InventoryLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/InventoryLoader.java index b7ce49fcfb..b93cac48c0 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/InventoryLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/InventoryLoader.java @@ -29,9 +29,10 @@ import net.runelite.cache.io.InputStream; public class InventoryLoader { - public InventoryDefinition load(byte[] b) + public InventoryDefinition load(int id, byte[] b) { InventoryDefinition def = new InventoryDefinition(); + def.id = id; InputStream is = new InputStream(b); while (true) diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/ItemLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/ItemLoader.java index 408d38f370..6cb6c9bd41 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/ItemLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/ItemLoader.java @@ -101,7 +101,7 @@ public class ItemLoader { def.cost = stream.readInt(); } - else if (16 == opcode) + else if (opcode == 16) { def.members = true; } diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/NpcLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/NpcLoader.java index 1fde13e292..d0f64a7692 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/NpcLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/NpcLoader.java @@ -58,7 +58,7 @@ public class NpcLoader { int length; int index; - if (1 == opcode) + if (opcode == 1) { length = stream.readUnsignedByte(); def.models = new int[length]; @@ -69,11 +69,11 @@ public class NpcLoader } } - else if (2 == opcode) + else if (opcode == 2) { def.name = stream.readString(); } - else if (12 == opcode) + else if (opcode == 12) { def.tileSpacesOccupied = stream.readUnsignedByte(); } @@ -85,7 +85,7 @@ public class NpcLoader { def.walkAnimation = stream.readUnsignedShort(); } - else if (15 == opcode) + else if (opcode == 15) { def.anInt2165 = stream.readUnsignedShort(); } @@ -93,7 +93,7 @@ public class NpcLoader { def.anInt2189 = stream.readUnsignedShort(); } - else if (17 == opcode) + else if (opcode == 17) { def.walkAnimation = stream.readUnsignedShort(); def.rotate180Animation = stream.readUnsignedShort(); @@ -134,7 +134,7 @@ public class NpcLoader } } - else if (60 == opcode) + else if (opcode == 60) { length = stream.readUnsignedByte(); def.models_2 = new int[length]; @@ -149,15 +149,15 @@ public class NpcLoader { def.renderOnMinimap = false; } - else if (95 == opcode) + else if (opcode == 95) { def.combatLevel = stream.readUnsignedShort(); } - else if (97 == opcode) + else if (opcode == 97) { def.resizeX = stream.readUnsignedShort(); } - else if (98 == opcode) + else if (opcode == 98) { def.resizeY = stream.readUnsignedShort(); } @@ -165,11 +165,11 @@ public class NpcLoader { def.hasRenderPriority = true; } - else if (100 == opcode) + else if (opcode == 100) { def.ambient = stream.readByte(); } - else if (101 == opcode) + else if (opcode == 101) { def.contrast = stream.readByte(); } @@ -177,7 +177,7 @@ public class NpcLoader { def.headIcon = stream.readUnsignedShort(); } - else if (103 == opcode) + else if (opcode == 103) { def.anInt2156 = stream.readUnsignedShort(); } @@ -210,7 +210,7 @@ public class NpcLoader def.anIntArray2185[length + 1] = -1; } - else if (107 == opcode) + else if (opcode == 107) { def.isClickable = false; } diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java index 2f8e5ddc5a..bdcf503ceb 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java @@ -128,7 +128,7 @@ public class ObjectLoader } else if (opcode == 23) { - def.setaBool2111(true); + def.setABool2111(true); } else if (opcode == 24) { @@ -195,11 +195,11 @@ public class ObjectLoader } else if (opcode == 62) { - def.setIsRotated(true); + def.setRotated(true); } else if (opcode == 64) { - def.setaBool2097(false); + def.setABool2097(false); } else if (opcode == 65) { @@ -233,13 +233,13 @@ public class ObjectLoader { def.setOffsetY(is.readUnsignedShort()); } - else if (73 == opcode) + else if (opcode == 73) { - def.setaBool2104(true); + def.setABool2104(true); } - else if (74 == opcode) + else if (opcode == 74) { - def.setIsSolid(true); + def.setSolid(true); } else if (opcode == 75) { diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/ScriptLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/ScriptLoader.java index ba3481970e..1bb228eee9 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/ScriptLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/ScriptLoader.java @@ -28,6 +28,10 @@ import java.util.HashMap; import java.util.Map; import net.runelite.cache.definitions.ScriptDefinition; import net.runelite.cache.io.InputStream; +import static net.runelite.cache.script.Opcodes.LOAD_STRING; +import static net.runelite.cache.script.Opcodes.POP_INT; +import static net.runelite.cache.script.Opcodes.POP_STRING; +import static net.runelite.cache.script.Opcodes.RETURN; public class ScriptLoader { @@ -37,12 +41,12 @@ public class ScriptLoader InputStream in = new InputStream(b); in.setOffset(in.getLength() - 2); - int scriptEndOffset = in.readUnsignedShort(); + int switchLength = in.readUnsignedShort(); - // 2 for scriptEndOffset + the k/v data + 12 for the param/vars/stack data - int endIdx = in.getLength() - 2 - scriptEndOffset - 12; + // 2 for switchLength + the switch data + 12 for the param/vars/stack data + int endIdx = in.getLength() - 2 - switchLength - 12; in.setOffset(endIdx); - int paramCount = in.readInt(); + int numOpcodes = in.readInt(); int localIntCount = in.readUnsignedShort(); int localStringCount = in.readUnsignedShort(); int intStackCount = in.readUnsignedShort(); @@ -77,29 +81,29 @@ public class ScriptLoader in.setOffset(0); in.readStringOrNull(); - int[] instructions = new int[paramCount]; - int[] intOperands = new int[paramCount]; - String[] stringOperands = new String[paramCount]; + int[] instructions = new int[numOpcodes]; + int[] intOperands = new int[numOpcodes]; + String[] stringOperands = new String[numOpcodes]; def.setInstructions(instructions); def.setIntOperands(intOperands); def.setStringOperands(stringOperands); - int var3; - for (int var6 = 0; in.getOffset() < endIdx; instructions[var6++] = var3) + int opcode; + for (int i = 0; in.getOffset() < endIdx; instructions[i++] = opcode) { - var3 = in.readUnsignedShort(); - if (var3 == 3) + opcode = in.readUnsignedShort(); + if (opcode == LOAD_STRING) { - stringOperands[var6] = in.readString(); + stringOperands[i] = in.readString(); } - else if (var3 < 100 && 21 != var3 && 38 != var3 && 39 != var3) + else if (opcode < 100 && opcode != RETURN && opcode != POP_INT && opcode != POP_STRING) { - intOperands[var6] = in.readInt(); + intOperands[i] = in.readInt(); } else { - intOperands[var6] = in.readUnsignedByte(); + intOperands[i] = in.readUnsignedByte(); } } diff --git a/cache/src/test/java/net/runelite/cache/InventoryDumper.java b/cache/src/test/java/net/runelite/cache/InventoryDumper.java index 5a46b79b8d..4caf464141 100644 --- a/cache/src/test/java/net/runelite/cache/InventoryDumper.java +++ b/cache/src/test/java/net/runelite/cache/InventoryDumper.java @@ -75,9 +75,9 @@ public class InventoryDumper for (FSFile file : files.getFiles()) { InventoryLoader loader = new InventoryLoader(); - InventoryDefinition inv = loader.load(file.getContents()); + InventoryDefinition inv = loader.load(file.getFileId(), file.getContents()); - Files.write(gson.toJson(inv), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); + Files.write(gson.toJson(inv), new File(outDir, inv.id + ".json"), Charset.defaultCharset()); ++count; } } diff --git a/cache/src/test/resources/simplelogger.properties b/cache/src/test/resources/simplelogger.properties index 40cfffe8a7..895eeb2715 100644 --- a/cache/src/test/resources/simplelogger.properties +++ b/cache/src/test/resources/simplelogger.properties @@ -1 +1 @@ -org.slf4j.simpleLogger.defaultLogLevel=info \ No newline at end of file +org.slf4j.simpleLogger.defaultLogLevel=INFO \ No newline at end of file