add arrow redirection in positioning types
This commit is contained in:
@@ -37,9 +37,13 @@ void GhostArrowRow::Load( PlayerNumber pn )
|
||||
// init arrows
|
||||
for( int c=0; c<m_iNumCols; c++ )
|
||||
{
|
||||
m_GhostArrowRow[c].Load( NOTESKIN->GetPathTo(pn, c, "tap explosion dim") );
|
||||
m_GhostArrowRowBright[c].Load( NOTESKIN->GetPathTo(pn, c, "tap explosion bright") );
|
||||
m_HoldGhostArrowRow[c].Load( NOTESKIN->GetPathTo(pn, c, "hold explosion") );
|
||||
CString Button = g_NoteFieldMode[m_PlayerNumber].GhostButtonNames[c];
|
||||
if(Button == "")
|
||||
Button = NoteSkinManager::ColToButtonName(c);
|
||||
|
||||
m_GhostArrowRow[c].Load( NOTESKIN->GetPathTo(pn, Button, "tap explosion dim") );
|
||||
m_GhostArrowRowBright[c].Load( NOTESKIN->GetPathTo(pn, Button, "tap explosion bright") );
|
||||
m_HoldGhostArrowRow[c].Load( NOTESKIN->GetPathTo(pn, Button, "hold explosion") );
|
||||
|
||||
m_GhostArrowRow[c].SetX( pStyleDef->m_ColumnInfo[pn][c].fXOffset );
|
||||
m_GhostArrowRowBright[c].SetX( pStyleDef->m_ColumnInfo[pn][c].fXOffset );
|
||||
|
||||
@@ -36,7 +36,11 @@ void GrayArrowRow::Load( PlayerNumber pn )
|
||||
|
||||
for( int c=0; c<m_iNumCols; c++ )
|
||||
{
|
||||
CString sPath = NOTESKIN->GetPathTo(pn, c, "receptor");
|
||||
CString Button = g_NoteFieldMode[m_PlayerNumber].GrayButtonNames[c];
|
||||
if(Button == "")
|
||||
Button = NoteSkinManager::ColToButtonName(c);
|
||||
|
||||
CString sPath = NOTESKIN->GetPathTo(pn, Button, "receptor");
|
||||
m_GrayArrow[c].Load( sPath );
|
||||
// XXX
|
||||
if( m_GrayArrow[c].GetNumStates() != 2 &&
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <math.h>
|
||||
#include "RageDisplay.h"
|
||||
#include "NoteTypes.h"
|
||||
#include "NoteFieldPositioning.h"
|
||||
|
||||
|
||||
#define DRAW_HOLD_HEAD_FOR_TAPS_ON_SAME_ROW NOTESKIN->GetMetricB(pn,name,"DrawHoldHeadForTapsOnSameRow")
|
||||
@@ -117,7 +118,11 @@ void NoteDisplay::Load( int iColNum, PlayerNumber pn )
|
||||
{
|
||||
m_PlayerNumber = pn;
|
||||
|
||||
cache->Load( pn, NoteSkinManager::ColToButtonName(iColNum) );
|
||||
CString Button = g_NoteFieldMode[m_PlayerNumber].NoteButtonNames[iColNum];
|
||||
if(Button == "")
|
||||
Button = NoteSkinManager::ColToButtonName(iColNum);
|
||||
|
||||
cache->Load( pn, Button );
|
||||
|
||||
// Look up note names once and store them here.
|
||||
CString sNoteType[ NOTE_COLOR_IMAGES ];
|
||||
@@ -128,81 +133,81 @@ void NoteDisplay::Load( int iColNum, PlayerNumber pn )
|
||||
if( cache->m_bTapNoteAnimationIsNoteColor )
|
||||
{
|
||||
for( int i=0; i<NOTE_COLOR_IMAGES; i++ )
|
||||
m_sprTapNote[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "tap note "+sNoteType[i]) );
|
||||
m_sprTapNote[i].Load( NOTESKIN->GetPathTo(pn, Button, "tap note "+sNoteType[i]) );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sprTapNote[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "tap note") );
|
||||
m_sprTapNote[0].Load( NOTESKIN->GetPathTo(pn, Button, "tap note") );
|
||||
}
|
||||
|
||||
if( cache->m_bHoldHeadAnimationIsNoteColor )
|
||||
{
|
||||
for( int i=0; i<NOTE_COLOR_IMAGES; i++ )
|
||||
{
|
||||
m_sprHoldHeadActive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold head active "+sNoteType[i]) );
|
||||
m_sprHoldHeadInactive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold head inactive "+sNoteType[i]) );
|
||||
m_sprHoldHeadActive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold head active "+sNoteType[i]) );
|
||||
m_sprHoldHeadInactive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold head inactive "+sNoteType[i]) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sprHoldHeadActive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold head active") );
|
||||
m_sprHoldHeadInactive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold head inactive") );
|
||||
m_sprHoldHeadActive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold head active") );
|
||||
m_sprHoldHeadInactive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold head inactive") );
|
||||
}
|
||||
|
||||
if( cache->m_bHoldTopCapAnimationIsNoteColor )
|
||||
{
|
||||
for( int i=0; i<NOTE_COLOR_IMAGES; i++ )
|
||||
{
|
||||
m_sprHoldTopCapActive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold topcap active "+sNoteType[i]) );
|
||||
m_sprHoldTopCapInactive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold topcap inactive "+sNoteType[i]) );
|
||||
m_sprHoldTopCapActive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold topcap active "+sNoteType[i]) );
|
||||
m_sprHoldTopCapInactive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold topcap inactive "+sNoteType[i]) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sprHoldTopCapActive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold topcap active") );
|
||||
m_sprHoldTopCapInactive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold topcap inactive") );
|
||||
m_sprHoldTopCapActive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold topcap active") );
|
||||
m_sprHoldTopCapInactive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold topcap inactive") );
|
||||
}
|
||||
|
||||
if( cache->m_bHoldBodyAnimationIsNoteColor )
|
||||
{
|
||||
for( int i=0; i<NOTE_COLOR_IMAGES; i++ )
|
||||
{
|
||||
m_sprHoldBodyActive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold body active "+sNoteType[i]) );
|
||||
m_sprHoldBodyInactive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold body inactive "+sNoteType[i]) );
|
||||
m_sprHoldBodyActive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold body active "+sNoteType[i]) );
|
||||
m_sprHoldBodyInactive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold body inactive "+sNoteType[i]) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sprHoldBodyActive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold body active") );
|
||||
m_sprHoldBodyInactive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold body inactive") );
|
||||
m_sprHoldBodyActive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold body active") );
|
||||
m_sprHoldBodyInactive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold body inactive") );
|
||||
}
|
||||
|
||||
if( cache->m_bHoldBottomCapAnimationIsNoteColor )
|
||||
{
|
||||
for( int i=0; i<NOTE_COLOR_IMAGES; i++ )
|
||||
{
|
||||
m_sprHoldBottomCapActive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold bottomcap active "+sNoteType[i]) );
|
||||
m_sprHoldBottomCapInactive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold bottomcap inactive "+sNoteType[i]) );
|
||||
m_sprHoldBottomCapActive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold bottomcap active "+sNoteType[i]) );
|
||||
m_sprHoldBottomCapInactive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold bottomcap inactive "+sNoteType[i]) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sprHoldBottomCapActive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold bottomcap active") );
|
||||
m_sprHoldBottomCapInactive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold bottomcap inactive") );
|
||||
m_sprHoldBottomCapActive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold bottomcap active") );
|
||||
m_sprHoldBottomCapInactive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold bottomcap inactive") );
|
||||
}
|
||||
|
||||
if( cache->m_bHoldTailAnimationIsNoteColor )
|
||||
{
|
||||
for( int i=0; i<NOTE_COLOR_IMAGES; i++ )
|
||||
{
|
||||
m_sprHoldTailActive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold tail active "+sNoteType[i]) );
|
||||
m_sprHoldTailInactive[i].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold tail inactive "+sNoteType[i]) );
|
||||
m_sprHoldTailActive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold tail active "+sNoteType[i]) );
|
||||
m_sprHoldTailInactive[i].Load( NOTESKIN->GetPathTo(pn, Button, "hold tail inactive "+sNoteType[i]) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sprHoldTailActive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold tail active") );
|
||||
m_sprHoldTailInactive[0].Load( NOTESKIN->GetPathTo(pn, iColNum, "hold tail inactive") );
|
||||
m_sprHoldTailActive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold tail active") );
|
||||
m_sprHoldTailInactive[0].Load( NOTESKIN->GetPathTo(pn, Button, "hold tail inactive") );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -96,6 +96,15 @@ void NoteFieldMode::Load(IniFile &ini, CString id)
|
||||
{
|
||||
GetValueCmd( ini, id, ssprintf("Center%i", t+1), m_CenterTrack[t] );
|
||||
GetValueCmd( ini, id, ssprintf("Position%i", t+1), m_PositionTrack[t] );
|
||||
|
||||
ini.GetValue( id, ssprintf("GrayButton", t+1), GrayButtonNames[t] );
|
||||
ini.GetValue( id, ssprintf("GrayButton%i", t+1), GrayButtonNames[t] );
|
||||
|
||||
ini.GetValue( id, ssprintf("NoteButton", t+1), NoteButtonNames[t] );
|
||||
ini.GetValue( id, ssprintf("NoteButton%i", t+1), NoteButtonNames[t] );
|
||||
|
||||
ini.GetValue( id, ssprintf("GhostButton", t+1), GhostButtonNames[t] );
|
||||
ini.GetValue( id, ssprintf("GhostButton%i", t+1), GhostButtonNames[t] );
|
||||
}
|
||||
|
||||
CString sGames;
|
||||
|
||||
@@ -32,6 +32,10 @@ struct NoteFieldMode
|
||||
Actor m_Center;
|
||||
Actor m_CenterTrack[MAX_NOTE_TRACKS];
|
||||
|
||||
CString GrayButtonNames[MAX_NOTE_TRACKS];
|
||||
CString NoteButtonNames[MAX_NOTE_TRACKS];
|
||||
CString GhostButtonNames[MAX_NOTE_TRACKS];
|
||||
|
||||
/* 0 = no perspective */
|
||||
float m_fFov, m_fNear, m_fFar;
|
||||
Actor m_Position;
|
||||
|
||||
@@ -161,10 +161,15 @@ CString NoteSkinManager::ColToButtonName(int col)
|
||||
return pGameDef->m_szButtonNames[GI.button];
|
||||
}
|
||||
|
||||
CString NoteSkinManager::GetPathTo( PlayerNumber pn, int col, CString sFileName ) // looks in GAMESTATE for the current Style
|
||||
CString NoteSkinManager::GetPathTo( PlayerNumber pn, int col, CString sFileName )
|
||||
{
|
||||
CString sButtonName = ColToButtonName(col);
|
||||
|
||||
return GetPathTo( pn, sButtonName, sFileName );
|
||||
}
|
||||
|
||||
CString NoteSkinManager::GetPathTo( PlayerNumber pn, CString sButtonName, CString sFileName ) // looks in GAMESTATE for the current Style
|
||||
{
|
||||
CString sCurNoteSkinName = m_sCurNoteSkinName[pn];
|
||||
|
||||
CString ret = GetPathTo( sCurNoteSkinName, sButtonName, sFileName );
|
||||
|
||||
@@ -31,6 +31,7 @@ public:
|
||||
CString GetCurNoteSkinName( PlayerNumber pn ) const { return m_sCurNoteSkinName[pn]; };
|
||||
|
||||
CString GetPathTo( PlayerNumber pn, int col, CString sFileName );
|
||||
CString GetPathTo( PlayerNumber pn, CString sButtonName, CString sFileName );
|
||||
CString GetPathTo( CString sSkinName, CString sButtonName, CString sFileName );
|
||||
|
||||
CString GetMetric( PlayerNumber pn, CString sButtonName, CString sValueName );
|
||||
|
||||
Reference in New Issue
Block a user