add NoteDataUtil::LoadTransformedLightsFromTwo
This commit is contained in:
@@ -487,7 +487,7 @@ int FindLongestOverlappingHoldNoteForAnyTrack( const NoteData &in, int iRow )
|
|||||||
void LightTransformHelper( const NoteData &in, NoteData &out, const vector<int> &aiTracks )
|
void LightTransformHelper( const NoteData &in, NoteData &out, const vector<int> &aiTracks )
|
||||||
{
|
{
|
||||||
for( unsigned i = 0; i < aiTracks.size(); ++i )
|
for( unsigned i = 0; i < aiTracks.size(); ++i )
|
||||||
ASSERT_M( aiTracks[i] < out.GetNumTracks(), ssprintf("%i, %i", aiTracks[i], out.GetNumTracks) );
|
ASSERT_M( aiTracks[i] < out.GetNumTracks(), ssprintf("%i, %i", aiTracks[i], out.GetNumTracks()) );
|
||||||
|
|
||||||
FOREACH_NONEMPTY_ROW_ALL_TRACKS( in, r )
|
FOREACH_NONEMPTY_ROW_ALL_TRACKS( in, r )
|
||||||
{
|
{
|
||||||
@@ -542,6 +542,36 @@ void NoteDataUtil::LoadTransformedLights( const NoteData &in, NoteData &out, int
|
|||||||
LightTransformHelper( in, out, aiTracks );
|
LightTransformHelper( in, out, aiTracks );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This transform is specific to STEPS_TYPE_LIGHTS_CABINET. */
|
||||||
|
#include "LightsManager.h" // for LIGHT_*
|
||||||
|
void NoteDataUtil::LoadTransformedLightsFromTwo( const NoteData &marquee, const NoteData &bass, NoteData &out )
|
||||||
|
{
|
||||||
|
ASSERT( marquee.GetNumTracks() >= 4 );
|
||||||
|
ASSERT( bass.GetNumTracks() >= 1 );
|
||||||
|
|
||||||
|
/* For each track in "marquee", enable a track in the marquee lights. This will
|
||||||
|
* reinit out. */
|
||||||
|
{
|
||||||
|
NoteData transformed_marquee;
|
||||||
|
transformed_marquee.CopyAll( marquee );
|
||||||
|
Wide( transformed_marquee );
|
||||||
|
|
||||||
|
const int iOriginalTrackToTakeFrom[NUM_CABINET_LIGHTS] = { 0, 1, 2, 3, -1, -1, -1, -1 };
|
||||||
|
out.LoadTransformed( transformed_marquee, NUM_CABINET_LIGHTS, iOriginalTrackToTakeFrom );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* For each track in "bass", enable the bass lights. */
|
||||||
|
{
|
||||||
|
vector<int> aiTracks;
|
||||||
|
aiTracks.push_back( LIGHT_BASS_LEFT );
|
||||||
|
aiTracks.push_back( LIGHT_BASS_RIGHT );
|
||||||
|
LightTransformHelper( bass, out, aiTracks );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Delete all mines. */
|
||||||
|
NoteDataUtil::RemoveMines( out );
|
||||||
|
}
|
||||||
|
|
||||||
void NoteDataUtil::CalculateRadarValues( const NoteData &in, float fSongSeconds, RadarValues& out )
|
void NoteDataUtil::CalculateRadarValues( const NoteData &in, float fSongSeconds, RadarValues& out )
|
||||||
{
|
{
|
||||||
// The for loop and the assert are used to ensure that all fields of
|
// The for loop and the assert are used to ensure that all fields of
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ namespace NoteDataUtil
|
|||||||
void LoadTransformedSlidingWindow( const NoteData &in, NoteData &out, int iNewNumTracks );
|
void LoadTransformedSlidingWindow( const NoteData &in, NoteData &out, int iNewNumTracks );
|
||||||
void LoadOverlapped( const NoteData &in, NoteData &out, int iNewNumTracks );
|
void LoadOverlapped( const NoteData &in, NoteData &out, int iNewNumTracks );
|
||||||
void LoadTransformedLights( const NoteData &in, NoteData &out, int iNewNumTracks );
|
void LoadTransformedLights( const NoteData &in, NoteData &out, int iNewNumTracks );
|
||||||
|
void LoadTransformedLightsFromTwo( const NoteData &marquee, const NoteData &bass, NoteData &out );
|
||||||
void InsertHoldTails( NoteData &inout );
|
void InsertHoldTails( NoteData &inout );
|
||||||
|
|
||||||
// radar values - return between 0.0 and 1.2
|
// radar values - return between 0.0 and 1.2
|
||||||
|
|||||||
Reference in New Issue
Block a user