project: music plugin

This commit is contained in:
Owain van Brakel
2019-10-30 05:46:45 +01:00
parent ad68bc0d1f
commit b3991f219d
17 changed files with 97 additions and 30 deletions

View File

@@ -202,7 +202,8 @@ public final class Client extends GameShell implements Usernamed {
@ObfuscatedGetter(
intValue = -910754411
)
static int field666;
@Export("currentTrackGroupId")
static int currentTrackGroupId;
@ObfuscatedName("mo")
@ObfuscatedGetter(
intValue = -1946560921
@@ -1511,7 +1512,7 @@ public final class Client extends GameShell implements Usernamed {
destinationY = 0;
minimapState = 0;
musicVolume = 255;
field666 = -1;
currentTrackGroupId = -1;
field759 = false;
soundEffectVolume = 127;
areaSoundEffectVolume = 127;
@@ -1653,7 +1654,7 @@ public final class Client extends GameShell implements Usernamed {
var5 = 0;
}
class49.midiPcmStream.method3760(var5);
class49.midiPcmStream.setPcmStreamVolume(var5);
} else {
class49.midiPcmStream.clear();
class49.midiPcmStream.removeAll();
@@ -1765,7 +1766,7 @@ public final class Client extends GameShell implements Usernamed {
if (class49.midiPcmStream.loadMusicTrack(class197.musicTrack, class197.musicPatchesArchive, FriendLoginUpdate.soundCache, 22050)) {
class49.midiPcmStream.clearAll();
class49.midiPcmStream.method3760(TileItem.field1223);
class49.midiPcmStream.setPcmStreamVolume(TileItem.musicTrackVolume);
class49.midiPcmStream.setMusicTrack(class197.musicTrack, WorldMapSectionType.musicTrackBoolean);
class197.field2386 = 0;
class197.musicTrack = null;

View File

@@ -705,7 +705,7 @@ public class ClientPacket implements class181 {
@Export("playSoundJingle")
static void playSoundJingle(int var0, int var1) {
if (Client.musicVolume != 0 && var0 != -1) {
class83.method2068(ClanMate.archive11, var0, 0, Client.musicVolume, false);
class83.playMusicTrack(ClanMate.archive11, var0, 0, Client.musicVolume, false);
Client.field759 = true;
}

View File

@@ -213,10 +213,10 @@ public class DynamicObject extends Entity {
class197.musicTrackArchive = null;
class188.musicTrackGroupId = -1;
class49.musicTrackFileId = -1;
TileItem.field1223 = 0;
TileItem.musicTrackVolume = 0;
WorldMapSectionType.musicTrackBoolean = false;
MusicPatchNode2.field2382 = 2;
Client.field666 = -1;
Client.currentTrackGroupId = -1;
Client.field759 = false;
ClientPacket.method3581();
MouseRecorder.updateGameState(10);

View File

@@ -151,8 +151,8 @@ public class HealthBarUpdate extends Node {
}
if (!var12) {
if (Client.musicVolume != 0 && Client.field666 != -1) {
class83.method2068(class225.archive6, Client.field666, 0, Client.musicVolume, false);
if (Client.musicVolume != 0 && Client.currentTrackGroupId != -1) {
class83.playMusicTrack(class225.archive6, Client.currentTrackGroupId, 0, Client.musicVolume, false);
}
Client.field759 = false;

View File

@@ -131,7 +131,8 @@ public class MidiPcmStream extends PcmStream {
signature = "(II)V",
garbageValue = "-1812413582"
)
public synchronized void method3760(int var1) {
@Export("setPcmStreamVolume")
public synchronized void setPcmStreamVolume(int var1) {
this.field2393 = var1;
}

View File

@@ -205,7 +205,7 @@ public class MouseRecorder implements Runnable {
class197.musicTrackArchive = null;
class188.musicTrackGroupId = -1;
class49.musicTrackFileId = -1;
TileItem.field1223 = 0;
TileItem.musicTrackVolume = 0;
WorldMapSectionType.musicTrackBoolean = false;
MusicPatchNode2.field2382 = 2;
DirectByteArrayCopier.method3924(true);

View File

@@ -64,19 +64,19 @@ public class MusicPatchNode2 {
static void playSong(int var0) {
if (var0 == -1 && !Client.field759) {
VertexNormal.method2960();
} else if (var0 != -1 && var0 != Client.field666 && Client.musicVolume != 0 && !Client.field759) {
} else if (var0 != -1 && var0 != Client.currentTrackGroupId && Client.musicVolume != 0 && !Client.field759) {
Archive var1 = class225.archive6;
int var2 = Client.musicVolume;
class197.field2386 = 1;
class197.musicTrackArchive = var1;
class188.musicTrackGroupId = var0;
class49.musicTrackFileId = 0;
TileItem.field1223 = var2;
TileItem.musicTrackVolume = var2;
WorldMapSectionType.musicTrackBoolean = false;
field2382 = 2;
}
Client.field666 = var0;
Client.currentTrackGroupId = var0;
}
@ObfuscatedName("ic")

View File

@@ -438,16 +438,16 @@ public final class NetSocket extends AbstractSocket implements Runnable {
}
if (var3 != Client.musicVolume) {
if (Client.musicVolume == 0 && Client.field666 != -1) {
class83.method2068(class225.archive6, Client.field666, 0, var3, false);
if (Client.musicVolume == 0 && Client.currentTrackGroupId != -1) {
class83.playMusicTrack(class225.archive6, Client.currentTrackGroupId, 0, var3, false);
Client.field759 = false;
} else if (var3 == 0) {
VertexNormal.method2960();
Client.field759 = false;
} else if (class197.field2386 != 0) {
TileItem.field1223 = var3;
TileItem.musicTrackVolume = var3;
} else {
class49.midiPcmStream.method3760(var3);
class49.midiPcmStream.setPcmStreamVolume(var3);
}
Client.musicVolume = var3;

View File

@@ -17,7 +17,8 @@ public final class TileItem extends Entity {
@ObfuscatedGetter(
intValue = 1727946021
)
public static int field1223;
@Export("musicTrackVolume")
public static int musicTrackVolume;
@ObfuscatedName("z")
@ObfuscatedGetter(
intValue = -1488876063

View File

@@ -43,7 +43,7 @@ public class UserComparator4 implements Comparator {
public static void method3349(AbstractArchive var0, String var1, String var2, int var3, boolean var4) {
int var5 = var0.getGroupId(var1);
int var6 = var0.getFileId(var5, var2);
class83.method2068(var0, var5, var6, var3, var4);
class83.playMusicTrack(var0, var5, var6, var3, var4);
}
@ObfuscatedName("ka")

View File

@@ -263,7 +263,7 @@ public class WorldMapData_0 extends AbstractWorldMapData {
class197.musicTrackArchive = var1;
class188.musicTrackGroupId = var6;
class49.musicTrackFileId = var7;
TileItem.field1223 = var4;
TileItem.musicTrackVolume = var4;
WorldMapSectionType.musicTrackBoolean = var5;
MusicPatchNode2.field2382 = var0;
}

View File

@@ -107,7 +107,7 @@ public final class WorldMapSprite {
class197.musicTrackArchive = null;
class188.musicTrackGroupId = -1;
class49.musicTrackFileId = -1;
TileItem.field1223 = 0;
TileItem.musicTrackVolume = 0;
WorldMapSectionType.musicTrackBoolean = false;
MusicPatchNode2.field2382 = 2;
}

View File

@@ -1,5 +1,6 @@
import java.awt.Component;
import java.math.BigInteger;
import net.runelite.mapping.Export;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@@ -37,12 +38,13 @@ public class class83 {
signature = "(Lhp;IIIZI)V",
garbageValue = "-476776598"
)
public static void method2068(AbstractArchive var0, int var1, int var2, int var3, boolean var4) {
@Export("playMusicTrack")
public static void playMusicTrack(AbstractArchive var0, int var1, int var2, int var3, boolean var4) {
class197.field2386 = 1;
class197.musicTrackArchive = var0;
class188.musicTrackGroupId = var1;
class49.musicTrackFileId = var2;
TileItem.field1223 = var3;
TileItem.musicTrackVolume = var3;
WorldMapSectionType.musicTrackBoolean = var4;
MusicPatchNode2.field2382 = 10000;
}