From 5244775148a38d346e74a092cd25ed2264c04a36 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Tue, 9 Jul 2019 19:43:27 +0200 Subject: [PATCH] Add more script opcodes --- .../net/runelite/cache/script/Instructions.java | 16 ++++++++++++++++ .../java/net/runelite/cache/script/Opcodes.java | 16 ++++++++++++++++ .../scriptopcodes/ScriptOpcode.java | 17 ++++++++++++++++- .../src/main/java/GrandExchangeEvents.java | 2 +- runescape-client/src/main/java/ScriptEvent.java | 2 +- .../src/main/java/StructDefinition.java | 2 +- .../src/main/java/WorldMapAreaData.java | 12 ++++++------ runescape-client/src/main/java/class31.java | 2 +- runescape-client/src/main/java/class4.java | 6 +++--- runescape-client/src/main/java/class54.java | 4 ++-- .../java/net/runelite/rs/ScriptOpcodes.java | 16 ++++++++++++++++ 11 files changed, 79 insertions(+), 16 deletions(-) diff --git a/cache/src/main/java/net/runelite/cache/script/Instructions.java b/cache/src/main/java/net/runelite/cache/script/Instructions.java index a0c7b859a1..6c611d7df1 100644 --- a/cache/src/main/java/net/runelite/cache/script/Instructions.java +++ b/cache/src/main/java/net/runelite/cache/script/Instructions.java @@ -103,6 +103,7 @@ public class Instructions add(CC_RESUME_PAUSEBUTTON, "cc_resume_pausebutton"); add(CC_SETFILLCOLOUR, "cc_setfillcolour"); add(CC_SETLINEDIRECTION, "cc_setlinedirection"); + add(CC_SETMODELTRANSPARENT, "cc_setmodeltransparent"); add(CC_SETOBJECT, "cc_setobject"); add(CC_SETNPCHEAD, "cc_setnpchead"); add(CC_SETPLAYERHEAD_SELF, "cc_setplayerhead_self"); @@ -116,6 +117,12 @@ public class Instructions add(CC_SETOPBASE, "cc_setopbase"); add(CC_SETTARGETVERB, "cc_settargetverb"); add(CC_CLEAROPS, "cc_clearops"); + add(CC_SETOPKEY, "cc_setopkey"); + add(CC_SETOPTKEY, "cc_setoptkey"); + add(CC_SETOPKEYRATE, "cc_setopkeyrate"); + add(CC_SETOPTKEYRATE, "cc_setoptkeyrate"); + add(CC_SETOPKEYIGNOREHELD, "cc_setopkeyignoreheld"); + add(CC_SETOPTKEYIGNOREHELD, "cc_setoptkeyignoreheld"); add(CC_SETONCLICK, "cc_setonclick"); add(CC_SETONHOLD, "cc_setonhold"); add(CC_SETONRELEASE, "cc_setonrelease"); @@ -160,6 +167,7 @@ public class Instructions add(CC_GETTRANS, "cc_gettrans"); add(CC_GETCOLOUR, "cc_getcolour"); add(CC_GETFILLCOLOUR, "cc_getfillcolour"); + add(CC_GETMODELTRANSPARENT, "cc_getmodeltransparent"); add(CC_GETINVOBJECT, "cc_getinvobject"); add(CC_GETINVCOUNT, "cc_getinvcount"); add(CC_GETID, "cc_getid"); @@ -195,6 +203,7 @@ public class Instructions add(IF_RESUME_PAUSEBUTTON, "if_resume_pausebutton"); add(IF_SETFILLCOLOUR, "if_setfillcolour"); add(IF_SETLINEDIRECTION, "if_setlinedirection"); + add(IF_SETMODELTRANSPARENT, "if_setmodeltransparent"); add(IF_SETOBJECT, "if_setobject"); add(IF_SETNPCHEAD, "if_setnpchead"); add(IF_SETPLAYERHEAD_SELF, "if_setplayerhead_self"); @@ -258,6 +267,7 @@ public class Instructions add(IF_GETTRANS, "if_gettrans"); add(IF_GETCOLOUR, "if_getcolour"); add(IF_GETFILLCOLOUR, "if_getfillcolour"); + add(IF_GETMODELTRANSPARENT, "if_getmodeltransparent"); add(IF_GETINVOBJECT, "if_getinvobject"); add(IF_GETINVCOUNT, "if_getinvcount"); add(IF_HASSUB, "if_hassub"); @@ -290,6 +300,9 @@ public class Instructions add(GETTAPTODROP, "gettaptodrop"); add(SETOCULUSORBSPEED, "setoculusorbspeed"); add(GETCANVASSIZE, "getcanvassize"); + add(MOBILE_SETFPS, "mobile_setfps"); + add(MOBILE_OPENSTORE, "mobile_openstore"); + add(MOBILE_OPENSTORECATEGORY, "mobile_openstorecategory"); add(SETHIDEUSERNAME, "sethideusername"); add(GETHIDEUSERNAME, "gethideusername"); add(SETREMEMBERUSERNAME, "setrememberusername"); @@ -474,6 +487,7 @@ public class Instructions add(STRUCT_PARAM, "struct_param"); add(ON_MOBILE, "on_mobile"); add(CLIENTTYPE, "clienttype"); + add(MOBILE_KEYBOARDHIDE, "mobile_keyboardhide"); add(BATTERYLEVEL, "batterylevel"); add(BATTERYCHARGING, "batterycharging"); add(WIFIAVAILABLE, "wifiavailable"); @@ -511,6 +525,8 @@ public class Instructions add(MEC_TEXTSIZE, "mec_textsize"); add(MEC_CATEGORY, "mec_category"); add(MEC_SPRITE, "mec_sprite"); + add(WORLDMAP_ELEMENT, "worldmap_element"); + add(WORLDMAP_ELEMENTCOORD, "worldmap_elementcoord"); } protected void add(int opcode, String name) diff --git a/cache/src/main/java/net/runelite/cache/script/Opcodes.java b/cache/src/main/java/net/runelite/cache/script/Opcodes.java index 5a4fe89061..1485b9982e 100644 --- a/cache/src/main/java/net/runelite/cache/script/Opcodes.java +++ b/cache/src/main/java/net/runelite/cache/script/Opcodes.java @@ -94,6 +94,7 @@ public class Opcodes public static final int CC_RESUME_PAUSEBUTTON = 1121; public static final int CC_SETFILLCOLOUR = 1123; public static final int CC_SETLINEDIRECTION = 1126; + public static final int CC_SETMODELTRANSPARENT = 1127; public static final int CC_SETOBJECT = 1200; public static final int CC_SETNPCHEAD = 1201; public static final int CC_SETPLAYERHEAD_SELF = 1202; @@ -107,6 +108,12 @@ public class Opcodes public static final int CC_SETOPBASE = 1305; public static final int CC_SETTARGETVERB = 1306; public static final int CC_CLEAROPS = 1307; + public static final int CC_SETOPKEY = 1350; + public static final int CC_SETOPTKEY = 1351; + public static final int CC_SETOPKEYRATE = 1352; + public static final int CC_SETOPTKEYRATE = 1353; + public static final int CC_SETOPKEYIGNOREHELD = 1354; + public static final int CC_SETOPTKEYIGNOREHELD = 1355; public static final int CC_SETONCLICK = 1400; public static final int CC_SETONHOLD = 1401; public static final int CC_SETONRELEASE = 1402; @@ -151,6 +158,7 @@ public class Opcodes public static final int CC_GETTRANS = 1609; public static final int CC_GETCOLOUR = 1611; public static final int CC_GETFILLCOLOUR = 1612; + public static final int CC_GETMODELTRANSPARENT = 1614; public static final int CC_GETINVOBJECT = 1700; public static final int CC_GETINVCOUNT = 1701; public static final int CC_GETID = 1702; @@ -186,6 +194,7 @@ public class Opcodes public static final int IF_RESUME_PAUSEBUTTON = 2121; public static final int IF_SETFILLCOLOUR = 2123; public static final int IF_SETLINEDIRECTION = 2126; + public static final int IF_SETMODELTRANSPARENT = 2127; public static final int IF_SETOBJECT = 2200; public static final int IF_SETNPCHEAD = 2201; public static final int IF_SETPLAYERHEAD_SELF = 2202; @@ -249,6 +258,7 @@ public class Opcodes public static final int IF_GETTRANS = 2609; public static final int IF_GETCOLOUR = 2611; public static final int IF_GETFILLCOLOUR = 2612; + public static final int IF_GETMODELTRANSPARENT = 2614; public static final int IF_GETINVOBJECT = 2700; public static final int IF_GETINVCOUNT = 2701; public static final int IF_HASSUB = 2702; @@ -281,6 +291,9 @@ public class Opcodes public static final int GETTAPTODROP = 3128; public static final int SETOCULUSORBSPEED = 3129; public static final int GETCANVASSIZE = 3132; + public static final int MOBILE_SETFPS = 3133; + public static final int MOBILE_OPENSTORE = 3134; + public static final int MOBILE_OPENSTORECATEGORY = 3135; public static final int SETHIDEUSERNAME = 3141; public static final int GETHIDEUSERNAME = 3142; public static final int SETREMEMBERUSERNAME = 3143; @@ -465,6 +478,7 @@ public class Opcodes public static final int STRUCT_PARAM = 6516; public static final int ON_MOBILE = 6518; public static final int CLIENTTYPE = 6519; + public static final int MOBILE_KEYBOARDHIDE = 6521; public static final int BATTERYLEVEL = 6524; public static final int BATTERYCHARGING = 6525; public static final int WIFIAVAILABLE = 6526; @@ -502,4 +516,6 @@ public class Opcodes public static final int MEC_TEXTSIZE = 6694; public static final int MEC_CATEGORY = 6695; public static final int MEC_SPRITE = 6696; + public static final int WORLDMAP_ELEMENT = 6697; + public static final int WORLDMAP_ELEMENTCOORD = 6699; } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/transformers/scriptopcodes/ScriptOpcode.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/transformers/scriptopcodes/ScriptOpcode.java index 1a8e4abbfd..f9a9088920 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/transformers/scriptopcodes/ScriptOpcode.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/transformers/scriptopcodes/ScriptOpcode.java @@ -73,6 +73,7 @@ public enum ScriptOpcode CC_RESUME_PAUSEBUTTON(1121), CC_SETFILLCOLOUR(1123), CC_SETLINEDIRECTION(1126), + CC_SETMODELTRANSPARENT(1127), CC_SETOBJECT(1200), CC_SETNPCHEAD(1201), CC_SETPLAYERHEAD_SELF(1202), @@ -86,6 +87,12 @@ public enum ScriptOpcode CC_SETOPBASE(1305), CC_SETTARGETVERB(1306), CC_CLEAROPS(1307), + CC_SETOPKEY(1350), + CC_SETOPTKEY(1351), + CC_SETOPKEYRATE(1352), + CC_SETOPTKEYRATE(1353), + CC_SETOPKEYIGNOREHELD(1354), + CC_SETOPTKEYIGNOREHELD(1355), CC_SETONCLICK(1400), CC_SETONHOLD(1401), CC_SETONRELEASE(1402), @@ -130,6 +137,7 @@ public enum ScriptOpcode CC_GETTRANS(1609), CC_GETCOLOUR(1611), CC_GETFILLCOLOUR(1612), + CC_GETMODELTRANSPARENT(1614), CC_GETINVOBJECT(1700), CC_GETINVCOUNT(1701), CC_GETID(1702), @@ -228,6 +236,7 @@ public enum ScriptOpcode IF_GETTRANS(2609), IF_GETCOLOUR(2611), IF_GETFILLCOLOUR(2612), + IF_GETMODELTRANSPARENT(2614), IF_GETINVOBJECT(2700), IF_GETINVCOUNT(2701), IF_HASSUB(2702), @@ -260,6 +269,9 @@ public enum ScriptOpcode GETTAPTODROP(3128), SETOCULUSORBSPEED(3129), GETCANVASSIZE(3132), + MOBILE_SETFPS(3133), + MOBILE_OPENSTORE(3134), + MOBILE_OPENSTORECATEGORY(3135), SETHIDEUSERNAME(3141), GETHIDEUSERNAME(3142), SETREMEMBERUSERNAME(3143), @@ -444,6 +456,7 @@ public enum ScriptOpcode STRUCT_PARAM(6516), ON_MOBILE(6518), CLIENTTYPE(6519), + MOBILE_KEYBOARDHIDE(6521), BATTERYLEVEL(6524), BATTERYCHARGING(6525), WIFIAVAILABLE(6526), @@ -480,7 +493,9 @@ public enum ScriptOpcode MEC_TEXT(6693), MEC_TEXTSIZE(6694), MEC_CATEGORY(6695), - MEC_SPRITE(6696); + MEC_SPRITE(6696), + WORLDMAP_ELEMENT(6697), + WORLDMAP_ELEMENTCOORD(6699); public final int opcode; diff --git a/runescape-client/src/main/java/GrandExchangeEvents.java b/runescape-client/src/main/java/GrandExchangeEvents.java index 8043c86470..775dab69b2 100644 --- a/runescape-client/src/main/java/GrandExchangeEvents.java +++ b/runescape-client/src/main/java/GrandExchangeEvents.java @@ -156,7 +156,7 @@ public class GrandExchangeEvents { } else if (var0 == 2613) { Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal(); return 1; - } else if (var0 == 2614) { + } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; return 1; } else { diff --git a/runescape-client/src/main/java/ScriptEvent.java b/runescape-client/src/main/java/ScriptEvent.java index 0753934907..89ede65dd5 100644 --- a/runescape-client/src/main/java/ScriptEvent.java +++ b/runescape-client/src/main/java/ScriptEvent.java @@ -156,7 +156,7 @@ public class ScriptEvent extends Node { } else if (var0 == 1613) { Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal(); return 1; - } else if (var0 == 1614) { + } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; return 1; } else { diff --git a/runescape-client/src/main/java/StructDefinition.java b/runescape-client/src/main/java/StructDefinition.java index a9578d1220..1f1b74b480 100644 --- a/runescape-client/src/main/java/StructDefinition.java +++ b/runescape-client/src/main/java/StructDefinition.java @@ -276,7 +276,7 @@ public class StructDefinition extends DualNode { var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; var4.field961 = var6; return 1; - } else if (var0 == 1127) { + } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; var4.modelTransparency = var6; return 1; diff --git a/runescape-client/src/main/java/WorldMapAreaData.java b/runescape-client/src/main/java/WorldMapAreaData.java index 2f31fc3b62..65e99337a8 100644 --- a/runescape-client/src/main/java/WorldMapAreaData.java +++ b/runescape-client/src/main/java/WorldMapAreaData.java @@ -177,16 +177,16 @@ public class WorldMapAreaData extends WorldMapArea { } else { int var7; byte[] var8; - if (var0 != 1350) { + if (var0 != ScriptOpcodes.CC_SETOPKEY) { byte var11; - if (var0 == 1351) { + if (var0 == ScriptOpcodes.CC_SETOPTKEY) { RouteStrategy.Interpreter_intStackSize -= 2; var11 = 10; var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]}; byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]}; BufferedSink.method3595(var4, var11, var8, var10); return 1; - } else if (var0 == 1352) { + } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { RouteStrategy.Interpreter_intStackSize -= 3; var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1; var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; @@ -197,13 +197,13 @@ public class WorldMapAreaData extends WorldMapArea { } else { throw new RuntimeException(); } - } else if (var0 == 1353) { + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { var11 = 10; var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; Varcs.method2168(var4, var11, var6, var7); return 1; - } else if (var0 == 1354) { + } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { --RouteStrategy.Interpreter_intStackSize; var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1; if (var5 >= 0 && var5 <= 9) { @@ -212,7 +212,7 @@ public class WorldMapAreaData extends WorldMapArea { } else { throw new RuntimeException(); } - } else if (var0 == 1355) { + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { var11 = 10; WorldMapSection1.method345(var4, var11); return 1; diff --git a/runescape-client/src/main/java/class31.java b/runescape-client/src/main/java/class31.java index f4c2c2884a..a5a531e263 100644 --- a/runescape-client/src/main/java/class31.java +++ b/runescape-client/src/main/java/class31.java @@ -202,7 +202,7 @@ public class class31 { return 1; } else if (var0 == 6520) { return 1; - } else if (var0 == 6521) { + } else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) { return 1; } else if (var0 == 6522) { --Interpreter.Interpreter_stringStackSize; diff --git a/runescape-client/src/main/java/class4.java b/runescape-client/src/main/java/class4.java index 85b1bbb8a8..68ef30fe1e 100644 --- a/runescape-client/src/main/java/class4.java +++ b/runescape-client/src/main/java/class4.java @@ -241,12 +241,12 @@ final class class4 implements class0 { Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = SoundCache.canvasWidth; Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Huffman.canvasHeight; return 1; - } else if (var0 == 3133) { + } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { --RouteStrategy.Interpreter_intStackSize; return 1; - } else if (var0 == 3134) { + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { return 1; - } else if (var0 == 3135) { + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { RouteStrategy.Interpreter_intStackSize -= 2; return 1; } else if (var0 == 3136) { diff --git a/runescape-client/src/main/java/class54.java b/runescape-client/src/main/java/class54.java index cfed70848e..7a7eb8c7dc 100644 --- a/runescape-client/src/main/java/class54.java +++ b/runescape-client/src/main/java/class54.java @@ -959,13 +959,13 @@ public final class class54 { } return 1; - } else if (var0 == 6697) { + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.mapElement; return 1; } else if (var0 == 6698) { Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.coord1.packed(); return 1; - } else if (var0 == 6699) { + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.coord2.packed(); return 1; } else { diff --git a/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java b/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java index 1c6980a8b4..35272728a0 100644 --- a/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java +++ b/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java @@ -67,6 +67,7 @@ public class ScriptOpcodes { public static final int CC_RESUME_PAUSEBUTTON = 1121; public static final int CC_SETFILLCOLOUR = 1123; public static final int CC_SETLINEDIRECTION = 1126; + public static final int CC_SETMODELTRANSPARENT = 1127; public static final int CC_SETOBJECT = 1200; public static final int CC_SETNPCHEAD = 1201; public static final int CC_SETPLAYERHEAD_SELF = 1202; @@ -80,6 +81,12 @@ public class ScriptOpcodes { public static final int CC_SETOPBASE = 1305; public static final int CC_SETTARGETVERB = 1306; public static final int CC_CLEAROPS = 1307; + public static final int CC_SETOPKEY = 1350; + public static final int CC_SETOPTKEY = 1351; + public static final int CC_SETOPKEYRATE = 1352; + public static final int CC_SETOPTKEYRATE = 1353; + public static final int CC_SETOPKEYIGNOREHELD = 1354; + public static final int CC_SETOPTKEYIGNOREHELD = 1355; public static final int CC_SETONCLICK = 1400; public static final int CC_SETONHOLD = 1401; public static final int CC_SETONRELEASE = 1402; @@ -124,6 +131,7 @@ public class ScriptOpcodes { public static final int CC_GETTRANS = 1609; public static final int CC_GETCOLOUR = 1611; public static final int CC_GETFILLCOLOUR = 1612; + public static final int CC_GETMODELTRANSPARENT = 1614; public static final int CC_GETINVOBJECT = 1700; public static final int CC_GETINVCOUNT = 1701; public static final int CC_GETID = 1702; @@ -159,6 +167,7 @@ public class ScriptOpcodes { public static final int IF_RESUME_PAUSEBUTTON = 2121; public static final int IF_SETFILLCOLOUR = 2123; public static final int IF_SETLINEDIRECTION = 2126; + public static final int IF_SETMODELTRANSPARENT = 2127; public static final int IF_SETOBJECT = 2200; public static final int IF_SETNPCHEAD = 2201; public static final int IF_SETPLAYERHEAD_SELF = 2202; @@ -222,6 +231,7 @@ public class ScriptOpcodes { public static final int IF_GETTRANS = 2609; public static final int IF_GETCOLOUR = 2611; public static final int IF_GETFILLCOLOUR = 2612; + public static final int IF_GETMODELTRANSPARENT = 2614; public static final int IF_GETINVOBJECT = 2700; public static final int IF_GETINVCOUNT = 2701; public static final int IF_HASSUB = 2702; @@ -254,6 +264,9 @@ public class ScriptOpcodes { public static final int GETTAPTODROP = 3128; public static final int SETOCULUSORBSPEED = 3129; public static final int GETCANVASSIZE = 3132; + public static final int MOBILE_SETFPS = 3133; + public static final int MOBILE_OPENSTORE = 3134; + public static final int MOBILE_OPENSTORECATEGORY = 3135; public static final int SETHIDEUSERNAME = 3141; public static final int GETHIDEUSERNAME = 3142; public static final int SETREMEMBERUSERNAME = 3143; @@ -438,6 +451,7 @@ public class ScriptOpcodes { public static final int STRUCT_PARAM = 6516; public static final int ON_MOBILE = 6518; public static final int CLIENTTYPE = 6519; + public static final int MOBILE_KEYBOARDHIDE = 6521; public static final int BATTERYLEVEL = 6524; public static final int BATTERYCHARGING = 6525; public static final int WIFIAVAILABLE = 6526; @@ -475,4 +489,6 @@ public class ScriptOpcodes { public static final int MEC_TEXTSIZE = 6694; public static final int MEC_CATEGORY = 6695; public static final int MEC_SPRITE = 6696; + public static final int WORLDMAP_ELEMENT = 6697; + public static final int WORLDMAP_ELEMENTCOORD = 6699; }