Integrate C++11 branch into 5_1-new

This commit is contained in:
teejusb
2019-06-22 12:35:38 -07:00
444 changed files with 19503 additions and 21007 deletions
+64 -68
View File
@@ -10,7 +10,6 @@
#include "ActorUtil.h"
#include "RageLog.h"
#include <set>
#include "Foreach.h"
#include "InputEventPlus.h"
static const char *MenuDirNames[] = {
@@ -88,21 +87,21 @@ void ScreenSelectMaster::Init()
// init cursor
if( SHOW_CURSOR )
{
FOREACH( PlayerNumber, vpns, p )
for (PlayerNumber const &p : vpns)
{
RString sElement = "Cursor" + PLAYER_APPEND_NO_SPACE(*p);
m_sprCursor[*p].Load( THEME->GetPathG(m_sName,sElement) );
RString sElement = "Cursor" + PLAYER_APPEND_NO_SPACE(p);
m_sprCursor[p].Load( THEME->GetPathG(m_sName,sElement) );
sElement.Replace( " ", "" );
m_sprCursor[*p]->SetName( sElement );
this->AddChild( m_sprCursor[*p] );
LOAD_ALL_COMMANDS( m_sprCursor[*p] );
m_sprCursor[p]->SetName( sElement );
this->AddChild( m_sprCursor[p] );
LOAD_ALL_COMMANDS( m_sprCursor[p] );
}
}
// Resize vectors depending on how many choices there are
m_vsprIcon.resize( m_aGameCommands.size() );
FOREACH( PlayerNumber, vpns, p )
m_vsprScroll[*p].resize( m_aGameCommands.size() );
for (PlayerNumber const &p : vpns)
m_vsprScroll[p].resize( m_aGameCommands.size() );
vector<RageVector3> positions;
bool positions_set_by_lua= false;
@@ -210,21 +209,21 @@ void ScreenSelectMaster::Init()
// init scroll
if( SHOW_SCROLLER )
{
FOREACH( PlayerNumber, vpns, p )
for (PlayerNumber const &p : vpns)
{
vector<RString> vs;
vs.push_back( "Scroll" );
if( PER_CHOICE_SCROLL_ELEMENT )
vs.push_back( "Choice" + mc.m_sName );
if( !SHARED_SELECTION )
vs.push_back( PLAYER_APPEND_NO_SPACE(*p) );
vs.push_back( PLAYER_APPEND_NO_SPACE(p) );
RString sElement = join( " ", vs );
m_vsprScroll[*p][c].Load( THEME->GetPathG(m_sName,sElement) );
m_vsprScroll[p][c].Load( THEME->GetPathG(m_sName,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] );
sName += PLAYER_APPEND_NO_SPACE(p);
m_vsprScroll[p][c]->SetName( sName );
m_Scroller[p].AddChild( m_vsprScroll[p][c] );
}
}
@@ -233,17 +232,17 @@ void ScreenSelectMaster::Init()
// init scroll
if( SHOW_SCROLLER )
{
FOREACH( PlayerNumber, vpns, p )
for (PlayerNumber const &p : vpns)
{
m_Scroller[*p].SetLoop( LOOP_SCROLLER );
m_Scroller[*p].SetNumItemsToDraw( SCROLLER_NUM_ITEMS_TO_DRAW );
m_Scroller[*p].Load2();
m_Scroller[*p].SetTransformFromReference( SCROLLER_TRANSFORM );
m_Scroller[*p].SetSecondsPerItem( SCROLLER_SECONDS_PER_ITEM );
m_Scroller[*p].SetNumSubdivisions( SCROLLER_SUBDIVISIONS );
m_Scroller[*p].SetName( "Scroller"+PLAYER_APPEND_NO_SPACE(*p) );
LOAD_ALL_COMMANDS_AND_SET_XY( m_Scroller[*p] );
this->AddChild( &m_Scroller[*p] );
m_Scroller[p].SetLoop( LOOP_SCROLLER );
m_Scroller[p].SetNumItemsToDraw( SCROLLER_NUM_ITEMS_TO_DRAW );
m_Scroller[p].Load2();
m_Scroller[p].SetTransformFromReference( SCROLLER_TRANSFORM );
m_Scroller[p].SetSecondsPerItem( SCROLLER_SECONDS_PER_ITEM );
m_Scroller[p].SetNumSubdivisions( SCROLLER_SUBDIVISIONS );
m_Scroller[p].SetName( "Scroller"+PLAYER_APPEND_NO_SPACE(p) );
LOAD_ALL_COMMANDS_AND_SET_XY( m_Scroller[p] );
this->AddChild( &m_Scroller[p] );
}
}
@@ -383,16 +382,16 @@ void ScreenSelectMaster::HandleScreenMessage( const ScreenMessage SM )
if( SHOW_CURSOR )
{
FOREACH( PlayerNumber, vpns, p )
m_sprCursor[*p]->HandleMessage( msg );
for (PlayerNumber const &p : vpns)
m_sprCursor[p]->HandleMessage( msg );
}
if( SHOW_SCROLLER )
{
FOREACH( PlayerNumber, vpns, p )
for (PlayerNumber const &p : vpns)
{
int iChoice = m_iChoice[*p];
m_vsprScroll[*p][iChoice]->HandleMessage( msg );
int iChoice = m_iChoice[p];
m_vsprScroll[p][iChoice]->HandleMessage( msg );
}
}
MESSAGEMAN->Broadcast(msg);
@@ -459,23 +458,23 @@ void ScreenSelectMaster::UpdateSelectableChoices()
m_vsprIcon[c]->PlayCommand(command);
}
FOREACH( PlayerNumber, vpns, p )
for ( PlayerNumber &p : vpns)
{
if(disabled && m_iChoice[*p] == c)
if(disabled && m_iChoice[p] == c)
{
on_unplayable[*p]= true;
on_unplayable[p]= true;
}
if( m_vsprScroll[*p][c].IsLoaded() )
if( m_vsprScroll[p][c].IsLoaded() )
{
m_vsprScroll[*p][c]->PlayCommand(command);
m_vsprScroll[p][c]->PlayCommand(command);
}
}
}
FOREACH(PlayerNumber, vpns, pn)
for (PlayerNumber &pn : vpns)
{
if(on_unplayable[*pn] && first_playable != -1)
if(on_unplayable[pn] && first_playable != -1)
{
ChangeSelection(*pn, first_playable < m_iChoice[*pn] ? MenuDir_Left :
ChangeSelection(pn, first_playable < m_iChoice[pn] ? MenuDir_Left :
MenuDir_Right, first_playable);
}
}
@@ -682,18 +681,18 @@ bool ScreenSelectMaster::ChangePage( int iNewChoice )
msg.SetParam( "NewPageIndex", (int)newPage );
MESSAGEMAN->Broadcast( msg );
FOREACH( PlayerNumber, vpns, p )
for (PlayerNumber const &p : vpns)
{
if( GAMESTATE->IsHumanPlayer(*p) || SHARED_SELECTION )
if( GAMESTATE->IsHumanPlayer(p) || SHARED_SELECTION )
{
if( SHOW_CURSOR )
{
m_sprCursor[*p]->HandleMessage( msg );
m_sprCursor[*p]->SetXY( GetCursorX(*p), GetCursorY(*p) );
m_sprCursor[p]->HandleMessage( msg );
m_sprCursor[p]->SetXY( GetCursorX(p), GetCursorY(p) );
}
if( SHOW_SCROLLER )
m_vsprScroll[*p][m_iChoice[*p]]->HandleMessage( msg );
m_vsprScroll[p][m_iChoice[p]]->HandleMessage( msg );
}
}
@@ -736,10 +735,10 @@ bool ScreenSelectMaster::ChangeSelection( PlayerNumber pn, MenuDir dir, int iNew
vpns.push_back( pn );
}
FOREACH( PlayerNumber, vpns, p )
for (PlayerNumber const &p : vpns)
{
const int iOldChoice = m_iChoice[*p];
m_iChoice[*p] = iNewChoice;
const int iOldChoice = m_iChoice[p];
m_iChoice[p] = iNewChoice;
if( SHOW_ICON )
{
@@ -750,7 +749,7 @@ bool ScreenSelectMaster::ChangeSelection( PlayerNumber pn, MenuDir dir, int iNew
bool bNewAlreadyHadFocus = false;
FOREACH_HumanPlayer( p2 )
{
if( p2 == *p )
if( p2 == p )
continue;
bOldStillHasFocus |= m_iChoice[p2] == iOldChoice;
bNewAlreadyHadFocus |= m_iChoice[p2] == iNewChoice;
@@ -785,20 +784,20 @@ bool ScreenSelectMaster::ChangeSelection( PlayerNumber pn, MenuDir dir, int iNew
if( SHOW_CURSOR )
{
if( GAMESTATE->IsHumanPlayer(*p) )
if( GAMESTATE->IsHumanPlayer(p) )
{
PlayerNumber ep = *p;
PlayerNumber ep = p;
if( SHARED_SELECTION )
ep = PLAYER_1;
m_sprCursor[ep]->PlayCommand( "Change" );
m_sprCursor[ep]->SetXY( GetCursorX(*p), GetCursorY(*p) );
m_sprCursor[ep]->SetXY( GetCursorX(p), GetCursorY(p) );
}
}
if( SHOW_SCROLLER )
{
ActorScroller &scroller = (SHARED_SELECTION || page != PAGE_1 ? m_Scroller[0] : m_Scroller[*p]);
vector<AutoActor> &vScroll = (SHARED_SELECTION || page != PAGE_1 ? m_vsprScroll[0] : m_vsprScroll[*p]);
ActorScroller &scroller = (SHARED_SELECTION || page != PAGE_1 ? m_Scroller[0] : m_Scroller[p]);
vector<AutoActor> &vScroll = (SHARED_SELECTION || page != PAGE_1 ? m_vsprScroll[0] : m_vsprScroll[p]);
if( WRAP_SCROLLER )
{
@@ -891,7 +890,7 @@ float ScreenSelectMaster::DoMenuStart( PlayerNumber pn )
}
if( SHOW_CURSOR )
{
if(m_sprCursor[pn] != NULL)
if(m_sprCursor[pn] != nullptr)
{
m_sprCursor[pn]->PlayCommand( "Choose" );
fSecs = max( fSecs, m_sprCursor[pn]->GetTweenTimeLeft() );
@@ -1023,27 +1022,27 @@ void ScreenSelectMaster::TweenOnScreen()
if( SHOW_SCROLLER )
{
FOREACH( PlayerNumber, vpns, p )
for (PlayerNumber const &p : vpns)
{
// Play Gain/LoseFocus before playing the on command.
// Gain/Lose will often stop tweening, which ruins the OnCommand.
for( unsigned c=0; c<m_aGameCommands.size(); c++ )
{
m_vsprScroll[*p][c]->PlayCommand( int(c) == m_iChoice[*p]? "GainFocus":"LoseFocus" );
m_vsprScroll[*p][c]->FinishTweening();
m_vsprScroll[p][c]->PlayCommand( int(c) == m_iChoice[p]? "GainFocus":"LoseFocus" );
m_vsprScroll[p][c]->FinishTweening();
}
m_Scroller[*p].SetCurrentAndDestinationItem( (float)m_iChoice[*p] );
m_Scroller[p].SetCurrentAndDestinationItem( (float)m_iChoice[p] );
}
}
// Need to SetXY of Cursor after Icons since it depends on the Icons' positions.
if( SHOW_CURSOR )
{
FOREACH( PlayerNumber, vpns, p )
for (PlayerNumber const &p : vpns)
{
if( GAMESTATE->IsHumanPlayer(*p) || SHARED_SELECTION )
m_sprCursor[*p]->SetXY( GetCursorX(*p), GetCursorY(*p) );
if( GAMESTATE->IsHumanPlayer(p) || SHARED_SELECTION )
m_sprCursor[p]->SetXY( GetCursorX(p), GetCursorY(p) );
}
}
@@ -1062,20 +1061,17 @@ void ScreenSelectMaster::TweenOffScreen()
if( GetPage(c) != GetCurrentPage() )
continue; // skip
bool bSelectedByEitherPlayer = false;
FOREACH( PlayerNumber, vpns, p )
{
if( m_iChoice[*p] == (int)c )
bSelectedByEitherPlayer = true;
}
bool bSelectedByEitherPlayer = std::any_of(vpns.begin(), vpns.end(), [&](PlayerNumber const &p) {
return m_iChoice[p] == static_cast<int>(c);
});
if( SHOW_ICON )
m_vsprIcon[c]->PlayCommand( bSelectedByEitherPlayer? "OffFocused":"OffUnfocused" );
if( SHOW_SCROLLER )
{
FOREACH( PlayerNumber, vpns, p )
m_vsprScroll[*p][c]->PlayCommand( bSelectedByEitherPlayer? "OffFocused":"OffUnfocused" );
for (PlayerNumber const &p : vpns)
m_vsprScroll[p][c]->PlayCommand( bSelectedByEitherPlayer? "OffFocused":"OffUnfocused" );
}
}
}