HG: changed src/ScreenSelectMusic.h
This commit is contained in:
@@ -1751,6 +1751,10 @@ ScreenModsCommand=setupmusicstagemods
|
|||||||
PreviousSongButton="MenuLeft"
|
PreviousSongButton="MenuLeft"
|
||||||
NextSongButton="MenuRight"
|
NextSongButton="MenuRight"
|
||||||
#
|
#
|
||||||
|
ChangeStepsWithGameButtons=false
|
||||||
|
;PreviousDifficultyButton="MenuUp"
|
||||||
|
;NextDifficultyButton="MenuDown"
|
||||||
|
#
|
||||||
TwoPartSelection=false
|
TwoPartSelection=false
|
||||||
TwoPartConfirmsOnly=false
|
TwoPartConfirmsOnly=false
|
||||||
TwoPartTimerSeconds=15
|
TwoPartTimerSeconds=15
|
||||||
|
|||||||
@@ -75,7 +75,6 @@ function OptionRowProTiming()
|
|||||||
return t;
|
return t;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
function UserPrefGameplayShowScore()
|
function UserPrefGameplayShowScore()
|
||||||
local t = {
|
local t = {
|
||||||
Name = "UserPrefGameplayShowScore";
|
Name = "UserPrefGameplayShowScore";
|
||||||
|
|||||||
+2
-2
@@ -653,7 +653,7 @@ static const Style g_Style_Pump_HalfDouble =
|
|||||||
{ TRACK_4, +PUMP_COL_SPACING*0.5f+4, NULL },
|
{ TRACK_4, +PUMP_COL_SPACING*0.5f+4, NULL },
|
||||||
{ TRACK_5, +PUMP_COL_SPACING*1.5f+4, NULL },
|
{ TRACK_5, +PUMP_COL_SPACING*1.5f+4, NULL },
|
||||||
{ TRACK_6, +PUMP_COL_SPACING*2.5f+4, NULL },
|
{ TRACK_6, +PUMP_COL_SPACING*2.5f+4, NULL },
|
||||||
}
|
},
|
||||||
{ // PLAYER_2
|
{ // PLAYER_2
|
||||||
{ TRACK_1, -PUMP_COL_SPACING*2.5f-4, NULL },
|
{ TRACK_1, -PUMP_COL_SPACING*2.5f-4, NULL },
|
||||||
{ TRACK_2, -PUMP_COL_SPACING*1.5f-4, NULL },
|
{ TRACK_2, -PUMP_COL_SPACING*1.5f-4, NULL },
|
||||||
@@ -783,7 +783,7 @@ static const Style g_Style_Pump_Couple_Edit =
|
|||||||
{ TRACK_8, +PUMP_COL_SPACING*3.0f+4, NULL },
|
{ TRACK_8, +PUMP_COL_SPACING*3.0f+4, NULL },
|
||||||
{ TRACK_9, +PUMP_COL_SPACING*4.0f+4, NULL },
|
{ TRACK_9, +PUMP_COL_SPACING*4.0f+4, NULL },
|
||||||
{ TRACK_10, +PUMP_COL_SPACING*5.0f+4, NULL },
|
{ TRACK_10, +PUMP_COL_SPACING*5.0f+4, NULL },
|
||||||
}
|
},
|
||||||
{ // PLAYER_2
|
{ // PLAYER_2
|
||||||
{ TRACK_1, -PUMP_COL_SPACING*2.0f, NULL },
|
{ TRACK_1, -PUMP_COL_SPACING*2.0f, NULL },
|
||||||
{ TRACK_2, -PUMP_COL_SPACING*1.0f, NULL },
|
{ TRACK_2, -PUMP_COL_SPACING*1.0f, NULL },
|
||||||
|
|||||||
@@ -508,22 +508,23 @@ static bool LoadGlobalData( const RString &sPath, Song &out, bool &bKIUCompliant
|
|||||||
tickToChange = (int)numTemp;
|
tickToChange = (int)numTemp;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if (BeginsWith(NoteRowString, "|B"))
|
if (BeginsWith(NoteRowString, "|B"))
|
||||||
{
|
{
|
||||||
bBPMChangeNeeded = true;
|
bBPMChangeNeeded = true;
|
||||||
speedToChange = numTemp;
|
speedToChange = numTemp;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if (BeginsWith(NoteRowString, "|E"))
|
if (BeginsWith(NoteRowString, "|E"))
|
||||||
{
|
{
|
||||||
bBPMStopNeeded = true;
|
bBPMStopNeeded = true;
|
||||||
timeToStop = (60 / out.m_Timing.GetBPMAtBeat(NoteRowToBeat(i)) * numTemp) / (float)iTickCount;
|
timeToStop = 60 / out.m_Timing.GetBPMAtBeat(NoteRowToBeat(i)) * numTemp / (float)tickToChange;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if (BeginsWith(NoteRowString, "|D"))
|
if (BeginsWith(NoteRowString, "|D"))
|
||||||
{
|
{
|
||||||
bBPMStopNeeded = true;
|
bBPMStopNeeded = true;
|
||||||
timeToStop = numTemp / 1000.0f;
|
//bool bDelay = true;
|
||||||
|
timeToStop = numTemp / 1000.0f;// + out.m_Timing.GetStopAtRow(i-1, bDelay);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -563,6 +564,8 @@ static bool LoadGlobalData( const RString &sPath, Song &out, bool &bKIUCompliant
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out.m_fMusicSampleLengthSeconds = 7.0f;
|
||||||
|
|
||||||
// Try to fill in missing bits of information from the pathname.
|
// Try to fill in missing bits of information from the pathname.
|
||||||
{
|
{
|
||||||
vector<RString> asBits;
|
vector<RString> asBits;
|
||||||
|
|||||||
@@ -90,10 +90,19 @@ void ScreenSelectMusic::Init()
|
|||||||
TWO_PART_CONFIRMS_ONLY.Load( m_sName, "TwoPartConfirmsOnly" );
|
TWO_PART_CONFIRMS_ONLY.Load( m_sName, "TwoPartConfirmsOnly" );
|
||||||
TWO_PART_TIMER_SECONDS.Load( m_sName, "TwoPartTimerSeconds" );
|
TWO_PART_TIMER_SECONDS.Load( m_sName, "TwoPartTimerSeconds" );
|
||||||
WRAP_CHANGE_STEPS.Load( m_sName, "WrapChangeSteps" );
|
WRAP_CHANGE_STEPS.Load( m_sName, "WrapChangeSteps" );
|
||||||
|
//To allow changing steps with gamebuttons -DaisuMaster
|
||||||
|
CHANGE_STEPS_WITH_GAME_BUTTONS.Load( m_sName, "ChangeStepsWithGameButtons" );
|
||||||
|
|
||||||
m_GameButtonPreviousSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"PreviousSongButton") );
|
m_GameButtonPreviousSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"PreviousSongButton") );
|
||||||
m_GameButtonNextSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"NextSongButton") );
|
m_GameButtonNextSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"NextSongButton") );
|
||||||
|
|
||||||
|
//Ask for those only if changing steps with gamebuttons is allowed -DaisuMaster
|
||||||
|
if( CHANGE_STEPS_WITH_GAME_BUTTONS )
|
||||||
|
{
|
||||||
|
m_GameButtonPreviousDifficulty = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"PreviousDifficultyButton") );
|
||||||
|
m_GameButtonNextDifficulty = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"NextDifficultyButton") );
|
||||||
|
}
|
||||||
|
|
||||||
FOREACH_ENUM( PlayerNumber, p )
|
FOREACH_ENUM( PlayerNumber, p )
|
||||||
{
|
{
|
||||||
m_bSelectIsDown[p] = false; // used by UpdateSelectButton
|
m_bSelectIsDown[p] = false; // used by UpdateSelectButton
|
||||||
@@ -552,6 +561,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
|
|
||||||
bool bLeftIsDown = false;
|
bool bLeftIsDown = false;
|
||||||
bool bRightIsDown = false;
|
bool bRightIsDown = false;
|
||||||
|
|
||||||
FOREACH_HumanPlayer( p )
|
FOREACH_HumanPlayer( p )
|
||||||
{
|
{
|
||||||
if( m_OptionsList[p].IsOpened() )
|
if( m_OptionsList[p].IsOpened() )
|
||||||
@@ -614,6 +624,27 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// To allow changing steps with gamebuttons, NOT WITH THE GODDAMN CODEDETECTOR
|
||||||
|
// yeah, wanted this since a while ago... -DaisuMaster
|
||||||
|
if(CHANGE_STEPS_WITH_GAME_BUTTONS)
|
||||||
|
{
|
||||||
|
// avoid anything not being just press (read: release or repeat/hold)
|
||||||
|
if(input.type != IET_FIRST_PRESS)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(m_SelectionState == SelectionState_SelectingSong)
|
||||||
|
{
|
||||||
|
if(input.MenuI == m_GameButtonPreviousDifficulty)
|
||||||
|
{
|
||||||
|
ChangeSteps(input.pn, -1);
|
||||||
|
}
|
||||||
|
else if( input.MenuI == m_GameButtonNextDifficulty )
|
||||||
|
{
|
||||||
|
ChangeSteps(input.pn, +1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// two part confirms only means we can actually change songs here,
|
// two part confirms only means we can actually change songs here,
|
||||||
// so we need some hackery. oops looks like this is never going into
|
// so we need some hackery. oops looks like this is never going into
|
||||||
// mainline sm4 then -aj
|
// mainline sm4 then -aj
|
||||||
@@ -643,6 +674,30 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
m_MusicWheel.ChangeMusicUnlessLocked( +1 );
|
m_MusicWheel.ChangeMusicUnlessLocked( +1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// added an entry for difficulty change with
|
||||||
|
// gamebuttons -DaisuMaster
|
||||||
|
else if( input.MenuI == m_GameButtonPreviousDifficulty )
|
||||||
|
{
|
||||||
|
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
|
||||||
|
m_soundLocked.Play();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_SelectionState = SelectionState_SelectingSong;
|
||||||
|
MESSAGEMAN->Broadcast("TwoPartConfirmCanceled");
|
||||||
|
ChangeSteps( input.pn, -1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if( input.MenuI == m_GameButtonNextDifficulty )
|
||||||
|
{
|
||||||
|
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
|
||||||
|
m_soundLocked.Play();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_SelectionState = SelectionState_SelectingSong;
|
||||||
|
MESSAGEMAN->Broadcast("TwoPartConfirmCanceled");
|
||||||
|
ChangeSteps( input.pn, +1);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -737,6 +792,7 @@ bool ScreenSelectMusic::DetectCodes( const InputEventPlus &input )
|
|||||||
m_MusicWheel.SelectSection(sNewGroup);
|
m_MusicWheel.SelectSection(sNewGroup);
|
||||||
m_MusicWheel.SetOpenSection(sNewGroup);
|
m_MusicWheel.SetOpenSection(sNewGroup);
|
||||||
AfterMusicChange();
|
AfterMusicChange();
|
||||||
|
//m_MusicWheel.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( CodeDetector::EnteredCloseFolder(input.GameI.controller) )
|
else if( CodeDetector::EnteredCloseFolder(input.GameI.controller) )
|
||||||
|
|||||||
@@ -89,6 +89,8 @@ protected:
|
|||||||
ThemeMetric<float> TWO_PART_TIMER_SECONDS;
|
ThemeMetric<float> TWO_PART_TIMER_SECONDS;
|
||||||
ThemeMetric<bool> WRAP_CHANGE_STEPS;
|
ThemeMetric<bool> WRAP_CHANGE_STEPS;
|
||||||
|
|
||||||
|
ThemeMetric<bool> CHANGE_STEPS_WITH_GAME_BUTTONS;
|
||||||
|
|
||||||
bool CanChangeSong() const { return m_SelectionState == SelectionState_SelectingSong; }
|
bool CanChangeSong() const { return m_SelectionState == SelectionState_SelectingSong; }
|
||||||
bool CanChangeSteps() const { return TWO_PART_SELECTION ? m_SelectionState == SelectionState_SelectingSteps : m_SelectionState == SelectionState_SelectingSong; }
|
bool CanChangeSteps() const { return TWO_PART_SELECTION ? m_SelectionState == SelectionState_SelectingSteps : m_SelectionState == SelectionState_SelectingSong; }
|
||||||
SelectionState GetNextSelectionState() const
|
SelectionState GetNextSelectionState() const
|
||||||
@@ -105,6 +107,8 @@ protected:
|
|||||||
|
|
||||||
GameButton m_GameButtonPreviousSong;
|
GameButton m_GameButtonPreviousSong;
|
||||||
GameButton m_GameButtonNextSong;
|
GameButton m_GameButtonNextSong;
|
||||||
|
GameButton m_GameButtonPreviousDifficulty;
|
||||||
|
GameButton m_GameButtonNextDifficulty;
|
||||||
|
|
||||||
RString m_sSectionMusicPath;
|
RString m_sSectionMusicPath;
|
||||||
RString m_sSortMusicPath;
|
RString m_sSortMusicPath;
|
||||||
|
|||||||
Reference in New Issue
Block a user