Make SM go "BONG" and output an error message rather than crashing
when the user tries to delete autogen steps.
This commit is contained in:
@@ -156,6 +156,7 @@ static void DeleteCurrentSteps()
|
|||||||
|
|
||||||
static LocalizedString MISSING_MUSIC_FILE ( "ScreenEditMenu", "This song is missing a music file and cannot be edited." );
|
static LocalizedString MISSING_MUSIC_FILE ( "ScreenEditMenu", "This song is missing a music file and cannot be edited." );
|
||||||
static LocalizedString SONG_DIR_READ_ONLY ( "ScreenEditMenu", "The song directory is read-only and cannot be edited." );
|
static LocalizedString SONG_DIR_READ_ONLY ( "ScreenEditMenu", "The song directory is read-only and cannot be edited." );
|
||||||
|
static LocalizedString DELETED_AUTOGEN_STEPS ( "ScreenEditMenu", "These steps are produced by autogen. You do not need to delete them." );
|
||||||
static LocalizedString STEPS_WILL_BE_LOST ( "ScreenEditMenu", "These steps will be lost permanently." );
|
static LocalizedString STEPS_WILL_BE_LOST ( "ScreenEditMenu", "These steps will be lost permanently." );
|
||||||
static LocalizedString CONTINUE_WITH_DELETE ( "ScreenEditMenu", "Continue with delete?" );
|
static LocalizedString CONTINUE_WITH_DELETE ( "ScreenEditMenu", "Continue with delete?" );
|
||||||
static LocalizedString BLANK ( "ScreenEditMenu", "Blank" );
|
static LocalizedString BLANK ( "ScreenEditMenu", "Blank" );
|
||||||
@@ -216,6 +217,18 @@ void ScreenEditMenu::MenuStart( const InputEventPlus &input )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch( action )
|
||||||
|
{
|
||||||
|
case EditMenuAction_Delete:
|
||||||
|
ASSERT( pSteps );
|
||||||
|
if( pSteps->IsAutogen() )
|
||||||
|
{
|
||||||
|
SCREENMAN->PlayInvalidSound();
|
||||||
|
SCREENMAN->SystemMessage( DELETED_AUTOGEN_STEPS.GetValue() );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Do work
|
// Do work
|
||||||
//
|
//
|
||||||
@@ -226,7 +239,8 @@ void ScreenEditMenu::MenuStart( const InputEventPlus &input )
|
|||||||
break;
|
break;
|
||||||
case EditMenuAction_Delete:
|
case EditMenuAction_Delete:
|
||||||
ASSERT( pSteps );
|
ASSERT( pSteps );
|
||||||
ScreenPrompt::Prompt( SM_None, STEPS_WILL_BE_LOST.GetValue() + "\n\n" + CONTINUE_WITH_DELETE.GetValue(), PROMPT_YES_NO, ANSWER_NO );
|
ScreenPrompt::Prompt( SM_None, STEPS_WILL_BE_LOST.GetValue() + "\n\n" + CONTINUE_WITH_DELETE.GetValue(),
|
||||||
|
PROMPT_YES_NO, ANSWER_NO );
|
||||||
break;
|
break;
|
||||||
case EditMenuAction_Create:
|
case EditMenuAction_Create:
|
||||||
ASSERT( !pSteps );
|
ASSERT( !pSteps );
|
||||||
|
|||||||
Reference in New Issue
Block a user