add TransferStatsToMachine menu option

This commit is contained in:
Chris Danford
2005-01-01 10:27:16 +00:00
parent 02d68f44ef
commit cacd23de90
3 changed files with 69 additions and 28 deletions
+8 -18
View File
@@ -3847,9 +3847,6 @@ Coin Options,1=screen,ScreenCoinOptions;name,CoinOptions
Config Key/Joy Mappings=1,together,SelectNone
Config Key/Joy MappingsDefault=
Config Key/Joy Mappings,1=screen,ScreenMapControllers;name,KeyJoyMappings
Download Machine Stats=1,together,SelectNone
Download Machine StatsDefault=
Download Machine Stats,1=DownloadMachineStats;name,DownloadMachineStats;screen,ScreenOptionsMenu
Clear Machine Stats=1,together,SelectNone
Clear Machine StatsDefault=
Clear Machine Stats,1=ClearMachineStats;name,ClearMachineStats;screen,ScreenOptionsMenu
@@ -3886,6 +3883,12 @@ Test Input,1=screen,ScreenTestInput;name,TestInput
Test Lights=1,together,SelectNone
Test LightsDefault=
Test Lights,1=screen,ScreenTestLights;name,TestLights
Transfer Stats From Machine=1,together,SelectNone
Transfer Stats From MachineDefault=
Transfer Stats From Machine,1=TransferStatsFromMachine;name,TransferStatsFromMachine;screen,ScreenOptionsMenu
Transfer Stats To Machine=1,together,SelectNone
Transfer Stats To MachineDefault=
Transfer Stats To Machine,1=TransferStatsToMachine;name,TransferStatsToMachine;screen,ScreenOptionsMenu
Set Machine Time=1,together,SelectNone
Set Machine TimeDefault=
Set Machine Time,1=screen,ScreenSetTime;name,SetMachineTime
@@ -3893,6 +3896,8 @@ Network Options=1,together,SelectNone
Network OptionsDefault=
Network Options,1=screen,ScreenNetworkOptions;name,NetworkOptions
[DancingCharacters]
#2D Character X/Y positions in relation to the center
#of the screen
@@ -3932,21 +3937,6 @@ NoData=NO DATA
[HighScore]
EmptyName=STEP
[ScreenInsertCredit]
NextScreen=ScreenOptionsMenu
[ScreenDownloadMachineStats]
NextScreen=ScreenOptionsMenu
[ScreenClearMachineStats]
NextScreen=ScreenOptionsMenu
[ScreenResetToDefaults]
NextScreen=ScreenOptionsMenu
[ScreenClearBookkeepingData]
NextScreen=ScreenOptionsMenu
[ScreenSetTime]
StyleIcon=0
MemoryCardIcons=0
+59 -9
View File
@@ -51,7 +51,8 @@ void GameCommand::Init()
m_bClearBookkeepingData = false;
m_bClearMachineStats = false;
m_bDownloadMachineStats = false;
m_bTransferStatsFromMachine = false;
m_bTransferStatsToMachine = false;
m_bInsertCredit = false;
m_bResetToFactoryDefaults = false;
m_bStopMusic = false;
@@ -268,9 +269,13 @@ void GameCommand::Load( int iIndex, const Commands& cmds )
{
m_bClearMachineStats = true;
}
else if( sName == "downloadmachinestats" )
else if( sName == "transferstatsfrommachine" )
{
m_bDownloadMachineStats = true;
m_bTransferStatsFromMachine = true;
}
else if( sName == "transferstatstomachine" )
{
m_bTransferStatsToMachine = true;
}
else if( sName == "insertcredit" )
{
@@ -589,30 +594,75 @@ void GameCommand::Apply( PlayerNumber pn ) const
PROFILEMAN->SaveMachineProfile();
SCREENMAN->SystemMessage( "Machine stats cleared." );
}
if( m_bDownloadMachineStats )
if( m_bTransferStatsFromMachine )
{
MEMCARDMAN->TryMountAllCards();
bool bTriedToSave = false;
FOREACH_PlayerNumber( pn )
{
if( MEMCARDMAN->GetCardState(pn) != MEMORY_CARD_STATE_READY )
continue; // skip
bTriedToSave = true;
CString sDir = MEM_CARD_MOUNT_POINT[pn];
sDir += "MachineProfile/";
bool bSaved = PROFILEMAN->GetMachineProfile()->SaveAllToDir( sDir, PREFSMAN->m_bSignProfileData );
if( bSaved )
SCREENMAN->SystemMessage( ssprintf("Machine stats saved to P%d card.",pn+1) );
else
SCREENMAN->SystemMessage( ssprintf("Error saving stats to P%d card.",pn+1) );
return;
SCREENMAN->SystemMessage( ssprintf("Error saving machine stats to P%d card.",pn+1) );
break;
}
MEMCARDMAN->FlushAndReset();
if( !bTriedToSave )
SCREENMAN->SystemMessage( "Stats not saved - No memory cards ready." );
SCREENMAN->SystemMessage( "Stats not saved - No memory cards ready." );
MEMCARDMAN->FlushAndReset();
}
if( m_bTransferStatsToMachine )
{
MEMCARDMAN->TryMountAllCards();
bool bTriedToLoad = false;
FOREACH_PlayerNumber( pn )
{
if( MEMCARDMAN->GetCardState(pn) != MEMORY_CARD_STATE_READY )
continue; // skip
bTriedToLoad = true;
CString sDir = MEM_CARD_MOUNT_POINT[pn];
sDir += "MachineProfile/";
Profile backup = *PROFILEMAN->GetMachineProfile();
Profile::LoadResult lr = PROFILEMAN->GetMachineProfile()->LoadAllFromDir( sDir, PREFSMAN->m_bSignProfileData );
switch( lr )
{
case Profile::success:
SCREENMAN->SystemMessage( ssprintf("Machine stats loaded from P%d card.",pn+1) );
break;
case Profile::failed_no_profile:
SCREENMAN->SystemMessage( ssprintf("There is no profile on P%d card.",pn+1) );
*PROFILEMAN->GetMachineProfile() = backup;
break;
case Profile::failed_tampered:
SCREENMAN->SystemMessage( ssprintf("The profile on P%d card contains tampered data.",pn+1) );
*PROFILEMAN->GetMachineProfile() = backup;
break;
default:
ASSERT(0);
}
break;
}
if( !bTriedToLoad )
SCREENMAN->SystemMessage( "Stats not loaded - No memory cards ready." );
MEMCARDMAN->FlushAndReset();
}
if( m_bInsertCredit )
{
+2 -1
View File
@@ -56,7 +56,8 @@ struct GameCommand // used in SelectMode
bool m_bClearBookkeepingData;
bool m_bClearMachineStats;
bool m_bDownloadMachineStats;
bool m_bTransferStatsFromMachine;
bool m_bTransferStatsToMachine;
bool m_bInsertCredit;
bool m_bResetToFactoryDefaults;
bool m_bStopMusic;