From ed01c6b9b37036354653c3dec5b06f3210afb339 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Mon, 30 Jan 2006 08:12:24 +0000 Subject: [PATCH] Add UseIconMetrics, for ignoring X, Y, OnCommand, and OffCommand in metrics.ini and using whateve is in xml --- stepmania/src/ScreenSelectMaster.cpp | 34 ++++++++++++++++++---------- stepmania/src/ScreenSelectMaster.h | 1 + 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/stepmania/src/ScreenSelectMaster.cpp b/stepmania/src/ScreenSelectMaster.cpp index d3e9954d63..140f5af406 100644 --- a/stepmania/src/ScreenSelectMaster.cpp +++ b/stepmania/src/ScreenSelectMaster.cpp @@ -29,6 +29,7 @@ void ScreenSelectMaster::Init() SHOW_SCROLLER.Load( m_sName, "ShowScroller" ); SHOW_CURSOR.Load( m_sName, "ShowCursor" ); SHARED_SELECTION.Load( m_sName, "SharedSelection" ); + USE_ICON_METRICS.Load( m_sName, "UseIconMetrics" ); NUM_CHOICES_ON_PAGE_1.Load( m_sName, "NumChoicesOnPage1" ); CURSOR_OFFSET_X_FROM_ICON.Load( m_sName, CURSOR_OFFSET_X_FROM_ICON_NAME, NUM_PLAYERS ); CURSOR_OFFSET_Y_FROM_ICON.Load( m_sName, CURSOR_OFFSET_Y_FROM_ICON_NAME, NUM_PLAYERS ); @@ -103,8 +104,8 @@ void ScreenSelectMaster::Init() vs.push_back( "Choice" + mc.m_sName ); RString sElement = join( " ", vs ); m_vsprIcon[c].Load( THEME->GetPathG(m_sName,sElement) ); - sElement.Replace( " ", "" ); - m_vsprIcon[c]->SetName( sElement ); + RString sName = "Icon" "Choice" + mc.m_sName; + m_vsprIcon[c]->SetName( sName ); this->AddChild( m_vsprIcon[c] ); } @@ -114,15 +115,17 @@ void ScreenSelectMaster::Init() FOREACH( PlayerNumber, vpns, p ) { vector vs; - vs.push_back( "scroll" ); + vs.push_back( "Scroll" ); if( PER_CHOICE_SCROLL_ELEMENT ) - vs.push_back( "choice" + mc.m_sName ); + vs.push_back( "Choice" + mc.m_sName ); if( !SHARED_SELECTION ) vs.push_back( PLAYER_APPEND_NO_SPACE(*p) ); RString sElement = join( " ", vs ); m_vsprScroll[*p][c].Load( THEME->GetPathG(m_sName,sElement) ); - sElement.Replace( " ", "" ); - m_vsprScroll[*p][c]->SetName( sElement ); + RString sName = "Scroll" "Choice" + mc.m_sName; + if( !SHARED_SELECTION ) + sName += PLAYER_APPEND_NO_SPACE(*p); + m_vsprScroll[*p][c]->SetName( sName ); m_Scroller[*p].AddChild( m_vsprScroll[*p][c] ); } @@ -776,7 +779,10 @@ void ScreenSelectMaster::TweenOnScreen() { m_vsprIcon[c]->PlayCommand( (int(c) == m_iChoice[0])? "GainFocus":"LoseFocus" ); m_vsprIcon[c]->FinishTweening(); - SET_XY_AND_ON_COMMAND( m_vsprIcon[c] ); + if( USE_ICON_METRICS ) + SET_XY_AND_ON_COMMAND( m_vsprIcon[c] ); + else + m_vsprIcon[c]->PlayCommand( "On" ); } } @@ -849,23 +855,27 @@ void ScreenSelectMaster::TweenOffScreen() if( GetPage(c) != GetCurrentPage() ) continue; // skip - bool SelectedByEitherPlayer = false; + bool bSelectedByEitherPlayer = false; FOREACH( PlayerNumber, vpns, p ) { if( m_iChoice[*p] == (int)c ) - SelectedByEitherPlayer = true; + bSelectedByEitherPlayer = true; } if( SHOW_ICON ) { - OFF_COMMAND( m_vsprIcon[c] ); - m_vsprIcon[c]->PlayCommand( SelectedByEitherPlayer? "OffFocused":"OffUnfocused" ); + if( USE_ICON_METRICS ) + OFF_COMMAND( m_vsprIcon[c] ); + else + m_vsprIcon[c]->PlayCommand( "Off" ); + + m_vsprIcon[c]->PlayCommand( bSelectedByEitherPlayer? "OffFocused":"OffUnfocused" ); } if( SHOW_SCROLLER ) { FOREACH( PlayerNumber, vpns, p ) - COMMAND( m_vsprScroll[*p][c], SelectedByEitherPlayer? "OffFocused":"OffUnfocused" ); + m_vsprScroll[*p][c]->PlayCommand( bSelectedByEitherPlayer? "OffFocused":"OffUnfocused" ); } } diff --git a/stepmania/src/ScreenSelectMaster.h b/stepmania/src/ScreenSelectMaster.h index c309ff629b..fb3437f566 100644 --- a/stepmania/src/ScreenSelectMaster.h +++ b/stepmania/src/ScreenSelectMaster.h @@ -36,6 +36,7 @@ protected: ThemeMetric SHOW_SCROLLER; ThemeMetric SHOW_CURSOR; ThemeMetric SHARED_SELECTION; + ThemeMetric USE_ICON_METRICS; ThemeMetric NUM_CHOICES_ON_PAGE_1; ThemeMetric1D CURSOR_OFFSET_X_FROM_ICON; ThemeMetric1D CURSOR_OFFSET_Y_FROM_ICON;