From dc5382b658448b39d61115dfd7045a225c871602 Mon Sep 17 00:00:00 2001 From: Jozufozu Date: Wed, 22 Dec 2021 22:01:05 -0800 Subject: [PATCH] Fix models being backwards - Regression in ModelUtil#rotateToFace --- .../jozufozu/flywheel/core/model/ModelUtil.java | 2 +- .../util/transform/MatrixTransformStack.java | 14 ++++++++++++++ .../flywheel/util/transform/TransformStack.java | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java b/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java index df17f63c4..921b1f4df 100644 --- a/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java +++ b/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java @@ -99,7 +99,7 @@ public class ModelUtil { PoseStack stack = new PoseStack(); TransformStack.cast(stack) .centre() - .rotateToFace(facing) + .rotateToFace(facing.getOpposite()) .unCentre(); return stack; }; diff --git a/src/main/java/com/jozufozu/flywheel/util/transform/MatrixTransformStack.java b/src/main/java/com/jozufozu/flywheel/util/transform/MatrixTransformStack.java index 2fa562ffa..8a354c80a 100644 --- a/src/main/java/com/jozufozu/flywheel/util/transform/MatrixTransformStack.java +++ b/src/main/java/com/jozufozu/flywheel/util/transform/MatrixTransformStack.java @@ -1,6 +1,8 @@ package com.jozufozu.flywheel.util.transform; import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Matrix3f; +import com.mojang.math.Matrix4f; import com.mojang.math.Quaternion; public class MatrixTransformStack implements TransformStack { @@ -64,4 +66,16 @@ public class MatrixTransformStack implements TransformStack { internal.popPose(); return this; } + + @Override + public TransformStack mulPose(Matrix4f pose) { + internal.last().pose().multiply(pose); + return this; + } + + @Override + public TransformStack mulNormal(Matrix3f normal) { + internal.last().normal().mul(normal); + return this; + } } diff --git a/src/main/java/com/jozufozu/flywheel/util/transform/TransformStack.java b/src/main/java/com/jozufozu/flywheel/util/transform/TransformStack.java index da521b69b..453953a9b 100644 --- a/src/main/java/com/jozufozu/flywheel/util/transform/TransformStack.java +++ b/src/main/java/com/jozufozu/flywheel/util/transform/TransformStack.java @@ -2,7 +2,7 @@ package com.jozufozu.flywheel.util.transform; import com.mojang.blaze3d.vertex.PoseStack; -public interface TransformStack extends Scale, Translate, Rotate, TStack { +public interface TransformStack extends Transform, TStack { static TransformStack cast(PoseStack stack) { return (TransformStack) stack; }