} // set OPENITG LUA variables from here void SetProgramGlobals( lua_State* L ) { LUA->SetGlobal( "OPENITG", true ); LUA->SetGlobal( "OPENITG_VERSION", ProductInfo::getVersion() ); } REGISTER_WITH_LUA_FUNCTION( SetProgramGlobals ); // LUA bindings for diagnostics functions #include "LuaFunctions.h" LuaFunction_NoArgs( GetUptime, SecondsToHHMMSS( (int)RageTimer::GetTimeSinceStart() ) ); LuaFunction_NoArgs( GetNumIOErrors, ITGIO::m_iInputErrorCount ); // disk space functions LuaFunction_NoArgs( GetDiskSpaceFree, DiagnosticsUtil::GetDiskSpaceFree() ); LuaFunction_NoArgs( GetDiskSpaceTotal, DiagnosticsUtil::GetDiskSpaceTotal() ); // versioning functions LuaFunction_NoArgs( GetRevision, DiagnosticsUtil::GetRevision() ); LuaFunction_NoArgs( GetProductName, DiagnosticsUtil::GetProductName() ); LuaFunction_NoArgs( GetProductVer, DiagnosticsUtil::GetProductVer() ); // diagnostics enumeration functions LuaFunction_NoArgs( GetNumCrashLogs, DiagnosticsUtil::GetNumCrashLogs() ); LuaFunction_NoArgs( GetNumMachineScores, DiagnosticsUtil::GetNumMachineScores() ); LuaFunction_NoArgs( GetNumMachineEdits, DiagnosticsUtil::GetNumMachineEdits() );
return sReturn; } CString SecondsToMMSSMsMsMs( float fSecs ) { const int iMinsDisplay = (int)fSecs/60; const int iSecsDisplay = (int)fSecs - iMinsDisplay*60; const int iLeftoverDisplay = (int) ( (fSecs - iMinsDisplay*60 - iSecsDisplay) * 1000 ); CString sReturn = ssprintf( "%02d:%02d.%03d", iMinsDisplay, iSecsDisplay, min(999,iLeftoverDisplay) ); return sReturn; } #include "LuaFunctions.h" #include "LuaManager.h" LuaFunction( SecondsToMMSS, SecondsToMMSS( IArg(1) ) ) LuaFunction( SecondsToHHMMSS, SecondsToHHMMSS( IArg(1) ) ) LuaFunction( SecondsToMSSMsMs, SecondsToMSSMsMs( FArg(1) ) ) LuaFunction( SecondsToMMSSMsMs, SecondsToMMSSMsMs( FArg(1) ) ) LuaFunction( SecondsToMMSSMsMsMs, SecondsToMMSSMsMsMs( FArg(1) ) ) CString PrettyPercent( float fNumerator, float fDenominator) { return ssprintf("%0.2f%%",fNumerator/fDenominator*100); } CString Commify( int iNum ) { CString sNum = ssprintf("%d",iNum); CString sReturn; for( unsigned i=0; i<sNum.length(); i++ )