Narrow down onVolumeChanged to only volume changed's
This commit is contained in:
@@ -1784,10 +1784,21 @@ public abstract class RSClientMixin implements RSClient
|
||||
}
|
||||
}
|
||||
|
||||
@Inject
|
||||
@MethodHook("changeGameOptions")
|
||||
@Copy("changeGameOptions")
|
||||
public static void rs$changeGameOptions(int var0)
|
||||
{
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
@Replace("changeGameOptions")
|
||||
public static void changeGameOptions(int var0)
|
||||
{
|
||||
client.getCallbacks().post(VolumeChanged.class, VolumeChanged.INSTANCE);
|
||||
rs$changeGameOptions(var0);
|
||||
|
||||
int type = client.getVarpDefinition(var0).getType();
|
||||
if (type == 3 || type == 4 || type == 10)
|
||||
{
|
||||
client.getCallbacks().post(VolumeChanged.class, VolumeChanged.INSTANCE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1117,4 +1117,7 @@ public interface RSClient extends RSGameShell, Client
|
||||
*/
|
||||
@Import("Login_promptCredentials")
|
||||
void promptCredentials(boolean clearPass);
|
||||
|
||||
@Import("VarpDefinition_get")
|
||||
RSVarpDefinition getVarpDefinition(int id);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package net.runelite.rs.api;
|
||||
|
||||
import net.runelite.mapping.Import;
|
||||
|
||||
public interface RSVarpDefinition extends RSDualNode
|
||||
{
|
||||
@Import("type")
|
||||
int getType();
|
||||
}
|
||||
@@ -245,7 +245,8 @@ public abstract class AbstractWorldMapData {
|
||||
signature = "(IB)Liq;",
|
||||
garbageValue = "1"
|
||||
)
|
||||
public static VarpDefinition method288(int var0) {
|
||||
@Export("VarpDefinition_get")
|
||||
public static VarpDefinition VarpDefinition_get(int var0) {
|
||||
VarpDefinition var1 = (VarpDefinition)VarpDefinition.VarpDefinition_cached.get((long)var0);
|
||||
if (var1 != null) {
|
||||
return var1;
|
||||
|
||||
@@ -2680,7 +2680,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
Tiles.friendSystem.clear();
|
||||
|
||||
for (var33 = 0; var33 < VarpDefinition.VarpDefinition_fileCount; ++var33) {
|
||||
VarpDefinition var28 = AbstractWorldMapData.method288(var33);
|
||||
VarpDefinition var28 = AbstractWorldMapData.VarpDefinition_get(var33);
|
||||
if (var28 != null) {
|
||||
Varps.Varps_temp[var33] = 0;
|
||||
Varps.Varps_main[var33] = 0;
|
||||
@@ -4870,7 +4870,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
|
||||
if (ServerPacket.field2099 == var1.serverPacket) {
|
||||
for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) {
|
||||
VarpDefinition var54 = AbstractWorldMapData.method288(var16);
|
||||
VarpDefinition var54 = AbstractWorldMapData.VarpDefinition_get(var16);
|
||||
if (var54 != null) {
|
||||
Varps.Varps_temp[var16] = 0;
|
||||
Varps.Varps_main[var16] = 0;
|
||||
|
||||
@@ -388,7 +388,7 @@ public final class NetSocket extends AbstractSocket implements Runnable {
|
||||
}
|
||||
}
|
||||
|
||||
int var4 = AbstractWorldMapData.method288(var0).type;
|
||||
int var4 = AbstractWorldMapData.VarpDefinition_get(var0).type;
|
||||
if (var4 != 0) {
|
||||
int var2 = Varps.Varps_main[var0];
|
||||
if (var4 == 1) {
|
||||
|
||||
Reference in New Issue
Block a user