diff --git a/stepmania/src/Banner.cpp b/stepmania/src/Banner.cpp index b6bef44f7e..376616d740 100644 --- a/stepmania/src/Banner.cpp +++ b/stepmania/src/Banner.cpp @@ -52,7 +52,7 @@ void Banner::Update( float fDeltaTime ) m_fPercentScrolling += fDeltaTime/2; m_fPercentScrolling -= (int)m_fPercentScrolling; - const RectF *pTextureRect = GetTexture()->GetTextureCoordRect(0); + const RectF *pTextureRect = GetCurrentTextureCoordRect(); float fTexCoords[8] = { diff --git a/stepmania/src/CourseEntryDisplay.cpp b/stepmania/src/CourseEntryDisplay.cpp index db1718462c..aeef633c7b 100644 --- a/stepmania/src/CourseEntryDisplay.cpp +++ b/stepmania/src/CourseEntryDisplay.cpp @@ -29,8 +29,8 @@ void CourseEntryDisplay::Load() SET_XY_AND_ON_COMMAND( &m_sprFrame ); this->AddChild( &m_sprFrame ); - this->m_size.x = (float) m_sprFrame.GetTexture()->GetSourceFrameWidth(); - this->m_size.y = (float) m_sprFrame.GetTexture()->GetSourceFrameHeight(); + this->m_size.x = m_sprFrame.GetUnzoomedWidth(); + this->m_size.y = m_sprFrame.GetUnzoomedHeight(); m_textNumber.SetName( "Number" ); m_textNumber.LoadFromFont( THEME->GetPathF("CourseEntryDisplay","number") ); diff --git a/stepmania/src/GradeDisplay.cpp b/stepmania/src/GradeDisplay.cpp index c03a99d29d..b8f6842738 100644 --- a/stepmania/src/GradeDisplay.cpp +++ b/stepmania/src/GradeDisplay.cpp @@ -133,7 +133,7 @@ void GradeDisplay::Scroll() int iFrameNo = GetFrameIndex( m_PlayerNumber, m_Grade ); - m_frectDestTexCoords = *GetTexture()->GetTextureCoordRect( iFrameNo ); + m_frectDestTexCoords = *GetTextureCoordRectForState( iFrameNo ); m_frectStartTexCoords = m_frectDestTexCoords; m_frectStartTexCoords.top += GRADES_TO_SCROLL * GRADE_FRAME_HEIGHT; m_frectStartTexCoords.bottom += GRADES_TO_SCROLL * GRADE_FRAME_HEIGHT; diff --git a/stepmania/src/Sprite.cpp b/stepmania/src/Sprite.cpp index 1ec769aef6..3dccaf9cdf 100644 --- a/stepmania/src/Sprite.cpp +++ b/stepmania/src/Sprite.cpp @@ -787,11 +787,15 @@ void Sprite::SetCustomImageCoords( float fImageCoords[8] ) // order: top left, b const RectF *Sprite::GetCurrentTextureCoordRect() const { - ASSERT_M( m_iCurState < (int) m_States.size(), ssprintf("%d, %d", int(m_iCurState), int(m_States.size())) ); - - return &m_States[m_iCurState].rect; + return GetTextureCoordRectForState( m_iCurState ); } +const RectF *Sprite::GetTextureCoordRectForState( int iState ) const +{ + ASSERT_M( iState < (int) m_States.size(), ssprintf("%d, %d", int(iState), int(m_States.size())) ); + + return &m_States[iState].rect; +} /* If we're using custom coordinates, return them; otherwise return the coordinates * for the current state. */ diff --git a/stepmania/src/Sprite.h b/stepmania/src/Sprite.h index c9e6137216..c7344da634 100644 --- a/stepmania/src/Sprite.h +++ b/stepmania/src/Sprite.h @@ -49,6 +49,7 @@ public: void SetCustomImageRect( RectF rectImageCoords ); // in image pixel space void SetCustomImageCoords( float fImageCoords[8] ); const RectF *GetCurrentTextureCoordRect() const; + const RectF *GetTextureCoordRectForState( int iState ) const; void StopUsingCustomCoords(); void GetActiveTextureCoords(float fTexCoordsOut[8]) const; void StretchTexCoords( float fX, float fY );