Mission complete: Fakes are a RadarCategory.
This commit is contained in:
@@ -1246,6 +1246,8 @@ Hands=Hands
|
|||||||
Holds=Holds
|
Holds=Holds
|
||||||
Mines=Mines
|
Mines=Mines
|
||||||
Rolls=Rolls
|
Rolls=Rolls
|
||||||
|
Lifts=Lifts
|
||||||
|
Fakes=Fakes
|
||||||
Beat 0 offset=Beat 0 offset
|
Beat 0 offset=Beat 0 offset
|
||||||
Preview Start=Preview Start
|
Preview Start=Preview Start
|
||||||
Preview Length=Preview Length
|
Preview Length=Preview Length
|
||||||
|
|||||||
@@ -3631,6 +3631,8 @@ NumHoldsFormat="%s: %d\n"
|
|||||||
NumMinesFormat="%s: %d\n"
|
NumMinesFormat="%s: %d\n"
|
||||||
NumHandsFormat="%s: %d\n"
|
NumHandsFormat="%s: %d\n"
|
||||||
NumRollsFormat="%s: %d\n"
|
NumRollsFormat="%s: %d\n"
|
||||||
|
NumLiftsFormat="%s: %d\n"
|
||||||
|
NumFakesFormat="%s: %d\n"
|
||||||
Beat0OffsetFormat="%s:\n %.5f secs\n"
|
Beat0OffsetFormat="%s:\n %.5f secs\n"
|
||||||
PreviewStartFormat="%s:\n %.5f secs\n"
|
PreviewStartFormat="%s:\n %.5f secs\n"
|
||||||
PreviewLengthFormat="%s:\n %.5f secs\n"
|
PreviewLengthFormat="%s:\n %.5f secs\n"
|
||||||
|
|||||||
@@ -120,16 +120,16 @@ t[#t+1] = Def.ActorFrame {
|
|||||||
InitCommand=cmd(x,-128+16+8;y,-14+16*3);
|
InitCommand=cmd(x,-128+16+8;y,-14+16*3);
|
||||||
};
|
};
|
||||||
-- Center
|
-- Center
|
||||||
CreatePaneDisplayItem( iPN, "MINES", 'RadarCategory_Mines' ) .. {
|
CreatePaneDisplayItem( iPN, "HANDS", 'RadarCategory_Hands' ) .. {
|
||||||
InitCommand=cmd(x,-128+16+8+74;y,-14);
|
InitCommand=cmd(x,-128+16+8+74;y,-14);
|
||||||
};
|
};
|
||||||
CreatePaneDisplayItem( iPN, "HANDS", 'RadarCategory_Hands' ) .. {
|
CreatePaneDisplayItem( iPN, "ROLLS", 'RadarCategory_Rolls' ) .. {
|
||||||
InitCommand=cmd(x,-128+16+8+74;y,-14+16);
|
InitCommand=cmd(x,-128+16+8+74;y,-14+16);
|
||||||
};
|
};
|
||||||
CreatePaneDisplayItem( iPN, "ROLLS", 'RadarCategory_Rolls' ) .. {
|
CreatePaneDisplayItem( iPN, "LIFTS", 'RadarCategory_Lifts' ) .. {
|
||||||
InitCommand=cmd(x,-128+16+8+74;y,-14+16*2);
|
InitCommand=cmd(x,-128+16+8+74;y,-14+16*2);
|
||||||
};
|
};
|
||||||
CreatePaneDisplayItem( iPN, "LIFTS", 'RadarCategory_Lifts' ) .. {
|
CreatePaneDisplayItem( iPN, "FAKES", 'RadarCategory_Fakes' ) .. {
|
||||||
InitCommand=cmd(x,-128+16+8+74;y,-14+16*3);
|
InitCommand=cmd(x,-128+16+8+74;y,-14+16*3);
|
||||||
};
|
};
|
||||||
-- Right
|
-- Right
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ static const char *RadarCategoryNames[] = {
|
|||||||
"Hands",
|
"Hands",
|
||||||
"Rolls",
|
"Rolls",
|
||||||
"Lifts",
|
"Lifts",
|
||||||
|
"Fakes",
|
||||||
};
|
};
|
||||||
XToString( RadarCategory );
|
XToString( RadarCategory );
|
||||||
XToLocalizedString( RadarCategory );
|
XToLocalizedString( RadarCategory );
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ enum RadarCategory
|
|||||||
RadarCategory_Hands, /**< How many hands are in the song? */
|
RadarCategory_Hands, /**< How many hands are in the song? */
|
||||||
RadarCategory_Rolls, /**< How many rolls are in the song? */
|
RadarCategory_Rolls, /**< How many rolls are in the song? */
|
||||||
RadarCategory_Lifts, /**< How many lifts are in the song? */
|
RadarCategory_Lifts, /**< How many lifts are in the song? */
|
||||||
|
RadarCategory_Fakes, /**< How many fakes are in the song? */
|
||||||
NUM_RadarCategory, /**< The number of radar categories. */
|
NUM_RadarCategory, /**< The number of radar categories. */
|
||||||
RadarCategory_Invalid
|
RadarCategory_Invalid
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -635,6 +635,20 @@ int NoteData::GetNumLifts( int iStartIndex, int iEndIndex ) const
|
|||||||
return iNumLifts;
|
return iNumLifts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int NoteData::GetNumFakes( int iStartIndex, int iEndIndex ) const
|
||||||
|
{
|
||||||
|
int iNumFakes = 0;
|
||||||
|
|
||||||
|
for( int t=0; t<GetNumTracks(); t++ )
|
||||||
|
{
|
||||||
|
FOREACH_NONEMPTY_ROW_IN_TRACK_RANGE( *this, t, r, iStartIndex, iEndIndex )
|
||||||
|
if( GetTapNote(t, r).type == TapNote::fake )
|
||||||
|
iNumFakes++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return iNumFakes;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
int NoteData::GetNumMinefields( int iStartIndex, int iEndIndex ) const
|
int NoteData::GetNumMinefields( int iStartIndex, int iEndIndex ) const
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -233,6 +233,7 @@ public:
|
|||||||
|
|
||||||
// and the other notetypes
|
// and the other notetypes
|
||||||
int GetNumLifts( int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW ) const;
|
int GetNumLifts( int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW ) const;
|
||||||
|
int GetNumFakes( int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW ) const;
|
||||||
|
|
||||||
// Transformations
|
// Transformations
|
||||||
void LoadTransformed( const NoteData& original, int iNewNumTracks, const int iOriginalTrackToTakeFrom[] ); // -1 for iOriginalTracksToTakeFrom means no track
|
void LoadTransformed( const NoteData& original, int iNewNumTracks, const int iOriginalTrackToTakeFrom[] ); // -1 for iOriginalTracksToTakeFrom means no track
|
||||||
|
|||||||
@@ -749,6 +749,7 @@ void NoteDataUtil::CalculateRadarValues( const NoteData &in, float fSongSeconds,
|
|||||||
case RadarCategory_Hands: out[rc] = (float) in.GetNumHands(); break;
|
case RadarCategory_Hands: out[rc] = (float) in.GetNumHands(); break;
|
||||||
case RadarCategory_Rolls: out[rc] = (float) in.GetNumRolls(); break;
|
case RadarCategory_Rolls: out[rc] = (float) in.GetNumRolls(); break;
|
||||||
case RadarCategory_Lifts: out[rc] = (float) in.GetNumLifts(); break;
|
case RadarCategory_Lifts: out[rc] = (float) in.GetNumLifts(); break;
|
||||||
|
case RadarCategory_Fakes: out[rc] = (float) in.GetNumFakes(); break;
|
||||||
default: ASSERT(0);
|
default: ASSERT(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -349,6 +349,7 @@ void NoteDataWithScoring::GetActualRadarValues( const NoteData &in, const Player
|
|||||||
case RadarCategory_Hands: out[rc] = (float) GetSuccessfulHands( in ); break;
|
case RadarCategory_Hands: out[rc] = (float) GetSuccessfulHands( in ); break;
|
||||||
case RadarCategory_Rolls: out[rc] = (float) GetNumHoldNotesWithScore( in, TapNote::hold_head_roll, HNS_Held ); break;
|
case RadarCategory_Rolls: out[rc] = (float) GetNumHoldNotesWithScore( in, TapNote::hold_head_roll, HNS_Held ); break;
|
||||||
case RadarCategory_Lifts: out[rc] = (float) GetSuccessfulLifts( in, TNS_W4 ); break;
|
case RadarCategory_Lifts: out[rc] = (float) GetSuccessfulLifts( in, TNS_W4 ); break;
|
||||||
|
case RadarCategory_Fakes: out[rc] = (float) in.GetNumLifts(); break;
|
||||||
//case RadarCategory_Minefields: out[rc] = (float) GetNumMinefieldsWithScore( in, TapNote::hold_head_mine, HNS_Held ); break;
|
//case RadarCategory_Minefields: out[rc] = (float) GetNumMinefieldsWithScore( in, TapNote::hold_head_mine, HNS_Held ); break;
|
||||||
DEFAULT_FAIL( rc );
|
DEFAULT_FAIL( rc );
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -55,12 +55,19 @@ void SMLoader::LoadFromSMTokens(
|
|||||||
out.SetMeter( atoi(sMeter) );
|
out.SetMeter( atoi(sMeter) );
|
||||||
vector<RString> saValues;
|
vector<RString> saValues;
|
||||||
split( sRadarValues, ",", saValues, true );
|
split( sRadarValues, ",", saValues, true );
|
||||||
if( saValues.size() == NUM_RadarCategory * NUM_PLAYERS )
|
int categories = NUM_RadarCategory - 1; // Fakes aren't counted in the radar values.
|
||||||
|
if( saValues.size() == (unsigned)categories * NUM_PLAYERS )
|
||||||
{
|
{
|
||||||
RadarValues v[NUM_PLAYERS];
|
RadarValues v[NUM_PLAYERS];
|
||||||
FOREACH_PlayerNumber( pn )
|
FOREACH_PlayerNumber( pn )
|
||||||
FOREACH_ENUM( RadarCategory, rc )
|
{
|
||||||
v[pn][rc] = StringToFloat( saValues[pn*NUM_RadarCategory + rc] );
|
// Can't use the foreach anymore due to flexible radar lines.
|
||||||
|
for( RadarCategory rc = (RadarCategory)0; rc < categories;
|
||||||
|
enum_add<RadarCategory>( rc, 1 ) )
|
||||||
|
{
|
||||||
|
v[pn][rc] = StringToFloat( saValues[pn*categories + rc] );
|
||||||
|
}
|
||||||
|
}
|
||||||
out.SetCachedRadarValues( v );
|
out.SetCachedRadarValues( v );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+15
-3
@@ -658,12 +658,23 @@ bool SSCLoader::LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCach
|
|||||||
{
|
{
|
||||||
vector<RString> saValues;
|
vector<RString> saValues;
|
||||||
split( sParams[1], ",", saValues, true );
|
split( sParams[1], ",", saValues, true );
|
||||||
if( saValues.size() == NUM_RadarCategory * NUM_PLAYERS )
|
|
||||||
|
int categories = NUM_RadarCategory;
|
||||||
|
if( out.m_fVersion < VERSION_RADAR_FAKE )
|
||||||
|
categories -= 1;
|
||||||
|
|
||||||
|
if( saValues.size() == (unsigned)categories * NUM_PLAYERS )
|
||||||
{
|
{
|
||||||
RadarValues v[NUM_PLAYERS];
|
RadarValues v[NUM_PLAYERS];
|
||||||
FOREACH_PlayerNumber( pn )
|
FOREACH_PlayerNumber( pn )
|
||||||
FOREACH_ENUM( RadarCategory, rc )
|
{
|
||||||
v[pn][rc] = StringToFloat( saValues[pn*NUM_RadarCategory + rc] );
|
// Can't use the foreach anymore due to flexible radar lines.
|
||||||
|
for( RadarCategory rc = (RadarCategory)0; rc < categories;
|
||||||
|
enum_add<RadarCategory>( rc, +1 ) )
|
||||||
|
{
|
||||||
|
v[pn][rc] = StringToFloat( saValues[pn*categories + rc] );
|
||||||
|
}
|
||||||
|
}
|
||||||
pNewNotes->SetCachedRadarValues( v );
|
pNewNotes->SetCachedRadarValues( v );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -917,6 +928,7 @@ bool SSCLoader::LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCach
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
out.m_fVersion = STEPFILE_VERSION_NUMBER;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ enum SSCLoadingStates
|
|||||||
NUM_SSCLoadingStates /**< The number of states used. */
|
NUM_SSCLoadingStates /**< The number of states used. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const float VERSION_RADAR_FAKE = 0.53f;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The SSCLoader handles all of the parsing needed for .ssc files.
|
* @brief The SSCLoader handles all of the parsing needed for .ssc files.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -273,12 +273,18 @@ static RString GetSMNotesTag( const Song &song, const Steps &in )
|
|||||||
lines.push_back( ssprintf( " %d:", in.GetMeter() ) );
|
lines.push_back( ssprintf( " %d:", in.GetMeter() ) );
|
||||||
|
|
||||||
vector<RString> asRadarValues;
|
vector<RString> asRadarValues;
|
||||||
|
// SM files don't use fakes for radar data. Keep it that way.
|
||||||
|
int categories = NUM_RadarCategory - 1;
|
||||||
FOREACH_PlayerNumber( pn )
|
FOREACH_PlayerNumber( pn )
|
||||||
{
|
{
|
||||||
const RadarValues &rv = in.GetRadarValues( pn );
|
const RadarValues &rv = in.GetRadarValues( pn );
|
||||||
FOREACH_ENUM( RadarCategory, rc )
|
// Can't use the foreach anymore due to flexible radar lines.
|
||||||
|
for( RadarCategory rc = (RadarCategory)0; rc < categories;
|
||||||
|
enum_add<RadarCategory>( rc, 1 ) )
|
||||||
|
{
|
||||||
asRadarValues.push_back( ssprintf("%.3f", rv[rc]) );
|
asRadarValues.push_back( ssprintf("%.3f", rv[rc]) );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
lines.push_back( ssprintf( " %s:", join(",",asRadarValues).c_str() ) );
|
lines.push_back( ssprintf( " %s:", join(",",asRadarValues).c_str() ) );
|
||||||
|
|
||||||
RString sNoteData;
|
RString sNoteData;
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ static RString BackgroundChangeToString( const BackgroundChange &bgc )
|
|||||||
* @param out the Song in question. */
|
* @param out the Song in question. */
|
||||||
static void WriteGlobalTags( RageFile &f, const Song &out )
|
static void WriteGlobalTags( RageFile &f, const Song &out )
|
||||||
{
|
{
|
||||||
f.PutLine( ssprintf( "#VERSION:%.2f;", out.m_fVersion ) );
|
f.PutLine( ssprintf( "#VERSION:%.2f;", STEPFILE_VERSION_NUMBER ) );
|
||||||
f.PutLine( ssprintf( "#TITLE:%s;", SmEscape(out.m_sMainTitle).c_str() ) );
|
f.PutLine( ssprintf( "#TITLE:%s;", SmEscape(out.m_sMainTitle).c_str() ) );
|
||||||
f.PutLine( ssprintf( "#SUBTITLE:%s;", SmEscape(out.m_sSubTitle).c_str() ) );
|
f.PutLine( ssprintf( "#SUBTITLE:%s;", SmEscape(out.m_sSubTitle).c_str() ) );
|
||||||
f.PutLine( ssprintf( "#ARTIST:%s;", SmEscape(out.m_sArtist).c_str() ) );
|
f.PutLine( ssprintf( "#ARTIST:%s;", SmEscape(out.m_sArtist).c_str() ) );
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ static const char *PaneCategoryNames[] = {
|
|||||||
"Mines",
|
"Mines",
|
||||||
"Hands",
|
"Hands",
|
||||||
"Lifts",
|
"Lifts",
|
||||||
|
"Fakes",
|
||||||
"MachineHighScore",
|
"MachineHighScore",
|
||||||
"MachineHighName",
|
"MachineHighName",
|
||||||
"ProfileHighScore",
|
"ProfileHighScore",
|
||||||
@@ -206,6 +207,7 @@ void PaneDisplay::SetContent( PaneCategory c )
|
|||||||
case PaneCategory_Mines: val = rv[RadarCategory_Mines]; break;
|
case PaneCategory_Mines: val = rv[RadarCategory_Mines]; break;
|
||||||
case PaneCategory_Hands: val = rv[RadarCategory_Hands]; break;
|
case PaneCategory_Hands: val = rv[RadarCategory_Hands]; break;
|
||||||
case PaneCategory_Lifts: val = rv[RadarCategory_Lifts]; break;
|
case PaneCategory_Lifts: val = rv[RadarCategory_Lifts]; break;
|
||||||
|
case PaneCategory_Fakes: val = rv[RadarCategory_Fakes]; break;
|
||||||
case PaneCategory_ProfileHighScore:
|
case PaneCategory_ProfileHighScore:
|
||||||
case PaneCategory_MachineHighName: // set val for color
|
case PaneCategory_MachineHighName: // set val for color
|
||||||
case PaneCategory_MachineHighScore:
|
case PaneCategory_MachineHighScore:
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ enum PaneCategory
|
|||||||
PaneCategory_Mines,
|
PaneCategory_Mines,
|
||||||
PaneCategory_Hands,
|
PaneCategory_Hands,
|
||||||
PaneCategory_Lifts,
|
PaneCategory_Lifts,
|
||||||
|
PaneCategory_Fakes,
|
||||||
PaneCategory_MachineHighScore,
|
PaneCategory_MachineHighScore,
|
||||||
PaneCategory_MachineHighName,
|
PaneCategory_MachineHighName,
|
||||||
PaneCategory_ProfileHighScore,
|
PaneCategory_ProfileHighScore,
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ struct RadarValues
|
|||||||
float fNumHands;
|
float fNumHands;
|
||||||
float fNumRolls;
|
float fNumRolls;
|
||||||
float fNumLifts;
|
float fNumLifts;
|
||||||
|
float fNumFakes;
|
||||||
} v;
|
} v;
|
||||||
float f[NUM_RadarCategory];
|
float f[NUM_RadarCategory];
|
||||||
} m_Values;
|
} m_Values;
|
||||||
|
|||||||
@@ -1027,6 +1027,8 @@ static LocalizedString HANDS("ScreenEdit", "Hands");
|
|||||||
static LocalizedString HOLDS("ScreenEdit", "Holds");
|
static LocalizedString HOLDS("ScreenEdit", "Holds");
|
||||||
static LocalizedString MINES("ScreenEdit", "Mines");
|
static LocalizedString MINES("ScreenEdit", "Mines");
|
||||||
static LocalizedString ROLLS("ScreenEdit", "Rolls");
|
static LocalizedString ROLLS("ScreenEdit", "Rolls");
|
||||||
|
static LocalizedString LIFTS("ScreenEdit", "Lifts");
|
||||||
|
static LocalizedString FAKES("ScreenEdit", "Fakes");
|
||||||
static LocalizedString BEAT_0_OFFSET("ScreenEdit", "Beat 0 offset");
|
static LocalizedString BEAT_0_OFFSET("ScreenEdit", "Beat 0 offset");
|
||||||
static LocalizedString PREVIEW_START("ScreenEdit", "Preview Start");
|
static LocalizedString PREVIEW_START("ScreenEdit", "Preview Start");
|
||||||
static LocalizedString PREVIEW_LENGTH("ScreenEdit", "Preview Length");
|
static LocalizedString PREVIEW_LENGTH("ScreenEdit", "Preview Length");
|
||||||
@@ -1049,6 +1051,8 @@ static ThemeMetric<RString> NUM_HOLDS_FORMAT("ScreenEdit", "NumHoldsFormat");
|
|||||||
static ThemeMetric<RString> NUM_MINES_FORMAT("ScreenEdit", "NumMinesFormat");
|
static ThemeMetric<RString> NUM_MINES_FORMAT("ScreenEdit", "NumMinesFormat");
|
||||||
static ThemeMetric<RString> NUM_HANDS_FORMAT("ScreenEdit", "NumHandsFormat");
|
static ThemeMetric<RString> NUM_HANDS_FORMAT("ScreenEdit", "NumHandsFormat");
|
||||||
static ThemeMetric<RString> NUM_ROLLS_FORMAT("ScreenEdit", "NumRollsFormat");
|
static ThemeMetric<RString> NUM_ROLLS_FORMAT("ScreenEdit", "NumRollsFormat");
|
||||||
|
static ThemeMetric<RString> NUM_LIFTS_FORMAT("ScreenEdit", "NumLiftsFormat");
|
||||||
|
static ThemeMetric<RString> NUM_FAKES_FORMAT("ScreenEdit", "NumFakesFormat");
|
||||||
static ThemeMetric<RString> BEAT_0_OFFSET_FORMAT("ScreenEdit", "Beat0OffsetFormat");
|
static ThemeMetric<RString> BEAT_0_OFFSET_FORMAT("ScreenEdit", "Beat0OffsetFormat");
|
||||||
static ThemeMetric<RString> PREVIEW_START_FORMAT("ScreenEdit", "PreviewStartFormat");
|
static ThemeMetric<RString> PREVIEW_START_FORMAT("ScreenEdit", "PreviewStartFormat");
|
||||||
static ThemeMetric<RString> PREVIEW_LENGTH_FORMAT("ScreenEdit", "PreviewLengthFormat");
|
static ThemeMetric<RString> PREVIEW_LENGTH_FORMAT("ScreenEdit", "PreviewLengthFormat");
|
||||||
@@ -1117,6 +1121,8 @@ void ScreenEdit::UpdateTextInfo()
|
|||||||
sText += ssprintf( NUM_HOLDS_FORMAT.GetValue(), HOLDS.GetValue().c_str(), m_NoteDataEdit.GetNumHoldNotes() );
|
sText += ssprintf( NUM_HOLDS_FORMAT.GetValue(), HOLDS.GetValue().c_str(), m_NoteDataEdit.GetNumHoldNotes() );
|
||||||
sText += ssprintf( NUM_MINES_FORMAT.GetValue(), MINES.GetValue().c_str(), m_NoteDataEdit.GetNumMines() );
|
sText += ssprintf( NUM_MINES_FORMAT.GetValue(), MINES.GetValue().c_str(), m_NoteDataEdit.GetNumMines() );
|
||||||
sText += ssprintf( NUM_ROLLS_FORMAT.GetValue(), ROLLS.GetValue().c_str(), m_NoteDataEdit.GetNumRolls() );
|
sText += ssprintf( NUM_ROLLS_FORMAT.GetValue(), ROLLS.GetValue().c_str(), m_NoteDataEdit.GetNumRolls() );
|
||||||
|
sText += ssprintf( NUM_LIFTS_FORMAT.GetValue(), LIFTS.GetValue().c_str(), m_NoteDataEdit.GetNumLifts() );
|
||||||
|
sText += ssprintf( NUM_FAKES_FORMAT.GetValue(), FAKES.GetValue().c_str(), m_NoteDataEdit.GetNumFakes() );
|
||||||
switch( EDIT_MODE.GetValue() )
|
switch( EDIT_MODE.GetValue() )
|
||||||
{
|
{
|
||||||
DEFAULT_FAIL( EDIT_MODE.GetValue() );
|
DEFAULT_FAIL( EDIT_MODE.GetValue() );
|
||||||
|
|||||||
@@ -198,6 +198,7 @@ void ScreenEvaluation::Init()
|
|||||||
case RadarCategory_Hands:
|
case RadarCategory_Hands:
|
||||||
case RadarCategory_Rolls:
|
case RadarCategory_Rolls:
|
||||||
case RadarCategory_Lifts:
|
case RadarCategory_Lifts:
|
||||||
|
case RadarCategory_Fakes:
|
||||||
ss.m_player[p].m_radarPossible[rc] = 1 + (rand() % 200);
|
ss.m_player[p].m_radarPossible[rc] = 1 + (rand() % 200);
|
||||||
ss.m_player[p].m_radarActual[rc] = rand() % (int)(ss.m_player[p].m_radarPossible[rc]);
|
ss.m_player[p].m_radarActual[rc] = rand() % (int)(ss.m_player[p].m_radarPossible[rc]);
|
||||||
break;
|
break;
|
||||||
@@ -541,8 +542,8 @@ void ScreenEvaluation::Init()
|
|||||||
|
|
||||||
static const int indeces[NUM_DetailLine] =
|
static const int indeces[NUM_DetailLine] =
|
||||||
{
|
{
|
||||||
RadarCategory_TapsAndHolds, RadarCategory_Jumps, RadarCategory_Holds, RadarCategory_Mines, RadarCategory_Hands, RadarCategory_Rolls
|
RadarCategory_TapsAndHolds, RadarCategory_Jumps, RadarCategory_Holds, RadarCategory_Mines,
|
||||||
//, RadarCategory_Lifts
|
RadarCategory_Hands, RadarCategory_Rolls, RadarCategory_Lifts, RadarCategory_Fakes
|
||||||
};
|
};
|
||||||
const int ind = indeces[l];
|
const int ind = indeces[l];
|
||||||
const int iActual = lrintf(m_pStageStats->m_player[p].m_radarActual[ind]);
|
const int iActual = lrintf(m_pStageStats->m_player[p].m_radarActual[ind]);
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ enum DetailLine
|
|||||||
DetailLine_Mines, /**< The number of mines avoided. */
|
DetailLine_Mines, /**< The number of mines avoided. */
|
||||||
DetailLine_Hands, /**< The number of hands hit (somehow) */
|
DetailLine_Hands, /**< The number of hands hit (somehow) */
|
||||||
DetailLine_Rolls, /**< The number of rolls hit repeatedly. */
|
DetailLine_Rolls, /**< The number of rolls hit repeatedly. */
|
||||||
|
DetailLine_Lifts, /**< The number of lifts lifted up. */
|
||||||
|
DetailLine_Fakes, /**< The number of fakes to be ignored. */
|
||||||
NUM_DetailLine /**< The nuber of detailed lines. */
|
NUM_DetailLine /**< The nuber of detailed lines. */
|
||||||
};
|
};
|
||||||
/** @brief Shows the player their score after gameplay has ended. */
|
/** @brief Shows the player their score after gameplay has ended. */
|
||||||
|
|||||||
+3
-4
@@ -36,13 +36,12 @@
|
|||||||
#include <set>
|
#include <set>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
|
||||||
/** @brief The version of the .ssc file format. */
|
|
||||||
const static float VERSION_NUMBER = 0.52f;
|
|
||||||
/**
|
/**
|
||||||
* @brief The internal version of the cache for StepMania.
|
* @brief The internal version of the cache for StepMania.
|
||||||
*
|
*
|
||||||
* Increment this value to invalidate the current cache. */
|
* Increment this value to invalidate the current cache. */
|
||||||
const int FILE_CACHE_VERSION = 164;
|
const int FILE_CACHE_VERSION = 165;
|
||||||
|
|
||||||
/** @brief How long does a song sample last by default? */
|
/** @brief How long does a song sample last by default? */
|
||||||
const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f;
|
const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f;
|
||||||
@@ -66,7 +65,7 @@ Song::Song()
|
|||||||
m_ForegroundChanges = AutoPtrCopyOnWrite<VBackgroundChange>(new VBackgroundChange);
|
m_ForegroundChanges = AutoPtrCopyOnWrite<VBackgroundChange>(new VBackgroundChange);
|
||||||
|
|
||||||
m_LoadedFromProfile = ProfileSlot_Invalid;
|
m_LoadedFromProfile = ProfileSlot_Invalid;
|
||||||
m_fVersion = VERSION_NUMBER;
|
m_fVersion = STEPFILE_VERSION_NUMBER;
|
||||||
m_fMusicSampleStartSeconds = -1;
|
m_fMusicSampleStartSeconds = -1;
|
||||||
m_fMusicSampleLengthSeconds = DEFAULT_MUSIC_SAMPLE_LENGTH;
|
m_fMusicSampleLengthSeconds = DEFAULT_MUSIC_SAMPLE_LENGTH;
|
||||||
m_fMusicLengthSeconds = 0;
|
m_fMusicLengthSeconds = 0;
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ class StepsID;
|
|||||||
struct lua_State;
|
struct lua_State;
|
||||||
struct BackgroundChange;
|
struct BackgroundChange;
|
||||||
|
|
||||||
|
/** @brief The version of the .ssc file format. */
|
||||||
|
const static float STEPFILE_VERSION_NUMBER = 0.53f;
|
||||||
|
|
||||||
/** @brief How many edits for this song can each profile have? */
|
/** @brief How many edits for this song can each profile have? */
|
||||||
const int MAX_EDITS_PER_SONG_PER_PROFILE = 5;
|
const int MAX_EDITS_PER_SONG_PER_PROFILE = 5;
|
||||||
/** @brief How many edits for this song can be available? */
|
/** @brief How many edits for this song can be available? */
|
||||||
|
|||||||
+1
-1
@@ -123,7 +123,7 @@ float Steps::PredictMeter() const
|
|||||||
const float RadarCoeffs[NUM_RadarCategory] =
|
const float RadarCoeffs[NUM_RadarCategory] =
|
||||||
{
|
{
|
||||||
10.1f, 5.27f,-0.905f, -1.10f, 2.86f,
|
10.1f, 5.27f,-0.905f, -1.10f, 2.86f,
|
||||||
0,0,0,0,0,0
|
0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
const RadarValues &rv = GetRadarValues( PLAYER_1 );
|
const RadarValues &rv = GetRadarValues( PLAYER_1 );
|
||||||
for( int r = 0; r < NUM_RadarCategory; ++r )
|
for( int r = 0; r < NUM_RadarCategory; ++r )
|
||||||
|
|||||||
Reference in New Issue
Block a user