From 14069bde0398152a68e7d3b487b7e143377b4c69 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 18 May 2024 09:02:48 -0400 Subject: [PATCH] cache: update worldmap dumper test for new index --- .../java/net/runelite/cache/IndexType.java | 1 - .../cache/definitions/WorldMapDefinition.java | 2 +- .../definitions/loaders/WorldMapLoader.java | 18 ++---------------- .../net/runelite/cache/WorldMapDumperTest.java | 4 ++-- 4 files changed, 5 insertions(+), 20 deletions(-) diff --git a/cache/src/main/java/net/runelite/cache/IndexType.java b/cache/src/main/java/net/runelite/cache/IndexType.java index f7a1b600e93..b0b5ca9478c 100644 --- a/cache/src/main/java/net/runelite/cache/IndexType.java +++ b/cache/src/main/java/net/runelite/cache/IndexType.java @@ -43,7 +43,6 @@ public enum IndexType FONTS(13), MUSIC_SAMPLES(14), MUSIC_PATCHES(15), - WORLDMAP_OLD(16), // looks unused WORLDMAP_GEOGRAPHY(18), WORLDMAP(19), WORLDMAP_GROUND(20), 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 30c61f73b4b..70404f30ade 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/WorldMapDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/WorldMapDefinition.java @@ -39,7 +39,7 @@ public class WorldMapDefinition public int field454; public int field456; public boolean isSurface; - public List regionList; + public List regionList; public String safeName; public Position position; public int field463; diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/WorldMapLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/WorldMapLoader.java index 55bc6af71e5..be7fbaf37da 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/WorldMapLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/WorldMapLoader.java @@ -46,24 +46,14 @@ public WorldMapDefinition load(byte[] b, int fileId) def.name = in.readString(); int packedPos = in.readInt(); - if (packedPos == -1) - { - def.position = new Position(-1, -1, -1); - } - else - { - int y = packedPos >> 28 & 3; - int x = packedPos >> 14 & 16383; - int z = packedPos & 16383; - def.position = new Position(x, y, z); - } + def.position = Position.fromPacked(packedPos); def.field450 = in.readInt(); in.readUnsignedByte(); def.isSurface = in.readUnsignedByte() == 1; def.defaultZoom = in.readUnsignedByte(); int var3 = in.readUnsignedByte(); - def.regionList = new LinkedList(); + def.regionList = new LinkedList<>(); for (int var4 = 0; var4 < var3; ++var4) { @@ -76,10 +66,6 @@ public WorldMapDefinition load(byte[] b, int fileId) private WorldMapTypeBase loadType(InputStream var1) { int var2 = var1.readUnsignedByte(); - // field397 = new class27(1, (byte)0); - // field390 = new class27(2, (byte)1); - // field399 = new class27(3, (byte)2); - // field393 = new class27(0, (byte)3); WorldMapTypeBase base; switch (var2) { diff --git a/cache/src/test/java/net/runelite/cache/WorldMapDumperTest.java b/cache/src/test/java/net/runelite/cache/WorldMapDumperTest.java index 1f3a8607af2..a82cd02024e 100644 --- a/cache/src/test/java/net/runelite/cache/WorldMapDumperTest.java +++ b/cache/src/test/java/net/runelite/cache/WorldMapDumperTest.java @@ -66,8 +66,8 @@ public void extract() throws IOException store.load(); Storage storage = store.getStorage(); - Index index = store.getIndex(IndexType.WORLDMAP_OLD); - Archive archive = index.getArchive(0); // there is also archive 1/2, but their data format is not this + Index index = store.getIndex(IndexType.WORLDMAP); + Archive archive = index.findArchiveByName("details"); byte[] archiveData = storage.loadArchive(archive); ArchiveFiles files = archive.getFiles(archiveData);