Allow sprite scaling

This commit is contained in:
sam-astro 2022-05-24 18:10:28 -04:00
parent 3c684f2153
commit b8320da1aa
3 changed files with 13 additions and 10 deletions

View File

@ -151,7 +151,7 @@ boost::any EvalExpression(const string& ex, unordered_map<string, boost::any>& v
#endif
vector<string> argList = splitNoOverlap(insideFunArgs, ',', '(', ')');
#if DEVELOPER_MESSAGES == true
cout << "["<<unWrapVec(argList) <<"]" << endl;
cout << "[" << unWrapVec(argList) << "]" << endl;
#endif
vector<boost::any> funcArgs = VarValues(argList, variableValues);
return ExecuteFunction(trim(split(expression, '(')[0]), funcArgs);
@ -240,8 +240,8 @@ boost::any EvalExpression(const string& ex, unordered_map<string, boost::any>& v
else
{
newExpression += expression[i];
}
}
}
#if DEVELOPER_MESSAGES == true
//InterpreterLog(" new expression: |" + newExpression + "|");
#endif
@ -448,6 +448,7 @@ boost::any ProcessLine(const vector<vector<string>>& words, int& lineNum, unorde
// re-inits a variable then store it with it's value
else if (countInVector(types, trim(words.at(lineNum).at(0))) > 0)
{
//cout << words.at(lineNum).at(1) << "=" << unWrapVec(slice(words.at(lineNum), 3, -1)) << "=" << AnyAsString(EvalExpression(unWrapVec(slice(words.at(lineNum), 3, -1)), variableValues)) << endl;
variableValues[words.at(lineNum).at(1)] = EvalExpression(unWrapVec(slice(words.at(lineNum), 3, -1)), variableValues);
return nullType;
}
@ -621,7 +622,7 @@ boost::any ExecuteFunction(const string& functionName, const vector<boost::any>&
cout << functionName + " \x1B[33m" << funcArgs[i] << " == " << AnyAsString(inputVarVals[i]) << "\033[0m\t\t" << endl;
#endif
}
}
}
//Iterate through all lines in function
for (int lineNum = 1; lineNum < (int)words.size(); lineNum++)
@ -696,7 +697,7 @@ int parseZSharp(string script)
functionContents.push_back(removeTabs(words.at(p), 1));
}
functionValues[functName] = functionContents;
}
}
else
{
if (words.at(lineNum).at(0) == "include")
@ -755,8 +756,8 @@ int parseZSharp(string script)
}
/*else
LogWarning("unrecognized type \'" + words.at(lineNum).at(0) + "\' on line: " + to_string(lineNum));*/
}
}
}
}
return 0;
}

View File

@ -392,10 +392,10 @@ public:
{
SDL_RenderCopy(gRenderer, texture, NULL, &rect);
// Centers
rect.x = position.x - (rect.w / 2);
rect.y = position.y - (rect.h / 2);
rect.w = scale.x;
rect.h = scale.y;
rect.x = position.x - (rect.w / 2);
rect.y = position.y - (rect.h / 2);
return 0;
}
@ -504,6 +504,8 @@ public:
scale.y /= AnyAsFloat(otherVal);
}
// Centers
rect.w = scale.x;
rect.h = scale.y;
rect.x = position.x - (rect.w / 2);
rect.y = position.y - (rect.h / 2);
return *this;

View File

@ -161,13 +161,13 @@ vector<string> splitNoOverlap(const string& str, const char& splitBy, const char
{
if (i == (int)str.size() - 1)
{
newStr.push_back(tmpStr+ str[i]);
newStr.push_back(trim(tmpStr + str[i]));
break;
}
if (str[i] == splitBy && openCount == 0)
{
newStr.push_back(tmpStr);
newStr.push_back(trim(tmpStr));
tmpStr = "";
continue;
}