mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2026-08-01 14:39:16 -06:00
Merge branch 'xmas-light-flicker' into 'master'
Location-based static light overrides for flickering effects in HD mode See merge request 2009scape/rt4-client!40
This commit is contained in:
commit
4c16e35b76
3 changed files with 23 additions and 1 deletions
|
|
@ -67,6 +67,8 @@ public final class Light {
|
|||
@OriginalMember(owner = "client!gi", name = "g", descriptor = "Z")
|
||||
public boolean aBoolean125 = false;
|
||||
|
||||
public boolean matchesStaticLightOverride = false;
|
||||
|
||||
@OriginalMember(owner = "client!gi", name = "I", descriptor = "[F")
|
||||
public final float[] diffuse = new float[4];
|
||||
|
||||
|
|
@ -151,7 +153,7 @@ public final class Light {
|
|||
} else {
|
||||
alpha = 2048;
|
||||
}
|
||||
if (disableFlicker) {
|
||||
if (disableFlicker || matchesStaticLightOverride) {
|
||||
alpha = 2048;
|
||||
}
|
||||
this.alpha = (float) (this.alphaMax + (alpha * this.alphaMin >> 11)) / 2048.0F;
|
||||
|
|
|
|||
|
|
@ -82,6 +82,22 @@ public class LightingManager {
|
|||
}
|
||||
}
|
||||
|
||||
private static final int[][] STATIC_LIGHT_OVERRIDES = {
|
||||
{ 8005, 3063, 3046, 2 }
|
||||
};
|
||||
|
||||
public static boolean matchesStaticLightOverride(int regionId, int x, int y, int plane) {
|
||||
for (int[] override : STATIC_LIGHT_OVERRIDES) {
|
||||
if (override[0] == regionId
|
||||
&& override[1] == x
|
||||
&& override[2] == y
|
||||
&& override[3] == plane) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jf", name = "a", descriptor = "()V")
|
||||
public static void method2390() {
|
||||
for (@Pc(1) int local1 = 0; local1 < 4; local1++) {
|
||||
|
|
|
|||
|
|
@ -5266,12 +5266,16 @@ public class SceneGraph {
|
|||
}
|
||||
break label270;
|
||||
} while (local515 <= 0);
|
||||
int regionX = (arg4 + Camera.originX) >> 6;
|
||||
int regionZ = (arg3 + Camera.originZ) >> 6;
|
||||
int regionId = (regionX << 8) + regionZ;
|
||||
for (local243 = 0; local243 < local515; local243++) {
|
||||
@Pc(529) Light local529 = new Light(local95);
|
||||
if (local529.anInt2243 == 31) {
|
||||
@Pc(541) LightType local541 = LightTypeList.get(local95.g2());
|
||||
local529.method1762(local541.anInt2865, local541.anInt2873, local541.anInt2867, local541.anInt2872);
|
||||
}
|
||||
local529.matchesStaticLightOverride = LightingManager.matchesStaticLightOverride(regionId, local529.x, local529.z, local529.level);
|
||||
local529.z += arg3 << 7;
|
||||
local529.x += arg4 << 7;
|
||||
local194 = local529.z >> 7;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue