prompt for an edit name when creating
This commit is contained in:
@@ -1706,7 +1706,7 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector<int> &iAns
|
|||||||
g_StepsInformation.rows[difficulty].bEnabled = !HOME_EDIT_MODE;
|
g_StepsInformation.rows[difficulty].bEnabled = !HOME_EDIT_MODE;
|
||||||
g_StepsInformation.rows[meter].iDefaultChoice = clamp( pSteps->GetMeter()-1, 0, MAX_METER+1 );
|
g_StepsInformation.rows[meter].iDefaultChoice = clamp( pSteps->GetMeter()-1, 0, MAX_METER+1 );
|
||||||
g_StepsInformation.rows[predict_meter].choices.resize(1);g_StepsInformation.rows[predict_meter].choices[0] = ssprintf("%.2f",pSteps->PredictMeter());
|
g_StepsInformation.rows[predict_meter].choices.resize(1);g_StepsInformation.rows[predict_meter].choices[0] = ssprintf("%.2f",pSteps->PredictMeter());
|
||||||
g_StepsInformation.rows[description].choices.resize(1); g_StepsInformation.rows[description].choices[0] = pSteps->GetDescription();
|
g_StepsInformation.rows[description].choices.resize(1); g_StepsInformation.rows[description].choices[0] = pSteps->GetDescription(); g_StepsInformation.rows[description].bEnabled = !HOME_EDIT_MODE;
|
||||||
g_StepsInformation.rows[tap_notes].choices.resize(1); g_StepsInformation.rows[tap_notes].choices[0] = ssprintf("%d", m_NoteDataEdit.GetNumTapNotes());
|
g_StepsInformation.rows[tap_notes].choices.resize(1); g_StepsInformation.rows[tap_notes].choices[0] = ssprintf("%d", m_NoteDataEdit.GetNumTapNotes());
|
||||||
g_StepsInformation.rows[jumps].choices.resize(1); g_StepsInformation.rows[jumps].choices[0] = ssprintf("%d", m_NoteDataEdit.GetNumJumps());
|
g_StepsInformation.rows[jumps].choices.resize(1); g_StepsInformation.rows[jumps].choices[0] = ssprintf("%d", m_NoteDataEdit.GetNumJumps());
|
||||||
g_StepsInformation.rows[hands].choices.resize(1); g_StepsInformation.rows[hands].choices[0] = ssprintf("%d", m_NoteDataEdit.GetNumHands());
|
g_StepsInformation.rows[hands].choices.resize(1); g_StepsInformation.rows[hands].choices[0] = ssprintf("%d", m_NoteDataEdit.GetNumHands());
|
||||||
|
|||||||
@@ -13,11 +13,13 @@
|
|||||||
#include "Steps.h"
|
#include "Steps.h"
|
||||||
#include "song.h"
|
#include "song.h"
|
||||||
#include "CommonMetrics.h"
|
#include "CommonMetrics.h"
|
||||||
|
#include "ScreenTextEntry.h"
|
||||||
|
|
||||||
#define PREV_SCREEN THEME->GetMetric(m_sName,"PrevScreen")
|
#define PREV_SCREEN THEME->GetMetric(m_sName,"PrevScreen")
|
||||||
#define EXPLANATION_TEXT( row ) THEME->GetMetric(m_sName,"Explanation"+EditMenuRowToString(row))
|
#define EXPLANATION_TEXT( row ) THEME->GetMetric(m_sName,"Explanation"+EditMenuRowToString(row))
|
||||||
|
|
||||||
const ScreenMessage SM_RefreshSelector = (ScreenMessage)(SM_User+1);
|
const ScreenMessage SM_RefreshSelector = (ScreenMessage)(SM_User+1);
|
||||||
|
const ScreenMessage SM_BackFromEditDescription = (ScreenMessage)(SM_User+2);
|
||||||
|
|
||||||
REGISTER_SCREEN_CLASS( ScreenEditMenu );
|
REGISTER_SCREEN_CLASS( ScreenEditMenu );
|
||||||
ScreenEditMenu::ScreenEditMenu( CString sName ) : ScreenWithMenuElements( sName )
|
ScreenEditMenu::ScreenEditMenu( CString sName ) : ScreenWithMenuElements( sName )
|
||||||
@@ -34,7 +36,6 @@ void ScreenEditMenu::Init()
|
|||||||
ScreenWithMenuElements::Init();
|
ScreenWithMenuElements::Init();
|
||||||
|
|
||||||
m_Selector.SetXY( 0, 0 );
|
m_Selector.SetXY( 0, 0 );
|
||||||
// m_Selector.AllowNewSteps();
|
|
||||||
this->AddChild( &m_Selector );
|
this->AddChild( &m_Selector );
|
||||||
|
|
||||||
|
|
||||||
@@ -92,6 +93,13 @@ void ScreenEditMenu::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
case SM_Failure:
|
case SM_Failure:
|
||||||
LOG->Trace( "Delete failed; not deleting steps" );
|
LOG->Trace( "Delete failed; not deleting steps" );
|
||||||
break;
|
break;
|
||||||
|
case SM_BackFromEditDescription:
|
||||||
|
if( !ScreenTextEntry::s_bCancelledLast )
|
||||||
|
{
|
||||||
|
SOUND->StopMusic();
|
||||||
|
StartTransitioning( SM_GoToNextScreen );
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,6 +147,17 @@ static CString GetCopyDescription( const Steps *pSourceSteps )
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void SetCurrentStepsDescription( CString s )
|
||||||
|
{
|
||||||
|
GAMESTATE->m_pCurSteps[0]->SetDescription( s );
|
||||||
|
}
|
||||||
|
|
||||||
|
static void DeleteCurrentSteps()
|
||||||
|
{
|
||||||
|
GAMESTATE->m_pCurSong->RemoveSteps( GAMESTATE->m_pCurSteps[0] );
|
||||||
|
GAMESTATE->m_pCurSteps[0].Set( NULL );
|
||||||
|
}
|
||||||
|
|
||||||
void ScreenEditMenu::MenuStart( PlayerNumber pn )
|
void ScreenEditMenu::MenuStart( PlayerNumber pn )
|
||||||
{
|
{
|
||||||
if( IsTransitioning() )
|
if( IsTransitioning() )
|
||||||
@@ -247,12 +266,21 @@ void ScreenEditMenu::MenuStart( PlayerNumber pn )
|
|||||||
case EDIT_MENU_ACTION_COPY:
|
case EDIT_MENU_ACTION_COPY:
|
||||||
case EDIT_MENU_ACTION_AUTOGEN:
|
case EDIT_MENU_ACTION_AUTOGEN:
|
||||||
case EDIT_MENU_ACTION_BLANK:
|
case EDIT_MENU_ACTION_BLANK:
|
||||||
// Prepare prepare for ScreenEdit
|
{
|
||||||
ASSERT( pSteps );
|
// Prepare prepare for ScreenEdit
|
||||||
SOUND->StopMusic();
|
ASSERT( pSteps );
|
||||||
SCREENMAN->PlayStartSound();
|
bool bPromptToNameSteps = (action != EDIT_MENU_ACTION_EDIT && dc == DIFFICULTY_EDIT);
|
||||||
//StartTransitioning( SM_GoToNextScreen );
|
if( bPromptToNameSteps )
|
||||||
SCREENMAN->TextEntry( SM_None, "Testing", "");
|
{
|
||||||
|
SCREENMAN->TextEntry( SM_BackFromEditDescription, "Name this new edit.", GAMESTATE->m_pCurSteps[0]->GetDescription(), SetCurrentStepsDescription, DeleteCurrentSteps );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SOUND->StopMusic();
|
||||||
|
SCREENMAN->PlayStartSound();
|
||||||
|
StartTransitioning( SM_GoToNextScreen );
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case EDIT_MENU_ACTION_DELETE:
|
case EDIT_MENU_ACTION_DELETE:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user