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()
{
int i, j;
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;
ClearAll();
ReadFromDisk();
@@ -49,6 +44,14 @@ Bookkeeper::~Bookkeeper()
#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()
{
RageFile f;
+2
View File
@@ -22,6 +22,8 @@ public:
Bookkeeper();
~Bookkeeper();
void ClearAll();
void CoinInserted();
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 \
ScreenCenterImage.cpp ScreenCenterImage.h ScreenCredits.cpp ScreenCredits.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 \
ScreenEditCoursesMenu.cpp ScreenEditCoursesMenu.h ScreenEditMenu.cpp ScreenEditMenu.h ScreenEnding.cpp ScreenEnding.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 \
ScreenOptionsMasterPrefs.cpp ScreenOptionsMasterPrefs.h ScreenPlayerOptions.cpp ScreenPlayerOptions.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 \
ScreenSelectCourse.cpp ScreenSelectCourse.h ScreenSelectDifficulty.cpp ScreenSelectDifficulty.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;
PrefsManager::PrefsManager()
{
Init();
ReadGlobalPrefsFromDisk();
ReadStaticPrefsFromDisk();
}
void PrefsManager::Init()
{
#ifdef DEBUG
m_bWindowed = true;
@@ -286,8 +293,6 @@ PrefsManager::PrefsManager()
}
m_sMemoryCardProfileSubdir = PRODUCT_NAME;
ReadGlobalPrefsFromDisk();
}
PrefsManager::~PrefsManager()
@@ -296,13 +301,20 @@ PrefsManager::~PrefsManager()
void PrefsManager::ReadGlobalPrefsFromDisk()
{
IniFile ini;
ini.SetPath( STEPMANIA_INI_PATH );
ini.ReadFile();
ReadPrefsFromFile( STEPMANIA_INI_PATH );
}
void PrefsManager::ReadStaticPrefsFromDisk()
{
/* Load this on top of the regular INI; if it exists, any settings listed
* 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.GetValue( "Options", "Windowed", m_bWindowed );
@@ -763,3 +775,11 @@ void PrefsManager::SaveGlobalPrefsToDisk() const
ini.WriteFile();
}
void PrefsManager::ResetToFactoryDefaults()
{
Init();
ReadStaticPrefsFromDisk();
SaveGlobalPrefsToDisk();
}
+7 -2
View File
@@ -20,6 +20,8 @@ public:
PrefsManager();
~PrefsManager();
void Init();
// GameOptions (ARE saved between sessions)
bool m_bWindowed;
int m_iDisplayWidth;
@@ -266,9 +268,12 @@ public:
void ReadGlobalPrefsFromDisk();
void SaveGlobalPrefsToDisk() const;
void ReadStaticPrefsFromDisk();
void ReadGamePrefsFromDisk();
void SaveGamePrefsToDisk();
void ResetToFactoryDefaults();
protected:
void ReadPrefsFromFile( CString sIni );
};
/* 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 "ScreenTestLights.h"
#include "ScreenClearMachineStats.h"
#include "ScreenResetToDefaults.h"
#include "ScreenClearBookkeepingData.h"
Screen* Screen::Create( CString sClassName )
{
@@ -375,6 +377,8 @@ Screen* Screen::Create( CString sClassName )
IF_RETURN( ScreenSetTime );
IF_RETURN( ScreenTestLights );
IF_RETURN( ScreenClearMachineStats );
IF_RETURN( ScreenResetToDefaults );
IF_RETURN( ScreenClearBookkeepingData );
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 "ProfileManager.h"
#include "ScreenManager.h"
#include "MemoryCardManager.h"
#include "ThemeManager.h"
#include "PrefsManager.h"
#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
+70 -5
View File
@@ -1,5 +1,5 @@
# 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 **
# TARGTYPE "Win32 (x86) Application" 0x0101
@@ -62,10 +62,10 @@ LINK32=link.exe
# SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib
# Begin Special Build Tool
IntDir=.\../Debug6
TargetDir=\temp\stepmania\Program
TargetDir=\stepmania\stepmania\Program
TargetName=StepMania-debug
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)\
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi
# End Special Build Tool
@@ -99,6 +99,10 @@ XBCP=xbecopy.exe
# ADD BASE XBCP /NOLOGO
# ADD XBCP /NOLOGO
# 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
# End Special Build Tool
@@ -135,10 +139,10 @@ LINK32=link.exe
# SUBTRACT LINK32 /verbose /pdb:none /debug
# Begin Special Build Tool
IntDir=.\../Release6
TargetDir=\temp\stepmania\Program
TargetDir=\stepmania\stepmania\Program
TargetName=StepMania
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)\
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi
# End Special Build Tool
@@ -174,6 +178,10 @@ XBCP=xbecopy.exe
# ADD BASE XBCP /NOLOGO
# ADD XBCP /NOLOGO
# 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
# End Special Build Tool
@@ -4964,6 +4972,44 @@ SOURCE=.\ScreenCenterImage.h
# End 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
!IF "$(CFG)" == "StepMania - Win32 Debug"
@@ -5579,6 +5625,25 @@ SOURCE=.\ScreenReloadSongs.h
# End 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
!IF "$(CFG)" == "StepMania - Win32 Debug"
+12
View File
@@ -205,6 +205,12 @@ cl /Zl /nologo /c verstub.cpp /Fo&quot;$(IntDir)&quot;\
<File
RelativePath="ScreenCenterImage.h">
</File>
<File
RelativePath="ScreenClearBookkeepingData.cpp">
</File>
<File
RelativePath="ScreenClearBookkeepingData.h">
</File>
<File
RelativePath="ScreenClearMachineStats.cpp">
</File>
@@ -406,6 +412,12 @@ cl /Zl /nologo /c verstub.cpp /Fo&quot;$(IntDir)&quot;\
<File
RelativePath="ScreenReloadSongs.h">
</File>
<File
RelativePath="ScreenResetToDefaults.cpp">
</File>
<File
RelativePath="ScreenResetToDefaults.h">
</File>
<File
RelativePath="ScreenSandbox.cpp">
</File>