diff --git a/stepmania/src/RageUtil.cpp b/stepmania/src/RageUtil.cpp index 906218a804..f4a2e50cc5 100644 --- a/stepmania/src/RageUtil.cpp +++ b/stepmania/src/RageUtil.cpp @@ -102,6 +102,21 @@ CString hr_ssprintf( int hr, const char *fmt, ...) return s += ssprintf( "(%s)", DXGetErrorString8(hr) ); } + +CString werr_ssprintf( int err, const char *fmt, ...) +{ + char buf[1024]; + FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, + 0, err, 0, buf, sizeof(buf), NULL); + + va_list va; + va_start(va, fmt); + CString s = vssprintf( fmt, va ); + va_end(va); + + return s += ssprintf( "(%s)", buf ); +} + #endif CString join( const CString &Deliminator, const CStringArray& Source) diff --git a/stepmania/src/RageUtil.h b/stepmania/src/RageUtil.h index 7b1824757a..70470be307 100644 --- a/stepmania/src/RageUtil.h +++ b/stepmania/src/RageUtil.h @@ -122,6 +122,7 @@ CString vssprintf( const char *fmt, va_list argList ); #ifdef WIN32 CString hr_ssprintf( int hr, const char *fmt, ...); +CString werr_ssprintf( int err, const char *fmt, ...); #endif // Splits a Path into 4 parts (Directory, Drive, Filename, Extention). Supports UNC path names.