add ScreenClearBookkeepingData, ScreenResetToDefaults

This commit is contained in:
Chris Danford
2004-05-16 22:58:05 +00:00
parent 633133f19f
commit 2fc1035d32
13 changed files with 198 additions and 23 deletions
+9 -6
View File
@@ -30,12 +30,7 @@ const int COINS_DAT_VERSION = 1;
Bookkeeper::Bookkeeper() Bookkeeper::Bookkeeper()
{ {
int i, j; ClearAll();
m_iLastSeenTime = time(NULL);
for( i=0; i<DAYS_IN_YEAR; i++ )
for( j=0; j<HOURS_IN_DAY; j++ )
m_iCoinsByHourForYear[i][j] = 0;
ReadFromDisk(); ReadFromDisk();
@@ -49,6 +44,14 @@ Bookkeeper::~Bookkeeper()
#define WARN_AND_RETURN { LOG->Warn("Error parsing at %s:%d",__FILE__,__LINE__); return; } #define WARN_AND_RETURN { LOG->Warn("Error parsing at %s:%d",__FILE__,__LINE__); return; }
void Bookkeeper::ClearAll()
{
m_iLastSeenTime = time(NULL);
for( int i=0; i<DAYS_IN_YEAR; i++ )
for( int j=0; j<HOURS_IN_DAY; j++ )
m_iCoinsByHourForYear[i][j] = 0;
}
void Bookkeeper::ReadFromDisk() void Bookkeeper::ReadFromDisk()
{ {
RageFile f; RageFile f;
+2
View File
@@ -22,6 +22,8 @@ public:
Bookkeeper(); Bookkeeper();
~Bookkeeper(); ~Bookkeeper();
void ClearAll();
void CoinInserted(); void CoinInserted();
void UpdateLastSeenTime(); void UpdateLastSeenTime();
+2 -2
View File
@@ -23,7 +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 \ ScreenBookkeeping.cpp ScreenBookkeeping.h ScreenBranch.cpp ScreenBranch.h ScreenCaution.cpp ScreenCaution.h \
ScreenCenterImage.cpp ScreenCenterImage.h ScreenCredits.cpp ScreenCredits.h \ ScreenCenterImage.cpp ScreenCenterImage.h ScreenCredits.cpp ScreenCredits.h \
ScreenDemonstration.cpp ScreenDemonstration.h ScreenDimensions.h \ ScreenDemonstration.cpp ScreenDemonstration.h ScreenDimensions.h \
ScreenClearMachineStats.cpp ScreenClearMachineStats.h \ ScreenClearBookkeepingData.cpp ScreenClearBookkeepingData.h ScreenClearMachineStats.cpp ScreenClearMachineStats.h \
ScreenDownloadMachineStats.cpp ScreenDownloadMachineStats.h ScreenEdit.cpp ScreenEdit.h \ ScreenDownloadMachineStats.cpp ScreenDownloadMachineStats.h ScreenEdit.cpp ScreenEdit.h \
ScreenEditCoursesMenu.cpp ScreenEditCoursesMenu.h ScreenEditMenu.cpp ScreenEditMenu.h ScreenEnding.cpp ScreenEnding.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 \ ScreenEndlessBreak.cpp ScreenEndlessBreak.h ScreenEvaluation.cpp ScreenEvaluation.h ScreenExit.cpp ScreenExit.h \
@@ -36,7 +36,7 @@ ScreenNameEntry.cpp ScreenNameEntry.h ScreenNameEntryTraditional.cpp ScreenNameE
ScreenOptions.cpp ScreenOptions.h ScreenOptionsMaster.cpp ScreenOptionsMaster.h \ ScreenOptions.cpp ScreenOptions.h ScreenOptionsMaster.cpp ScreenOptionsMaster.h \
ScreenOptionsMasterPrefs.cpp ScreenOptionsMasterPrefs.h ScreenPlayerOptions.cpp ScreenPlayerOptions.h \ ScreenOptionsMasterPrefs.cpp ScreenOptionsMasterPrefs.h ScreenPlayerOptions.cpp ScreenPlayerOptions.h \
ScreenProfileOptions.cpp ScreenProfileOptions.h ScreenPrompt.cpp ScreenPrompt.h ScreenRanking.cpp ScreenRanking.h \ ScreenProfileOptions.cpp ScreenProfileOptions.h ScreenPrompt.cpp ScreenPrompt.h ScreenRanking.cpp ScreenRanking.h \
ScreenReloadSongs.cpp ScreenReloadSongs.h ScreenSandbox.cpp ScreenSandbox.h \ ScreenReloadSongs.cpp ScreenReloadSongs.h ScreenResetToDefaults.cpp ScreenResetToDefaults.h ScreenSandbox.cpp ScreenSandbox.h \
ScreenSelect.cpp ScreenSelect.h ScreenSelectCharacter.cpp ScreenSelectCharacter.h \ ScreenSelect.cpp ScreenSelect.h ScreenSelectCharacter.cpp ScreenSelectCharacter.h \
ScreenSelectCourse.cpp ScreenSelectCourse.h ScreenSelectDifficulty.cpp ScreenSelectDifficulty.h \ ScreenSelectCourse.cpp ScreenSelectCourse.h ScreenSelectDifficulty.cpp ScreenSelectDifficulty.h \
ScreenSelectDifficultyEX.cpp ScreenSelectDifficultyEX.h ScreenSelectGroup.cpp ScreenSelectGroup.h \ ScreenSelectDifficultyEX.cpp ScreenSelectDifficultyEX.h ScreenSelectGroup.cpp ScreenSelectGroup.h \
+26 -6
View File
@@ -32,6 +32,13 @@ const CString DEFAULT_LIGHTS_DRIVER = "Null";
bool g_bAutoRestart = false; bool g_bAutoRestart = false;
PrefsManager::PrefsManager() PrefsManager::PrefsManager()
{
Init();
ReadGlobalPrefsFromDisk();
ReadStaticPrefsFromDisk();
}
void PrefsManager::Init()
{ {
#ifdef DEBUG #ifdef DEBUG
m_bWindowed = true; m_bWindowed = true;
@@ -286,8 +293,6 @@ PrefsManager::PrefsManager()
} }
m_sMemoryCardProfileSubdir = PRODUCT_NAME; m_sMemoryCardProfileSubdir = PRODUCT_NAME;
ReadGlobalPrefsFromDisk();
} }
PrefsManager::~PrefsManager() PrefsManager::~PrefsManager()
@@ -296,13 +301,20 @@ PrefsManager::~PrefsManager()
void PrefsManager::ReadGlobalPrefsFromDisk() void PrefsManager::ReadGlobalPrefsFromDisk()
{ {
IniFile ini; ReadPrefsFromFile( STEPMANIA_INI_PATH );
ini.SetPath( STEPMANIA_INI_PATH ); }
ini.ReadFile();
void PrefsManager::ReadStaticPrefsFromDisk()
{
/* Load this on top of the regular INI; if it exists, any settings listed /* Load this on top of the regular INI; if it exists, any settings listed
* in it will override user settings. */ * in it will override user settings. */
ini.SetPath( STATIC_INI_PATH ); ReadPrefsFromFile( STATIC_INI_PATH );
}
void PrefsManager::ReadPrefsFromFile( CString sIni )
{
IniFile ini;
ini.SetPath( sIni );
ini.ReadFile(); ini.ReadFile();
ini.GetValue( "Options", "Windowed", m_bWindowed ); ini.GetValue( "Options", "Windowed", m_bWindowed );
@@ -763,3 +775,11 @@ void PrefsManager::SaveGlobalPrefsToDisk() const
ini.WriteFile(); ini.WriteFile();
} }
void PrefsManager::ResetToFactoryDefaults()
{
Init();
ReadStaticPrefsFromDisk();
SaveGlobalPrefsToDisk();
}
+7 -2
View File
@@ -20,6 +20,8 @@ public:
PrefsManager(); PrefsManager();
~PrefsManager(); ~PrefsManager();
void Init();
// GameOptions (ARE saved between sessions) // GameOptions (ARE saved between sessions)
bool m_bWindowed; bool m_bWindowed;
int m_iDisplayWidth; int m_iDisplayWidth;
@@ -266,9 +268,12 @@ public:
void ReadGlobalPrefsFromDisk(); void ReadGlobalPrefsFromDisk();
void SaveGlobalPrefsToDisk() const; void SaveGlobalPrefsToDisk() const;
void ReadStaticPrefsFromDisk();
void ReadGamePrefsFromDisk(); void ResetToFactoryDefaults();
void SaveGamePrefsToDisk();
protected:
void ReadPrefsFromFile( CString sIni );
}; };
/* This is global, because it can be accessed by crash handlers and error handlers /* This is global, because it can be accessed by crash handlers and error handlers
+4
View File
@@ -309,6 +309,8 @@ void Screen::ClearMessageQueue( const ScreenMessage SM )
#include "ScreenSetTime.h" #include "ScreenSetTime.h"
#include "ScreenTestLights.h" #include "ScreenTestLights.h"
#include "ScreenClearMachineStats.h" #include "ScreenClearMachineStats.h"
#include "ScreenResetToDefaults.h"
#include "ScreenClearBookkeepingData.h"
Screen* Screen::Create( CString sClassName ) Screen* Screen::Create( CString sClassName )
{ {
@@ -375,6 +377,8 @@ Screen* Screen::Create( CString sClassName )
IF_RETURN( ScreenSetTime ); IF_RETURN( ScreenSetTime );
IF_RETURN( ScreenTestLights ); IF_RETURN( ScreenTestLights );
IF_RETURN( ScreenClearMachineStats ); IF_RETURN( ScreenClearMachineStats );
IF_RETURN( ScreenResetToDefaults );
IF_RETURN( ScreenClearBookkeepingData );
RageException::Throw( "Invalid Screen class name '%s'", sClassName.c_str() ); RageException::Throw( "Invalid Screen class name '%s'", sClassName.c_str() );
} }
@@ -0,0 +1,19 @@
#include "global.h"
#include "ScreenClearBookkeepingData.h"
#include "ScreenManager.h"
#include "ThemeManager.h"
#include "Bookkeeper.h"
#define NEXT_SCREEN THEME->GetMetric(m_sName,"NextScreen")
ScreenClearBookkeepingData::ScreenClearBookkeepingData( CString sName ): Screen( sName )
{
BOOKKEEPER->ClearAll();
BOOKKEEPER->WriteToDisk();
SCREENMAN->SystemMessage( "Bookkeeping data cleared." );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
}
@@ -0,0 +1,14 @@
#ifndef ScreenClearBookkeepingData_H
#define ScreenClearBookkeepingData_H
#include "Screen.h"
#include "RageTimer.h"
class ScreenClearBookkeepingData: public Screen
{
public:
ScreenClearBookkeepingData( CString sName );
};
#endif
@@ -3,9 +3,7 @@
#include "ScreenClearMachineStats.h" #include "ScreenClearMachineStats.h"
#include "ProfileManager.h" #include "ProfileManager.h"
#include "ScreenManager.h" #include "ScreenManager.h"
#include "MemoryCardManager.h"
#include "ThemeManager.h" #include "ThemeManager.h"
#include "PrefsManager.h"
#define NEXT_SCREEN THEME->GetMetric(m_sName,"NextScreen") #define NEXT_SCREEN THEME->GetMetric(m_sName,"NextScreen")
+19
View File
@@ -0,0 +1,19 @@
#include "global.h"
#include "ScreenResetToDefaults.h"
#include "ProfileManager.h"
#include "ScreenManager.h"
#include "ThemeManager.h"
#include "PrefsManager.h"
#define NEXT_SCREEN THEME->GetMetric(m_sName,"NextScreen")
ScreenResetToDefaults::ScreenResetToDefaults( CString sName ): Screen( sName )
{
PREFSMAN->ResetToFactoryDefaults();
SCREENMAN->SystemMessage( "All options reset to factory defaults." );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
}
+14
View File
@@ -0,0 +1,14 @@
#ifndef ScreenResetToDefaults_H
#define ScreenResetToDefaults_H
#include "Screen.h"
#include "RageTimer.h"
class ScreenResetToDefaults: public Screen
{
public:
ScreenResetToDefaults( CString sName );
};
#endif
+68 -3
View File
@@ -1,5 +1,5 @@
# Microsoft Developer Studio Project File - Name="StepMania" - Package Owner=<4> # Microsoft Developer Studio Project File - Name="StepMania" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00 # Microsoft Developer Studio Generated Build File, Format Version 60000
# ** DO NOT EDIT ** # ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101 # TARGTYPE "Win32 (x86) Application" 0x0101
@@ -62,7 +62,7 @@ LINK32=link.exe
# SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib # SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib
# Begin Special Build Tool # Begin Special Build Tool
IntDir=.\../Debug6 IntDir=.\../Debug6
TargetDir=\temp\stepmania\Program TargetDir=\stepmania\stepmania\Program
TargetName=StepMania-debug TargetName=StepMania-debug
SOURCE="$(InputPath)" SOURCE="$(InputPath)"
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
@@ -99,6 +99,10 @@ XBCP=xbecopy.exe
# ADD BASE XBCP /NOLOGO # ADD BASE XBCP /NOLOGO
# ADD XBCP /NOLOGO # ADD XBCP /NOLOGO
# Begin Special Build Tool # Begin Special Build Tool
IntDir=.\../Debug_Xbox
TargetDir=\stepmania\stepmania
TargetName=default
SOURCE="$(InputPath)"
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi PreLink_Cmds=disasm\verinc cl /Zl /nologo /c PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
# End Special Build Tool # End Special Build Tool
@@ -135,7 +139,7 @@ LINK32=link.exe
# SUBTRACT LINK32 /verbose /pdb:none /debug # SUBTRACT LINK32 /verbose /pdb:none /debug
# Begin Special Build Tool # Begin Special Build Tool
IntDir=.\../Release6 IntDir=.\../Release6
TargetDir=\temp\stepmania\Program TargetDir=\stepmania\stepmania\Program
TargetName=StepMania TargetName=StepMania
SOURCE="$(InputPath)" SOURCE="$(InputPath)"
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
@@ -174,6 +178,10 @@ XBCP=xbecopy.exe
# ADD BASE XBCP /NOLOGO # ADD BASE XBCP /NOLOGO
# ADD XBCP /NOLOGO # ADD XBCP /NOLOGO
# Begin Special Build Tool # Begin Special Build Tool
IntDir=.\../Release_Xbox
TargetDir=\stepmania\stepmania
TargetName=default
SOURCE="$(InputPath)"
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi PreLink_Cmds=disasm\verinc cl /Zl /nologo /c PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
# End Special Build Tool # End Special Build Tool
@@ -4964,6 +4972,44 @@ SOURCE=.\ScreenCenterImage.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\ScreenClearBookkeepingData.cpp
!IF "$(CFG)" == "StepMania - Win32 Debug"
!ELSEIF "$(CFG)" == "StepMania - Xbox Debug"
!ELSEIF "$(CFG)" == "StepMania - Win32 Release"
!ELSEIF "$(CFG)" == "StepMania - Xbox Release"
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\ScreenClearBookkeepingData.h
# End Source File
# Begin Source File
SOURCE=.\ScreenClearMachineStats.cpp
!IF "$(CFG)" == "StepMania - Win32 Debug"
!ELSEIF "$(CFG)" == "StepMania - Xbox Debug"
!ELSEIF "$(CFG)" == "StepMania - Win32 Release"
!ELSEIF "$(CFG)" == "StepMania - Xbox Release"
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\ScreenClearMachineStats.h
# End Source File
# Begin Source File
SOURCE=.\ScreenCredits.cpp SOURCE=.\ScreenCredits.cpp
!IF "$(CFG)" == "StepMania - Win32 Debug" !IF "$(CFG)" == "StepMania - Win32 Debug"
@@ -5579,6 +5625,25 @@ SOURCE=.\ScreenReloadSongs.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\ScreenResetToDefaults.cpp
!IF "$(CFG)" == "StepMania - Win32 Debug"
!ELSEIF "$(CFG)" == "StepMania - Xbox Debug"
!ELSEIF "$(CFG)" == "StepMania - Win32 Release"
!ELSEIF "$(CFG)" == "StepMania - Xbox Release"
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\ScreenResetToDefaults.h
# End Source File
# Begin Source File
SOURCE=.\ScreenSandbox.cpp SOURCE=.\ScreenSandbox.cpp
!IF "$(CFG)" == "StepMania - Win32 Debug" !IF "$(CFG)" == "StepMania - Win32 Debug"
+12
View File
@@ -205,6 +205,12 @@ cl /Zl /nologo /c verstub.cpp /Fo&quot;$(IntDir)&quot;\
<File <File
RelativePath="ScreenCenterImage.h"> RelativePath="ScreenCenterImage.h">
</File> </File>
<File
RelativePath="ScreenClearBookkeepingData.cpp">
</File>
<File
RelativePath="ScreenClearBookkeepingData.h">
</File>
<File <File
RelativePath="ScreenClearMachineStats.cpp"> RelativePath="ScreenClearMachineStats.cpp">
</File> </File>
@@ -406,6 +412,12 @@ cl /Zl /nologo /c verstub.cpp /Fo&quot;$(IntDir)&quot;\
<File <File
RelativePath="ScreenReloadSongs.h"> RelativePath="ScreenReloadSongs.h">
</File> </File>
<File
RelativePath="ScreenResetToDefaults.cpp">
</File>
<File
RelativePath="ScreenResetToDefaults.h">
</File>
<File <File
RelativePath="ScreenSandbox.cpp"> RelativePath="ScreenSandbox.cpp">
</File> </File>