diff --git a/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginClient.java b/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginClient.java index 0df12bf1ed..984b5f367a 100644 --- a/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginClient.java +++ b/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginClient.java @@ -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) diff --git a/runelite-client/src/main/resources/net/runelite/client/callback/cursor.png b/runelite-client/src/main/resources/net/runelite/client/callback/cursor.png deleted file mode 100644 index 7415625a2f..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/callback/cursor.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/15seconds.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/15seconds.wav deleted file mode 100644 index d7cf952977..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/15seconds.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/5seconds.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/5seconds.wav deleted file mode 100644 index 17c05cd53b..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/5seconds.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackmagic.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackmagic.wav deleted file mode 100644 index e7a4383f1b..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackmagic.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackmelee.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackmelee.wav deleted file mode 100644 index 9838762423..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackmelee.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackranged.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackranged.wav deleted file mode 100644 index da26385656..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/attackranged.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/break.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/break.wav deleted file mode 100644 index 1a9a744c57..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/break.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/idle.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/idle.wav deleted file mode 100644 index f8945891df..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/idle.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/incoming.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/incoming.wav deleted file mode 100644 index 532b0083f9..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/incoming.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/lowhealth.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/lowhealth.wav deleted file mode 100644 index 49b21d32ac..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/lowhealth.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/lowprayer.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/lowprayer.wav deleted file mode 100644 index 8a632ac14e..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/lowprayer.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/move.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/move.wav deleted file mode 100644 index 3e90326a5b..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/move.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/outofcombat.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/outofcombat.wav deleted file mode 100644 index 23d99f59d5..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/outofcombat.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/praymagic.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/praymagic.wav deleted file mode 100644 index 8994a0faef..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/praymagic.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/praymelee.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/praymelee.wav deleted file mode 100644 index 985f222670..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/praymelee.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/prayranged.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/prayranged.wav deleted file mode 100644 index 25e37ee07e..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/prayranged.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/reenableprayer.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/reenableprayer.wav deleted file mode 100644 index 1f046c9aed..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/reenableprayer.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/restorespec.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/restorespec.wav deleted file mode 100644 index 66f2077b10..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/restorespec.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/game/sounds/runaway.wav b/runelite-client/src/main/resources/net/runelite/client/game/sounds/runaway.wav deleted file mode 100644 index 90760c346f..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/game/sounds/runaway.wav and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/open.osrs.properties b/runelite-client/src/main/resources/net/runelite/client/open.osrs.properties deleted file mode 100644 index d101a6de1c..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/open.osrs.properties +++ /dev/null @@ -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 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/config/refresh.png b/runelite-client/src/main/resources/net/runelite/client/plugins/config/refresh.png deleted file mode 100644 index cd26305f7a..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/config/refresh.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/comp_unordered.glsl b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/comp_unordered.glsl index c3d5aa87c8..8eb4bdaa69 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/comp_unordered.glsl +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/comp_unordered.glsl @@ -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]; } -} \ No newline at end of file +} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl index b89513a94e..df930d16be 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl @@ -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); } diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/fragui.glsl b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/fragui.glsl index e522d34400..5a54522f83 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/fragui.glsl +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/fragui.glsl @@ -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); } diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/info/folder_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/info/folder_icon.png deleted file mode 100644 index 41aa88c301..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/info/folder_icon.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externalmanager_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externalmanager_icon.png deleted file mode 100644 index 7cb7e2502c..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externalmanager_icon.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/add_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/add_icon.png deleted file mode 100644 index 343c3dce0c..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/add_icon.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/add_raw_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/add_raw_icon.png deleted file mode 100644 index 7f1afebf35..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/add_raw_icon.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/delete_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/delete_icon.png deleted file mode 100644 index 3f4915d041..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/delete_icon.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/discord_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/discord_icon.png deleted file mode 100644 index 6b7a6988f9..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/discord_icon.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/gh_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/gh_icon.png deleted file mode 100644 index 4d8e66215e..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/openosrs/externals/gh_icon.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json index 650945b8d8..6e3c4c088b 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json @@ -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 }, { diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skybox/skybox.txt b/runelite-client/src/main/resources/net/runelite/client/plugins/skybox/skybox.txt index e0400293b0..fb8bd463ce 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skybox/skybox.txt +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/skybox/skybox.txt @@ -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 diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java index d1342886f1..7f8c5d53ad 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java @@ -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 } } } -} +} \ No newline at end of file