From 2c103c157a6ffe5ee9a3af11a7db7c663791e257 Mon Sep 17 00:00:00 2001 From: Zelaux <58040045+Zelaux@users.noreply.github.com> Date: Sat, 7 Jan 2023 21:44:08 +0500 Subject: [PATCH] Fixed boolean setters for Structs (#8041) --- .../main/java/mindustry/annotations/impl/StructProcess.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/annotations/src/main/java/mindustry/annotations/impl/StructProcess.java b/annotations/src/main/java/mindustry/annotations/impl/StructProcess.java index 28a1c4b3b9..bac713b019 100644 --- a/annotations/src/main/java/mindustry/annotations/impl/StructProcess.java +++ b/annotations/src/main/java/mindustry/annotations/impl/StructProcess.java @@ -97,14 +97,14 @@ public class StructProcess extends BaseProcessor{ } //[setter] + [constructor building] - if(varType == TypeName.BOOLEAN){ + if(isBool){ cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)"); //bools: single bit, needs special case to clear things setter.beginControlFlow("if(value)"); - setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset); - setter.nextControlFlow("else"); setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset); + setter.nextControlFlow("else"); + setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset); setter.endControlFlow(); }else if(varType == TypeName.FLOAT){ cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");