From c57d0eeed51160e26f74a10042d56db0a1222416 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 1 Jun 2011 13:41:49 -0400 Subject: [PATCH] Add function to get appropriate SongPosition. This restore highlighting areas in Song Timing. This does NOT readjust the highlighted area when timing modes are switched. --- src/ScreenEdit.cpp | 13 +++++++++++-- src/ScreenEdit.h | 4 ++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 4cecb3424a..15b7f98c27 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -1527,11 +1527,11 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) break; case EDIT_BUTTON_LAY_SELECT: { - const int iCurrentRow = BeatToNoteRow(GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fSongBeat); + const int iCurrentRow = BeatToNoteRow(GetAppropriatePosition().m_fSongBeat); if( m_NoteFieldEdit.m_iBeginMarker==-1 && m_NoteFieldEdit.m_iEndMarker==-1 ) { // lay begin marker - m_NoteFieldEdit.m_iBeginMarker = BeatToNoteRow(GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fSongBeat); + m_NoteFieldEdit.m_iBeginMarker = BeatToNoteRow(GetAppropriatePosition().m_fSongBeat); } else if( m_NoteFieldEdit.m_iEndMarker==-1 ) // only begin marker is laid { @@ -3146,6 +3146,15 @@ TimingData & ScreenEdit::GetAppropriateTiming() const return m_pSong->m_SongTiming; } +SongPosition & ScreenEdit::GetAppropriatePosition() const +{ + if (GAMESTATE->m_bIsUsingStepTiming) + { + return GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position; + } + return GAMESTATE->m_Position; +} + inline void ScreenEdit::SetBeat(float fBeat) { if( !GAMESTATE->m_bIsUsingStepTiming ) diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index c1334afbd8..2fd6d9435d 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -580,6 +580,10 @@ private: * @brief Retrieve the appropriate TimingData based on GAMESTATE. * @return the proper TimingData. */ TimingData & GetAppropriateTiming() const; + /** + * @brief Retrieve the appropriate SongPosition data based on GAMESTATE. + * @return the proper SongPosition. */ + SongPosition & GetAppropriatePosition() const; void SetBeat(float fBeat); float GetBeat(); int GetRow();