From cdcb917e769b38cdff600c6940f923c2c0bdb51d Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 24 Sep 2011 02:01:46 -0400 Subject: [PATCH] Stop some beat 0 crash bugs in the editor. I suspect that the removal of shifting timing changes at beat 0 will stay in regardless. It is the removal of converting measures to stops/delays that may be fought against. That is fine. The bugs attached to these issues, 415 and 525, will only be resolved when enough devs agree this is a fair fix. --- Docs/Changelog_sm5.txt | 7 +++++++ src/ScreenEdit.cpp | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index c2a29d7965..b88da6b204 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,13 @@ ________________________________________________________________________________ StepMania 5.0 $next | 2011???? -------------------------------------------------------------------------------- +2011/09/24 +---------- +* [ScreenEdit] Disable shifting timing changes down one beat if starting on + beat 0. Important information must stay on that beat. [Wolfman2000] +* [ScreenEdit] Disable converting rows to a stop or beat starting on beat 0. + There should be no reason for this at this time. [Wolfman2000] + 2011/09/23 ---------- * [ScreenEvaluation] Added RollingNumbersMaxComboClass metric. [AJ] diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 6fe4859305..5b4b637ff8 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -1739,7 +1739,8 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) break; case EDIT_BUTTON_OPEN_AREA_MENU: { - // update enabled/disabled in g_AreaMenu + // TODO: Improve behavior if timing changes are shifted down on beat 0. + g_AreaMenu.rows[shift_pauses_forward].bEnabled = (GetBeat() != 0); g_AreaMenu.rows[paste_at_current_beat].bEnabled = !m_Clipboard.IsEmpty(); g_AreaMenu.rows[paste_at_begin_marker].bEnabled = !m_Clipboard.IsEmpty() != 0 && m_NoteFieldEdit.m_iBeginMarker!=-1; g_AreaMenu.rows[paste_partial_timing_at_beat].bEnabled = !this->clipboardTiming.empty(); @@ -1757,6 +1758,9 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) } else { + // TODO: Improve interaction when field is 0. + g_AlterMenu.rows[convert_to_delay].bEnabled = (m_NoteFieldEdit.m_iBeginMarker > 0); + g_AlterMenu.rows[convert_to_pause].bEnabled = (m_NoteFieldEdit.m_iBeginMarker > 0); bool isRoutine = (m_InputPlayerNumber != PLAYER_INVALID); g_AlterMenu.rows[routine_invert_notes].bEnabled = isRoutine; g_AlterMenu.rows[routine_mirror_1_to_2].bEnabled = isRoutine;