mixins: add more clientThread checks
This commit is contained in:
committed by
Owain van Brakel
parent
0d1ca5cffe
commit
06da1b8ca8
@@ -35,6 +35,7 @@ import java.util.HashSet;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
@@ -51,11 +52,14 @@ import net.runelite.api.IndexDataBase;
|
|||||||
import net.runelite.api.IndexedSprite;
|
import net.runelite.api.IndexedSprite;
|
||||||
import net.runelite.api.IntegerNode;
|
import net.runelite.api.IntegerNode;
|
||||||
import net.runelite.api.InventoryID;
|
import net.runelite.api.InventoryID;
|
||||||
|
import net.runelite.api.ItemDefinition;
|
||||||
import net.runelite.api.MenuEntry;
|
import net.runelite.api.MenuEntry;
|
||||||
import net.runelite.api.MenuOpcode;
|
import net.runelite.api.MenuOpcode;
|
||||||
import net.runelite.api.MessageNode;
|
import net.runelite.api.MessageNode;
|
||||||
import net.runelite.api.NPC;
|
import net.runelite.api.NPC;
|
||||||
|
import net.runelite.api.NPCDefinition;
|
||||||
import net.runelite.api.Node;
|
import net.runelite.api.Node;
|
||||||
|
import net.runelite.api.ObjectDefinition;
|
||||||
import net.runelite.api.Player;
|
import net.runelite.api.Player;
|
||||||
import net.runelite.api.Point;
|
import net.runelite.api.Point;
|
||||||
import net.runelite.api.Prayer;
|
import net.runelite.api.Prayer;
|
||||||
@@ -498,6 +502,13 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
return totalLevel;
|
return totalLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public void addChatMessage(int type, String name, String message, String sender)
|
||||||
|
{
|
||||||
|
assert this.isClientThread() : "addChatMessage must be called on client thread";
|
||||||
|
addRSChatMessage(type, name, message, sender);
|
||||||
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Override
|
@Override
|
||||||
public void addChatMessage(ChatMessageType type, String name, String message, String sender)
|
public void addChatMessage(ChatMessageType type, String name, String message, String sender)
|
||||||
@@ -512,11 +523,19 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
return GameState.of(getRSGameState());
|
return GameState.of(getRSGameState());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public void setGameState(int state)
|
||||||
|
{
|
||||||
|
assert this.isClientThread() : "setGameState must be called on client thread";
|
||||||
|
client.setRSGameState(state);
|
||||||
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Override
|
@Override
|
||||||
public void setGameState(GameState gameState)
|
public void setGameState(GameState gameState)
|
||||||
{
|
{
|
||||||
client.setGameState(gameState.getState());
|
assert this.isClientThread();
|
||||||
|
setGameState(gameState.getState());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -1015,6 +1034,14 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
client.getCallbacks().post(DraggingWidgetChanged.class, draggingWidgetChanged);
|
client.getCallbacks().post(DraggingWidgetChanged.class, draggingWidgetChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public RSSprite createItemSprite(int itemId, int quantity, int border, int shadowColor, int stackable, boolean noted)
|
||||||
|
{
|
||||||
|
assert isClientThread() : "createItemSprite must be called on client thread";
|
||||||
|
return createRSItemSprite(itemId, quantity, border, shadowColor, stackable, noted);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Override
|
@Override
|
||||||
public Sprite createItemSprite(int itemId, int quantity, int border, int shadowColor, int stackable, boolean noted, int scale)
|
public Sprite createItemSprite(int itemId, int quantity, int border, int shadowColor, int stackable, boolean noted, int scale)
|
||||||
@@ -1958,5 +1985,30 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
this.isMirrored = isMirrored;
|
this.isMirrored = isMirrored;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@Override
|
||||||
|
public ObjectDefinition getObjectDefinition(int objectId)
|
||||||
|
{
|
||||||
|
assert this.isClientThread() : "getObjectDefinition must be called on client thread";
|
||||||
|
return getRSObjectDefinition(objectId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@Override
|
||||||
|
@Nonnull
|
||||||
|
public ItemDefinition getItemDefinition(int id)
|
||||||
|
{
|
||||||
|
assert this.isClientThread() : "getItemDefinition must be called on client thread";
|
||||||
|
return getRSItemDefinition(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@Override
|
||||||
|
public NPCDefinition getNpcDefinition(int id)
|
||||||
|
{
|
||||||
|
assert this.isClientThread() : "getNpcDefinition must be called on client thread";
|
||||||
|
return getRSNpcDefinition(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,6 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition
|
|||||||
return rs$getModel(quantity);
|
return rs$getModel(quantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
return client.getItemDefinition(modelOverride).getModel(quantity);
|
return client.getRSItemDefinition(modelOverride).getModel(quantity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ public abstract class RSTextureMixin implements RSTexture
|
|||||||
rs$animate(diff);
|
rs$animate(diff);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
assert client.getDrawCallbacks() != null;
|
||||||
|
|
||||||
client.getDrawCallbacks().animate(this, diff);
|
client.getDrawCallbacks().animate(this, diff);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,6 +145,7 @@ public abstract class SoundEffectMixin implements RSClient
|
|||||||
@Override
|
@Override
|
||||||
public void playSoundEffect(int id, int x, int y, int range, int delay)
|
public void playSoundEffect(int id, int x, int y, int range, int delay)
|
||||||
{
|
{
|
||||||
|
assert this.isClientThread() : "playSoundEffect must be called on client thread!";
|
||||||
int position = ((x & 255) << 16) + ((y & 255) << 8) + (range & 255);
|
int position = ((x & 255) << 16) + ((y & 255) << 8) + (range & 255);
|
||||||
|
|
||||||
int[] queuedSoundEffectIDs = getQueuedSoundEffectIDs();
|
int[] queuedSoundEffectIDs = getQueuedSoundEffectIDs();
|
||||||
@@ -167,6 +168,7 @@ public abstract class SoundEffectMixin implements RSClient
|
|||||||
@Override
|
@Override
|
||||||
public void playSoundEffect(int id, int volume)
|
public void playSoundEffect(int id, int volume)
|
||||||
{
|
{
|
||||||
|
assert client.isClientThread() : "playSoundEffect must be called on client thread";
|
||||||
RSSoundEffect soundEffect = getTrack(getIndexCache4(), id, 0);
|
RSSoundEffect soundEffect = getTrack(getIndexCache4(), id, 0);
|
||||||
if (soundEffect == null)
|
if (soundEffect == null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ public interface RSClient extends RSGameShell, Client
|
|||||||
int getRSGameState();
|
int getRSGameState();
|
||||||
|
|
||||||
@Import("updateGameState")
|
@Import("updateGameState")
|
||||||
void setGameState(int gameState);
|
void setRSGameState(int gameState);
|
||||||
|
|
||||||
@Import("checkClick")
|
@Import("checkClick")
|
||||||
void setCheckClick(boolean checkClick);
|
void setCheckClick(boolean checkClick);
|
||||||
@@ -331,15 +331,13 @@ public interface RSClient extends RSGameShell, Client
|
|||||||
RSWorld[] getWorldList();
|
RSWorld[] getWorldList();
|
||||||
|
|
||||||
@Import("addChatMessage")
|
@Import("addChatMessage")
|
||||||
void addChatMessage(int type, String name, String message, String sender);
|
void addRSChatMessage(int type, String name, String message, String sender);
|
||||||
|
|
||||||
@Override
|
|
||||||
@Import("getObjectDefinition")
|
@Import("getObjectDefinition")
|
||||||
RSObjectDefinition getObjectDefinition(int objectId);
|
RSObjectDefinition getRSObjectDefinition(int objectId);
|
||||||
|
|
||||||
@Override
|
|
||||||
@Import("getNpcDefinition")
|
@Import("getNpcDefinition")
|
||||||
RSNPCDefinition getNpcDefinition(int npcId);
|
RSNPCDefinition getRSNpcDefinition(int npcId);
|
||||||
|
|
||||||
@Import("viewportZoom")
|
@Import("viewportZoom")
|
||||||
@Override
|
@Override
|
||||||
@@ -400,11 +398,10 @@ public interface RSClient extends RSGameShell, Client
|
|||||||
RSNodeHashTable getItemContainers();
|
RSNodeHashTable getItemContainers();
|
||||||
|
|
||||||
@Import("ItemDefinition_get")
|
@Import("ItemDefinition_get")
|
||||||
@Override
|
RSItemDefinition getRSItemDefinition(int itemId);
|
||||||
RSItemDefinition getItemDefinition(int itemId);
|
|
||||||
|
|
||||||
@Import("getItemSprite")
|
@Import("getItemSprite")
|
||||||
RSSprite createItemSprite(int itemId, int quantity, int thickness, int borderColor, int stackable, boolean noted);
|
RSSprite createRSItemSprite(int itemId, int quantity, int thickness, int borderColor, int stackable, boolean noted);
|
||||||
|
|
||||||
@Import("menuAction")
|
@Import("menuAction")
|
||||||
void sendMenuAction(int n2, int n3, int n4, int n5, String string, String string2, int n6, int n7);
|
void sendMenuAction(int n2, int n3, int n4, int n5, String string, String string2, int n6, int n7);
|
||||||
|
|||||||
Reference in New Issue
Block a user