#include "global.h" #include "ReceptorArrowRow.h" #include "RageUtil.h" #include "GameConstantsAndTypes.h" #include "PrefsManager.h" #include "ArrowEffects.h" #include "GameState.h" #include "PrefsManager.h" #include "NoteFieldPositioning.h" #include "PlayerState.h" #include "Style.h" ReceptorArrowRow::ReceptorArrowRow() { m_iNumCols = 0; } void ReceptorArrowRow::Load( const PlayerState* pPlayerState, CString NoteSkin, float fYReverseOffset ) { m_pPlayerState = pPlayerState; m_fYReverseOffsetPixels = fYReverseOffset; const Style* pStyle = GAMESTATE->GetCurrentStyle(); m_iNumCols = pStyle->m_iColsPerPlayer; for( int c=0; cm_CurrentPlayerOptions.m_fDark) ); // set arrow XYZ const float fX = ArrowEffects::GetXPos( m_pPlayerState, c, 0 ); const float fY = ArrowEffects::GetYPos( m_pPlayerState, c, 0, m_fYReverseOffsetPixels ); const float fZ = ArrowEffects::GetZPos( m_pPlayerState, c, 0 ); m_ReceptorArrow[c].SetX( fX ); m_ReceptorArrow[c].SetY( fY ); m_ReceptorArrow[c].SetZ( fZ ); const float fZoom = ArrowEffects::GetZoom( m_pPlayerState ); m_ReceptorArrow[c].SetZoom( fZoom ); } } void ReceptorArrowRow::DrawPrimitives() { // TODO: Remove use of PlayerNumber. PlayerNumber pn = m_pPlayerState->m_PlayerNumber; for( int c=0; c= 0 && iCol < m_iNumCols ); m_ReceptorArrow[iCol].Step( score ); } void ReceptorArrowRow::SetPressed( int iCol ) { ASSERT( iCol >= 0 && iCol < m_iNumCols ); m_ReceptorArrow[iCol].SetPressed(); } void ReceptorArrowRow::CopyTweening( const ReceptorArrowRow &from ) { for( int c=0; c