strip invalid characters when evaluating Actor command parameters

This commit is contained in:
Chris Danford
2004-11-06 06:00:58 +00:00
parent 4b29db0667
commit 7e17fd9615
4 changed files with 19 additions and 10 deletions
+11
View File
@@ -184,6 +184,17 @@ void Lua::UpdateGlobals()
lua_setglobal( L, "SCREEN_CENTER_Y" );
}
void Lua::PrepareExpression( CString &sInOut )
{
// HACK: Many metrics have "//" comments that Lua fails to parse.
// Replace them with Lua-style comments.
sInOut.Replace( "//", "--" );
// Remove leading +, eg. "+50"; Lua doesn't handle that.
if( sInOut.size() >= 1 && sInOut[0] == '+' )
sInOut.erase( 0, 1 );
}
void RunExpression( const CString &str )
{
LoadFromString( L, "return " + str );