project: Mixins

This commit is contained in:
Owain van Brakel
2021-11-03 13:40:13 +01:00
parent 798b93802b
commit 7dbe111c20
8 changed files with 89 additions and 11 deletions

View File

@@ -78,7 +78,7 @@ import okhttp3.Response;
public class ClientLoader implements Supplier<Applet>
{
private static final String INJECTED_CLIENT_NAME = "/injected-client.oprs";
private static final int NUM_ATTEMPTS = 6;
private static final int NUM_ATTEMPTS = 0;
private static File LOCK_FILE = new File(RuneLite.CACHE_DIR, "cache.lock");
private static File VANILLA_CACHE = new File(RuneLite.CACHE_DIR, "vanilla.cache");
private static File PATCHED_CACHE = new File(RuneLite.CACHE_DIR, "patched.cache");

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 2018, Adam <Adam@sigterm.info>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.mixins;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.Mixin;
import net.runelite.rs.api.RSObjectSound;
@Mixin(RSObjectSound.class)
public abstract class RSObjectSoundMixin implements RSObjectSound
{
@Inject
public LocalPoint getMinPosition()
{
return new LocalPoint(getX(), getY());
}
@Inject
public LocalPoint getMaxPosition()
{
return new LocalPoint(getMaxX(), getMaxY());
}
}

View File

@@ -26,7 +26,9 @@ package net.runelite.rs.api;
import java.math.BigInteger;
import java.util.Map;
import net.runelite.api.AmbientSoundEffect;
import net.runelite.api.Client;
import net.runelite.api.Deque;
import net.runelite.api.SpritePixels;
import net.runelite.api.World;
import net.runelite.api.clan.ClanRank;
@@ -1476,4 +1478,7 @@ public interface RSClient extends RSGameEngine, Client
boolean isUnlockedFps();
void posToCameraAngle(int var0, int var1);
@Import("objectSounds")
Deque<AmbientSoundEffect> getAmbientSoundEffects();
}

View File

@@ -24,9 +24,10 @@
*/
package net.runelite.rs.api;
import net.runelite.api.Deque;
import net.runelite.mapping.Import;
public interface RSNodeDeque
public interface RSNodeDeque extends Deque
{
@Import("current")
RSNode getCurrent();
@@ -45,4 +46,7 @@ public interface RSNodeDeque
@Import("removeLast")
RSNode removeLast();
@Import("clear")
void clear();
}

View File

@@ -1,3 +1,24 @@
package net.runelite.rs.api;
public interface RSObjectSound {}
import net.runelite.mapping.Import;
public interface RSObjectSound
{
@Import("x")
int getX();
@Import("y")
int getY();
@Import("maxY")
int getMaxX();
@Import("maxY")
int getMaxY();
@Import("soundEffectId")
int getSoundEffectId();
@Import("plane")
int getPlane();
}

View File

@@ -41,12 +41,14 @@ public final class ObjectSound extends Node {
@ObfuscatedGetter(
intValue = 171593
)
int field771;
@Export("maxX")
int maxX;
@ObfuscatedName("e")
@ObfuscatedGetter(
intValue = -269879271
)
int field772;
@Export("maxY")
int maxY;
@ObfuscatedName("p")
@ObfuscatedGetter(
intValue = -1161490471

View File

@@ -63,8 +63,8 @@ public class class125 extends class116 {
var7 = var3.sizeX; // L: 67
}
var5.field771 = (var6 + var1) * 128; // L: 69
var5.field772 = (var7 + var2) * 128; // L: 70
var5.maxX = (var6 + var1) * 128; // L: 69
var5.maxY = (var7 + var2) * 128; // L: 70
var5.soundEffectId = var3.ambientSoundId; // L: 71
var5.field773 = var3.int7 * 128; // L: 72
var5.field767 = var3.int5; // L: 73

View File

@@ -59,14 +59,14 @@ public class class130 extends class116 {
for (ObjectSound var4 = (ObjectSound)ObjectSound.objectSounds.last(); var4 != null; var4 = (ObjectSound)ObjectSound.objectSounds.previous()) { // L: 85
if (var4.soundEffectId != -1 || var4.soundEffectIds != null) { // L: 86
int var5 = 0; // L: 87
if (var1 > var4.field771) { // L: 88
var5 += var1 - var4.field771;
if (var1 > var4.maxX) { // L: 88
var5 += var1 - var4.maxX;
} else if (var1 < var4.x) { // L: 89
var5 += var4.x - var1;
}
if (var2 > var4.field772) { // L: 90
var5 += var2 - var4.field772;
if (var2 > var4.maxY) { // L: 90
var5 += var2 - var4.maxY;
} else if (var2 < var4.y) { // L: 91
var5 += var4.y - var2;
}