diff --git a/stepmania/src/Makefile.am b/stepmania/src/Makefile.am index 9b35eacba6..0ec7926017 100644 --- a/stepmania/src/Makefile.am +++ b/stepmania/src/Makefile.am @@ -23,6 +23,7 @@ Screen.cpp Screen.h ScreenAttract.cpp ScreenAttract.h ScreenAward.cpp ScreenAwar ScreenBookkeeping.cpp ScreenBookkeeping.h ScreenBranch.cpp ScreenBranch.h ScreenCaution.cpp ScreenCaution.h \ ScreenCenterImage.cpp ScreenCenterImage.h ScreenCredits.cpp ScreenCredits.h \ ScreenDemonstration.cpp ScreenDemonstration.h ScreenDimensions.h \ +ScreenClearMachineStats.cpp ScreenClearMachineStats.h \ ScreenDownloadMachineStats.cpp ScreenDownloadMachineStats.h ScreenEdit.cpp ScreenEdit.h \ ScreenEditCoursesMenu.cpp ScreenEditCoursesMenu.h ScreenEditMenu.cpp ScreenEditMenu.h ScreenEnding.cpp ScreenEnding.h \ ScreenEndlessBreak.cpp ScreenEndlessBreak.h ScreenEvaluation.cpp ScreenEvaluation.h ScreenExit.cpp ScreenExit.h \ diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index 51e5009f2e..f2313d79e6 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -308,6 +308,7 @@ void Screen::ClearMessageQueue( const ScreenMessage SM ) #include "ScreenDownloadMachineStats.h" #include "ScreenSetTime.h" #include "ScreenTestLights.h" +#include "ScreenClearMachineStats.h" Screen* Screen::Create( CString sClassName ) { @@ -373,6 +374,7 @@ Screen* Screen::Create( CString sClassName ) IF_RETURN( ScreenDownloadMachineStats ); IF_RETURN( ScreenSetTime ); IF_RETURN( ScreenTestLights ); + IF_RETURN( ScreenClearMachineStats ); RageException::Throw( "Invalid Screen class name '%s'", sClassName.c_str() ); } diff --git a/stepmania/src/ScreenClearMachineStats.cpp b/stepmania/src/ScreenClearMachineStats.cpp new file mode 100644 index 0000000000..a247086093 --- /dev/null +++ b/stepmania/src/ScreenClearMachineStats.cpp @@ -0,0 +1,21 @@ +#include "global.h" + +#include "ScreenClearMachineStats.h" +#include "ProfileManager.h" +#include "ScreenManager.h" +#include "MemoryCardManager.h" +#include "ThemeManager.h" +#include "PrefsManager.h" + +#define NEXT_SCREEN THEME->GetMetric(m_sName,"NextScreen") + +ScreenClearMachineStats::ScreenClearMachineStats( CString sName ): Screen( sName ) +{ + PROFILEMAN->GetMachineProfile()->InitAll(); + PROFILEMAN->SaveMachineProfile(); + + SCREENMAN->SystemMessage( "Machine stats cleared." ); + + SCREENMAN->SetNewScreen( NEXT_SCREEN ); +} + diff --git a/stepmania/src/ScreenClearMachineStats.h b/stepmania/src/ScreenClearMachineStats.h new file mode 100644 index 0000000000..4cc59c953e --- /dev/null +++ b/stepmania/src/ScreenClearMachineStats.h @@ -0,0 +1,14 @@ +#ifndef ScreenClearMachineStats_H +#define ScreenClearMachineStats_H + +#include "Screen.h" +#include "RageTimer.h" + +class ScreenClearMachineStats: public Screen +{ +public: + ScreenClearMachineStats( CString sName ); +}; + + +#endif diff --git a/stepmania/src/StepMania.vcproj b/stepmania/src/StepMania.vcproj index b476b4599d..27cd9a8a30 100644 --- a/stepmania/src/StepMania.vcproj +++ b/stepmania/src/StepMania.vcproj @@ -205,6 +205,12 @@ cl /Zl /nologo /c verstub.cpp /Fo"$(IntDir)"\ + + + +