diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000000..0c53255148
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+# These are supported funding model platforms
+
+patreon: RuneLitePlus
diff --git a/.gitignore b/.gitignore
index 51854a9d2e..28626d1e7c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,4 @@ git
classes/artifacts/client_jar/run.bat
classes/artifacts/client_jar/client.jar
*.jar
+.live/
diff --git a/cache-client/pom.xml b/cache-client/pom.xml
index 59b213541f..3073c9f439 100644
--- a/cache-client/pom.xml
+++ b/cache-client/pom.xml
@@ -29,7 +29,7 @@
net.runelite
runelite-parent
- 1.5.28-SNAPSHOT
+ 1.5.29-SNAPSHOT
cache-client
diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml
index 4eb3f28217..b57857a714 100644
--- a/cache-updater/pom.xml
+++ b/cache-updater/pom.xml
@@ -28,7 +28,7 @@
net.runelite
runelite-parent
- 1.5.28-SNAPSHOT
+ 1.5.29-SNAPSHOT
Cache Updater
diff --git a/cache/pom.xml b/cache/pom.xml
index 9fd6153b3b..169f016084 100644
--- a/cache/pom.xml
+++ b/cache/pom.xml
@@ -29,7 +29,7 @@
net.runelite
runelite-parent
- 1.5.28-SNAPSHOT
+ 1.5.29-SNAPSHOT
cache
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 17dfabfcd1..a0c7b859a1 100644
--- a/cache/src/main/java/net/runelite/cache/script/Instructions.java
+++ b/cache/src/main/java/net/runelite/cache/script/Instructions.java
@@ -78,6 +78,7 @@ public class Instructions
add(CC_SETSIZE, "cc_setsize");
add(CC_SETHIDE, "cc_sethide");
add(CC_SETNOCLICKTHROUGH, "cc_setnoclickthrough");
+ add(CC_SETNOSCROLLTHROUGH, "cc_setnoscrollthrough");
add(CC_SETSCROLLPOS, "cc_setscrollpos");
add(CC_SETCOLOUR, "cc_setcolour");
add(CC_SETFILL, "cc_setfill");
@@ -287,11 +288,14 @@ public class Instructions
add(SETSHOWLOADINGMESSAGES, "setshowloadingmessages");
add(SETTAPTODROP, "settaptodrop");
add(GETTAPTODROP, "gettaptodrop");
+ add(SETOCULUSORBSPEED, "setoculusorbspeed");
add(GETCANVASSIZE, "getcanvassize");
add(SETHIDEUSERNAME, "sethideusername");
add(GETHIDEUSERNAME, "gethideusername");
add(SETREMEMBERUSERNAME, "setrememberusername");
add(GETREMEMBERUSERNAME, "getrememberusername");
+ add(SETTITLEMUSICENABLED, "settitlemusicenabled");
+ add(GETTITLEMUSICENABLED, "gettitlemusicenabled");
add(SOUND_SYNTH, "sound_synth");
add(SOUND_SONG, "sound_song");
add(SOUND_JINGLE, "sound_jingle");
@@ -411,6 +415,7 @@ public class Instructions
add(REMOVETAGS, "removetags");
add(STRING_INDEXOF_CHAR, "string_indexof_char");
add(STRING_INDEXOF_STRING, "string_indexof_string");
+ add(UPPERCASE, "uppercase");
add(OC_NAME, "oc_name");
add(OC_OP, "oc_op");
add(OC_IOP, "oc_iop");
@@ -461,6 +466,7 @@ public class Instructions
add(WORLDLIST_NEXT, "worldlist_next");
add(WORLDLIST_SPECIFIC, "worldlist_specific");
add(WORLDLIST_SORT, "worldlist_sort");
+ add(GETWORLDINFO, "getworldinfo");
add(SETFOLLOWEROPSLOWPRIORITY, "setfolloweropslowpriority");
add(NC_PARAM, "nc_param");
add(LC_PARAM, "lc_param");
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 e69a1ef5ef..5a4fe89061 100644
--- a/cache/src/main/java/net/runelite/cache/script/Opcodes.java
+++ b/cache/src/main/java/net/runelite/cache/script/Opcodes.java
@@ -69,6 +69,7 @@ public class Opcodes
public static final int CC_SETSIZE = 1001;
public static final int CC_SETHIDE = 1003;
public static final int CC_SETNOCLICKTHROUGH = 1005;
+ public static final int CC_SETNOSCROLLTHROUGH = 1006;
public static final int CC_SETSCROLLPOS = 1100;
public static final int CC_SETCOLOUR = 1101;
public static final int CC_SETFILL = 1102;
@@ -278,11 +279,14 @@ public class Opcodes
public static final int SETSHOWLOADINGMESSAGES = 3126;
public static final int SETTAPTODROP = 3127;
public static final int GETTAPTODROP = 3128;
+ public static final int SETOCULUSORBSPEED = 3129;
public static final int GETCANVASSIZE = 3132;
public static final int SETHIDEUSERNAME = 3141;
public static final int GETHIDEUSERNAME = 3142;
public static final int SETREMEMBERUSERNAME = 3143;
public static final int GETREMEMBERUSERNAME = 3144;
+ public static final int SETTITLEMUSICENABLED = 3146;
+ public static final int GETTITLEMUSICENABLED = 3147;
public static final int SOUND_SYNTH = 3200;
public static final int SOUND_SONG = 3201;
public static final int SOUND_JINGLE = 3202;
@@ -402,6 +406,7 @@ public class Opcodes
public static final int REMOVETAGS = 4119;
public static final int STRING_INDEXOF_CHAR = 4120;
public static final int STRING_INDEXOF_STRING = 4121;
+ public static final int UPPERCASE = 4122;
public static final int OC_NAME = 4200;
public static final int OC_OP = 4201;
public static final int OC_IOP = 4202;
@@ -452,6 +457,7 @@ public class Opcodes
public static final int WORLDLIST_NEXT = 6502;
public static final int WORLDLIST_SPECIFIC = 6506;
public static final int WORLDLIST_SORT = 6507;
+ public static final int GETWORLDINFO = 6511;
public static final int SETFOLLOWEROPSLOWPRIORITY = 6512;
public static final int NC_PARAM = 6513;
public static final int LC_PARAM = 6514;
diff --git a/cache/src/test/java/net/runelite/cache/FrameDumper.java b/cache/src/test/java/net/runelite/cache/FrameDumper.java
index 8e856cd2f8..f6cc20532d 100644
--- a/cache/src/test/java/net/runelite/cache/FrameDumper.java
+++ b/cache/src/test/java/net/runelite/cache/FrameDumper.java
@@ -88,7 +88,7 @@ public class FrameDumper
int framemapArchiveId = (contents[0] & 0xff) << 8 | contents[1] & 0xff;
- Archive framemapArchive = framemapIndex.getArchives().get(framemapArchiveId);
+ Archive framemapArchive = framemapIndex.getArchive(framemapArchiveId);
archiveData = storage.loadArchive(framemapArchive);
byte[] framemapContents = framemapArchive.decompress(archiveData);
diff --git a/checkstyle.xml b/checkstyle.xml
index e8669a742c..c1935e18a2 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -1,6 +1,7 @@