#include "global.h" /* ----------------------------------------------------------------------------- Class: GhostArrowRow Desc: A graphic displayed in the GhostArrowRow during Dancing. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ #include "GhostArrowRow.h" #include "RageUtil.h" #include "GameConstantsAndTypes.h" #include "PrefsManager.h" #include "ArrowEffects.h" #include "NoteSkinManager.h" #include "GameState.h" #include "PrefsManager.h" #include "NoteFieldPositioning.h" GhostArrowRow::GhostArrowRow() { m_iNumCols = 0; } void GhostArrowRow::Load( PlayerNumber pn ) { m_PlayerNumber = pn; const StyleDef* pStyleDef = GAMESTATE->GetCurrentStyleDef(); m_iNumCols = pStyleDef->m_iColsPerPlayer; // init arrows for( int c=0; cGetPathTo(pn, Button, "tap explosion dim") ); m_GhostBright[c].Load( NOTESKIN->GetPathTo(pn, Button, "tap explosion bright") ); m_GhostMine[c].Load( NOTESKIN->GetPathTo(pn, Button, "tap explosion mine") ); m_HoldGhost[c].Load( NOTESKIN->GetPathTo(pn, Button, "hold explosion") ); m_GhostDim[c].SetX( pStyleDef->m_ColumnInfo[pn][c].fXOffset ); m_GhostBright[c].SetX( pStyleDef->m_ColumnInfo[pn][c].fXOffset ); m_GhostMine[c].SetX( pStyleDef->m_ColumnInfo[pn][c].fXOffset ); m_HoldGhost[c].SetX( pStyleDef->m_ColumnInfo[pn][c].fXOffset ); } } void GhostArrowRow::Update( float fDeltaTime ) { for( int c=0; c= 0 && iCol < m_iNumCols ); if( bBright ) m_GhostBright[iCol].Step( score ); else m_GhostDim[iCol].Step( score ); } void GhostArrowRow::HoldNote( int iCol ) { ASSERT( iCol >= 0 && iCol < m_iNumCols ); m_HoldGhost[iCol].Step(); } void GhostArrowRow::TapMine( int iCol, TapNoteScore score ) { m_GhostMine[iCol].Step( score ); }