diff options
author | FalsePattern <me@falsepattern.com> | 2024-01-07 17:50:15 +0100 |
---|---|---|
committer | makamys <makamys@outlook.com> | 2024-01-08 22:49:40 +0100 |
commit | 3ee0c611c0d1e9cb8f74182c1dd672dda9cb36b5 (patch) | |
tree | 3fcc3a744fe099698bb51b40b715389ab0f94ffb /src/main/java/makamys/neodymium/renderer/MeshQuad.java | |
parent | caec6f115cc42e2f2cf73e136892110ba3726251 (diff) | |
download | Neodymium-3ee0c611c0d1e9cb8f74182c1dd672dda9cb36b5.tar.gz Neodymium-3ee0c611c0d1e9cb8f74182c1dd672dda9cb36b5.tar.bz2 Neodymium-3ee0c611c0d1e9cb8f74182c1dd672dda9cb36b5.zip |
RPLE shader compat
Diffstat (limited to 'src/main/java/makamys/neodymium/renderer/MeshQuad.java')
-rw-r--r-- | src/main/java/makamys/neodymium/renderer/MeshQuad.java | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/main/java/makamys/neodymium/renderer/MeshQuad.java b/src/main/java/makamys/neodymium/renderer/MeshQuad.java index f748488..4e72535 100644 --- a/src/main/java/makamys/neodymium/renderer/MeshQuad.java +++ b/src/main/java/makamys/neodymium/renderer/MeshQuad.java @@ -43,6 +43,9 @@ public class MeshQuad { public float[] um = new float[4]; public float[] vm = new float[4]; + public float[] ue = new float[4]; + public float[] ve = new float[4]; + public boolean deleted; public QuadNormal normal; @@ -80,6 +83,12 @@ public class MeshQuad { wt[vi] = Float.intBitsToFloat(rawBuffer[i + 15]); um[vi] = Float.intBitsToFloat(rawBuffer[i + 16]); vm[vi] = Float.intBitsToFloat(rawBuffer[i + 17]); + if (Compat.RPLE()) { + bsG[vi] = rawBuffer[i + 18]; + bsB[vi] = rawBuffer[i + 19]; + ue[vi] = Float.intBitsToFloat(rawBuffer[i + 20]); + ve[vi] = Float.intBitsToFloat(rawBuffer[i + 21]); + } } else { bs[vi] = flags.hasBrightness ? rawBuffer[i + 7] : DEFAULT_BRIGHTNESS; @@ -108,6 +117,10 @@ public class MeshQuad { if (Compat.RPLE()) { bsG[3] = bsG[2]; bsB[3] = bsB[2]; + if (Compat.isShaders()) { + ue[3] = ue[2]; + ve[3] = ve[2]; + } } cs[3] = cs[2]; if (Compat.isShaders()) { @@ -173,10 +186,6 @@ public class MeshQuad { out.writeInt(c); out.writeInt(bs[vi]); - if (Compat.RPLE()) { - out.writeInt(bsG[vi]); - out.writeInt(bsB[vi]); - } if (Compat.isShaders()) { out.writeInt(e1[vi]); @@ -191,6 +200,15 @@ public class MeshQuad { out.writeFloat(um[vi]); out.writeFloat(vm[vi]); } + + if (Compat.RPLE()) { + out.writeInt(bsG[vi]); + out.writeInt(bsB[vi]); + if (Compat.isShaders()) { + out.writeFloat(ue[vi]); + out.writeFloat(ve[vi]); + } + } assert out.position() % expectedStride == 0; |