add arrow redirection in positioning types

This commit is contained in:
Glenn Maynard
2003-04-17 21:45:37 +00:00
parent 7e46786e0d
commit 920f2022c4
7 changed files with 60 additions and 28 deletions
+7 -3
View File
@@ -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 );
+5 -1
View File
@@ -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 &&
+28 -23
View File
@@ -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") );
}
}
+9
View File
@@ -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;
+4
View File
@@ -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;
+6 -1
View File
@@ -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 );
+1
View File
@@ -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 );