Fixed variable comparison operators with VARIABLE_CHAR

This commit is contained in:
smallmodel 2023-08-19 00:57:02 +02:00
parent 7e6854f96b
commit 9ba5710412
No known key found for this signature in database
GPG key ID: A96F163ED4891440

View file

@ -2013,6 +2013,9 @@ bool ScriptVariable::operator==(const ScriptVariable& value)
return (!lval.length() && !rval.length()) || (lval == rval);
}
case VARIABLE_CHAR + VARIABLE_CHAR * VARIABLE_MAX: // ( char ) == ( char )
return m_data.charValue == value.m_data.charValue;
case VARIABLE_VECTOR + VARIABLE_VECTOR *VARIABLE_MAX: // ( vector ) == ( vector )
return VectorCompare(m_data.vectorValue, value.m_data.vectorValue) ? true : false;
}
@ -2188,6 +2191,11 @@ void ScriptVariable::greaterthan(ScriptVariable& variable)
type = VARIABLE_INTEGER;
m_data.intValue = m_data.floatValue > variable.m_data.intValue;
break;
case VARIABLE_CHAR + VARIABLE_CHAR *VARIABLE_MAX: // ( char ) >= ( char )
type = VARIABLE_INTEGER;
m_data.intValue = m_data.charValue >= variable.m_data.charValue;
break;
}
}
@ -2222,6 +2230,11 @@ void ScriptVariable::greaterthanorequal(ScriptVariable& variable)
type = VARIABLE_INTEGER;
m_data.intValue = m_data.floatValue >= variable.m_data.intValue;
break;
case VARIABLE_CHAR + VARIABLE_CHAR *VARIABLE_MAX: // ( char ) >= ( char )
type = VARIABLE_INTEGER;
m_data.intValue = m_data.charValue >= variable.m_data.charValue;
break;
}
}
@ -2256,6 +2269,11 @@ void ScriptVariable::lessthan(ScriptVariable& variable)
type = VARIABLE_INTEGER;
m_data.intValue = m_data.floatValue < variable.m_data.intValue;
break;
case VARIABLE_CHAR + VARIABLE_CHAR *VARIABLE_MAX: // ( char ) < ( char )
type = VARIABLE_INTEGER;
m_data.intValue = m_data.charValue < variable.m_data.charValue;
break;
}
}
@ -2290,6 +2308,11 @@ void ScriptVariable::lessthanorequal(ScriptVariable& variable)
type = VARIABLE_INTEGER;
m_data.intValue = m_data.floatValue <= variable.m_data.intValue;
break;
case VARIABLE_CHAR + VARIABLE_CHAR *VARIABLE_MAX: // ( char ) <= ( char )
type = VARIABLE_INTEGER;
m_data.intValue = m_data.charValue <= variable.m_data.charValue;
break;
}
}