Skip to content

Commit e60bd23

Browse files
committed
Begin 2.4 cycle & Cleanup
1 parent 53aa42d commit e60bd23

File tree

4 files changed

+45
-49
lines changed

4 files changed

+45
-49
lines changed

CHANGELOG.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
- Add debug setting for debugging/logging (Removes log spam #22)
2-
- Update LightConfig

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ org.gradle.parallel=true
55
# Mod properties
66
mod.name=Skyboxify
77
mod.id=skyboxify
8-
mod.version=2.3
8+
mod.version=2.4
99
mod.group=btw.lowercase
1010
mod.description=A skybox mod that allows you to use OptiFine skies in Fabric 1.21+
1111
mod.source=https://github.com/Legacy-Visuals-Project/Skyboxify

src/main/java/btw/lowercase/skyboxify/skybox/SkyboxSkyRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ private void renderSkyLayer(final SkyLayer skyLayer, final Matrix4f modelViewMat
131131
final float finalAlpha = Mth.clamp(conditionAlpha * weatherAlpha * fadeAlpha, 0.0F, 1.0F);
132132
if (!(finalAlpha < 1.0E-4F)) {
133133
if (skyLayer.rotate()) {
134-
CommonUtils.mulPose(modelViewMatrix, this.getAngle(level, skyAngle, skyLayer.speed()), skyLayer.axis());
134+
CommonUtils.rotate(modelViewMatrix, this.getAngle(level, skyAngle, skyLayer.speed()), skyLayer.axis());
135135
}
136136

137137
//? <=1.21.4 {

src/main/java/btw/lowercase/skyboxify/utils/CommonUtils.java

Lines changed: 43 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@
2828
import lombok.experimental.UtilityClass;
2929
import net.minecraft.util.Mth;
3030
import org.joml.Matrix4f;
31+
import org.joml.Vector3f;
3132
import org.joml.Vector3fc;
33+
import org.joml.Vector4f;
3234

3335
import java.util.List;
3436

@@ -112,49 +114,45 @@ public static float getWeatherAlpha(List<Weather> weatherConditions, float rainS
112114
return Mth.clamp(weatherAlpha, 0.0F, 1.0F);
113115
}
114116

115-
// This method replicates the old Mojang-made Quaternion mulPose method, which was
116-
// used for the initial sky transformations which did not have any bobbing issues.
117-
// See https://github.com/sp614x/optifine/issues/7235#issuecomment-1581930719
118-
public static void mulPose(Matrix4f pose, float angle, Vector3fc axis) {
119-
// Quaternion fields
120-
float q_sin = Mth.sin(angle * 0.5F);
121-
float q_x = axis.x() * q_sin;
122-
float q_y = axis.y() * q_sin;
123-
float q_z = axis.z() * q_sin;
124-
float q_w = Mth.cos(angle * 0.5F);
125-
126-
// Matrix4f/Matrix3f fields
127-
float m_xFactor = 2.0F * q_x * q_x;
128-
float m_yFactor = 2.0F * q_y * q_y;
129-
float m_zFactor = 2.0F * q_z * q_z;
130-
float m_xy = q_x * q_y;
131-
float m_yz = q_y * q_z;
132-
float m_zx = q_z * q_x;
133-
float m_xw = q_x * q_w;
134-
float m_yw = q_y * q_w;
135-
float m_zw = q_z * q_w;
136-
float m_m00 = 1.0F - m_yFactor - m_zFactor;
137-
float m_m01 = 2.0F * (m_xy - m_zw);
138-
float m_m02 = 2.0F * (m_zx + m_yw);
139-
float m_m10 = 2.0F * (m_xy + m_zw);
140-
float m_m11 = 1.0F - m_zFactor - m_xFactor;
141-
float m_m12 = 2.0F * (m_yz - m_xw);
142-
float m_m20 = 2.0F * (m_zx - m_yw);
143-
float m_m21 = 2.0F * (m_yz + m_xw);
144-
float m_m22 = 1.0F - m_xFactor - m_yFactor;
145-
146-
// Multiply pose matrix
147-
pose.m00(m_m00 * pose.m00() + m_m01 * pose.m10() + m_m02 * pose.m20());
148-
pose.m01(m_m00 * pose.m01() + m_m01 * pose.m11() + m_m02 * pose.m21());
149-
pose.m02(m_m00 * pose.m02() + m_m01 * pose.m12() + m_m02 * pose.m22());
150-
pose.m03(m_m00 * pose.m03() + m_m01 * pose.m13() + m_m02 * pose.m23());
151-
pose.m10(m_m10 * pose.m00() + m_m11 * pose.m10() + m_m12 * pose.m20());
152-
pose.m11(m_m10 * pose.m01() + m_m11 * pose.m11() + m_m12 * pose.m21());
153-
pose.m12(m_m10 * pose.m02() + m_m11 * pose.m12() + m_m12 * pose.m22());
154-
pose.m13(m_m10 * pose.m03() + m_m11 * pose.m13() + m_m12 * pose.m23());
155-
pose.m20(m_m20 * pose.m00() + m_m21 * pose.m10() + m_m22 * pose.m20());
156-
pose.m21(m_m20 * pose.m01() + m_m21 * pose.m11() + m_m22 * pose.m21());
157-
pose.m22(m_m20 * pose.m02() + m_m21 * pose.m12() + m_m22 * pose.m22());
158-
pose.m23(m_m20 * pose.m03() + m_m21 * pose.m13() + m_m22 * pose.m23());
159-
}
117+
// This method replicates the old Mojang-made Quaternion mulPose method, which was
118+
// used for the initial sky transformations which did not have any bobbing issues.
119+
// See https://github.com/sp614x/optifine/issues/7235#issuecomment-1581930719
120+
public static void rotate(final Matrix4f pose, final float angle, final Vector3fc axis) {
121+
// Quaternion fields
122+
final Vector4f q = new Vector4f(axis.mul(Mth.sin(angle * 0.5F), new Vector3f()), Mth.cos(angle * 0.5F));
123+
124+
// Matrix4f/Matrix3f fields
125+
float m_xFactor = 2.0F * q.x * q.x;
126+
float m_yFactor = 2.0F * q.y * q.y;
127+
float m_zFactor = 2.0F * q.z * q.z;
128+
float m_xy = q.x * q.y;
129+
float m_yz = q.y * q.z;
130+
float m_zx = q.z * q.x;
131+
float m_xw = q.x * q.w;
132+
float m_yw = q.y * q.w;
133+
float m_zw = q.z * q.w;
134+
float m_m00 = 1.0F - m_yFactor - m_zFactor;
135+
float m_m01 = 2.0F * (m_xy - m_zw);
136+
float m_m02 = 2.0F * (m_zx + m_yw);
137+
float m_m10 = 2.0F * (m_xy + m_zw);
138+
float m_m11 = 1.0F - m_zFactor - m_xFactor;
139+
float m_m12 = 2.0F * (m_yz - m_xw);
140+
float m_m20 = 2.0F * (m_zx - m_yw);
141+
float m_m21 = 2.0F * (m_yz + m_xw);
142+
float m_m22 = 1.0F - m_xFactor - m_yFactor;
143+
144+
// Multiply pose matrix
145+
pose.m00(m_m00 * pose.m00() + m_m01 * pose.m10() + m_m02 * pose.m20())
146+
.m01(m_m00 * pose.m01() + m_m01 * pose.m11() + m_m02 * pose.m21())
147+
.m02(m_m00 * pose.m02() + m_m01 * pose.m12() + m_m02 * pose.m22())
148+
.m03(m_m00 * pose.m03() + m_m01 * pose.m13() + m_m02 * pose.m23())
149+
.m10(m_m10 * pose.m00() + m_m11 * pose.m10() + m_m12 * pose.m20())
150+
.m11(m_m10 * pose.m01() + m_m11 * pose.m11() + m_m12 * pose.m21())
151+
.m12(m_m10 * pose.m02() + m_m11 * pose.m12() + m_m12 * pose.m22())
152+
.m13(m_m10 * pose.m03() + m_m11 * pose.m13() + m_m12 * pose.m23())
153+
.m20(m_m20 * pose.m00() + m_m21 * pose.m10() + m_m22 * pose.m20())
154+
.m21(m_m20 * pose.m01() + m_m21 * pose.m11() + m_m22 * pose.m21())
155+
.m22(m_m20 * pose.m02() + m_m21 * pose.m12() + m_m22 * pose.m22())
156+
.m23(m_m20 * pose.m03() + m_m21 * pose.m13() + m_m22 * pose.m23());
157+
}
160158
}

0 commit comments

Comments
 (0)