aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/makamys/neodymium/renderer/MeshQuad.java
diff options
context:
space:
mode:
authorFalsePattern <me@falsepattern.com>2024-01-07 17:50:15 +0100
committermakamys <makamys@outlook.com>2024-01-08 22:49:40 +0100
commit3ee0c611c0d1e9cb8f74182c1dd672dda9cb36b5 (patch)
tree3fcc3a744fe099698bb51b40b715389ab0f94ffb /src/main/java/makamys/neodymium/renderer/MeshQuad.java
parentcaec6f115cc42e2f2cf73e136892110ba3726251 (diff)
downloadNeodymium-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.java26
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;