Files
runelite/runescape-client/src/main/java/ChatChannel.java
ImNoOSRS e5a74473fd api: Add support for verbose inventory quantities (#2814)
* -

-

* Add VerboseInventoryQuantitiesMixin with changes.

* Fix checkstyle and add copyright header.

* Remove unused imports

* Checkstyle hotfix

* Checkstyle

* Checkstyle2

* Change Internal name to itemQuantitiesVerbose
2020-09-24 13:41:12 +02:00

356 lines
12 KiB
Java

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("cl")
@Implements("ChatChannel")
public class ChatChannel {
@ObfuscatedName("ln")
@ObfuscatedGetter(
intValue = -1406179309
)
@Export("menuX")
static int menuX;
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "[Lbk;"
)
@Export("messages")
Message[] messages;
@ObfuscatedName("s")
@ObfuscatedGetter(
intValue = -1207472641
)
@Export("count")
int count;
ChatChannel() {
this.messages = new Message[100]; // L: 83
} // L: 86
@ObfuscatedName("z")
@ObfuscatedSignature(
descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lbk;",
garbageValue = "-1549087177"
)
@Export("addMessage")
Message addMessage(int var1, String var2, String var3, String var4) {
Message var5 = this.messages[99]; // L: 89
for (int var6 = this.count; var6 > 0; --var6) { // L: 90
if (var6 != 100) { // L: 91
this.messages[var6] = this.messages[var6 - 1]; // L: 92
}
}
if (var5 == null) { // L: 94
var5 = new Message(var1, var2, var4, var3);
} else {
var5.remove(); // L: 96
var5.removeDual(); // L: 97
var5.set(var1, var2, var4, var3); // L: 98
}
this.messages[0] = var5; // L: 100
if (this.count < 100) { // L: 101
++this.count;
}
return var5; // L: 102
}
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "(II)Lbk;",
garbageValue = "1867589012"
)
@Export("getMessage")
Message getMessage(int var1) {
return var1 >= 0 && var1 < this.count ? this.messages[var1] : null; // L: 106 107
}
@ObfuscatedName("s")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "-1452572127"
)
@Export("size")
int size() {
return this.count; // L: 111
}
@ObfuscatedName("d")
@ObfuscatedSignature(
descriptor = "(IIIIIZI)Llp;",
garbageValue = "-1593670187"
)
@Export("getItemSprite")
public static final Sprite getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) {
if (var1 == -1) { // L: 353
var4 = 0;
} else if (var4 == 2 && var1 != 1) { // L: 354
var4 = 1;
}
long var6 = ((long)var4 << 40) + ((long)var2 << 38) + ((long)var1 << 16) + (long)var0 + ((long)var3 << 42); // L: 355
Sprite var8;
if (!var5) { // L: 357
var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6); // L: 358
if (var8 != null) { // L: 359
return var8;
}
}
ItemDefinition var9 = GrandExchangeOfferTotalQuantityComparator.ItemDefinition_get(var0); // L: 361
if (var1 > 1 && var9.countobj != null) { // L: 362
int var10 = -1; // L: 363
for (int var11 = 0; var11 < 10; ++var11) { // L: 364
if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { // L: 365
var10 = var9.countobj[var11];
}
}
if (var10 != -1) { // L: 367
var9 = GrandExchangeOfferTotalQuantityComparator.ItemDefinition_get(var10);
}
}
Model var19 = var9.getModel(1); // L: 369
if (var19 == null) { // L: 370
return null;
} else {
Sprite var20 = null; // L: 371
if (var9.noteTemplate != -1) { // L: 372
var20 = getItemSprite(var9.note, 10, 1, 0, 0, true); // L: 373
if (var20 == null) { // L: 374
return null;
}
} else if (var9.notedId != -1) { // L: 376
var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); // L: 377
if (var20 == null) { // L: 378
return null;
}
} else if (var9.placeholderTemplate != -1) { // L: 380
var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); // L: 381
if (var20 == null) { // L: 382
return null;
}
}
int[] var12 = Rasterizer2D.Rasterizer2D_pixels; // L: 384
int var13 = Rasterizer2D.Rasterizer2D_width; // L: 385
int var14 = Rasterizer2D.Rasterizer2D_height; // L: 386
int[] var15 = new int[4]; // L: 387
Rasterizer2D.Rasterizer2D_getClipArray(var15); // L: 388
var8 = new Sprite(36, 32); // L: 389
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); // L: 390
Rasterizer2D.Rasterizer2D_clear(); // L: 391
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); // L: 392
Rasterizer3D.method3181(16, 16); // L: 393
Rasterizer3D.field1788 = false; // L: 394
if (var9.placeholderTemplate != -1) { // L: 395
var20.drawTransBgAt(0, 0);
}
int var16 = var9.zoom2d; // L: 396
if (var5) { // L: 397
var16 = (int)(1.5D * (double)var16);
} else if (var2 == 2) { // L: 398
var16 = (int)(1.04D * (double)var16);
}
int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; // L: 399
int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; // L: 400
var19.calculateBoundsCylinder(); // L: 401
var19.method3003(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); // L: 402
if (var9.notedId != -1) { // L: 403
var20.drawTransBgAt(0, 0);
}
if (var2 >= 1) { // L: 404
var8.outline(1);
}
if (var2 >= 2) { // L: 405
var8.outline(16777215);
}
if (var3 != 0) { // L: 406
var8.shadow(var3);
}
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); // L: 407
if (var9.noteTemplate != -1) { // L: 408
var20.drawTransBgAt(0, 0);
}
if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { // L: 409
ScriptEvent.ItemDefinition_fontPlain11.draw(class194.inventoryQuantityFormat(var1), 0, 9, 16776960, 1); // L: 410
}
if (!var5) { // L: 412
ItemDefinition.ItemDefinition_cachedSprites.put(var8, var6);
}
Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); // L: 413
Rasterizer2D.Rasterizer2D_setClipArray(var15); // L: 414
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); // L: 415
Rasterizer3D.field1788 = true; // L: 416
return var8; // L: 417
}
}
@ObfuscatedName("gy")
@ObfuscatedSignature(
descriptor = "(IIIIII)V",
garbageValue = "-2146534087"
)
@Export("drawObject")
static final void drawObject(int var0, int var1, int var2, int var3, int var4) {
long var5 = ScriptEvent.scene.getBoundaryObjectTag(var0, var1, var2); // L: 5182
int var7;
int var8;
int var9;
int var10;
int var12;
int var13;
if (0L != var5) { // L: 5183
var7 = ScriptEvent.scene.getObjectFlags(var0, var1, var2, var5); // L: 5184
var8 = var7 >> 6 & 3; // L: 5185
var9 = var7 & 31; // L: 5186
var10 = var3; // L: 5187
if (GrandExchangeOfferTotalQuantityComparator.method173(var5)) { // L: 5188
var10 = var4;
}
int[] var11 = ApproximateRouteStrategy.sceneMinimapSprite.pixels; // L: 5189
var12 = var1 * 4 + (103 - var2) * 2048 + 24624; // L: 5190
var13 = UserComparator9.Entity_unpackID(var5); // L: 5191
ObjectDefinition var14 = MidiPcmStream.getObjectDefinition(var13); // L: 5192
if (var14.mapSceneId != -1) { // L: 5193
IndexedSprite var15 = ReflectionCheck.mapSceneSprites[var14.mapSceneId]; // L: 5194
if (var15 != null) { // L: 5195
int var16 = (var14.sizeX * 4 - var15.subWidth) / 2; // L: 5196
int var17 = (var14.sizeY * 4 - var15.subHeight) / 2; // L: 5197
var15.drawAt(var1 * 4 + var16 + 48, (104 - var2 - var14.sizeY) * 4 + var17 + 48); // L: 5198
}
} else {
if (var9 == 0 || var9 == 2) { // L: 5202
if (var8 == 0) { // L: 5203
var11[var12] = var10; // L: 5204
var11[var12 + 512] = var10; // L: 5205
var11[var12 + 1024] = var10; // L: 5206
var11[var12 + 1536] = var10; // L: 5207
} else if (var8 == 1) { // L: 5209
var11[var12] = var10; // L: 5210
var11[var12 + 1] = var10; // L: 5211
var11[var12 + 2] = var10; // L: 5212
var11[var12 + 3] = var10; // L: 5213
} else if (var8 == 2) { // L: 5215
var11[var12 + 3] = var10; // L: 5216
var11[var12 + 512 + 3] = var10; // L: 5217
var11[var12 + 1024 + 3] = var10; // L: 5218
var11[var12 + 1536 + 3] = var10; // L: 5219
} else if (var8 == 3) { // L: 5221
var11[var12 + 1536] = var10; // L: 5222
var11[var12 + 1536 + 1] = var10; // L: 5223
var11[var12 + 1536 + 2] = var10; // L: 5224
var11[var12 + 1536 + 3] = var10; // L: 5225
}
}
if (var9 == 3) { // L: 5228
if (var8 == 0) { // L: 5229
var11[var12] = var10;
} else if (var8 == 1) { // L: 5230
var11[var12 + 3] = var10;
} else if (var8 == 2) { // L: 5231
var11[var12 + 1536 + 3] = var10;
} else if (var8 == 3) { // L: 5232
var11[var12 + 1536] = var10;
}
}
if (var9 == 2) { // L: 5234
if (var8 == 3) { // L: 5235
var11[var12] = var10; // L: 5236
var11[var12 + 512] = var10; // L: 5237
var11[var12 + 1024] = var10; // L: 5238
var11[var12 + 1536] = var10; // L: 5239
} else if (var8 == 0) { // L: 5241
var11[var12] = var10; // L: 5242
var11[var12 + 1] = var10; // L: 5243
var11[var12 + 2] = var10; // L: 5244
var11[var12 + 3] = var10; // L: 5245
} else if (var8 == 1) { // L: 5247
var11[var12 + 3] = var10; // L: 5248
var11[var12 + 512 + 3] = var10; // L: 5249
var11[var12 + 1024 + 3] = var10; // L: 5250
var11[var12 + 1536 + 3] = var10; // L: 5251
} else if (var8 == 2) { // L: 5253
var11[var12 + 1536] = var10; // L: 5254
var11[var12 + 1536 + 1] = var10; // L: 5255
var11[var12 + 1536 + 2] = var10; // L: 5256
var11[var12 + 1536 + 3] = var10; // L: 5257
}
}
}
}
var5 = ScriptEvent.scene.getGameObjectTag(var0, var1, var2); // L: 5262
if (0L != var5) { // L: 5263
var7 = ScriptEvent.scene.getObjectFlags(var0, var1, var2, var5); // L: 5264
var8 = var7 >> 6 & 3; // L: 5265
var9 = var7 & 31; // L: 5266
var10 = UserComparator9.Entity_unpackID(var5); // L: 5267
ObjectDefinition var24 = MidiPcmStream.getObjectDefinition(var10); // L: 5268
int var19;
if (var24.mapSceneId != -1) { // L: 5269
IndexedSprite var20 = ReflectionCheck.mapSceneSprites[var24.mapSceneId]; // L: 5270
if (var20 != null) { // L: 5271
var13 = (var24.sizeX * 4 - var20.subWidth) / 2; // L: 5272
var19 = (var24.sizeY * 4 - var20.subHeight) / 2; // L: 5273
var20.drawAt(var1 * 4 + var13 + 48, var19 + (104 - var2 - var24.sizeY) * 4 + 48); // L: 5274
}
} else if (var9 == 9) { // L: 5277
var12 = 15658734; // L: 5278
if (GrandExchangeOfferTotalQuantityComparator.method173(var5)) { // L: 5279
var12 = 15597568;
}
int[] var18 = ApproximateRouteStrategy.sceneMinimapSprite.pixels; // L: 5280
var19 = var1 * 4 + (103 - var2) * 2048 + 24624; // L: 5281
if (var8 != 0 && var8 != 2) { // L: 5282
var18[var19] = var12; // L: 5289
var18[var19 + 1 + 512] = var12; // L: 5290
var18[var19 + 1024 + 2] = var12; // L: 5291
var18[var19 + 1536 + 3] = var12; // L: 5292
} else {
var18[var19 + 1536] = var12; // L: 5283
var18[var19 + 1 + 1024] = var12; // L: 5284
var18[var19 + 512 + 2] = var12; // L: 5285
var18[var19 + 3] = var12; // L: 5286
}
}
}
var5 = ScriptEvent.scene.getFloorDecorationTag(var0, var1, var2); // L: 5296
if (0L != var5) { // L: 5297
var7 = UserComparator9.Entity_unpackID(var5); // L: 5298
ObjectDefinition var21 = MidiPcmStream.getObjectDefinition(var7); // L: 5299
if (var21.mapSceneId != -1) { // L: 5300
IndexedSprite var22 = ReflectionCheck.mapSceneSprites[var21.mapSceneId]; // L: 5301
if (var22 != null) { // L: 5302
var10 = (var21.sizeX * 4 - var22.subWidth) / 2; // L: 5303
int var23 = (var21.sizeY * 4 - var22.subHeight) / 2; // L: 5304
var22.drawAt(var10 + var1 * 4 + 48, var23 + (104 - var2 - var21.sizeY) * 4 + 48); // L: 5305
}
}
}
} // L: 5309
}