finish upstream
@@ -69,6 +69,7 @@ public class ExternalPluginClient
|
||||
.newBuilder()
|
||||
.addPathSegments("manifest.js")
|
||||
.build();
|
||||
System.out.println(manifest.uri());
|
||||
try (Response res = okHttpClient.newCall(new Request.Builder().url(manifest).build()).execute())
|
||||
{
|
||||
if (res.code() != 200)
|
||||
|
||||
|
Before Width: | Height: | Size: 15 KiB |
@@ -1,15 +0,0 @@
|
||||
runelite.version=@project.version@
|
||||
runescape.version=@rs.version@
|
||||
open.osrs.discord.appid=627741263881568257
|
||||
runelite.discord.invite=https://discord.gg/openosrs
|
||||
runelite.github.link=https://github.com/open-osrs/runelite
|
||||
runelite.wiki.link=https://github.com/open-osrs/runelite/wiki
|
||||
runelite.patreon.link=https://www.patreon.com/openosrs
|
||||
open.osrs.title=OpenOSRS
|
||||
open.osrs.version=@open.osrs.version@
|
||||
open.osrs.builddate=@open.osrs.builddate@
|
||||
runelite.wiki.troubleshooting.link=https://github.com/open-osrs/runelite/wiki/Troubleshooting-problems-with-the-client
|
||||
runelite.wiki.building.link=https://github.com/open-osrs/runelite/wiki/Building-with-IntelliJ-IDEA
|
||||
runelite.dnschange.link=https://1.1.1.1/dns/
|
||||
plugin.path=@plugin.path@
|
||||
runelite.imgur.client.id=30d71e5f6860809
|
||||
|
Before Width: | Height: | Size: 211 B |
@@ -40,6 +40,7 @@ void main() {
|
||||
int uvOffset = minfo.uvOffset;
|
||||
int flags = minfo.flags;
|
||||
ivec4 pos = ivec4(minfo.x, minfo.y, minfo.z, 0);
|
||||
|
||||
if (localId >= size) {
|
||||
return;
|
||||
}
|
||||
@@ -78,4 +79,4 @@ void main() {
|
||||
uvout[outOffset + myOffset * 3 + 1] = uv[uvOffset + localId * 3 + 1];
|
||||
uvout[outOffset + myOffset * 3 + 2] = uv[uvOffset + localId * 3 + 2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,26 +43,29 @@ out vec4 FragColor;
|
||||
#include colorblind.glsl
|
||||
|
||||
void main() {
|
||||
int hsl = int(fHsl);
|
||||
vec3 rgb = hslToRgb(hsl) * smoothBanding + Color.rgb * (1.f - smoothBanding);
|
||||
vec4 smoothColor = vec4(rgb, Color.a);
|
||||
vec4 c;
|
||||
|
||||
if (textureId > 0) {
|
||||
int textureIdx = textureId - 1;
|
||||
|
||||
vec2 uv = fUv;
|
||||
vec2 animatedUv = uv + textureOffsets[textureIdx];
|
||||
vec2 animatedUv = fUv + textureOffsets[textureIdx];
|
||||
|
||||
vec4 textureColor = texture(textures, vec3(animatedUv, float(textureIdx)));
|
||||
vec4 textureColorBrightness = pow(textureColor, vec4(brightness, brightness, brightness, 1.0f));
|
||||
|
||||
smoothColor = textureColorBrightness * smoothColor;
|
||||
// textured triangles hsl is a 7 bit lightness 2-126
|
||||
float light = fHsl / 127.f;
|
||||
c = textureColorBrightness * vec4(light, light, light, 1.f);
|
||||
} else {
|
||||
// pick interpolated hsl or rgb depending on smooth banding setting
|
||||
vec3 rgb = hslToRgb(int(fHsl)) * smoothBanding + Color.rgb * (1.f - smoothBanding);
|
||||
c = vec4(rgb, Color.a);
|
||||
}
|
||||
|
||||
if (colorBlindMode > 0) {
|
||||
smoothColor.rgb = colorblind(colorBlindMode, smoothColor.rgb);
|
||||
c.rgb = colorblind(colorBlindMode, c.rgb);
|
||||
}
|
||||
|
||||
vec3 mixedColor = mix(smoothColor.rgb, fogColor.rgb, fogAmount);
|
||||
FragColor = vec4(mixedColor, smoothColor.a);
|
||||
vec3 mixedColor = mix(c.rgb, fogColor.rgb, fogAmount);
|
||||
FragColor = vec4(mixedColor, c.a);
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ uniform int samplingMode;
|
||||
uniform ivec2 sourceDimensions;
|
||||
uniform ivec2 targetDimensions;
|
||||
uniform int colorBlindMode;
|
||||
uniform vec4 alphaOverlay;
|
||||
|
||||
#include scale/bicubic.glsl
|
||||
#include scale/xbr_lv2_frag.glsl
|
||||
@@ -44,6 +45,13 @@ in XBRTable xbrTable;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
vec4 alphaBlend(vec4 src, vec4 dst) {
|
||||
return vec4(
|
||||
src.rgb + dst.rgb * (1.0f - src.a),
|
||||
src.a + dst.a * (1.0f - src.a)
|
||||
);
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec4 c;
|
||||
|
||||
@@ -51,14 +59,17 @@ void main() {
|
||||
case SAMPLING_CATROM:
|
||||
case SAMPLING_MITCHELL:
|
||||
c = textureCubic(tex, TexCoord, samplingMode);
|
||||
c = alphaBlend(c, alphaOverlay);
|
||||
c.rgb = colorblind(colorBlindMode, c.rgb);
|
||||
break;
|
||||
case SAMPLING_XBR:
|
||||
c = textureXBR(tex, TexCoord, xbrTable, ceil(1.0 * targetDimensions.x / sourceDimensions.x));
|
||||
c = alphaBlend(c, alphaOverlay);
|
||||
c.rgb = colorblind(colorBlindMode, c.rgb);
|
||||
break;
|
||||
default: // NEAREST or LINEAR, which uses GL_TEXTURE_MIN_FILTER/GL_TEXTURE_MAG_FILTER to affect sampling
|
||||
c = texture(tex, TexCoord);
|
||||
c = alphaBlend(c, alphaOverlay);
|
||||
c.rgb = colorblind(colorBlindMode, c.rgb);
|
||||
}
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 673 B |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 121 B |
|
Before Width: | Height: | Size: 384 B |
|
Before Width: | Height: | Size: 299 B |
|
Before Width: | Height: | Size: 312 B |
|
Before Width: | Height: | Size: 580 B |
@@ -360,6 +360,12 @@
|
||||
"name": "Extended Antifire (3)",
|
||||
"xp": 82.5
|
||||
},
|
||||
{
|
||||
"level": 84,
|
||||
"icon": 11951,
|
||||
"name": "Extended Antifire (4)",
|
||||
"xp": 110
|
||||
},
|
||||
{
|
||||
"level": 86,
|
||||
"icon": 24635,
|
||||
@@ -378,6 +384,12 @@
|
||||
"name": "Anti-venom(3)",
|
||||
"xp": 90
|
||||
},
|
||||
{
|
||||
"level": 87,
|
||||
"icon": 12905,
|
||||
"name": "Anti-venom(4)",
|
||||
"xp": 120
|
||||
},
|
||||
{
|
||||
"level": 90,
|
||||
"icon": 12695,
|
||||
@@ -386,14 +398,14 @@
|
||||
},
|
||||
{
|
||||
"level": 92,
|
||||
"icon": 21981,
|
||||
"name": "Super Antifire (3)",
|
||||
"icon": 21978,
|
||||
"name": "Super Antifire (4)",
|
||||
"xp": 130
|
||||
},
|
||||
{
|
||||
"level": 94,
|
||||
"icon": 12915,
|
||||
"name": "Anti-venom+(3)",
|
||||
"icon": 12913,
|
||||
"name": "Anti-venom+(4)",
|
||||
"xp": 125
|
||||
},
|
||||
{
|
||||
|
||||
@@ -974,7 +974,7 @@ c 7 4
|
||||
#100
|
||||
R 19 19 21 20
|
||||
|
||||
// Cosmic renderable's plane
|
||||
// Cosmic entity's plane
|
||||
#040404
|
||||
r 32 75
|
||||
|
||||
|
||||
@@ -244,6 +244,87 @@ public abstract class RSSceneMixin implements RSScene
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int z = minLevel; z < maxY; ++z)
|
||||
{
|
||||
RSTile[][] planeTiles = tiles[z];
|
||||
|
||||
for (int x = -distance; x <= 0; ++x)
|
||||
{
|
||||
int var10 = x + screenCenterX;
|
||||
int var16 = screenCenterX - x;
|
||||
if (var10 >= minTileX || var16 < maxTileX)
|
||||
{
|
||||
for (int y = -distance; y <= 0; ++y)
|
||||
{
|
||||
int var13 = y + screenCenterZ;
|
||||
int var14 = screenCenterZ - y;
|
||||
if (var10 >= minTileX)
|
||||
{
|
||||
if (var13 >= minTileZ)
|
||||
{
|
||||
RSTile tile = planeTiles[var10][var13];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (var14 < maxTileZ)
|
||||
{
|
||||
RSTile tile = planeTiles[var10][var14];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var16 < maxTileX)
|
||||
{
|
||||
if (var13 >= minTileZ)
|
||||
{
|
||||
RSTile tile = planeTiles[var16][var13];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (var14 < maxTileZ)
|
||||
{
|
||||
RSTile tile = planeTiles[var16][var14];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (client.getTileUpdateCount() == 0)
|
||||
{
|
||||
if (!isGpu && (client.getOculusOrbState() != 0 && !client.getComplianceValue("orbInteraction")))
|
||||
{
|
||||
client.setEntitiesAtMouseCount(0);
|
||||
}
|
||||
client.setCheckClick(false);
|
||||
if (!checkClick)
|
||||
{
|
||||
client.setViewportWalking(false);
|
||||
}
|
||||
client.getCallbacks().drawScene();
|
||||
|
||||
if (client.getDrawCallbacks() != null)
|
||||
{
|
||||
client.getDrawCallbacks().postDrawScene();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
outer:
|
||||
for (int z = minLevel; z < maxY; ++z)
|
||||
{
|
||||
@@ -266,7 +347,7 @@ public abstract class RSSceneMixin implements RSScene
|
||||
RSTile tile = planeTiles[var10][var13];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, true);
|
||||
draw(tile, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +356,7 @@ public abstract class RSSceneMixin implements RSScene
|
||||
RSTile tile = planeTiles[var10][var14];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, true);
|
||||
draw(tile, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -287,7 +368,7 @@ public abstract class RSSceneMixin implements RSScene
|
||||
RSTile tile = planeTiles[var16][var13];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, true);
|
||||
draw(tile, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -296,7 +377,7 @@ public abstract class RSSceneMixin implements RSScene
|
||||
RSTile tile = planeTiles[var16][var14];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, true);
|
||||
draw(tile, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -311,81 +392,6 @@ public abstract class RSSceneMixin implements RSScene
|
||||
}
|
||||
}
|
||||
|
||||
for (int z = minLevel; z < maxY; ++z)
|
||||
{
|
||||
RSTile[][] planeTiles = tiles[z];
|
||||
|
||||
for (int x = -distance; x <= 0; ++x)
|
||||
{
|
||||
int var10 = x + screenCenterX;
|
||||
int var16 = screenCenterX - x;
|
||||
if (var10 >= minTileX || var16 < maxTileX)
|
||||
{
|
||||
for (int y = -distance; y <= 0; ++y)
|
||||
{
|
||||
int var13 = y + screenCenterZ;
|
||||
int var14 = screenCenterZ - y;
|
||||
if (var10 >= minTileX)
|
||||
{
|
||||
if (var13 >= minTileZ)
|
||||
{
|
||||
RSTile tile = planeTiles[var10][var13];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (var14 < maxTileZ)
|
||||
{
|
||||
RSTile tile = planeTiles[var10][var14];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var16 < maxTileX)
|
||||
{
|
||||
if (var13 >= minTileZ)
|
||||
{
|
||||
RSTile tile = planeTiles[var16][var13];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (var14 < maxTileZ)
|
||||
{
|
||||
RSTile tile = planeTiles[var16][var14];
|
||||
if (tile != null && tile.isDraw())
|
||||
{
|
||||
draw(tile, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (client.getTileUpdateCount() == 0)
|
||||
{
|
||||
if (!isGpu && (client.getOculusOrbState() != 0 && !client.getComplianceValue("orbInteraction")))
|
||||
{
|
||||
client.setEntitiesAtMouseCount(0);
|
||||
}
|
||||
client.setCheckClick(false);
|
||||
if (!checkClick)
|
||||
{
|
||||
client.setViewportWalking(false);
|
||||
}
|
||||
client.getCallbacks().drawScene();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isGpu && (client.getOculusOrbState() != 0 && !client.getComplianceValue("orbInteraction")))
|
||||
{
|
||||
client.setEntitiesAtMouseCount(0);
|
||||
@@ -398,6 +404,10 @@ public abstract class RSSceneMixin implements RSScene
|
||||
client.setViewportWalking(false);
|
||||
}
|
||||
client.getCallbacks().drawScene();
|
||||
if (client.getDrawCallbacks() != null)
|
||||
{
|
||||
client.getDrawCallbacks().postDrawScene();
|
||||
}
|
||||
}
|
||||
|
||||
@Copy("newWallDecoration")
|
||||
@@ -790,9 +800,9 @@ public abstract class RSSceneMixin implements RSScene
|
||||
@MethodHook(value = "addTile", end = true)
|
||||
@Inject
|
||||
public void rl$addTile(int z, int x, int y, int shape, int rotation, int texture, int heightSw, int heightNw,
|
||||
int heightNe, int heightSe, int underlaySwColor, int underlayNwColor, int underlayNeColor,
|
||||
int underlaySeColor, int overlaySwColor, int overlayNwColor, int overlayNeColor,
|
||||
int overlaySeColor, int underlayRgb, int overlayRgb)
|
||||
int heightNe, int heightSe, int underlaySwColor, int underlayNwColor, int underlayNeColor,
|
||||
int underlaySeColor, int overlaySwColor, int overlayNwColor, int overlayNeColor,
|
||||
int overlaySeColor, int underlayRgb, int overlayRgb)
|
||||
{
|
||||
if (shape != 0 && shape != 1)
|
||||
{
|
||||
@@ -929,28 +939,28 @@ public abstract class RSSceneMixin implements RSScene
|
||||
{
|
||||
int lig = 0xFF - ((seLightness >> 1) * (seLightness >> 1) >> 8);
|
||||
pixels[pixelOffset] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||
}
|
||||
if (points[indices[shapeOffset++]] != 0)
|
||||
{
|
||||
int lig = 0xFF - ((seLightness * 3 + neLightness >> 3) *
|
||||
(seLightness * 3 + neLightness >> 3) >> 8);
|
||||
(seLightness * 3 + neLightness >> 3) >> 8);
|
||||
pixels[pixelOffset + 1] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||
}
|
||||
if (points[indices[shapeOffset++]] != 0)
|
||||
{
|
||||
int lig = 0xFF - ((seLightness + neLightness >> 2) *
|
||||
(seLightness + neLightness >> 2) >> 8);
|
||||
(seLightness + neLightness >> 2) >> 8);
|
||||
pixels[pixelOffset + 2] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||
}
|
||||
if (points[indices[shapeOffset++]] != 0)
|
||||
{
|
||||
int lig = 0xFF - ((seLightness + neLightness * 3 >> 3) *
|
||||
(seLightness + neLightness * 3 >> 3) >> 8);
|
||||
(seLightness + neLightness * 3 >> 3) >> 8);
|
||||
pixels[pixelOffset + 3] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||
}
|
||||
}
|
||||
seLightness += southDeltaLightness;
|
||||
@@ -1000,11 +1010,11 @@ public abstract class RSSceneMixin implements RSScene
|
||||
{
|
||||
pixels[pixelOffset] = points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||
pixels[pixelOffset + 1] =
|
||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||
pixels[pixelOffset + 2] =
|
||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||
pixels[pixelOffset + 3] =
|
||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||
pixelOffset += width;
|
||||
}
|
||||
}
|
||||
@@ -1033,4 +1043,4 @@ public abstract class RSSceneMixin implements RSScene
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||