add debug-only checks for absolute position metrics and command params

This commit is contained in:
Chris Danford
2004-11-06 06:46:43 +00:00
parent 8df7954d2d
commit b50eb9399d
2 changed files with 28 additions and 8 deletions
+10
View File
@@ -631,6 +631,16 @@ void Actor::HandleCommand( const ParsedCommand &command )
const CString& sName = sParam(0);
#if defined(DEBUG)
if( sName == "x" || sName == "y" ) // an absolute X or Y position
{
if( sParam(1).Find('-') == -1 && sParam(1).Find('+') == -1 )
{
LOG->Warn( "Command '%s' should contain a SCREEN_* constant", command.GetOriginalCommandString().c_str() );
}
}
#endif
// Commands that go in the tweening queue:
if ( sName=="sleep" ) Sleep( fParam(1) );
else if( sName=="linear" ) BeginTweening( fParam(1), TWEEN_LINEAR );
+18 -8
View File
@@ -619,25 +619,35 @@ int ThemeManager::GetMetricI( const CString &sClassName, const CString &sValueNa
float ThemeManager::GetMetricF( const CString &sClassName, const CString &sValueName )
{
CString str = GetMetricRaw( sClassName,sValueName );
CString sValue = GetMetricRaw( sClassName, sValueName );
Lua::PrepareExpression( str );
#if defined(DEBUG)
if( sValueName.Right(1) == "X" || sValueName.Right(1) == "Y" ) // an absolute X or Y position
{
if( sValue.Find('-') == -1 && sValue.Find('+') == -1 )
{
LOG->Warn( "Absolute position metric '%s'-'%s' should contain a SCREEN_* constant", sClassName.c_str(), sValueName.c_str() );
}
}
#endif
return Lua::RunExpressionF( str );
Lua::PrepareExpression( sValue );
return Lua::RunExpressionF( sValue );
}
// #include "LuaHelpers.h"
bool ThemeManager::GetMetricB( const CString &sClassName, const CString &sValueName )
{
CString str = GetMetricRaw( sClassName,sValueName );
if( str == "0" )
CString sValue = GetMetricRaw( sClassName,sValueName );
if( sValue == "0" )
return false; /* optimization */
if( str == "1" )
if( sValue == "1" )
return true; /* optimization */
Lua::PrepareExpression( str );
Lua::PrepareExpression( sValue );
return Lua::RunExpressionB( str );
return Lua::RunExpressionB( sValue );
}
RageColor ThemeManager::GetMetricC( const CString &sClassName, const CString &sValueName )