Restore mods after setting #ATTACKS.
This commit is contained in:
+14
-4
@@ -884,6 +884,8 @@ void ScreenEdit::Init()
|
||||
PO_GROUP_ASSIGN( m_PlayerStateEdit.m_PlayerOptions, ModsLevel_Stage, m_sNoteSkin, GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetStage().m_sNoteSkin );
|
||||
}
|
||||
m_PlayerStateEdit.m_PlayerOptions.FromString( ModsLevel_Stage, EDIT_MODIFIERS );
|
||||
|
||||
this->originalPlayerOptions.FromString(ModsLevel_Stage, EDIT_MODIFIERS);
|
||||
|
||||
m_pSteps->GetNoteData( m_NoteDataEdit );
|
||||
m_NoteFieldEdit.SetXY( EDIT_X, EDIT_Y );
|
||||
@@ -2253,9 +2255,11 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB )
|
||||
}
|
||||
|
||||
}
|
||||
ModsGroup<PlayerOptions> &toEdit = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions;
|
||||
this->originalPlayerOptions.Assign(ModsLevel_Preferred, toEdit.GetPreferred());
|
||||
g_fLastInsertAttackPositionSeconds = start;
|
||||
g_fLastInsertAttackDurationSeconds = end - start;
|
||||
GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.Assign( ModsLevel_Stage, po );
|
||||
toEdit.Assign( ModsLevel_Stage, po );
|
||||
SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromInsertStepAttackPlayerOptions );
|
||||
break;
|
||||
}
|
||||
@@ -3172,11 +3176,13 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
else
|
||||
{
|
||||
ModsGroup<PlayerOptions> &toEdit = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions;
|
||||
this->originalPlayerOptions.Assign(ModsLevel_Preferred, toEdit.GetPreferred());
|
||||
PlayerOptions po;
|
||||
if (iAttack >= 0)
|
||||
po.FromString(attacks[iAttack].sModifiers);
|
||||
|
||||
GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.Assign( ModsLevel_Preferred, po );
|
||||
toEdit.Assign( ModsLevel_Preferred, po );
|
||||
SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromInsertStepAttackPlayerOptions );
|
||||
}
|
||||
}
|
||||
@@ -3211,7 +3217,8 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
else if (SM == SM_BackFromInsertStepAttackPlayerOptions)
|
||||
{
|
||||
PlayerOptions poChosen = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetPreferred();
|
||||
ModsGroup<PlayerOptions> &toRestore = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions;
|
||||
PlayerOptions poChosen = toRestore.GetPreferred();
|
||||
RString mods = poChosen.GetString();
|
||||
|
||||
if (g_fLastInsertAttackPositionSeconds >= 0)
|
||||
@@ -3229,6 +3236,7 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
|
||||
else
|
||||
attacks.push_back(a);
|
||||
}
|
||||
toRestore.Assign(ModsLevel_Preferred, this->originalPlayerOptions.GetPreferred());
|
||||
}
|
||||
else if( SM == SM_BackFromInsertCourseAttackPlayerOptions )
|
||||
{
|
||||
@@ -4139,11 +4147,13 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector<int> &iAn
|
||||
m_pSteps->m_Attacks : m_pSong->m_Attacks;
|
||||
int iAttack = FindAttackAtTime(attacks, start);
|
||||
|
||||
ModsGroup<PlayerOptions> &toEdit = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions;
|
||||
this->originalPlayerOptions.Assign(ModsLevel_Preferred, toEdit.GetPreferred());
|
||||
PlayerOptions po;
|
||||
if (iAttack >= 0)
|
||||
po.FromString(attacks[iAttack].sModifiers);
|
||||
|
||||
GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.Assign( ModsLevel_Preferred, po );
|
||||
toEdit.Assign( ModsLevel_Preferred, po );
|
||||
SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromInsertStepAttackPlayerOptions );
|
||||
SetDirty(true);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user