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")
|
||||
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)
|
||||
{
|
||||
decremented = true;
|
||||
opcode -= 2000;
|
||||
}
|
||||
|
||||
@@ -1435,15 +1438,16 @@ public abstract class RSClientMixin implements RSClient
|
||||
if (printMenuActions)
|
||||
{
|
||||
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.getMenuAction(), menuOptionClicked.getActionParam(), menuOptionClicked.getWidgetId(),
|
||||
canvasX, canvasY
|
||||
menuOptionClicked.getMenuAction(), opcode + (decremented ? 2000 : 0),
|
||||
menuOptionClicked.getActionParam(), menuOptionClicked.getWidgetId(), canvasX, canvasY
|
||||
);
|
||||
}
|
||||
|
||||
copy$menuAction(menuOptionClicked.getActionParam(), menuOptionClicked.getWidgetId(), menuOptionClicked.getMenuAction().getId(),
|
||||
menuOptionClicked.getId(), menuOptionClicked.getMenuOption(), menuOptionClicked.getMenuTarget(), canvasX, canvasY);
|
||||
copy$menuAction(menuOptionClicked.getActionParam(), menuOptionClicked.getWidgetId(),
|
||||
menuOptionClicked.getMenuAction().getId(), menuOptionClicked.getId(),
|
||||
menuOptionClicked.getMenuOption(), menuOptionClicked.getMenuTarget(), canvasX, canvasY);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -502,10 +502,10 @@ public class PacketWriter {
|
||||
var37 = var30; // L: 7233
|
||||
}
|
||||
|
||||
var17.field641 = var10 + var15; // L: 7235
|
||||
var17.field640 = var10 + var13; // L: 7236
|
||||
var17.field642 = var11 + var16; // L: 7237
|
||||
var17.field644 = var11 + var37; // L: 7238
|
||||
var17.minX = var10 + var15; // L: 7235
|
||||
var17.maxX = var10 + var13; // L: 7236
|
||||
var17.minY = var11 + var16; // L: 7237
|
||||
var17.maxY = var11 + var37; // L: 7238
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,22 +90,26 @@ public final class Player extends Actor {
|
||||
@ObfuscatedGetter(
|
||||
intValue = 123594343
|
||||
)
|
||||
int field641;
|
||||
@Export("minX")
|
||||
int minX;
|
||||
@ObfuscatedName("x")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 2053334325
|
||||
)
|
||||
int field642;
|
||||
@Export("minY")
|
||||
int minY;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1294199975
|
||||
)
|
||||
int field640;
|
||||
@Export("maxX")
|
||||
int maxX;
|
||||
@ObfuscatedName("g")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1259880177
|
||||
)
|
||||
int field644;
|
||||
@Export("maxY")
|
||||
int maxY;
|
||||
@ObfuscatedName("u")
|
||||
@Export("isUnanimated")
|
||||
boolean isUnanimated;
|
||||
|
||||
@@ -661,7 +661,7 @@ public class WorldMapScaleHandler {
|
||||
var0.isUnanimated = false; // L: 4274
|
||||
var0.tileHeight = WorldMapRegion.getTileHeight(var0.x, var0.y, class90.Client_plane); // L: 4275
|
||||
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 {
|
||||
if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { // L: 4280
|
||||
if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { // L: 4281
|
||||
|
||||
Reference in New Issue
Block a user