From 6b7b01e636a7d6d2b33d5ed4b3b35cf953a9e2e8 Mon Sep 17 00:00:00 2001 From: camelStyleUser <124447863+camelStyleUser@users.noreply.github.com> Date: Tue, 1 Apr 2025 19:38:11 +0300 Subject: [PATCH] Handle number parsing edgecases --- core/src/mindustry/logic/LAssembler.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/logic/LAssembler.java b/core/src/mindustry/logic/LAssembler.java index 4ceab23bd9..bd2ac564e5 100644 --- a/core/src/mindustry/logic/LAssembler.java +++ b/core/src/mindustry/logic/LAssembler.java @@ -73,10 +73,10 @@ public class LAssembler{ //remove spaces for non-strings symbol = symbol.replace(' ', '_'); - int usedInvalidNum=symbol.startsWith("-")?invalidNumPositive:invalidNumNegative;//use a positive invalid number if number is negative, else use a negative number - double value = parseDouble(symbol, usedInvalidNum); + //handle edge cases of hard to detect sign(in hex or bin numbers) + double value = parseDouble(symbol, invalidNumNegative); - if(value == usedInvalidNum){ + if(value == invalidNumNegative && parseDouble(symbol, invalidNumPositive) == invalidNumPositive){ return putVar(symbol); }else{ //this creates a hidden const variable with the specified value