Merge remote-tracking branch 'ext_upstream/master' into master3
# Conflicts: # deobfuscator/pom.xml # deobfuscator/src/main/java/net/runelite/asm/attributes/Exceptions.java # deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Element.java # deobfuscator/src/main/java/net/runelite/asm/attributes/code/InstructionType.java # deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/FieldInstruction.java # deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/LVTInstruction.java # deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/PutField.java # deobfuscator/src/main/java/net/runelite/asm/pool/Class.java # deobfuscator/src/main/java/net/runelite/asm/pool/Field.java # deobfuscator/src/main/java/net/runelite/deob/Deob.java # deobfuscator/src/main/java/net/runelite/deob/DeobProperties.java # deobfuscator/src/main/java/net/runelite/deob/clientver/VersionClassVisitor.java # deobfuscator/src/main/java/net/runelite/deob/deobfuscators/lvt/LVTType.java # deobfuscator/src/main/java/net/runelite/deob/deobfuscators/lvt/MapKey.java # deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/ConstructorMapper.java # deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/ExecutionMapper.java # deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/Mapper.java # deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/ParallelExecutorMapping.java # deobfuscator/src/main/java/net/runelite/deob/updater/ParameterRenamer.java # deobfuscator/src/test/java/net/runelite/asm/annotations/MyAnnotation.java # deobfuscator/src/test/java/net/runelite/asm/execution/mapper/StaticStepTest.java # deobfuscator/src/test/java/net/runelite/asm/execution/tests/TableSwitch.java # deobfuscator/src/test/java/net/runelite/asm/signature/SignatureTest.java # deobfuscator/src/test/java/net/runelite/asm/visitors/ClassFileVisitorTest.java # deobfuscator/src/test/java/net/runelite/deob/TemporyFolderLocation.java # deobfuscator/src/test/java/net/runelite/deob/clientver/ClientVersionTest.java # deobfuscator/src/test/java/net/runelite/deob/deobfuscators/transformers/buffer/RuneliteBufferTest.java # deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/ClassA.java # deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyClass.java # deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyInterface.java # deobfuscator/src/test/java/net/runelite/osb/inject/FieldHook.java # injected-client/pom.xml # injector-plugin/pom.xml # injector-plugin/src/main/java/net/runelite/injector/Inject.java # injector-plugin/src/main/java/net/runelite/injector/InjectMojo.java # injector-plugin/src/main/java/net/runelite/injector/InjectionException.java # injector-plugin/src/main/java/net/runelite/injector/MixinInjector.java # injector-plugin/src/main/java/net/runelite/injector/raw/ClearColorBuffer.java # injector-plugin/src/main/java/net/runelite/injector/raw/DrawAfterWidgets.java # injector-plugin/src/main/java/net/runelite/injector/raw/RasterizerHook.java # pom.xml # runelite-api/src/main/java/net/runelite/api/Actor.java # runelite-api/src/main/java/net/runelite/api/Client.java # runelite-api/src/main/java/net/runelite/api/CollisionData.java # runelite-api/src/main/java/net/runelite/api/EquipmentInventorySlot.java # runelite-api/src/main/java/net/runelite/api/NPCDefinition.java # runelite-api/src/main/java/net/runelite/api/Perspective.java # runelite-api/src/main/java/net/runelite/api/coords/WorldArea.java # runelite-api/src/main/java/net/runelite/api/coords/WorldPoint.java # runelite-api/src/main/java/net/runelite/api/events/GraphicChanged.java # runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java # runelite-api/src/main/java/net/runelite/api/events/NpcActionChanged.java # runelite-api/src/main/java/net/runelite/api/events/PostItemDefinition.java # runelite-api/src/main/java/net/runelite/api/events/SpotAnimationChanged.java # runelite-api/src/main/java/net/runelite/api/vars/AccountType.java # runelite-api/src/main/java/net/runelite/mapping/Construct.java # runelite-api/src/main/java/net/runelite/mapping/Hook.java # runelite-api/src/main/java/net/runelite/mapping/Implements.java # runelite-api/src/main/java/net/runelite/mapping/ObfuscatedSignature.java # runelite-client/src/main/java/net/runelite/client/game/ItemManager.java # runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsOverlay.java # runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java # runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java # runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyOverlay.java # runelite-client/src/main/java/net/runelite/client/plugins/instancemap/InstanceMapOverlay.java # runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerOverlay.java # runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderOverlay.java # runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/banked/CriticalItem.java # runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java # runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java # runelite-client/src/main/java/net/runelite/client/ui/overlay/arrow/ArrowUtil.java # runelite-client/src/main/java/net/runelite/client/util/PvPUtil.java # runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java # runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractIndexCacheMixin.java # runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java # runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java # runelite-mixins/src/main/java/net/runelite/mixins/RSMessageMixin.java # runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerCompositionMixin.java # runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java # runescape-api/src/main/java/net/runelite/mapping/Implements.java # runescape-api/src/main/java/net/runelite/mapping/ObfuscatedSignature.java # runescape-api/src/main/java/net/runelite/rs/api/RSBufferProvider.java # runescape-api/src/main/java/net/runelite/rs/api/RSClient.java # runescape-api/src/main/java/net/runelite/rs/api/RSCollisionData.java # runescape-api/src/main/java/net/runelite/rs/api/RSCombatInfo1.java # runescape-api/src/main/java/net/runelite/rs/api/RSCombatInfoListHolder.java # runescape-api/src/main/java/net/runelite/rs/api/RSDecorativeObject.java # runescape-api/src/main/java/net/runelite/rs/api/RSFriendContainer.java # runescape-api/src/main/java/net/runelite/rs/api/RSGameShell.java # runescape-api/src/main/java/net/runelite/rs/api/RSGroundObject.java # runescape-api/src/main/java/net/runelite/rs/api/RSItem.java # runescape-api/src/main/java/net/runelite/rs/api/RSItemLayer.java # runescape-api/src/main/java/net/runelite/rs/api/RSIterableNodeDeque.java # runescape-api/src/main/java/net/runelite/rs/api/RSJagexLoginType.java # runescape-api/src/main/java/net/runelite/rs/api/RSKeyHandler.java # runescape-api/src/main/java/net/runelite/rs/api/RSMainBufferProvider.java # runescape-api/src/main/java/net/runelite/rs/api/RSMapElementConfig.java # runescape-api/src/main/java/net/runelite/rs/api/RSMessage.java # runescape-api/src/main/java/net/runelite/rs/api/RSMessageNode.java # runescape-api/src/main/java/net/runelite/rs/api/RSModel.java # runescape-api/src/main/java/net/runelite/rs/api/RSPlayerComposition.java # runescape-api/src/main/java/net/runelite/rs/api/RSRasterProvider.java # runescape-api/src/main/java/net/runelite/rs/api/RSSequenceDefinition.java # runescape-api/src/main/java/net/runelite/rs/api/RSSpritePixels.java # runescape-api/src/main/java/net/runelite/rs/api/RSWallObject.java # runescape-api/src/main/java/net/runelite/rs/api/RSWorldMap.java
This commit is contained in:
383
runescape-client/src/main/java/MouseRecorder.java
Normal file
383
runescape-client/src/main/java/MouseRecorder.java
Normal file
@@ -0,0 +1,383 @@
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("bu")
|
||||
@Implements("MouseRecorder")
|
||||
public class MouseRecorder implements Runnable {
|
||||
@ObfuscatedName("no")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 2059180753
|
||||
)
|
||||
@Export("widgetDragDuration")
|
||||
static int widgetDragDuration;
|
||||
@ObfuscatedName("hy")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1075569245
|
||||
)
|
||||
@Export("__bu_hy")
|
||||
static int __bu_hy;
|
||||
@ObfuscatedName("m")
|
||||
@Export("isRunning")
|
||||
boolean isRunning;
|
||||
@ObfuscatedName("f")
|
||||
@Export("lock")
|
||||
Object lock;
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 973045825
|
||||
)
|
||||
@Export("index")
|
||||
int index;
|
||||
@ObfuscatedName("w")
|
||||
@Export("xs")
|
||||
int[] xs;
|
||||
@ObfuscatedName("o")
|
||||
@Export("ys")
|
||||
int[] ys;
|
||||
@ObfuscatedName("u")
|
||||
@Export("millis")
|
||||
long[] millis;
|
||||
|
||||
MouseRecorder() {
|
||||
this.isRunning = true;
|
||||
this.lock = new Object();
|
||||
this.index = 0;
|
||||
this.xs = new int[500];
|
||||
this.ys = new int[500];
|
||||
this.millis = new long[500];
|
||||
}
|
||||
|
||||
@Export("run")
|
||||
@ObfuscatedName("run")
|
||||
public void run() {
|
||||
for(; this.isRunning; class203.method4010(50L)) {
|
||||
Object var1 = this.lock;
|
||||
synchronized(this.lock) {
|
||||
if(this.index < 500) {
|
||||
this.xs[this.index] = MouseHandler.MouseHandler_x;
|
||||
this.ys[this.index] = MouseHandler.MouseHandler_y;
|
||||
this.millis[this.index] = MouseHandler.MouseHandler_millis;
|
||||
++this.index;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("hr")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(IIIIIB)V",
|
||||
garbageValue = "-51"
|
||||
)
|
||||
@Export("drawObject")
|
||||
static final void drawObject(int var0, int var1, int var2, int var3, int var4) {
|
||||
long var5 = class65.scene.__ar_244(var0, var1, var2);
|
||||
int var7;
|
||||
int var8;
|
||||
int var9;
|
||||
int var10;
|
||||
int var14;
|
||||
int var26;
|
||||
if(var5 != 0L) {
|
||||
var7 = class65.scene.getObjectFlags(var0, var1, var2, var5);
|
||||
var8 = var7 >> 6 & 3;
|
||||
var9 = var7 & 31;
|
||||
var10 = var3;
|
||||
boolean var12 = var5 != 0L;
|
||||
if(var12) {
|
||||
boolean var13 = (int)(var5 >>> 16 & 1L) == 1;
|
||||
var12 = !var13;
|
||||
}
|
||||
|
||||
if(var12) {
|
||||
var10 = var4;
|
||||
}
|
||||
|
||||
int[] var19 = WidgetGroupParent.sceneMinimapSprite.pixels;
|
||||
var26 = var1 * 4 + (103 - var2) * 2048 + 24624;
|
||||
var14 = HitSplatDefinition.method4972(var5);
|
||||
ObjectDefinition var15 = class50.getObjectDefinition(var14);
|
||||
if(var15.mapSceneId != -1) {
|
||||
IndexedSprite var16 = class192.mapSceneSprites[var15.mapSceneId];
|
||||
if(var16 != null) {
|
||||
int var17 = (var15.sizeX * 4 - var16.subWidth) / 2;
|
||||
int var18 = (var15.sizeY * 4 - var16.subHeight) / 2;
|
||||
var16.__q_496(var1 * 4 + var17 + 48, (104 - var2 - var15.sizeY) * 4 + var18 + 48);
|
||||
}
|
||||
} else {
|
||||
if(var9 == 0 || var9 == 2) {
|
||||
if(var8 == 0) {
|
||||
var19[var26] = var10;
|
||||
var19[var26 + 512] = var10;
|
||||
var19[var26 + 1024] = var10;
|
||||
var19[var26 + 1536] = var10;
|
||||
} else if(var8 == 1) {
|
||||
var19[var26] = var10;
|
||||
var19[var26 + 1] = var10;
|
||||
var19[var26 + 2] = var10;
|
||||
var19[var26 + 3] = var10;
|
||||
} else if(var8 == 2) {
|
||||
var19[var26 + 3] = var10;
|
||||
var19[var26 + 512 + 3] = var10;
|
||||
var19[var26 + 1024 + 3] = var10;
|
||||
var19[var26 + 1536 + 3] = var10;
|
||||
} else if(var8 == 3) {
|
||||
var19[var26 + 1536] = var10;
|
||||
var19[var26 + 1536 + 1] = var10;
|
||||
var19[var26 + 1536 + 2] = var10;
|
||||
var19[var26 + 1536 + 3] = var10;
|
||||
}
|
||||
}
|
||||
|
||||
if(var9 == 3) {
|
||||
if(var8 == 0) {
|
||||
var19[var26] = var10;
|
||||
} else if(var8 == 1) {
|
||||
var19[var26 + 3] = var10;
|
||||
} else if(var8 == 2) {
|
||||
var19[var26 + 1536 + 3] = var10;
|
||||
} else if(var8 == 3) {
|
||||
var19[var26 + 1536] = var10;
|
||||
}
|
||||
}
|
||||
|
||||
if(var9 == 2) {
|
||||
if(var8 == 3) {
|
||||
var19[var26] = var10;
|
||||
var19[var26 + 512] = var10;
|
||||
var19[var26 + 1024] = var10;
|
||||
var19[var26 + 1536] = var10;
|
||||
} else if(var8 == 0) {
|
||||
var19[var26] = var10;
|
||||
var19[var26 + 1] = var10;
|
||||
var19[var26 + 2] = var10;
|
||||
var19[var26 + 3] = var10;
|
||||
} else if(var8 == 1) {
|
||||
var19[var26 + 3] = var10;
|
||||
var19[var26 + 512 + 3] = var10;
|
||||
var19[var26 + 1024 + 3] = var10;
|
||||
var19[var26 + 1536 + 3] = var10;
|
||||
} else if(var8 == 2) {
|
||||
var19[var26 + 1536] = var10;
|
||||
var19[var26 + 1536 + 1] = var10;
|
||||
var19[var26 + 1536 + 2] = var10;
|
||||
var19[var26 + 1536 + 3] = var10;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var5 = class65.scene.__ay_246(var0, var1, var2);
|
||||
if(0L != var5) {
|
||||
var7 = class65.scene.getObjectFlags(var0, var1, var2, var5);
|
||||
var8 = var7 >> 6 & 3;
|
||||
var9 = var7 & 31;
|
||||
var10 = HitSplatDefinition.method4972(var5);
|
||||
ObjectDefinition var20 = class50.getObjectDefinition(var10);
|
||||
if(var20.mapSceneId != -1) {
|
||||
IndexedSprite var28 = class192.mapSceneSprites[var20.mapSceneId];
|
||||
if(var28 != null) {
|
||||
var26 = (var20.sizeX * 4 - var28.subWidth) / 2;
|
||||
var14 = (var20.sizeY * 4 - var28.subHeight) / 2;
|
||||
var28.__q_496(var26 + var1 * 4 + 48, (104 - var2 - var20.sizeY) * 4 + var14 + 48);
|
||||
}
|
||||
} else if(var9 == 9) {
|
||||
int var25 = 15658734;
|
||||
boolean var27 = 0L != var5;
|
||||
if(var27) {
|
||||
boolean var23 = (int)(var5 >>> 16 & 1L) == 1;
|
||||
var27 = !var23;
|
||||
}
|
||||
|
||||
if(var27) {
|
||||
var25 = 15597568;
|
||||
}
|
||||
|
||||
int[] var24 = WidgetGroupParent.sceneMinimapSprite.pixels;
|
||||
int var29 = var1 * 4 + (103 - var2) * 2048 + 24624;
|
||||
if(var8 != 0 && var8 != 2) {
|
||||
var24[var29] = var25;
|
||||
var24[var29 + 1 + 512] = var25;
|
||||
var24[var29 + 1024 + 2] = var25;
|
||||
var24[var29 + 1536 + 3] = var25;
|
||||
} else {
|
||||
var24[var29 + 1536] = var25;
|
||||
var24[var29 + 1 + 1024] = var25;
|
||||
var24[var29 + 512 + 2] = var25;
|
||||
var24[var29 + 3] = var25;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var5 = class65.scene.getFloorDecorationTag(var0, var1, var2);
|
||||
if(var5 != 0L) {
|
||||
var7 = HitSplatDefinition.method4972(var5);
|
||||
ObjectDefinition var21 = class50.getObjectDefinition(var7);
|
||||
if(var21.mapSceneId != -1) {
|
||||
IndexedSprite var22 = class192.mapSceneSprites[var21.mapSceneId];
|
||||
if(var22 != null) {
|
||||
var10 = (var21.sizeX * 4 - var22.subWidth) / 2;
|
||||
int var11 = (var21.sizeY * 4 - var22.subHeight) / 2;
|
||||
var22.__q_496(var10 + var1 * 4 + 48, var11 + (104 - var2 - var21.sizeY) * 4 + 48);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("it")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Ljava/lang/String;Lho;B)Ljava/lang/String;",
|
||||
garbageValue = "17"
|
||||
)
|
||||
static String method1194(String var0, Widget var1) {
|
||||
if(var0.indexOf("%") != -1) {
|
||||
for(int var2 = 1; var2 <= 5; ++var2) {
|
||||
while(true) {
|
||||
int var3 = var0.indexOf("%" + var2);
|
||||
if(var3 == -1) {
|
||||
break;
|
||||
}
|
||||
|
||||
String var4 = var0.substring(0, var3);
|
||||
int var6 = class16.method187(var1, var2 - 1);
|
||||
String var5;
|
||||
if(var6 < 999999999) {
|
||||
var5 = Integer.toString(var6);
|
||||
} else {
|
||||
var5 = "*";
|
||||
}
|
||||
|
||||
var0 = var4 + var5 + var0.substring(var3 + 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return var0;
|
||||
}
|
||||
|
||||
@ObfuscatedName("ji")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lho;IIII)V",
|
||||
garbageValue = "-335916694"
|
||||
)
|
||||
static final void method1189(Widget var0, int var1, int var2, int var3) {
|
||||
class13.playPcmPlayers();
|
||||
SpriteMask var4 = var0.getSpriteMask(false);
|
||||
if(var4 != null) {
|
||||
Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height);
|
||||
if(Client.minimapState != 2 && Client.minimapState != 5) {
|
||||
int var5 = Client.minimapOrientation & 2047;
|
||||
int var6 = Canvas.localPlayer.x / 32 + 48;
|
||||
int var7 = 464 - Canvas.localPlayer.y / 32;
|
||||
WidgetGroupParent.sceneMinimapSprite.__ay_513(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths);
|
||||
|
||||
int var8;
|
||||
int var9;
|
||||
int var10;
|
||||
for(var8 = 0; var8 < Client.mapIconCount; ++var8) {
|
||||
var9 = Client.mapIconXs[var8] * 4 + 2 - Canvas.localPlayer.x / 32;
|
||||
var10 = Client.mapIconYs[var8] * 4 + 2 - Canvas.localPlayer.y / 32;
|
||||
NetFileRequest.method4554(var1, var2, var9, var10, Client.mapIcons[var8], var4);
|
||||
}
|
||||
|
||||
int var11;
|
||||
int var12;
|
||||
for(var8 = 0; var8 < 104; ++var8) {
|
||||
for(var9 = 0; var9 < 104; ++var9) {
|
||||
NodeDeque var15 = Client.groundItems[SoundSystem.plane][var8][var9];
|
||||
if(var15 != null) {
|
||||
var11 = var8 * 4 + 2 - Canvas.localPlayer.x / 32;
|
||||
var12 = var9 * 4 + 2 - Canvas.localPlayer.y / 32;
|
||||
NetFileRequest.method4554(var1, var2, var11, var12, class39.mapDotSprites[0], var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(var8 = 0; var8 < Client.npcCount; ++var8) {
|
||||
Npc var16 = Client.npcs[Client.npcIndices[var8]];
|
||||
if(var16 != null && var16.isVisible()) {
|
||||
NpcDefinition var18 = var16.definition;
|
||||
if(var18 != null && var18.transforms != null) {
|
||||
var18 = var18.transform();
|
||||
}
|
||||
|
||||
if(var18 != null && var18.drawMapDot && var18.isInteractable) {
|
||||
var11 = var16.x / 32 - Canvas.localPlayer.x / 32;
|
||||
var12 = var16.y / 32 - Canvas.localPlayer.y / 32;
|
||||
NetFileRequest.method4554(var1, var2, var11, var12, class39.mapDotSprites[1], var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var8 = Players.Players_count;
|
||||
int[] var19 = Players.Players_indices;
|
||||
|
||||
for(var10 = 0; var10 < var8; ++var10) {
|
||||
Player var17 = Client.players[var19[var10]];
|
||||
if(var17 != null && var17.isVisible() && !var17.isHidden && var17 != Canvas.localPlayer) {
|
||||
var12 = var17.x / 32 - Canvas.localPlayer.x / 32;
|
||||
int var13 = var17.y / 32 - Canvas.localPlayer.y / 32;
|
||||
boolean var14 = false;
|
||||
if(Canvas.localPlayer.team != 0 && var17.team != 0 && var17.team == Canvas.localPlayer.team) {
|
||||
var14 = true;
|
||||
}
|
||||
|
||||
if(var17.isFriend()) {
|
||||
NetFileRequest.method4554(var1, var2, var12, var13, class39.mapDotSprites[3], var4);
|
||||
} else if(var14) {
|
||||
NetFileRequest.method4554(var1, var2, var12, var13, class39.mapDotSprites[4], var4);
|
||||
} else if(var17.isClanMember()) {
|
||||
NetFileRequest.method4554(var1, var2, var12, var13, class39.mapDotSprites[5], var4);
|
||||
} else {
|
||||
NetFileRequest.method4554(var1, var2, var12, var13, class39.mapDotSprites[2], var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(Client.hintArrowType != 0 && Client.cycle % 20 < 10) {
|
||||
if(Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) {
|
||||
Npc var20 = Client.npcs[Client.hintArrowNpcIndex];
|
||||
if(var20 != null) {
|
||||
var11 = var20.x / 32 - Canvas.localPlayer.x / 32;
|
||||
var12 = var20.y / 32 - Canvas.localPlayer.y / 32;
|
||||
UserComparator5.worldToMinimap(var1, var2, var11, var12, class16.mapMarkerSprites[1], var4);
|
||||
}
|
||||
}
|
||||
|
||||
if(Client.hintArrowType == 2) {
|
||||
var10 = Client.hintArrowX * 4 - class50.baseX * 4 + 2 - Canvas.localPlayer.x / 32;
|
||||
var11 = Client.hintArrowY * 4 - GraphicsObject.baseY * 4 + 2 - Canvas.localPlayer.y / 32;
|
||||
UserComparator5.worldToMinimap(var1, var2, var10, var11, class16.mapMarkerSprites[1], var4);
|
||||
}
|
||||
|
||||
if(Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) {
|
||||
Player var21 = Client.players[Client.hintArrowPlayerIndex];
|
||||
if(var21 != null) {
|
||||
var11 = var21.x / 32 - Canvas.localPlayer.x / 32;
|
||||
var12 = var21.y / 32 - Canvas.localPlayer.y / 32;
|
||||
UserComparator5.worldToMinimap(var1, var2, var11, var12, class16.mapMarkerSprites[1], var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(Client.destinationX != 0) {
|
||||
var10 = Client.destinationX * 4 + 2 - Canvas.localPlayer.x / 32;
|
||||
var11 = Client.destinationY * 4 + 2 - Canvas.localPlayer.y / 32;
|
||||
NetFileRequest.method4554(var1, var2, var10, var11, class16.mapMarkerSprites[0], var4);
|
||||
}
|
||||
|
||||
if(!Canvas.localPlayer.isHidden) {
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215);
|
||||
}
|
||||
} else {
|
||||
Rasterizer2D.method5948(var1, var2, 0, var4.xStarts, var4.xWidths);
|
||||
}
|
||||
|
||||
Client.__client_ot[var3] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user