mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-04 10:45:34 +00:00
added support for half-sided intervals to filter parser
This commit is contained in:
parent
f3ce9c22a1
commit
645b50ef36
1 changed files with 25 additions and 17 deletions
|
@ -461,17 +461,23 @@ boost::shared_ptr<CSMFilter::Node> CSMFilter::Parser::parseValue()
|
|||
|
||||
token = getNextToken();
|
||||
|
||||
if (token.mType!=Token::Type_Number)
|
||||
if (token.mType==Token::Type_Number)
|
||||
{
|
||||
error();
|
||||
return boost::shared_ptr<Node>();
|
||||
lower = token.mNumber;
|
||||
|
||||
token = getNextToken();
|
||||
|
||||
if (token.mType!=Token::Type_Comma)
|
||||
{
|
||||
error();
|
||||
return boost::shared_ptr<Node>();
|
||||
}
|
||||
}
|
||||
|
||||
lower = token.mNumber;
|
||||
|
||||
token = getNextToken();
|
||||
|
||||
if (token.mType!=Token::Type_Comma)
|
||||
else if (token.mType==Token::Type_Comma)
|
||||
{
|
||||
lowerType = ValueNode::Type_Infinite;
|
||||
}
|
||||
else
|
||||
{
|
||||
error();
|
||||
return boost::shared_ptr<Node>();
|
||||
|
@ -479,18 +485,20 @@ boost::shared_ptr<CSMFilter::Node> CSMFilter::Parser::parseValue()
|
|||
|
||||
token = getNextToken();
|
||||
|
||||
if (token.mType!=Token::Type_Number)
|
||||
if (token.mType==Token::Type_Number)
|
||||
{
|
||||
error();
|
||||
return boost::shared_ptr<Node>();
|
||||
upper = token.mNumber;
|
||||
|
||||
token = getNextToken();
|
||||
}
|
||||
|
||||
upper = token.mNumber;
|
||||
|
||||
token = getNextToken();
|
||||
else
|
||||
upperType = ValueNode::Type_Infinite;
|
||||
|
||||
if (token.mType==Token::Type_CloseSquare)
|
||||
upperType = ValueNode::Type_Closed;
|
||||
{
|
||||
if (upperType!=ValueNode::Type_Infinite)
|
||||
upperType = ValueNode::Type_Closed;
|
||||
}
|
||||
else if (token.mType!=Token::Type_OpenSquare && token.mType!=Token::Type_Close)
|
||||
{
|
||||
error();
|
||||
|
|
Loading…
Reference in a new issue