Combos branch: allow editing combo factor.
Need to check something on the default branch before this gets pushed there: something may still be off.
This commit is contained in:
@@ -842,6 +842,7 @@ Edit time signature=Edit time signature (not working yet)
|
|||||||
Edit time signature (top)=Edit time signature (beats per measure)
|
Edit time signature (top)=Edit time signature (beats per measure)
|
||||||
Edit time signature (bottom)=Edit time signature (single beat note value)
|
Edit time signature (bottom)=Edit time signature (single beat note value)
|
||||||
Edit tickcount=Edit tickcount
|
Edit tickcount=Edit tickcount
|
||||||
|
Edit combo=Edit combo
|
||||||
Editor options=Options
|
Editor options=Options
|
||||||
EditorShowBGChangesPlay=Show Backgrounds
|
EditorShowBGChangesPlay=Show Backgrounds
|
||||||
Effect=Effect
|
Effect=Effect
|
||||||
@@ -1207,6 +1208,7 @@ Enter a new Delay value.=Enter a new Delay value.
|
|||||||
Enter a new Time Signature numerator value.=Enter the number of beats per measure.
|
Enter a new Time Signature numerator value.=Enter the number of beats per measure.
|
||||||
Enter a new Time Signature denominator value.=Enter the note value that represents one beat.
|
Enter a new Time Signature denominator value.=Enter the note value that represents one beat.
|
||||||
Enter a new Tickcount value.=Enter a new Tickcount value.
|
Enter a new Tickcount value.=Enter a new Tickcount value.
|
||||||
|
Enter a new Combo value.=Enter a new Combo value.
|
||||||
Enter a new artist transliteration.=Enter a new artist transliteration.
|
Enter a new artist transliteration.=Enter a new artist transliteration.
|
||||||
Enter a new artist.=Enter a new artist.
|
Enter a new artist.=Enter a new artist.
|
||||||
Enter a new genre.=Enter a new genre.
|
Enter a new genre.=Enter a new genre.
|
||||||
|
|||||||
@@ -956,18 +956,21 @@ StopColor=color("0.8,0.8,0,1")
|
|||||||
DelayColor=color("0,0.8,0.8,1")
|
DelayColor=color("0,0.8,0.8,1")
|
||||||
TimeSignatureColor=color("1,0.55,0,1")
|
TimeSignatureColor=color("1,0.55,0,1")
|
||||||
TickcountColor=color("0,1,0,1")
|
TickcountColor=color("0,1,0,1")
|
||||||
|
ComboColor=color("0.55,1,0,1")
|
||||||
#
|
#
|
||||||
BPMIsLeftSide=true
|
BPMIsLeftSide=true
|
||||||
StopIsLeftSide=true
|
StopIsLeftSide=true
|
||||||
DelayIsLeftSide=true
|
DelayIsLeftSide=true
|
||||||
TimeSignatureIsLeftSide=true
|
TimeSignatureIsLeftSide=true
|
||||||
TickcountIsLeftSide=false
|
TickcountIsLeftSide=false
|
||||||
|
ComboIsLeftSide=false
|
||||||
#
|
#
|
||||||
BPMOffsetX=60
|
BPMOffsetX=60
|
||||||
StopOffsetX=10
|
StopOffsetX=10
|
||||||
DelayOffsetX=10
|
DelayOffsetX=10
|
||||||
TimeSignatureOffsetX=30
|
TimeSignatureOffsetX=30
|
||||||
TickcountOffsetX=10
|
TickcountOffsetX=10
|
||||||
|
ComboOffsetX=30
|
||||||
|
|
||||||
[PlayerStageStats]
|
[PlayerStageStats]
|
||||||
# Original CVS Grading
|
# Original CVS Grading
|
||||||
|
|||||||
@@ -424,16 +424,19 @@ static ThemeMetric<RageColor> STOP_COLOR ( "NoteField", "StopColor" );
|
|||||||
static ThemeMetric<RageColor> DELAY_COLOR ( "NoteField", "DelayColor" );
|
static ThemeMetric<RageColor> DELAY_COLOR ( "NoteField", "DelayColor" );
|
||||||
static ThemeMetric<RageColor> TIME_SIGNATURE_COLOR ( "NoteField", "TimeSignatureColor" );
|
static ThemeMetric<RageColor> TIME_SIGNATURE_COLOR ( "NoteField", "TimeSignatureColor" );
|
||||||
static ThemeMetric<RageColor> TICKCOUNT_COLOR ( "NoteField", "TickcountColor" );
|
static ThemeMetric<RageColor> TICKCOUNT_COLOR ( "NoteField", "TickcountColor" );
|
||||||
|
static ThemeMetric<RageColor> COMBO_COLOR ( "NoteField", "ComboColor" );
|
||||||
static ThemeMetric<bool> BPM_IS_LEFT_SIDE ( "NoteField", "BPMIsLeftSide" );
|
static ThemeMetric<bool> BPM_IS_LEFT_SIDE ( "NoteField", "BPMIsLeftSide" );
|
||||||
static ThemeMetric<bool> STOP_IS_LEFT_SIDE ( "NoteField", "StopIsLeftSide" );
|
static ThemeMetric<bool> STOP_IS_LEFT_SIDE ( "NoteField", "StopIsLeftSide" );
|
||||||
static ThemeMetric<bool> DELAY_IS_LEFT_SIDE ( "NoteField", "DelayIsLeftSide" );
|
static ThemeMetric<bool> DELAY_IS_LEFT_SIDE ( "NoteField", "DelayIsLeftSide" );
|
||||||
static ThemeMetric<bool> TIME_SIGNATURE_IS_LEFT_SIDE ( "NoteField", "TimeSignatureIsLeftSide" );
|
static ThemeMetric<bool> TIME_SIGNATURE_IS_LEFT_SIDE ( "NoteField", "TimeSignatureIsLeftSide" );
|
||||||
static ThemeMetric<bool> TICKCOUNT_IS_LEFT_SIDE ( "NoteField", "TickcountIsLeftSide" );
|
static ThemeMetric<bool> TICKCOUNT_IS_LEFT_SIDE ( "NoteField", "TickcountIsLeftSide" );
|
||||||
|
static ThemeMetric<bool> COMBO_IS_LEFT_SIDE ( "NoteField", "ComboIsLeftSide" );
|
||||||
static ThemeMetric<float> BPM_OFFSETX ( "NoteField", "BPMOffsetX" );
|
static ThemeMetric<float> BPM_OFFSETX ( "NoteField", "BPMOffsetX" );
|
||||||
static ThemeMetric<float> STOP_OFFSETX ( "NoteField", "StopOffsetX" );
|
static ThemeMetric<float> STOP_OFFSETX ( "NoteField", "StopOffsetX" );
|
||||||
static ThemeMetric<float> DELAY_OFFSETX ( "NoteField", "DelayOffsetX" );
|
static ThemeMetric<float> DELAY_OFFSETX ( "NoteField", "DelayOffsetX" );
|
||||||
static ThemeMetric<float> TIME_SIGNATURE_OFFSETX ( "NoteField", "TimeSignatureOffsetX" );
|
static ThemeMetric<float> TIME_SIGNATURE_OFFSETX ( "NoteField", "TimeSignatureOffsetX" );
|
||||||
static ThemeMetric<float> TICKCOUNT_OFFSETX ( "NoteField", "TickcountOffsetX" );
|
static ThemeMetric<float> TICKCOUNT_OFFSETX ( "NoteField", "TickcountOffsetX" );
|
||||||
|
static ThemeMetric<float> COMBO_OFFSETX ( "NoteField", "ComboOffsetX" );
|
||||||
|
|
||||||
void NoteField::DrawBPMText( const float fBeat, const float fBPM )
|
void NoteField::DrawBPMText( const float fBeat, const float fBPM )
|
||||||
{
|
{
|
||||||
@@ -512,6 +515,23 @@ void NoteField::DrawTickcountText( const float fBeat, int iTicks )
|
|||||||
m_textMeasureNumber.Draw();
|
m_textMeasureNumber.Draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NoteField::DrawComboText( const float fBeat, int iCombo )
|
||||||
|
{
|
||||||
|
const float fYOffset = ArrowEffects::GetYOffset( m_pPlayerState, 0, fBeat );
|
||||||
|
const float fYPos = ArrowEffects::GetYPos( m_pPlayerState, 0, fYOffset, m_fYReverseOffsetPixels );
|
||||||
|
const float fZoom = ArrowEffects::GetZoom( m_pPlayerState );
|
||||||
|
const float xBase = GetWidth()/2.f;
|
||||||
|
const float xOffset = COMBO_OFFSETX * fZoom;
|
||||||
|
|
||||||
|
m_textMeasureNumber.SetZoom( fZoom );
|
||||||
|
m_textMeasureNumber.SetHorizAlign( COMBO_IS_LEFT_SIDE ? align_right : align_left );
|
||||||
|
m_textMeasureNumber.SetDiffuse( COMBO_COLOR );
|
||||||
|
m_textMeasureNumber.SetGlow( RageColor(1,1,1,RageFastCos(RageTimer::GetTimeSinceStartFast()*2)/2+0.5f) );
|
||||||
|
m_textMeasureNumber.SetText( ssprintf("%d", iCombo) );
|
||||||
|
m_textMeasureNumber.SetXY( (COMBO_IS_LEFT_SIDE ? -xBase - xOffset : xBase + xOffset), fYPos );
|
||||||
|
m_textMeasureNumber.Draw();
|
||||||
|
}
|
||||||
|
|
||||||
void NoteField::DrawAttackText( const float fBeat, const Attack &attack )
|
void NoteField::DrawAttackText( const float fBeat, const Attack &attack )
|
||||||
{
|
{
|
||||||
const float fYOffset = ArrowEffects::GetYOffset( m_pPlayerState, 0, fBeat );
|
const float fYOffset = ArrowEffects::GetYOffset( m_pPlayerState, 0, fBeat );
|
||||||
@@ -776,6 +796,19 @@ void NoteField::DrawPrimitives()
|
|||||||
DrawTickcountText( fBeat, tTickcountSegments[i].m_iTicks );
|
DrawTickcountText( fBeat, tTickcountSegments[i].m_iTicks );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Combo text
|
||||||
|
const vector<ComboSegment> &tComboSegments = GAMESTATE->m_pCurSong->m_Timing.m_ComboSegments;
|
||||||
|
for( unsigned i=0; i<tComboSegments.size(); i++ )
|
||||||
|
{
|
||||||
|
if( tComboSegments[i].m_iStartRow >= iFirstRowToDraw &&
|
||||||
|
tComboSegments[i].m_iStartRow <= iLastRowToDraw)
|
||||||
|
{
|
||||||
|
float fBeat = NoteRowToBeat(tComboSegments[i].m_iStartRow);
|
||||||
|
if( IS_ON_SCREEN(fBeat) )
|
||||||
|
DrawComboText( fBeat, tComboSegments[i].m_iCombo );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// todo: add warp text -aj
|
// todo: add warp text -aj
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ protected:
|
|||||||
void DrawFreezeText( const float fBeat, const float fBPM, const float bDelay );
|
void DrawFreezeText( const float fBeat, const float fBPM, const float bDelay );
|
||||||
void DrawTimeSignatureText( const float fBeat, int iNumerator, int iDenominator );
|
void DrawTimeSignatureText( const float fBeat, int iNumerator, int iDenominator );
|
||||||
void DrawTickcountText( const float fBeat, int iTicks );
|
void DrawTickcountText( const float fBeat, int iTicks );
|
||||||
|
void DrawComboText( const float fBeat, int iCombo );
|
||||||
void DrawAttackText( const float fBeat, const Attack &attack );
|
void DrawAttackText( const float fBeat, const Attack &attack );
|
||||||
void DrawBGChangeText( const float fBeat, const RString sNewBGName );
|
void DrawBGChangeText( const float fBeat, const RString sNewBGName );
|
||||||
float GetWidth() const;
|
float GetWidth() const;
|
||||||
|
|||||||
+22
-1
@@ -78,6 +78,7 @@ AutoScreenMessage( SM_BackFromDelayChange );
|
|||||||
AutoScreenMessage( SM_BackFromTimeSignatureNumeratorChange );
|
AutoScreenMessage( SM_BackFromTimeSignatureNumeratorChange );
|
||||||
AutoScreenMessage( SM_BackFromTimeSignatureDenominatorChange );
|
AutoScreenMessage( SM_BackFromTimeSignatureDenominatorChange );
|
||||||
AutoScreenMessage( SM_BackFromTickcountChange );
|
AutoScreenMessage( SM_BackFromTickcountChange );
|
||||||
|
AutoScreenMessage( SM_BackFromComboChange );
|
||||||
AutoScreenMessage( SM_DoSaveAndExit );
|
AutoScreenMessage( SM_DoSaveAndExit );
|
||||||
AutoScreenMessage( SM_DoExit );
|
AutoScreenMessage( SM_DoExit );
|
||||||
AutoScreenMessage( SM_SaveSuccessful );
|
AutoScreenMessage( SM_SaveSuccessful );
|
||||||
@@ -578,7 +579,8 @@ static MenuDef g_TimingDataInformation(
|
|||||||
MenuRowDef( ScreenEdit::delay, "Edit delay", true, EditMode_Full, true, true, 0, NULL ),
|
MenuRowDef( ScreenEdit::delay, "Edit delay", true, EditMode_Full, true, true, 0, NULL ),
|
||||||
MenuRowDef( ScreenEdit::time_signature_numerator, "Edit time signature (top)", true, EditMode_Full, true, true, 0, NULL ),
|
MenuRowDef( ScreenEdit::time_signature_numerator, "Edit time signature (top)", true, EditMode_Full, true, true, 0, NULL ),
|
||||||
MenuRowDef( ScreenEdit::time_signature_denominator, "Edit time signature (bottom)", true, EditMode_Full, true, true, 0, NULL ),
|
MenuRowDef( ScreenEdit::time_signature_denominator, "Edit time signature (bottom)", true, EditMode_Full, true, true, 0, NULL ),
|
||||||
MenuRowDef( ScreenEdit::tickcount, "Edit tickcount", true, EditMode_Full, true, true, 0, NULL )
|
MenuRowDef( ScreenEdit::tickcount, "Edit tickcount", true, EditMode_Full, true, true, 0, NULL ),
|
||||||
|
MenuRowDef( ScreenEdit::combo, "Edit combo", true, EditMode_Full, true, true, 0, NULL )
|
||||||
);
|
);
|
||||||
|
|
||||||
enum { song_bganimation, song_movie, song_bitmap, global_bganimation, global_movie, global_movie_song_group, global_movie_song_group_and_genre, dynamic_random, baked_random, none };
|
enum { song_bganimation, song_movie, song_bitmap, global_bganimation, global_movie, global_movie_song_group, global_movie_song_group_and_genre, dynamic_random, baked_random, none };
|
||||||
@@ -2651,6 +2653,15 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
}
|
}
|
||||||
SetDirty( true );
|
SetDirty( true );
|
||||||
}
|
}
|
||||||
|
else if ( SM == SM_BackFromComboChange )
|
||||||
|
{
|
||||||
|
int iCombo = atoi( ScreenTextEntry::s_sLastAnswer );
|
||||||
|
if ( iCombo >= 0 )
|
||||||
|
{
|
||||||
|
m_pSong->m_Timing.SetComboAtBeat( GAMESTATE->m_fSongBeat, iCombo );
|
||||||
|
}
|
||||||
|
SetDirty( true );
|
||||||
|
}
|
||||||
else if( SM == SM_BackFromBGChange )
|
else if( SM == SM_BackFromBGChange )
|
||||||
{
|
{
|
||||||
HandleBGChangeChoice( (BGChangeChoice)ScreenMiniMenu::s_iLastRowCode, ScreenMiniMenu::s_viLastAnswers );
|
HandleBGChangeChoice( (BGChangeChoice)ScreenMiniMenu::s_iLastRowCode, ScreenMiniMenu::s_viLastAnswers );
|
||||||
@@ -3169,6 +3180,7 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector<int> &iAns
|
|||||||
g_TimingDataInformation.rows[time_signature_numerator].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTimeSignatureNumeratorAtBeat( fBeat ) ) );
|
g_TimingDataInformation.rows[time_signature_numerator].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTimeSignatureNumeratorAtBeat( fBeat ) ) );
|
||||||
g_TimingDataInformation.rows[time_signature_denominator].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTimeSignatureDenominatorAtBeat( fBeat ) ) );
|
g_TimingDataInformation.rows[time_signature_denominator].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTimeSignatureDenominatorAtBeat( fBeat ) ) );
|
||||||
g_TimingDataInformation.rows[tickcount].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTickcountAtBeat( fBeat ) ) );
|
g_TimingDataInformation.rows[tickcount].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTickcountAtBeat( fBeat ) ) );
|
||||||
|
g_TimingDataInformation.rows[combo].SetOneUnthemedChoice( ssprintf("%d", pTime.GetComboAtBeat( fBeat ) ) );
|
||||||
|
|
||||||
EditMiniMenu( &g_TimingDataInformation, SM_BackFromTimingDataInformation );
|
EditMiniMenu( &g_TimingDataInformation, SM_BackFromTimingDataInformation );
|
||||||
}
|
}
|
||||||
@@ -3620,6 +3632,7 @@ static LocalizedString ENTER_DELAY_VALUE ( "ScreenEdit", "Enter a new Delay va
|
|||||||
static LocalizedString ENTER_TIME_SIGNATURE_NUMERATOR_VALUE ( "ScreenEdit", "Enter a new Time Signature numerator value." );
|
static LocalizedString ENTER_TIME_SIGNATURE_NUMERATOR_VALUE ( "ScreenEdit", "Enter a new Time Signature numerator value." );
|
||||||
static LocalizedString ENTER_TIME_SIGNATURE_DENOMINATOR_VALUE ( "ScreenEdit", "Enter a new Time Signature denominator value." );
|
static LocalizedString ENTER_TIME_SIGNATURE_DENOMINATOR_VALUE ( "ScreenEdit", "Enter a new Time Signature denominator value." );
|
||||||
static LocalizedString ENTER_TICKCOUNT_VALUE ( "ScreenEdit", "Enter a new Tickcount value." );
|
static LocalizedString ENTER_TICKCOUNT_VALUE ( "ScreenEdit", "Enter a new Tickcount value." );
|
||||||
|
static LocalizedString ENTER_COMBO_VALUE ( "ScreenEdit", "Enter a new Combo value." );
|
||||||
void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice c, const vector<int> &iAnswers )
|
void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice c, const vector<int> &iAnswers )
|
||||||
{
|
{
|
||||||
switch( c )
|
switch( c )
|
||||||
@@ -3676,6 +3689,14 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice
|
|||||||
2
|
2
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
case combo:
|
||||||
|
ScreenTextEntry::TextEntry(
|
||||||
|
SM_BackFromComboChange,
|
||||||
|
ENTER_COMBO_VALUE,
|
||||||
|
ssprintf( "%d", m_pSong->m_Timing.GetComboAtBeat( GAMESTATE->m_fSongBeat ) ),
|
||||||
|
4
|
||||||
|
);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -448,6 +448,7 @@ public:
|
|||||||
time_signature_numerator,
|
time_signature_numerator,
|
||||||
time_signature_denominator,
|
time_signature_denominator,
|
||||||
tickcount,
|
tickcount,
|
||||||
|
combo,
|
||||||
NUM_TIMING_DATA_INFORMATION_CHOICES
|
NUM_TIMING_DATA_INFORMATION_CHOICES
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+1
-8
@@ -227,14 +227,7 @@ float TimingData::GetDelayAtRow( int iRow ) const
|
|||||||
|
|
||||||
int TimingData::GetComboAtRow( int iNoteRow ) const
|
int TimingData::GetComboAtRow( int iNoteRow ) const
|
||||||
{
|
{
|
||||||
for( unsigned i=0; i<m_ComboSegments.size(); i++ )
|
return m_ComboSegments[GetComboSegmentIndexAtRow( iNoteRow )].m_iCombo;
|
||||||
{
|
|
||||||
if( m_ComboSegments[i].m_iStartRow == iNoteRow )
|
|
||||||
{
|
|
||||||
return m_ComboSegments[i].m_iCombo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int TimingData::GetWarpToRow( int iWarpBeginRow ) const
|
int TimingData::GetWarpToRow( int iWarpBeginRow ) const
|
||||||
|
|||||||
Reference in New Issue
Block a user