save and restore last used ranking name from/to profile
This commit is contained in:
@@ -198,7 +198,12 @@ void ScreenSystemLayer::RefreshCreditsMessages()
|
||||
{
|
||||
Profile* pProfile = PROFILEMAN->GetProfile( (PlayerNumber)p );
|
||||
if( pProfile )
|
||||
sPlayerInfo = pProfile->m_sName;
|
||||
{
|
||||
if( !pProfile->m_sLastUsedHighScoreName.empty() )
|
||||
sPlayerInfo = pProfile->m_sLastUsedHighScoreName;
|
||||
else
|
||||
sPlayerInfo = pProfile->m_sName;
|
||||
}
|
||||
else if( GAMESTATE->m_bIsOnSystemMenu ) // no mem card
|
||||
sPlayerInfo = "";
|
||||
else if( PREFSMAN->m_sMemoryCardDir[p]!="" )
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "Course.h"
|
||||
#include "AnnouncerManager.h"
|
||||
#include <math.h>
|
||||
#include "ProfileManager.h"
|
||||
|
||||
|
||||
//
|
||||
@@ -168,9 +169,16 @@ ScreenNameEntry::ScreenNameEntry( CString sClassName ) : Screen( sClassName )
|
||||
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
for( int i=0; i<MAX_RANKING_NAME_LENGTH; i++ )
|
||||
m_sSelectedName[p] += ' ';
|
||||
// load last used ranking name if any
|
||||
Profile* pProfile = PROFILEMAN->GetProfile((PlayerNumber)p);
|
||||
if( pProfile && !pProfile->m_sLastUsedHighScoreName.empty() )
|
||||
m_sSelectedName[p] = pProfile->m_sLastUsedHighScoreName;
|
||||
|
||||
// resize string to MAX_RANKING_NAME_LENGTH
|
||||
m_sSelectedName[p] = ssprintf( "%*.*s", MAX_RANKING_NAME_LENGTH, MAX_RANKING_NAME_LENGTH, m_sSelectedName[p].c_str() );
|
||||
ASSERT( m_sSelectedName[p].length() == MAX_RANKING_NAME_LENGTH );
|
||||
|
||||
// don't load player if they aren't going to enter their name
|
||||
if( !m_bStillEnteringName[p] )
|
||||
continue; // skip
|
||||
|
||||
@@ -210,6 +218,8 @@ ScreenNameEntry::ScreenNameEntry( CString sClassName ) : Screen( sClassName )
|
||||
m_textSelectedChars[p][t].SetY( GRAY_ARROWS_Y );
|
||||
m_textSelectedChars[p][t].SetDiffuse( g_SelectedCharsColor );
|
||||
m_textSelectedChars[p][t].SetZoom( CHARS_ZOOM_LARGE );
|
||||
if( t<m_sSelectedName[p].length() )
|
||||
m_textSelectedChars[p][t].SetText( m_sSelectedName[p].substr(t,1) );
|
||||
this->AddChild( &m_textSelectedChars[p][t] ); // draw these manually
|
||||
|
||||
m_textScrollingChars[p][t].LoadFromFont( THEME->GetPathToF("ScreenNameEntry letters") );
|
||||
@@ -421,6 +431,11 @@ void ScreenNameEntry::MenuStart( PlayerNumber pn )
|
||||
|
||||
GAMESTATE->StoreRankingName( pn, m_sSelectedName[pn] );
|
||||
|
||||
// save last used ranking name
|
||||
Profile* pProfile = PROFILEMAN->GetProfile(pn);
|
||||
if( pProfile )
|
||||
pProfile->m_sLastUsedHighScoreName = m_sSelectedName[pn];
|
||||
|
||||
if( !AnyStillEntering() && !m_Out.IsTransitioning() )
|
||||
m_Out.StartTransitioning( SM_GoToNextScreen );
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "AnnouncerManager.h"
|
||||
#include "song.h"
|
||||
#include <math.h>
|
||||
#include "ProfileManager.h"
|
||||
|
||||
|
||||
//
|
||||
@@ -419,6 +420,11 @@ void ScreenNameEntryTraditional::Finish( PlayerNumber pn )
|
||||
|
||||
GAMESTATE->StoreRankingName( pn, selection );
|
||||
|
||||
// save last used ranking name
|
||||
Profile* pProfile = PROFILEMAN->GetProfile(pn);
|
||||
if( pProfile )
|
||||
pProfile->m_sLastUsedHighScoreName = selection;
|
||||
|
||||
OFF_COMMAND( m_Keyboard[pn] );
|
||||
for( int i = 0; i < (int)m_textAlphabet[pn].size(); ++i )
|
||||
OFF_COMMAND( m_textAlphabet[pn][i] );
|
||||
|
||||
@@ -81,6 +81,10 @@ ScreenTitleMenu::ScreenTitleMenu( CString sClassName ) : ScreenSelect( sClassNam
|
||||
|
||||
CodeDetector::RefreshCacheItems();
|
||||
|
||||
m_sprLogo.Load( THEME->GetPathToG(ssprintf("ScreenLogo %s",GAMESTATE->GetCurrentGameDef()->m_szName)) );
|
||||
m_sprLogo.Command( PREFSMAN->m_iCoinMode==COIN_HOME ? LOGO_HOME_ON_COMMAND : LOGO_ON_COMMAND );
|
||||
this->AddChild( &m_sprLogo );
|
||||
|
||||
if( PREFSMAN->m_iCoinMode != COIN_HOME )
|
||||
{
|
||||
switch( PREFSMAN->m_Premium )
|
||||
@@ -96,10 +100,6 @@ ScreenTitleMenu::ScreenTitleMenu( CString sClassName ) : ScreenSelect( sClassNam
|
||||
}
|
||||
}
|
||||
|
||||
m_sprLogo.Load( THEME->GetPathToG(ssprintf("ScreenLogo %s",GAMESTATE->GetCurrentGameDef()->m_szName)) );
|
||||
m_sprLogo.Command( PREFSMAN->m_iCoinMode==COIN_HOME ? LOGO_HOME_ON_COMMAND : LOGO_ON_COMMAND );
|
||||
this->AddChild( &m_sprLogo );
|
||||
|
||||
m_textVersion.LoadFromFont( THEME->GetPathToF("Common normal") );
|
||||
m_textVersion.Command( VERSION_ON_COMMAND );
|
||||
m_textVersion.SetText( PRODUCT_VER );
|
||||
|
||||
Reference in New Issue
Block a user