finish upstream
@@ -69,6 +69,7 @@ public class ExternalPluginClient
|
|||||||
.newBuilder()
|
.newBuilder()
|
||||||
.addPathSegments("manifest.js")
|
.addPathSegments("manifest.js")
|
||||||
.build();
|
.build();
|
||||||
|
System.out.println(manifest.uri());
|
||||||
try (Response res = okHttpClient.newCall(new Request.Builder().url(manifest).build()).execute())
|
try (Response res = okHttpClient.newCall(new Request.Builder().url(manifest).build()).execute())
|
||||||
{
|
{
|
||||||
if (res.code() != 200)
|
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 uvOffset = minfo.uvOffset;
|
||||||
int flags = minfo.flags;
|
int flags = minfo.flags;
|
||||||
ivec4 pos = ivec4(minfo.x, minfo.y, minfo.z, 0);
|
ivec4 pos = ivec4(minfo.x, minfo.y, minfo.z, 0);
|
||||||
|
|
||||||
if (localId >= size) {
|
if (localId >= size) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,26 +43,29 @@ out vec4 FragColor;
|
|||||||
#include colorblind.glsl
|
#include colorblind.glsl
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
int hsl = int(fHsl);
|
vec4 c;
|
||||||
vec3 rgb = hslToRgb(hsl) * smoothBanding + Color.rgb * (1.f - smoothBanding);
|
|
||||||
vec4 smoothColor = vec4(rgb, Color.a);
|
|
||||||
|
|
||||||
if (textureId > 0) {
|
if (textureId > 0) {
|
||||||
int textureIdx = textureId - 1;
|
int textureIdx = textureId - 1;
|
||||||
|
|
||||||
vec2 uv = fUv;
|
vec2 animatedUv = fUv + textureOffsets[textureIdx];
|
||||||
vec2 animatedUv = uv + textureOffsets[textureIdx];
|
|
||||||
|
|
||||||
vec4 textureColor = texture(textures, vec3(animatedUv, float(textureIdx)));
|
vec4 textureColor = texture(textures, vec3(animatedUv, float(textureIdx)));
|
||||||
vec4 textureColorBrightness = pow(textureColor, vec4(brightness, brightness, brightness, 1.0f));
|
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) {
|
if (colorBlindMode > 0) {
|
||||||
smoothColor.rgb = colorblind(colorBlindMode, smoothColor.rgb);
|
c.rgb = colorblind(colorBlindMode, c.rgb);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec3 mixedColor = mix(smoothColor.rgb, fogColor.rgb, fogAmount);
|
vec3 mixedColor = mix(c.rgb, fogColor.rgb, fogAmount);
|
||||||
FragColor = vec4(mixedColor, smoothColor.a);
|
FragColor = vec4(mixedColor, c.a);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ uniform int samplingMode;
|
|||||||
uniform ivec2 sourceDimensions;
|
uniform ivec2 sourceDimensions;
|
||||||
uniform ivec2 targetDimensions;
|
uniform ivec2 targetDimensions;
|
||||||
uniform int colorBlindMode;
|
uniform int colorBlindMode;
|
||||||
|
uniform vec4 alphaOverlay;
|
||||||
|
|
||||||
#include scale/bicubic.glsl
|
#include scale/bicubic.glsl
|
||||||
#include scale/xbr_lv2_frag.glsl
|
#include scale/xbr_lv2_frag.glsl
|
||||||
@@ -44,6 +45,13 @@ in XBRTable xbrTable;
|
|||||||
|
|
||||||
out vec4 FragColor;
|
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() {
|
void main() {
|
||||||
vec4 c;
|
vec4 c;
|
||||||
|
|
||||||
@@ -51,14 +59,17 @@ void main() {
|
|||||||
case SAMPLING_CATROM:
|
case SAMPLING_CATROM:
|
||||||
case SAMPLING_MITCHELL:
|
case SAMPLING_MITCHELL:
|
||||||
c = textureCubic(tex, TexCoord, samplingMode);
|
c = textureCubic(tex, TexCoord, samplingMode);
|
||||||
|
c = alphaBlend(c, alphaOverlay);
|
||||||
c.rgb = colorblind(colorBlindMode, c.rgb);
|
c.rgb = colorblind(colorBlindMode, c.rgb);
|
||||||
break;
|
break;
|
||||||
case SAMPLING_XBR:
|
case SAMPLING_XBR:
|
||||||
c = textureXBR(tex, TexCoord, xbrTable, ceil(1.0 * targetDimensions.x / sourceDimensions.x));
|
c = textureXBR(tex, TexCoord, xbrTable, ceil(1.0 * targetDimensions.x / sourceDimensions.x));
|
||||||
|
c = alphaBlend(c, alphaOverlay);
|
||||||
c.rgb = colorblind(colorBlindMode, c.rgb);
|
c.rgb = colorblind(colorBlindMode, c.rgb);
|
||||||
break;
|
break;
|
||||||
default: // NEAREST or LINEAR, which uses GL_TEXTURE_MIN_FILTER/GL_TEXTURE_MAG_FILTER to affect sampling
|
default: // NEAREST or LINEAR, which uses GL_TEXTURE_MIN_FILTER/GL_TEXTURE_MAG_FILTER to affect sampling
|
||||||
c = texture(tex, TexCoord);
|
c = texture(tex, TexCoord);
|
||||||
|
c = alphaBlend(c, alphaOverlay);
|
||||||
c.rgb = colorblind(colorBlindMode, c.rgb);
|
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)",
|
"name": "Extended Antifire (3)",
|
||||||
"xp": 82.5
|
"xp": 82.5
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 84,
|
||||||
|
"icon": 11951,
|
||||||
|
"name": "Extended Antifire (4)",
|
||||||
|
"xp": 110
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 86,
|
"level": 86,
|
||||||
"icon": 24635,
|
"icon": 24635,
|
||||||
@@ -378,6 +384,12 @@
|
|||||||
"name": "Anti-venom(3)",
|
"name": "Anti-venom(3)",
|
||||||
"xp": 90
|
"xp": 90
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 87,
|
||||||
|
"icon": 12905,
|
||||||
|
"name": "Anti-venom(4)",
|
||||||
|
"xp": 120
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 90,
|
"level": 90,
|
||||||
"icon": 12695,
|
"icon": 12695,
|
||||||
@@ -386,14 +398,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 92,
|
"level": 92,
|
||||||
"icon": 21981,
|
"icon": 21978,
|
||||||
"name": "Super Antifire (3)",
|
"name": "Super Antifire (4)",
|
||||||
"xp": 130
|
"xp": 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 94,
|
"level": 94,
|
||||||
"icon": 12915,
|
"icon": 12913,
|
||||||
"name": "Anti-venom+(3)",
|
"name": "Anti-venom+(4)",
|
||||||
"xp": 125
|
"xp": 125
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -974,7 +974,7 @@ c 7 4
|
|||||||
#100
|
#100
|
||||||
R 19 19 21 20
|
R 19 19 21 20
|
||||||
|
|
||||||
// Cosmic renderable's plane
|
// Cosmic entity's plane
|
||||||
#040404
|
#040404
|
||||||
r 32 75
|
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:
|
outer:
|
||||||
for (int z = minLevel; z < maxY; ++z)
|
for (int z = minLevel; z < maxY; ++z)
|
||||||
{
|
{
|
||||||
@@ -266,7 +347,7 @@ public abstract class RSSceneMixin implements RSScene
|
|||||||
RSTile tile = planeTiles[var10][var13];
|
RSTile tile = planeTiles[var10][var13];
|
||||||
if (tile != null && tile.isDraw())
|
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];
|
RSTile tile = planeTiles[var10][var14];
|
||||||
if (tile != null && tile.isDraw())
|
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];
|
RSTile tile = planeTiles[var16][var13];
|
||||||
if (tile != null && tile.isDraw())
|
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];
|
RSTile tile = planeTiles[var16][var14];
|
||||||
if (tile != null && tile.isDraw())
|
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")))
|
if (!isGpu && (client.getOculusOrbState() != 0 && !client.getComplianceValue("orbInteraction")))
|
||||||
{
|
{
|
||||||
client.setEntitiesAtMouseCount(0);
|
client.setEntitiesAtMouseCount(0);
|
||||||
@@ -398,6 +404,10 @@ public abstract class RSSceneMixin implements RSScene
|
|||||||
client.setViewportWalking(false);
|
client.setViewportWalking(false);
|
||||||
}
|
}
|
||||||
client.getCallbacks().drawScene();
|
client.getCallbacks().drawScene();
|
||||||
|
if (client.getDrawCallbacks() != null)
|
||||||
|
{
|
||||||
|
client.getDrawCallbacks().postDrawScene();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Copy("newWallDecoration")
|
@Copy("newWallDecoration")
|
||||||
@@ -790,9 +800,9 @@ public abstract class RSSceneMixin implements RSScene
|
|||||||
@MethodHook(value = "addTile", end = true)
|
@MethodHook(value = "addTile", end = true)
|
||||||
@Inject
|
@Inject
|
||||||
public void rl$addTile(int z, int x, int y, int shape, int rotation, int texture, int heightSw, int heightNw,
|
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 heightNe, int heightSe, int underlaySwColor, int underlayNwColor, int underlayNeColor,
|
||||||
int underlaySeColor, int overlaySwColor, int overlayNwColor, int overlayNeColor,
|
int underlaySeColor, int overlaySwColor, int overlayNwColor, int overlayNeColor,
|
||||||
int overlaySeColor, int underlayRgb, int overlayRgb)
|
int overlaySeColor, int underlayRgb, int overlayRgb)
|
||||||
{
|
{
|
||||||
if (shape != 0 && shape != 1)
|
if (shape != 0 && shape != 1)
|
||||||
{
|
{
|
||||||
@@ -929,28 +939,28 @@ public abstract class RSSceneMixin implements RSScene
|
|||||||
{
|
{
|
||||||
int lig = 0xFF - ((seLightness >> 1) * (seLightness >> 1) >> 8);
|
int lig = 0xFF - ((seLightness >> 1) * (seLightness >> 1) >> 8);
|
||||||
pixels[pixelOffset] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
pixels[pixelOffset] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
||||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||||
}
|
}
|
||||||
if (points[indices[shapeOffset++]] != 0)
|
if (points[indices[shapeOffset++]] != 0)
|
||||||
{
|
{
|
||||||
int lig = 0xFF - ((seLightness * 3 + neLightness >> 3) *
|
int lig = 0xFF - ((seLightness * 3 + neLightness >> 3) *
|
||||||
(seLightness * 3 + neLightness >> 3) >> 8);
|
(seLightness * 3 + neLightness >> 3) >> 8);
|
||||||
pixels[pixelOffset + 1] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
pixels[pixelOffset + 1] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
||||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||||
}
|
}
|
||||||
if (points[indices[shapeOffset++]] != 0)
|
if (points[indices[shapeOffset++]] != 0)
|
||||||
{
|
{
|
||||||
int lig = 0xFF - ((seLightness + neLightness >> 2) *
|
int lig = 0xFF - ((seLightness + neLightness >> 2) *
|
||||||
(seLightness + neLightness >> 2) >> 8);
|
(seLightness + neLightness >> 2) >> 8);
|
||||||
pixels[pixelOffset + 2] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
pixels[pixelOffset + 2] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
||||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||||
}
|
}
|
||||||
if (points[indices[shapeOffset++]] != 0)
|
if (points[indices[shapeOffset++]] != 0)
|
||||||
{
|
{
|
||||||
int lig = 0xFF - ((seLightness + neLightness * 3 >> 3) *
|
int lig = 0xFF - ((seLightness + neLightness * 3 >> 3) *
|
||||||
(seLightness + neLightness * 3 >> 3) >> 8);
|
(seLightness + neLightness * 3 >> 3) >> 8);
|
||||||
pixels[pixelOffset + 3] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
pixels[pixelOffset + 3] = ((overlayRgb & 0xFF00FF) * lig & ~0xFF00FF) +
|
||||||
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
((overlayRgb & 0xFF00) * lig & 0xFF0000) >> 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
seLightness += southDeltaLightness;
|
seLightness += southDeltaLightness;
|
||||||
@@ -1000,11 +1010,11 @@ public abstract class RSSceneMixin implements RSScene
|
|||||||
{
|
{
|
||||||
pixels[pixelOffset] = points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
pixels[pixelOffset] = points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||||
pixels[pixelOffset + 1] =
|
pixels[pixelOffset + 1] =
|
||||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||||
pixels[pixelOffset + 2] =
|
pixels[pixelOffset + 2] =
|
||||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||||
pixels[pixelOffset + 3] =
|
pixels[pixelOffset + 3] =
|
||||||
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
points[indices[shapeOffset++]] != 0 ? overlayRgb : underlayRgb;
|
||||||
pixelOffset += width;
|
pixelOffset += width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||