mixins: update menu action printing, map new fields in player
This commit is contained in:
@@ -1409,11 +1409,14 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
@Replace("menuAction")
|
@Replace("menuAction")
|
||||||
static void copy$menuAction(int param0, int param1, int opcode, int id, String option, String target, int canvasX, int canvasY)
|
static void copy$menuAction(int param0, int param1, int opcode, int id, String option, String target, int canvasX, int canvasY)
|
||||||
{
|
{
|
||||||
/* Along the way, the RuneScape client may change a menuAction by incrementing it with 2000.
|
/*
|
||||||
* I have no idea why, but it does. Their code contains the same conditional statement.
|
* The RuneScape client may deprioritize an action in the menu by incrementing the opcode with 2000,
|
||||||
|
* undo it here so we can get the correct opcode
|
||||||
*/
|
*/
|
||||||
|
boolean decremented = false;
|
||||||
if (opcode >= 2000)
|
if (opcode >= 2000)
|
||||||
{
|
{
|
||||||
|
decremented = true;
|
||||||
opcode -= 2000;
|
opcode -= 2000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1435,15 +1438,16 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
if (printMenuActions)
|
if (printMenuActions)
|
||||||
{
|
{
|
||||||
client.getLogger().info(
|
client.getLogger().info(
|
||||||
"|MenuAction|: MenuOption={} MenuTarget={} Id={} Opcode={} Param0={} Param1={} CanvasX={} CanvasY={}",
|
"|MenuAction|: MenuOption={} MenuTarget={} Id={} Opcode={}/{} Param0={} Param1={} CanvasX={} CanvasY={}",
|
||||||
menuOptionClicked.getMenuOption(), menuOptionClicked.getMenuTarget(), menuOptionClicked.getId(),
|
menuOptionClicked.getMenuOption(), menuOptionClicked.getMenuTarget(), menuOptionClicked.getId(),
|
||||||
menuOptionClicked.getMenuAction(), menuOptionClicked.getActionParam(), menuOptionClicked.getWidgetId(),
|
menuOptionClicked.getMenuAction(), opcode + (decremented ? 2000 : 0),
|
||||||
canvasX, canvasY
|
menuOptionClicked.getActionParam(), menuOptionClicked.getWidgetId(), canvasX, canvasY
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
copy$menuAction(menuOptionClicked.getActionParam(), menuOptionClicked.getWidgetId(), menuOptionClicked.getMenuAction().getId(),
|
copy$menuAction(menuOptionClicked.getActionParam(), menuOptionClicked.getWidgetId(),
|
||||||
menuOptionClicked.getId(), menuOptionClicked.getMenuOption(), menuOptionClicked.getMenuTarget(), canvasX, canvasY);
|
menuOptionClicked.getMenuAction().getId(), menuOptionClicked.getId(),
|
||||||
|
menuOptionClicked.getMenuOption(), menuOptionClicked.getMenuTarget(), canvasX, canvasY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -502,10 +502,10 @@ public class PacketWriter {
|
|||||||
var37 = var30; // L: 7233
|
var37 = var30; // L: 7233
|
||||||
}
|
}
|
||||||
|
|
||||||
var17.field641 = var10 + var15; // L: 7235
|
var17.minX = var10 + var15; // L: 7235
|
||||||
var17.field640 = var10 + var13; // L: 7236
|
var17.maxX = var10 + var13; // L: 7236
|
||||||
var17.field642 = var11 + var16; // L: 7237
|
var17.minY = var11 + var16; // L: 7237
|
||||||
var17.field644 = var11 + var37; // L: 7238
|
var17.maxY = var11 + var37; // L: 7238
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,22 +90,26 @@ public final class Player extends Actor {
|
|||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 123594343
|
intValue = 123594343
|
||||||
)
|
)
|
||||||
int field641;
|
@Export("minX")
|
||||||
|
int minX;
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("x")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 2053334325
|
intValue = 2053334325
|
||||||
)
|
)
|
||||||
int field642;
|
@Export("minY")
|
||||||
|
int minY;
|
||||||
@ObfuscatedName("f")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1294199975
|
intValue = 1294199975
|
||||||
)
|
)
|
||||||
int field640;
|
@Export("maxX")
|
||||||
|
int maxX;
|
||||||
@ObfuscatedName("g")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1259880177
|
intValue = -1259880177
|
||||||
)
|
)
|
||||||
int field644;
|
@Export("maxY")
|
||||||
|
int maxY;
|
||||||
@ObfuscatedName("u")
|
@ObfuscatedName("u")
|
||||||
@Export("isUnanimated")
|
@Export("isUnanimated")
|
||||||
boolean isUnanimated;
|
boolean isUnanimated;
|
||||||
|
|||||||
@@ -661,7 +661,7 @@ public class WorldMapScaleHandler {
|
|||||||
var0.isUnanimated = false; // L: 4274
|
var0.isUnanimated = false; // L: 4274
|
||||||
var0.tileHeight = WorldMapRegion.getTileHeight(var0.x, var0.y, class90.Client_plane); // L: 4275
|
var0.tileHeight = WorldMapRegion.getTileHeight(var0.x, var0.y, class90.Client_plane); // L: 4275
|
||||||
var0.playerCycle = Client.cycle; // L: 4276
|
var0.playerCycle = Client.cycle; // L: 4276
|
||||||
MilliClock.scene.addNullableObject(class90.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.field641, var0.field642, var0.field640, var0.field644); // L: 4277
|
MilliClock.scene.addNullableObject(class90.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.minX, var0.minY, var0.maxX, var0.maxY); // L: 4277
|
||||||
} else {
|
} else {
|
||||||
if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { // L: 4280
|
if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { // L: 4280
|
||||||
if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { // L: 4281
|
if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { // L: 4281
|
||||||
|
|||||||
Reference in New Issue
Block a user