add StepsType for cabinet lights
This commit is contained in:
@@ -22,7 +22,8 @@ enum Game
|
||||
GAME_IIDX, // Beatmania IIDX
|
||||
GAME_MANIAX, // DanceManiax
|
||||
GAME_TECHNO, // TechnoMotion
|
||||
GAME_PNM, // pop n music
|
||||
GAME_PNM, // pop n music
|
||||
GAME_LIGHTS, // cabinet lights (not really a game)
|
||||
NUM_GAMES, // leave this at the end
|
||||
GAME_INVALID,
|
||||
};
|
||||
|
||||
@@ -142,6 +142,7 @@ enum StepsType
|
||||
STEPS_TYPE_TECHNO_SINGLE8,
|
||||
STEPS_TYPE_PNM_FIVE,
|
||||
STEPS_TYPE_PNM_NINE,
|
||||
STEPS_TYPE_LIGHTS_CABINET,
|
||||
NUM_STEPS_TYPES, // leave this at the end
|
||||
STEPS_TYPE_INVALID,
|
||||
};
|
||||
|
||||
@@ -230,6 +230,26 @@ enum // PnM Buttons
|
||||
NUM_PNM_BUTTONS, // leave this at the end
|
||||
};
|
||||
|
||||
enum // LightsButtons
|
||||
{
|
||||
LIGHTS_BUTTON_MARQUEE_UP_LEFT,
|
||||
LIGHTS_BUTTON_MARQUEE_UP_RIGHT,
|
||||
LIGHTS_BUTTON_MARQUEE_LR_LEFT,
|
||||
LIGHTS_BUTTON_MARQUEE_LR_RIGHT,
|
||||
LIGHTS_BUTTON_BUTTONS_LEFT,
|
||||
LIGHTS_BUTTON_BUTTONS_RIGHT,
|
||||
LIGHTS_BUTTON_BASS_LEFT,
|
||||
LIGHTS_BUTTON_BASS_RIGHT,
|
||||
LIGHTS_BUTTON_START,
|
||||
LIGHTS_BUTTON_BACK,
|
||||
LIGHTS_BUTTON_MENULEFT,
|
||||
LIGHTS_BUTTON_MENURIGHT,
|
||||
LIGHTS_BUTTON_MENUUP,
|
||||
LIGHTS_BUTTON_MENUDOWN,
|
||||
LIGHTS_BUTTON_COIN,
|
||||
LIGHTS_BUTTON_OPERATOR,
|
||||
NUM_LIGHTS_BUTTONS, // leave this at the end
|
||||
};
|
||||
|
||||
|
||||
struct GameInput
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "NoteSkinManager.h"
|
||||
#include "SDL_keysym.h" // for SDLKeys
|
||||
#include "ThemeManager.h"
|
||||
#include "LightsManager.h" // for NUM_CABINET_LIGHTS
|
||||
|
||||
|
||||
GameManager* GAMEMAN = NULL; // global and accessable from anywhere in our program
|
||||
@@ -65,8 +66,9 @@ struct {
|
||||
{ "maniax-single", 4 },
|
||||
{ "maniax-double", 8 },
|
||||
{ "techno-single8", 8 },
|
||||
{ "pnm-five", 5 },
|
||||
{ "pnm-nine", 9 },
|
||||
{ "pnm-five", 5 },
|
||||
{ "pnm-nine", 9 },
|
||||
{ "lights-cabinet", NUM_CABINET_LIGHTS },
|
||||
};
|
||||
|
||||
//
|
||||
@@ -1031,6 +1033,106 @@ GameDef g_GameDefs[NUM_GAMES] =
|
||||
},
|
||||
}
|
||||
},
|
||||
{ // GAME_LIGHTS
|
||||
"lights", // m_szName
|
||||
"Lights", // m_szDescription
|
||||
1, // m_iNumControllers
|
||||
NUM_LIGHTS_BUTTONS, // m_iButtonsPerController
|
||||
{ // m_szButtonNames
|
||||
"MarqueeUpLeft",
|
||||
"MarqueeUpRight",
|
||||
"MarqueeLrLeft",
|
||||
"MarqueeLrRight",
|
||||
"ButtonsLeft",
|
||||
"ButtonsRight",
|
||||
"BassLeft",
|
||||
"BassRight",
|
||||
"Start",
|
||||
"Back",
|
||||
"MenuLeft",
|
||||
"MenuRight",
|
||||
"MenuUp",
|
||||
"MenuDown",
|
||||
"Insert Coin",
|
||||
"Operator",
|
||||
},
|
||||
{ // m_szSecondaryFunction
|
||||
"(MenuLeft)",
|
||||
"(MenuRight)",
|
||||
"(MenuUp)",
|
||||
"(MenuDown)",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"(dedicated)",
|
||||
"(dedicated)",
|
||||
"(dedicated)",
|
||||
"(dedicated)",
|
||||
"",
|
||||
"",
|
||||
},
|
||||
{ // m_DedicatedMenuButton
|
||||
LIGHTS_BUTTON_MENULEFT, // MENU_BUTTON_LEFT
|
||||
LIGHTS_BUTTON_MENURIGHT, // MENU_BUTTON_RIGHT
|
||||
LIGHTS_BUTTON_MENUUP, // MENU_BUTTON_UP
|
||||
LIGHTS_BUTTON_MENUDOWN, // MENU_BUTTON_DOWN
|
||||
LIGHTS_BUTTON_START, // MENU_BUTTON_START
|
||||
LIGHTS_BUTTON_BACK, // MENU_BUTTON_BACK
|
||||
LIGHTS_BUTTON_COIN, // MENU_BUTTON_COIN
|
||||
LIGHTS_BUTTON_OPERATOR // MENU_BUTTON_OPERATOR
|
||||
},
|
||||
{ // m_SecondaryMenuButton
|
||||
LIGHTS_BUTTON_MARQUEE_UP_LEFT, // MENU_BUTTON_LEFT
|
||||
LIGHTS_BUTTON_MARQUEE_UP_RIGHT, // MENU_BUTTON_RIGHT
|
||||
LIGHTS_BUTTON_MARQUEE_LR_LEFT, // MENU_BUTTON_UP
|
||||
LIGHTS_BUTTON_MARQUEE_LR_RIGHT, // MENU_BUTTON_DOWN
|
||||
LIGHTS_BUTTON_START, // MENU_BUTTON_START
|
||||
LIGHTS_BUTTON_BACK, // MENU_BUTTON_BACK
|
||||
LIGHTS_BUTTON_COIN, // MENU_BUTTON_COIN
|
||||
LIGHTS_BUTTON_OPERATOR, // MENU_BUTTON_OPERATOR
|
||||
},
|
||||
{ // m_iDefaultKeyboardKey
|
||||
{ // PLAYER_1
|
||||
SDLK_LEFT, // LIGHTS_BUTTON_MARQUEE_UP_LEFT,
|
||||
SDLK_RIGHT, // LIGHTS_BUTTON_MARQUEE_UP_RIGHT,
|
||||
SDLK_UP, // LIGHTS_BUTTON_MARQUEE_LR_LEFT,
|
||||
SDLK_DOWN, // LIGHTS_BUTTON_MARQUEE_LR_RIGHT,
|
||||
-1, //no default key // LIGHTS_BUTTON_BUTTONS_LEFT,
|
||||
-1, //no default key // LIGHTS_BUTTON_BUTTONS_RIGHT,
|
||||
-1, //no default key // LIGHTS_BUTTON_BASS_LEFT,
|
||||
-1, //no default key // LIGHTS_BUTTON_BASS_RIGHT,
|
||||
SDLK_RETURN, // LIGHTS_BUTTON_START,
|
||||
SDLK_ESCAPE, // LIGHTS_BUTTON_BACK
|
||||
SDLK_DELETE, // LIGHTS_BUTTON_MENULEFT
|
||||
SDLK_PAGEDOWN, // LIGHTS_BUTTON_MENURIGHT
|
||||
SDLK_HOME, // LIGHTS_BUTTON_MENUUP
|
||||
SDLK_END, // LIGHTS_BUTTON_MENUDOWN
|
||||
SDLK_F1, // LIGHTS_BUTTON_COIN
|
||||
SDLK_SCROLLOCK // LIGHTS_BUTTON_OPERATOR
|
||||
},
|
||||
{ // PLAYER_2
|
||||
SDLK_KP4, // LIGHTS_BUTTON_MARQUEE_UP_LEFT,
|
||||
SDLK_KP6, // LIGHTS_BUTTON_MARQUEE_UP_RIGHT,
|
||||
SDLK_KP8, // LIGHTS_BUTTON_MARQUEE_LR_LEFT,
|
||||
SDLK_KP2, // LIGHTS_BUTTON_MARQUEE_LR_RIGHT,
|
||||
SDLK_KP7, // LIGHTS_BUTTON_BUTTONS_LEFT,
|
||||
SDLK_KP9, // LIGHTS_BUTTON_BUTTONS_RIGHT,
|
||||
-1, //no default key // LIGHTS_BUTTON_BASS_LEFT,
|
||||
-1, //no default key // LIGHTS_BUTTON_BASS_RIGHT,
|
||||
SDLK_KP_ENTER, // LIGHTS_BUTTON_START,
|
||||
SDLK_KP0, // LIGHTS_BUTTON_BACK
|
||||
SDLK_KP_DIVIDE, // LIGHTS_BUTTON_MENULEFT
|
||||
SDLK_KP_MULTIPLY, // LIGHTS_BUTTON_MENURIGHT
|
||||
SDLK_KP_MINUS, // LIGHTS_BUTTON_MENUUP
|
||||
SDLK_KP_PLUS, // LIGHTS_BUTTON_MENUDOWN
|
||||
-1, // LIGHTS_BUTTON_COIN
|
||||
-1 // LIGHTS_BUTTON_OPERATOR
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
@@ -1219,7 +1321,7 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
},
|
||||
/* { // STYLE_DANCE_SOLO_VERSUS
|
||||
"dance-solo-versus", // m_szName
|
||||
STEPS_TYPE_DANCE_SOLO, // m_StepsType
|
||||
STEPS_TYPE_DANCE_SOLO, // m_StepsType
|
||||
StyleDef::ONE_PLAYER_ONE_CREDIT, // m_StyleType
|
||||
{ 160, 480 }, // m_iCenterX
|
||||
6, // m_iColsPerPlayer
|
||||
@@ -2185,6 +2287,41 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
0,1,2,3,4,5,6,7,8
|
||||
},
|
||||
},
|
||||
{ // STYLE_LIGHTS_CABINET
|
||||
GAME_LIGHTS, // m_Game
|
||||
true, // m_bUsedForGameplay
|
||||
true, // m_bUsedForEdit
|
||||
"cabinet", // m_szName
|
||||
STEPS_TYPE_LIGHTS_CABINET, // m_StepsType
|
||||
StyleDef::ONE_PLAYER_ONE_CREDIT, // m_StyleType
|
||||
{ 320, 320 }, // m_iCenterX
|
||||
NUM_CABINET_LIGHTS, // m_iColsPerPlayer
|
||||
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
|
||||
{ // PLAYER_1
|
||||
{ TRACK_1, GAME_CONTROLLER_1, LIGHTS_BUTTON_MARQUEE_UP_LEFT, -DANCE_COL_SPACING*3.5f },
|
||||
{ TRACK_2, GAME_CONTROLLER_1, LIGHTS_BUTTON_MARQUEE_UP_RIGHT, -DANCE_COL_SPACING*2.5f },
|
||||
{ TRACK_3, GAME_CONTROLLER_1, LIGHTS_BUTTON_MARQUEE_LR_LEFT, -DANCE_COL_SPACING*1.5f },
|
||||
{ TRACK_4, GAME_CONTROLLER_1, LIGHTS_BUTTON_MARQUEE_LR_RIGHT, -DANCE_COL_SPACING*0.5f },
|
||||
{ TRACK_5, GAME_CONTROLLER_2, LIGHTS_BUTTON_BUTTONS_LEFT, +DANCE_COL_SPACING*0.5f },
|
||||
{ TRACK_6, GAME_CONTROLLER_2, LIGHTS_BUTTON_BUTTONS_RIGHT, +DANCE_COL_SPACING*1.5f },
|
||||
{ TRACK_7, GAME_CONTROLLER_2, LIGHTS_BUTTON_BASS_LEFT, +DANCE_COL_SPACING*2.5f },
|
||||
{ TRACK_8, GAME_CONTROLLER_2, LIGHTS_BUTTON_BASS_RIGHT, +DANCE_COL_SPACING*3.5f },
|
||||
},
|
||||
{ // PLAYER_2
|
||||
{ TRACK_1, GAME_CONTROLLER_1, LIGHTS_BUTTON_MARQUEE_UP_LEFT, -DANCE_COL_SPACING*3.5f },
|
||||
{ TRACK_2, GAME_CONTROLLER_1, LIGHTS_BUTTON_MARQUEE_UP_RIGHT, -DANCE_COL_SPACING*2.5f },
|
||||
{ TRACK_3, GAME_CONTROLLER_1, LIGHTS_BUTTON_MARQUEE_LR_LEFT, -DANCE_COL_SPACING*1.5f },
|
||||
{ TRACK_4, GAME_CONTROLLER_1, LIGHTS_BUTTON_MARQUEE_LR_RIGHT, -DANCE_COL_SPACING*0.5f },
|
||||
{ TRACK_5, GAME_CONTROLLER_2, LIGHTS_BUTTON_BUTTONS_LEFT, +DANCE_COL_SPACING*0.5f },
|
||||
{ TRACK_6, GAME_CONTROLLER_2, LIGHTS_BUTTON_BUTTONS_RIGHT, +DANCE_COL_SPACING*1.5f },
|
||||
{ TRACK_7, GAME_CONTROLLER_2, LIGHTS_BUTTON_BASS_LEFT, +DANCE_COL_SPACING*2.5f },
|
||||
{ TRACK_8, GAME_CONTROLLER_2, LIGHTS_BUTTON_BASS_RIGHT, +DANCE_COL_SPACING*3.5f },
|
||||
},
|
||||
},
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -54,8 +54,7 @@ LightsManager::LightsManager(CString sDriver)
|
||||
|
||||
m_pDriver = MakeLightsDriver(sDriver);
|
||||
|
||||
m_fSecsLeftInMarqueeBlink = 0;
|
||||
m_fSecsLeftInBassBlink = 0;
|
||||
ZERO( m_fSecsLeftInBlink );
|
||||
}
|
||||
|
||||
LightsManager::~LightsManager()
|
||||
@@ -65,14 +64,19 @@ LightsManager::~LightsManager()
|
||||
|
||||
void LightsManager::Update( float fDeltaTime )
|
||||
{
|
||||
m_fSecsLeftInMarqueeBlink = max( 0, m_fSecsLeftInMarqueeBlink - fDeltaTime );
|
||||
m_fSecsLeftInBassBlink = max( 0, m_fSecsLeftInBassBlink - fDeltaTime );
|
||||
// update lights falloff
|
||||
{
|
||||
FOREACH_CabinetLight( cl )
|
||||
m_fSecsLeftInBlink[cl] = max( 0, m_fSecsLeftInBlink[cl] - fDeltaTime );
|
||||
}
|
||||
|
||||
//
|
||||
// Update cabinet lights
|
||||
// Set new lights state cabinet lights
|
||||
//
|
||||
FOREACH_CabinetLight( cl )
|
||||
m_LightsState.m_bCabinetLights[cl] = false;
|
||||
{
|
||||
FOREACH_CabinetLight( cl )
|
||||
m_LightsState.m_bCabinetLights[cl] = false;
|
||||
}
|
||||
|
||||
switch( m_LightsMode )
|
||||
{
|
||||
@@ -147,17 +151,10 @@ void LightsManager::Update( float fDeltaTime )
|
||||
|
||||
bool bAllMarqueeLightsOn = !GAMESTATE->m_bPastHereWeGo;
|
||||
|
||||
bool bOn;
|
||||
|
||||
bOn = bAllMarqueeLightsOn || (m_fSecsLeftInMarqueeBlink > 0);
|
||||
m_LightsState.m_bCabinetLights[LIGHT_MARQUEE_UP_LEFT] = bOn;
|
||||
m_LightsState.m_bCabinetLights[LIGHT_MARQUEE_UP_RIGHT] = bOn;
|
||||
m_LightsState.m_bCabinetLights[LIGHT_MARQUEE_LR_LEFT] = bOn;
|
||||
m_LightsState.m_bCabinetLights[LIGHT_MARQUEE_LR_RIGHT] = bOn;
|
||||
|
||||
bOn = m_fSecsLeftInBassBlink > 0;
|
||||
m_LightsState.m_bCabinetLights[LIGHT_BASS_LEFT] = bOn;
|
||||
m_LightsState.m_bCabinetLights[LIGHT_BASS_RIGHT] = bOn;
|
||||
{
|
||||
FOREACH_CabinetLight( cl )
|
||||
m_LightsState.m_bCabinetLights[cl] = m_fSecsLeftInBlink[cl] > 0 ;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case LIGHTSMODE_STAGE:
|
||||
@@ -264,14 +261,9 @@ void LightsManager::Update( float fDeltaTime )
|
||||
m_pDriver->Set( &m_LightsState );
|
||||
}
|
||||
|
||||
void LightsManager::GameplayBlinkMarqueeLights()
|
||||
void LightsManager::GameplayBlinkLight( CabinetLight cl )
|
||||
{
|
||||
m_fSecsLeftInMarqueeBlink = 0.1f;
|
||||
}
|
||||
|
||||
void LightsManager::GameplayBlinkBassLights()
|
||||
{
|
||||
m_fSecsLeftInBassBlink = 0.1f;
|
||||
m_fSecsLeftInBlink[cl] = LIGHTS_FALLOFF_SECONDS;
|
||||
}
|
||||
|
||||
void LightsManager::SetLightsMode( LightsMode lm )
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
#include "GameInput.h"
|
||||
#include "EnumHelper.h"
|
||||
|
||||
const float LIGHTS_FALLOFF_SECONDS = 0.1f;
|
||||
|
||||
enum CabinetLight
|
||||
{
|
||||
LIGHT_MARQUEE_UP_LEFT,
|
||||
@@ -60,15 +62,13 @@ public:
|
||||
|
||||
void Update( float fDeltaTime );
|
||||
|
||||
void GameplayBlinkMarqueeLights();
|
||||
void GameplayBlinkBassLights();
|
||||
void GameplayBlinkLight( CabinetLight cl );
|
||||
|
||||
void SetLightsMode( LightsMode lm );
|
||||
LightsMode GetLightsMode();
|
||||
|
||||
private:
|
||||
float m_fSecsLeftInMarqueeBlink;
|
||||
float m_fSecsLeftInBassBlink;
|
||||
float m_fSecsLeftInBlink[NUM_CABINET_LIGHTS];
|
||||
|
||||
LightsDriver* m_pDriver;
|
||||
LightsMode m_LightsMode;
|
||||
|
||||
@@ -1053,20 +1053,18 @@ void ScreenGameplay::LoadNextSong()
|
||||
//
|
||||
// Load lights data
|
||||
//
|
||||
m_MarqueeLightsNoteData.Init();
|
||||
m_BassLightsNoteData.Init();
|
||||
StepsType st = GAMESTATE->GetCurrentStyleDef()->m_StepsType;
|
||||
ASSERT( GAMESTATE->m_pCurSong );
|
||||
Steps* pStepsEasy = GAMESTATE->m_pCurSong->GetStepsByDifficulty( st, DIFFICULTY_EASY, false );
|
||||
Steps* pStepsMedium = GAMESTATE->m_pCurSong->GetStepsByDifficulty( st, DIFFICULTY_MEDIUM, false );
|
||||
if( pStepsEasy ) pStepsEasy->GetNoteData( &m_BassLightsNoteData );
|
||||
if( pStepsMedium ) pStepsMedium->GetNoteData( &m_MarqueeLightsNoteData );
|
||||
|
||||
// optimization: collapse to one and free unused tracks
|
||||
NoteDataUtil::CollapseToOne(m_BassLightsNoteData);
|
||||
m_BassLightsNoteData.SetNumTracks(1);
|
||||
NoteDataUtil::CollapseToOne(m_MarqueeLightsNoteData);
|
||||
m_MarqueeLightsNoteData.SetNumTracks(1);
|
||||
{
|
||||
m_CabinetLightsNoteData.Init();
|
||||
ASSERT( GAMESTATE->m_pCurSong );
|
||||
vector<Steps*> vSteps;
|
||||
GAMESTATE->m_pCurSong->GetSteps( vSteps, STEPS_TYPE_LIGHTS_CABINET );
|
||||
if( !vSteps.empty() )
|
||||
vSteps[0]->GetNoteData( &m_CabinetLightsNoteData );
|
||||
|
||||
// Convert to 4s so that we can check if we're inside a hold with just
|
||||
// GetTapNote().
|
||||
m_CabinetLightsNoteData.ConvertHoldNotesTo4s();
|
||||
}
|
||||
}
|
||||
|
||||
float ScreenGameplay::StartPlayingSong(float MinTimeToNotes, float MinTimeToMusic)
|
||||
@@ -1402,11 +1400,12 @@ void ScreenGameplay::Update( float fDeltaTime )
|
||||
//
|
||||
// update lights
|
||||
//
|
||||
bool bBlinkMarqueeLights = false;
|
||||
bool bBlink[NUM_CABINET_LIGHTS];
|
||||
ZERO( bBlink );
|
||||
bool bBlinkBassLights = false;
|
||||
bool bCrossedABeat = false;
|
||||
{
|
||||
float fPositionSeconds = GAMESTATE->m_fMusicSeconds - 0.05f; // trigger the light a tiny bit early
|
||||
float fPositionSeconds = GAMESTATE->m_fMusicSeconds - LIGHTS_FALLOFF_SECONDS/2; // trigger the light a tiny bit early
|
||||
fPositionSeconds += (SOUND->GetPlayLatency()) * GAMESTATE->m_SongOptions.m_fMusicRate;
|
||||
float fSongBeat = GAMESTATE->m_pCurSong->GetBeatFromElapsedTime( fPositionSeconds );
|
||||
|
||||
@@ -1421,8 +1420,8 @@ void ScreenGameplay::Update( float fDeltaTime )
|
||||
|
||||
for( int r=iRowLastCrossed+1; r<=iRowNow; r++ ) // for each index we crossed since the last update
|
||||
{
|
||||
bBlinkMarqueeLights |= m_MarqueeLightsNoteData.IsThereATapOrHoldHeadAtRow( r );
|
||||
bBlinkBassLights |= m_BassLightsNoteData.IsThereATapOrHoldHeadAtRow( r );
|
||||
FOREACH_CabinetLight( cl )
|
||||
bBlink[cl] |= (m_CabinetLightsNoteData.GetTapNote( cl, r ) != TAP_EMPTY);
|
||||
}
|
||||
|
||||
iRowLastCrossed = iRowNow;
|
||||
@@ -1430,10 +1429,11 @@ void ScreenGameplay::Update( float fDeltaTime )
|
||||
|
||||
bool bOverrideBlink = (GAMESTATE->m_fSongBeat < GAMESTATE->m_pCurSong->m_fFirstBeat) && bCrossedABeat;
|
||||
|
||||
if( bOverrideBlink || bBlinkMarqueeLights )
|
||||
LIGHTSMAN->GameplayBlinkMarqueeLights();
|
||||
if( bOverrideBlink || bBlinkBassLights )
|
||||
LIGHTSMAN->GameplayBlinkBassLights();
|
||||
FOREACH_CabinetLight( cl )
|
||||
{
|
||||
if( bOverrideBlink || bBlink[cl] )
|
||||
LIGHTSMAN->GameplayBlinkLight( cl );
|
||||
}
|
||||
|
||||
//
|
||||
// update song position meter
|
||||
|
||||
@@ -180,8 +180,7 @@ protected:
|
||||
|
||||
BeginnerHelper m_BeginnerHelper;
|
||||
|
||||
NoteData m_MarqueeLightsNoteData;
|
||||
NoteData m_BassLightsNoteData;
|
||||
NoteData m_CabinetLightsNoteData;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -867,23 +867,25 @@ void Song::GetSteps( vector<Steps*>& arrayAddTo, StepsType nt, Difficulty dc, in
|
||||
if( !Max )
|
||||
break;
|
||||
|
||||
if( nt != STEPS_TYPE_INVALID && m_apNotes[i]->m_StepsType != nt )
|
||||
Steps* pSteps = m_apNotes[i];
|
||||
|
||||
if( nt != STEPS_TYPE_INVALID && pSteps->m_StepsType != nt )
|
||||
continue;
|
||||
if( dc != DIFFICULTY_INVALID && dc != m_apNotes[i]->GetDifficulty() )
|
||||
if( dc != DIFFICULTY_INVALID && dc != pSteps->GetDifficulty() )
|
||||
continue;
|
||||
if( iMeterLow != -1 && iMeterLow > m_apNotes[i]->GetMeter() )
|
||||
if( iMeterLow != -1 && iMeterLow > pSteps->GetMeter() )
|
||||
continue;
|
||||
if( iMeterHigh != -1 && iMeterHigh < m_apNotes[i]->GetMeter() )
|
||||
if( iMeterHigh != -1 && iMeterHigh < pSteps->GetMeter() )
|
||||
continue;
|
||||
if( sDescription != "" && sDescription != m_apNotes[i]->GetDescription() )
|
||||
if( sDescription != "" && sDescription != pSteps->GetDescription() )
|
||||
continue;
|
||||
if( !bIncludeAutoGen && m_apNotes[i]->IsAutogen() )
|
||||
if( !bIncludeAutoGen && pSteps->IsAutogen() )
|
||||
continue;
|
||||
|
||||
if( Max != -1 )
|
||||
--Max;
|
||||
|
||||
arrayAddTo.push_back( m_apNotes[i] );
|
||||
arrayAddTo.push_back( pSteps );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ enum Style
|
||||
STYLE_TECHNO_SINGLE8,
|
||||
STYLE_PNM_FIVE,
|
||||
STYLE_PNM_NINE,
|
||||
STYLE_LIGHTS_CABINET,
|
||||
NUM_STYLES, // leave this at the end
|
||||
STYLE_INVALID,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user