diff --git a/stepmania/src/Game.h b/stepmania/src/Game.h index d3f9813d81..b366f6a5f8 100644 --- a/stepmania/src/Game.h +++ b/stepmania/src/Game.h @@ -7,6 +7,7 @@ #include "GameConstantsAndTypes.h" struct lua_State; +class Style; // // PrimaryMenuButton and SecondaryMenuButton are used to support using DeviceInputs that only @@ -31,6 +32,7 @@ class Game { public: const char * m_szName; + const Style * const* m_apStyles; bool m_bCountNotesSeparately; // Count multiple notes in a row as separate notes or as one note bool m_bAllowHopos; // allow Hammer-ons and Pull-offs? Only useful for guitar type input. diff --git a/stepmania/src/GameManager.cpp b/stepmania/src/GameManager.cpp index bebf19c676..7120057815 100644 --- a/stepmania/src/GameManager.cpp +++ b/stepmania/src/GameManager.cpp @@ -114,9 +114,340 @@ const InputMapping g_AutoKeyMappings_Dance[] = InputMapping_END }; +static const Style g_Style_Dance_Single = +{ // STYLE_DANCE_SINGLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "single", // m_szName + STEPS_TYPE_DANCE_SINGLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 4, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 3, 2, 1, Style::END_MAPPING }, + { 0, 3, 2, 1, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0, 1, 2, 3 + }, + false, // m_bNeedsZoomOutWith2Players + true, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Dance_Versus = +{ // STYLE_DANCE_VERSUS + true, // m_bUsedForGameplay + false, // m_bUsedForEdit + true, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "versus", // m_szName + STEPS_TYPE_DANCE_SINGLE, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 4, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, + }, + }, + { + { 0, 3, 2, 1, Style::END_MAPPING }, + { 0, 3, 2, 1, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0, 1, 2, 3 + }, + false, // m_bNeedsZoomOutWith2Players + true, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Dance_Double = +{ // STYLE_DANCE_DOUBLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "double", // m_szName + STEPS_TYPE_DANCE_DOUBLE, // m_StepsType + StyleType_OnePlayerTwoSides, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 3, 2, 1, Style::END_MAPPING }, + { 4, 7, 6, 5, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Dance_Couple = +{ // STYLE_DANCE_COUPLE + true, // m_bUsedForGameplay + false, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "couple", // m_szName + STEPS_TYPE_DANCE_COUPLE, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 4, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_5, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_6, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*1.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 3, 2, 1, Style::END_MAPPING }, + { 0, 3, 2, 1, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3 + }, + false, // m_bNeedsZoomOutWith2Players + true, // m_bCanUseBeginnerHelper + true, // m_bLockDifficulties +}; + +static const Style g_Style_Dance_Solo = +{ // STYLE_DANCE_SOLO + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "solo", // m_szName + STEPS_TYPE_DANCE_SOLO, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 6, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_4, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*2.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_4, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*2.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 5, 3, 2, 1, 4, Style::END_MAPPING }, + { 0, 5, 3, 2, 1, 4, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Dance_Couple_Edit = +{ // STYLE_DANCE_EDIT_COUPLE + false, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "couple-edit", // m_szName + STEPS_TYPE_DANCE_COUPLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_COL_SPACING*4.0f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*3.0f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*2.0f, NULL }, + { TRACK_4, -DANCE_COL_SPACING*1.0f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*1.0f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*2.0f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*3.0f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*4.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -DANCE_COL_SPACING*4.0f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*3.0f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*2.0f, NULL }, + { TRACK_4, -DANCE_COL_SPACING*1.0f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*1.0f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*2.0f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*3.0f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*4.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 1, 2, 3, Style::END_MAPPING }, + { 4, 5, 6, 7, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +/* +static const Style g_Style_Dance_Solo_Versus = +{ // STYLE_DANCE_SOLO_VERSUS + "dance-solo-versus", // m_szName + STEPS_TYPE_DANCE_SOLO, // m_StepsType + ONE_PLAYER_ONE_CREDIT, // m_StyleType + 6, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_6PANEL_VERSUS_COL_SPACING*2.5f }, + { TRACK_2, -DANCE_6PANEL_VERSUS_COL_SPACING*1.5f }, + { TRACK_3, -DANCE_6PANEL_VERSUS_COL_SPACING*0.5f }, + { TRACK_4, +DANCE_6PANEL_VERSUS_COL_SPACING*0.5f }, + { TRACK_5, +DANCE_6PANEL_VERSUS_COL_SPACING*1.5f }, + { TRACK_6, +DANCE_6PANEL_VERSUS_COL_SPACING*2.5f }, + }, + { // PLAYER_2 + { TRACK_1, -DANCE_6PANEL_VERSUS_COL_SPACING*2.5f }, + { TRACK_2, -DANCE_6PANEL_VERSUS_COL_SPACING*1.5f }, + { TRACK_3, -DANCE_6PANEL_VERSUS_COL_SPACING*0.5f }, + { TRACK_4, +DANCE_6PANEL_VERSUS_COL_SPACING*0.5f }, + { TRACK_5, +DANCE_6PANEL_VERSUS_COL_SPACING*1.5f }, + { TRACK_6, +DANCE_6PANEL_VERSUS_COL_SPACING*2.5f }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 5, 3, 2, 1, 4, Style::END_MAPPING }, + { 0, 5, 3, 2, 1, 4, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,5,1,4,2,3 // outside in + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; */ + +static const Style g_Style_Dance_Routine = +{ // STYLE_DANCE_ROUTINE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "routine", // m_szName + STEPS_TYPE_DANCE_ROUTINE, // m_StepsType + StyleType_TwoPlayersSharedSides, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 3, 2, 1, Style::END_MAPPING }, + { 4, 7, 6, 5, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + true, // m_bLockDifficulties + +}; + +static const Style *g_apGame_Dance_Styles[] = +{ + &g_Style_Dance_Single, + &g_Style_Dance_Versus, + &g_Style_Dance_Double, + &g_Style_Dance_Couple, + &g_Style_Dance_Solo, + &g_Style_Dance_Couple_Edit, + &g_Style_Dance_Routine, + NULL +}; + static const Game g_Game_Dance = { "dance", // m_szName + g_apGame_Dance_Styles, // m_apStyles false, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -169,9 +500,266 @@ const InputMapping g_AutoKeyMappings_Pump[] = InputMapping_END }; +static const Style g_Style_Pump_Single = +{ // STYLE_PUMP_SINGLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "single", // m_szName + STEPS_TYPE_PUMP_SINGLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 3, 2, 0, 4, Style::END_MAPPING }, + { 1, 3, 2, 0, 4, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,1,3,0,4 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Pump_Versus = +{ // STYLE_PUMP_VERSUS + true, // m_bUsedForGameplay + false, // m_bUsedForEdit + true, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "versus", // m_szName + STEPS_TYPE_PUMP_SINGLE, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 3, 2, 0, 4, Style::END_MAPPING }, + { 1, 3, 2, 0, 4, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,1,3,0,4 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Pump_HalfDouble = +{ // STYLE_PUMP_HALFDOUBLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "halfdouble", // m_szName + STEPS_TYPE_PUMP_HALFDOUBLE, // m_StepsType + StyleType_OnePlayerTwoSides, // m_StyleType + 6, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -PUMP_COL_SPACING*2.5f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*1.5f, NULL }, + { TRACK_3, -PUMP_COL_SPACING*0.5f, NULL }, + { TRACK_4, +PUMP_COL_SPACING*0.5f, NULL }, + { TRACK_5, +PUMP_COL_SPACING*1.5f, NULL }, + { TRACK_6, +PUMP_COL_SPACING*2.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -PUMP_COL_SPACING*2.5f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*1.5f, NULL }, + { TRACK_3, -PUMP_COL_SPACING*0.5f, NULL }, + { TRACK_4, +PUMP_COL_SPACING*0.5f, NULL }, + { TRACK_5, +PUMP_COL_SPACING*1.5f, NULL }, + { TRACK_6, +PUMP_COL_SPACING*2.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { Style::NO_MAPPING, 1, 0, Style::NO_MAPPING, 2, Style::END_MAPPING }, + { 3, Style::NO_MAPPING, 5, 4, Style::NO_MAPPING, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,3,1,4,0,5 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Pump_Double = +{ // STYLE_PUMP_DOUBLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "double", // m_szName + STEPS_TYPE_PUMP_DOUBLE, // m_StepsType + StyleType_OnePlayerTwoSides, // m_StyleType + 10, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -PUMP_COL_SPACING*4.5f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*3.5f, NULL }, + { TRACK_3, -PUMP_COL_SPACING*2.5f, NULL }, + { TRACK_4, -PUMP_COL_SPACING*1.5f, NULL }, + { TRACK_5, -PUMP_COL_SPACING*0.5f, NULL }, + { TRACK_6, +PUMP_COL_SPACING*0.5f, NULL }, + { TRACK_7, +PUMP_COL_SPACING*1.5f, NULL }, + { TRACK_8, +PUMP_COL_SPACING*2.5f, NULL }, + { TRACK_9, +PUMP_COL_SPACING*3.5f, NULL }, + { TRACK_10, +PUMP_COL_SPACING*4.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -PUMP_COL_SPACING*4.5f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*3.5f, NULL }, + { TRACK_3, -PUMP_COL_SPACING*2.5f, NULL }, + { TRACK_4, -PUMP_COL_SPACING*1.5f, NULL }, + { TRACK_5, -PUMP_COL_SPACING*0.5f, NULL }, + { TRACK_6, +PUMP_COL_SPACING*0.5f, NULL }, + { TRACK_7, +PUMP_COL_SPACING*1.5f, NULL }, + { TRACK_8, +PUMP_COL_SPACING*2.5f, NULL }, + { TRACK_9, +PUMP_COL_SPACING*3.5f, NULL }, + { TRACK_10, +PUMP_COL_SPACING*4.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 3, 2, 0, 4, Style::END_MAPPING }, + { 6, 8, 7, 5, 9, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,1,3,0,4, 2+5,1+5,3+5,0+5,4+5 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Pump_Couple = +{ // STYLE_PUMP_COUPLE + true, // m_bUsedForGameplay + false, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "couple", // m_szName + STEPS_TYPE_PUMP_COUPLE, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_6, -PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_7, -PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_8, +PUMP_COL_SPACING*0.0f, NULL }, + { TRACK_9, +PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_10, +PUMP_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 3, 2, 0, 4, Style::END_MAPPING }, + { 1, 3, 2, 0, 4, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,1,3,0,4 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + true, // m_bLockDifficulties +}; + +static const Style g_Style_Pump_Couple_Edit = +{ // STYLE_PUMP_EDIT_COUPLE + false, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "couple-edit", // m_szName + STEPS_TYPE_PUMP_COUPLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 10, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -PUMP_COL_SPACING*5.0f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*4.0f, NULL }, + { TRACK_3, -PUMP_COL_SPACING*3.0f, NULL }, + { TRACK_4, -PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_5, -PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_6, +PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_7, +PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_8, +PUMP_COL_SPACING*3.0f, NULL }, + { TRACK_9, +PUMP_COL_SPACING*4.0f, NULL }, + { TRACK_10, +PUMP_COL_SPACING*5.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 3, 2, 0, 4, 6, 8, 7, 5, 9, Style::END_MAPPING }, + { 1, 3, 2, 0, 4, 6, 8, 7, 5, 9, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,1,3,0,4 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_Pump_Styles[] = +{ + &g_Style_Pump_Single, + &g_Style_Pump_Versus, + &g_Style_Pump_HalfDouble, + &g_Style_Pump_Double, + &g_Style_Pump_Couple, + &g_Style_Pump_Couple_Edit, + NULL +}; + static const Game g_Game_Pump = { "pump", // m_szName + g_apGame_Pump_Styles, // m_apStyles false, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -200,6 +788,224 @@ static const Game g_Game_Pump = TNS_W5, // m_mapW5To }; +static const Style g_Style_Ez2_Single = +{ // STYLE_EZ2_SINGLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "single", // m_szName + STEPS_TYPE_EZ2_SINGLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -EZ2_COL_SPACING*2.0f, NULL }, + { TRACK_2, -EZ2_COL_SPACING*1.0f, NULL }, + { TRACK_3, +EZ2_COL_SPACING*0.0f, NULL }, + { TRACK_4, +EZ2_COL_SPACING*1.0f, NULL }, + { TRACK_5, +EZ2_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -EZ2_COL_SPACING*2.0f, NULL }, + { TRACK_2, -EZ2_COL_SPACING*1.0f, NULL }, + { TRACK_3, +EZ2_COL_SPACING*0.0f, NULL }, + { TRACK_4, +EZ2_COL_SPACING*1.0f, NULL }, + { TRACK_5, +EZ2_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 4, 2, 1, 3, Style::END_MAPPING }, + { 0, 4, 2, 1, 3, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,0,4,1,3 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Ez2_Real = +{ // STYLE_EZ2_REAL + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "real", // m_szName + STEPS_TYPE_EZ2_REAL, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 7, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -EZ2_REAL_COL_SPACING*3.0f, NULL }, + { TRACK_2, -EZ2_REAL_COL_SPACING*2.0f, NULL }, + { TRACK_3, -EZ2_REAL_COL_SPACING*1.0f, NULL }, + { TRACK_4, +EZ2_REAL_COL_SPACING*0.0f, NULL }, + { TRACK_5, +EZ2_REAL_COL_SPACING*1.0f, NULL }, + { TRACK_6, +EZ2_REAL_COL_SPACING*2.0f, NULL }, + { TRACK_7, +EZ2_REAL_COL_SPACING*3.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -EZ2_REAL_COL_SPACING*3.0f, NULL }, + { TRACK_2, -EZ2_REAL_COL_SPACING*2.0f, NULL }, + { TRACK_3, -EZ2_REAL_COL_SPACING*1.0f, NULL }, + { TRACK_4, +EZ2_REAL_COL_SPACING*0.0f, NULL }, + { TRACK_5, +EZ2_REAL_COL_SPACING*1.0f, NULL }, + { TRACK_6, +EZ2_REAL_COL_SPACING*2.0f, NULL }, + { TRACK_7, +EZ2_REAL_COL_SPACING*3.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 6, 3, 2, 4, 1, 5, Style::END_MAPPING }, + { 0, 6, 3, 2, 4, 1, 5, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 3,0,6,2,4,1,5 // This should be from back to front: Down, UpLeft, UpRight, Lower Left Hand, Lower Right Hand, Upper Left Hand, Upper Right Hand + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Ez2_Single_Versus = +{ // STYLE_EZ2_SINGLE_VERSUS + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "versus", // m_szName + STEPS_TYPE_EZ2_SINGLE, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -EZ2_COL_SPACING*2.0f, NULL }, + { TRACK_2, -EZ2_COL_SPACING*1.0f, NULL }, + { TRACK_3, +EZ2_COL_SPACING*0.0f, NULL }, + { TRACK_4, +EZ2_COL_SPACING*1.0f, NULL }, + { TRACK_5, +EZ2_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -EZ2_COL_SPACING*2.0f, NULL }, + { TRACK_2, -EZ2_COL_SPACING*1.0f, NULL }, + { TRACK_3, +EZ2_COL_SPACING*0.0f, NULL }, + { TRACK_4, +EZ2_COL_SPACING*1.0f, NULL }, + { TRACK_5, +EZ2_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 4, 2, 1, 3, Style::END_MAPPING }, + { 0, 4, 2, 1, 3, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,0,4,1,3 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Ez2_Real_Versus = +{ // STYLE_EZ2_REAL_VERSUS + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "versusReal", // m_szName + STEPS_TYPE_EZ2_REAL, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 7, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -EZ2_REAL_COL_SPACING*3.0f, NULL }, + { TRACK_2, -EZ2_REAL_COL_SPACING*2.0f, NULL }, + { TRACK_3, -EZ2_REAL_COL_SPACING*1.0f, NULL }, + { TRACK_4, +EZ2_REAL_COL_SPACING*0.0f, NULL }, + { TRACK_5, +EZ2_REAL_COL_SPACING*1.0f, NULL }, + { TRACK_6, +EZ2_REAL_COL_SPACING*2.0f, NULL }, + { TRACK_7, +EZ2_REAL_COL_SPACING*3.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -EZ2_REAL_COL_SPACING*3.0f, NULL }, + { TRACK_2, -EZ2_REAL_COL_SPACING*2.0f, NULL }, + { TRACK_3, -EZ2_REAL_COL_SPACING*1.0f, NULL }, + { TRACK_4, +EZ2_REAL_COL_SPACING*0.0f, NULL }, + { TRACK_5, +EZ2_REAL_COL_SPACING*1.0f, NULL }, + { TRACK_6, +EZ2_REAL_COL_SPACING*2.0f, NULL }, + { TRACK_7, +EZ2_REAL_COL_SPACING*3.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 6, 3, 2, 4, 1, 5, Style::END_MAPPING }, + { 0, 6, 3, 2, 4, 1, 5, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 3,0,6,2,4,1,5 // This should be from back to front: Down, UpLeft, UpRight, Lower Left Hand, Lower Right Hand, Upper Left Hand, Upper Right Hand + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Ez2_Real_Double = +{ // STYLE_EZ2_DOUBLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "double", // m_szName + STEPS_TYPE_EZ2_DOUBLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 10, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -EZ2_COL_SPACING*4.5f, NULL }, + { TRACK_2, -EZ2_COL_SPACING*3.5f, NULL }, + { TRACK_3, -EZ2_COL_SPACING*2.5f, NULL }, + { TRACK_4, -EZ2_COL_SPACING*1.5f, NULL }, + { TRACK_5, -EZ2_COL_SPACING*0.5f, NULL }, + { TRACK_6, +EZ2_COL_SPACING*0.5f, NULL }, + { TRACK_7, +EZ2_COL_SPACING*1.5f, NULL }, + { TRACK_8, +EZ2_COL_SPACING*2.5f, NULL }, + { TRACK_9, +EZ2_COL_SPACING*3.5f, NULL }, + { TRACK_10, +EZ2_COL_SPACING*4.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -EZ2_COL_SPACING*4.5f, NULL }, + { TRACK_2, -EZ2_COL_SPACING*3.5f, NULL }, + { TRACK_3, -EZ2_COL_SPACING*2.5f, NULL }, + { TRACK_4, -EZ2_COL_SPACING*1.5f, NULL }, + { TRACK_5, -EZ2_COL_SPACING*0.5f, NULL }, + { TRACK_6, +EZ2_COL_SPACING*0.5f, NULL }, + { TRACK_7, +EZ2_COL_SPACING*1.5f, NULL }, + { TRACK_8, +EZ2_COL_SPACING*2.5f, NULL }, + { TRACK_9, +EZ2_COL_SPACING*3.5f, NULL }, + { TRACK_10, +EZ2_COL_SPACING*4.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 4, 2, 1, 3, Style::END_MAPPING }, + { 5, 9, 7, 6, 8, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,0,4,1,3,7,5,9,6,8 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_Ez2_Styles[] = +{ + &g_Style_Ez2_Single, + &g_Style_Ez2_Real, + &g_Style_Ez2_Single_Versus, + &g_Style_Ez2_Real_Versus, + &g_Style_Ez2_Real_Double, + NULL +}; + const InputMapping g_AutoKeyMappings_Ez2[] = { { 0, KEY_Cz, EZ2_BUTTON_FOOTUPLEFT, false }, @@ -215,6 +1021,7 @@ const InputMapping g_AutoKeyMappings_Ez2[] = static const Game g_Game_Ez2 = { "ez2", // m_szName + g_apGame_Ez2_Styles, // m_apStyles false, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -247,6 +1054,101 @@ static const Game g_Game_Ez2 = TNS_Miss, // m_mapW5To }; +static const Style *g_apGame_EZ2_Styles[] = +{ + &g_Style_Dance_Single, + &g_Style_Dance_Versus, + &g_Style_Dance_Double, + &g_Style_Dance_Couple, + &g_Style_Dance_Solo, + &g_Style_Dance_Couple_Edit, + &g_Style_Dance_Routine, + NULL +}; + +static const Style g_Style_Para_Single = +{ // STYLE_PARA_SINGLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "single", // m_szName + STEPS_TYPE_PARA_SINGLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -PARA_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PARA_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PARA_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PARA_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PARA_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -PARA_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PARA_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PARA_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PARA_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PARA_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 1, 2, 3, 4, Style::END_MAPPING }, + { 0, 1, 2, 3, 4, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,0,4,1,3 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Para_Versus = +{ // STYLE_PARA_VERSUS + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "versus", // m_szName + STEPS_TYPE_PARA_VERSUS, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -PARA_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PARA_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PARA_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PARA_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PARA_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -PARA_COL_SPACING*2.0f, NULL }, + { TRACK_2, -PARA_COL_SPACING*1.0f, NULL }, + { TRACK_3, +PARA_COL_SPACING*0.0f, NULL }, + { TRACK_4, +PARA_COL_SPACING*1.0f, NULL }, + { TRACK_5, +PARA_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 1, 2, 3, 4, Style::END_MAPPING }, + { 0, 1, 2, 3, 4, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 2,0,4,1,3 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_Para_Styles[] = +{ + &g_Style_Para_Single, + &g_Style_Para_Versus, + NULL +}; + const InputMapping g_AutoKeyMappings_Para[] = { { 0, KEY_Cz, PARA_BUTTON_LEFT, false }, @@ -260,6 +1162,7 @@ const InputMapping g_AutoKeyMappings_Para[] = static const Game g_Game_Para = { "para", // m_szName + g_apGame_Para_Styles, // m_apStyles false, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -288,6 +1191,56 @@ static const Game g_Game_Para = TNS_W5, // m_mapW5To }; +static const Style g_Style_DS3DDX_Single = +{ // STYLE_DS3DDX_SINGLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "single", // m_szName + STEPS_TYPE_DS3DDX_SINGLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DS3DDX_COL_SPACING*3.0f, NULL }, + { TRACK_2, -DS3DDX_COL_SPACING*2.0f, NULL }, + { TRACK_3, -DS3DDX_COL_SPACING*1.0f, NULL }, + { TRACK_4, -DS3DDX_COL_SPACING*0.0f, NULL }, + { TRACK_5, +DS3DDX_COL_SPACING*0.0f, NULL }, + { TRACK_6, +DS3DDX_COL_SPACING*1.0f, NULL }, + { TRACK_7, +DS3DDX_COL_SPACING*2.0f, NULL }, + { TRACK_8, +DS3DDX_COL_SPACING*3.0f , NULL}, + }, + { // PLAYER_2 + { TRACK_1, -DS3DDX_COL_SPACING*3.0f, NULL }, + { TRACK_2, -DS3DDX_COL_SPACING*2.0f, NULL }, + { TRACK_3, -DS3DDX_COL_SPACING*1.0f, NULL }, + { TRACK_4, -DS3DDX_COL_SPACING*0.0f, NULL }, + { TRACK_5, +DS3DDX_COL_SPACING*0.0f, NULL }, + { TRACK_6, +DS3DDX_COL_SPACING*1.0f, NULL }, + { TRACK_7, +DS3DDX_COL_SPACING*2.0f, NULL }, + { TRACK_8, +DS3DDX_COL_SPACING*3.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 1, 2, 3, 4, 5, 6, 7, Style::END_MAPPING }, + { 0, 1, 2, 3, 4, 5, 6, 7, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_DS3DDX_Styles[] = +{ + &g_Style_DS3DDX_Single, + NULL +}; + const InputMapping g_AutoKeyMappings_DS3DDX[] = { { 0, KEY_Ca, DS3DDX_BUTTON_HANDLEFT, false }, @@ -304,6 +1257,7 @@ const InputMapping g_AutoKeyMappings_DS3DDX[] = static const Game g_Game_DS3DDX = { "ds3ddx", // m_szName + g_apGame_DS3DDX_Styles, // m_apStyles false, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -338,6 +1292,211 @@ static const Game g_Game_DS3DDX = TNS_W5, // m_mapW5To }; +static const Style g_Style_Beat_Single5 = +{ // STYLE_BEAT_SINGLE5 + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "single5", // m_szName + STEPS_TYPE_BEAT_SINGLE5, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 6, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_2, -BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_3, -BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_4, +BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_5, +BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_6, +BEAT_COL_SPACING*3.0f, "scratch" }, + }, + { // PLAYER_2 + { TRACK_1, -BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_2, -BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_3, -BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_4, +BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_5, +BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_6, +BEAT_COL_SPACING*3.0f, "scratch" }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 1, 2, 3, 4, Style::NO_MAPPING, Style::NO_MAPPING, 5, 5, Style::END_MAPPING }, + { 0, 1, 2, 3, 4, Style::NO_MAPPING, Style::NO_MAPPING, 5, 5, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Beat_Double = +{ // STYLE_BEAT_DOUBLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "double5", // m_szName + STEPS_TYPE_BEAT_DOUBLE5, // m_StepsType + StyleType_OnePlayerTwoSides, // m_StyleType + 12, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -BEAT_COL_SPACING*6.0f, NULL }, + { TRACK_2, -BEAT_COL_SPACING*5.0f, NULL }, + { TRACK_3, -BEAT_COL_SPACING*4.0f, NULL }, + { TRACK_4, -BEAT_COL_SPACING*3.0f, NULL }, + { TRACK_5, -BEAT_COL_SPACING*2.0f, NULL }, + { TRACK_6, -BEAT_COL_SPACING*1.5f, "scratch" }, + { TRACK_7, +BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_8, +BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_9, +BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_10, +BEAT_COL_SPACING*3.5f, NULL }, + { TRACK_11, +BEAT_COL_SPACING*4.5f, NULL }, + { TRACK_12, +BEAT_COL_SPACING*6.0f, "scratch" }, + }, + { // PLAYER_2 + { TRACK_1, -BEAT_COL_SPACING*6.0f, NULL }, + { TRACK_2, -BEAT_COL_SPACING*5.0f, NULL }, + { TRACK_3, -BEAT_COL_SPACING*4.0f, NULL }, + { TRACK_4, -BEAT_COL_SPACING*3.0f, NULL }, + { TRACK_5, -BEAT_COL_SPACING*2.0f, NULL }, + { TRACK_6, -BEAT_COL_SPACING*1.5f, "scratch" }, + { TRACK_7, +BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_8, +BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_9, +BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_10, +BEAT_COL_SPACING*3.5f, NULL }, + { TRACK_11, +BEAT_COL_SPACING*4.5f, NULL }, + { TRACK_12, +BEAT_COL_SPACING*6.0f, "scratch" }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 1, 2, 3, 4, Style::NO_MAPPING, Style::NO_MAPPING, 5, 5, Style::END_MAPPING }, + { 5, 6, 7, 8, 9, Style::NO_MAPPING, Style::NO_MAPPING, 10, 10, Style::END_MAPPING } + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7,8,9,10,11 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Beat_Single7 = +{ // STYLE_BEAT_SINGLE7 + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "single7", // m_szName + STEPS_TYPE_BEAT_SINGLE7, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_8, -BEAT_COL_SPACING*3.5f, "scratch" }, + { TRACK_1, -BEAT_COL_SPACING*2.0f, NULL }, + { TRACK_2, -BEAT_COL_SPACING*1.0f, NULL }, + { TRACK_3, -BEAT_COL_SPACING*0.0f, NULL }, + { TRACK_4, +BEAT_COL_SPACING*1.0f, NULL }, + { TRACK_5, +BEAT_COL_SPACING*2.0f, NULL }, + { TRACK_6, +BEAT_COL_SPACING*3.0f, NULL }, + { TRACK_7, +BEAT_COL_SPACING*4.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -BEAT_COL_SPACING*3.5f, NULL }, + { TRACK_2, -BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_3, -BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_4, -BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_5, +BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_6, +BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_7, +BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_8, +BEAT_COL_SPACING*4.0f, "scratch" }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 2, 3, 4, 5, 6, 7, 0, 0, Style::END_MAPPING }, + { 0, 1, 2, 3, 4, 5, 6, 7, 7, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Beat_Double7 = +{ // STYLE_BEAT_DOUBLE7 + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "double7", // m_szName + STEPS_TYPE_BEAT_DOUBLE7, // m_StepsType + StyleType_OnePlayerTwoSides, // m_StyleType + 16, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_8, -BEAT_COL_SPACING*8.0f, "scratch" }, + { TRACK_1, -BEAT_COL_SPACING*6.5f, NULL }, + { TRACK_2, -BEAT_COL_SPACING*5.5f, NULL }, + { TRACK_3, -BEAT_COL_SPACING*4.5f, NULL }, + { TRACK_4, -BEAT_COL_SPACING*3.5f, NULL }, + { TRACK_5, -BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_6, -BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_7, -BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_9, +BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_10, +BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_11, +BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_12, +BEAT_COL_SPACING*3.5f, NULL }, + { TRACK_13, +BEAT_COL_SPACING*4.5f, NULL }, + { TRACK_14, +BEAT_COL_SPACING*5.5f, NULL }, + { TRACK_15, +BEAT_COL_SPACING*6.5f, NULL }, + { TRACK_16, +BEAT_COL_SPACING*8.0f, "scratch" }, + }, + { // PLAYER_2 + { TRACK_8, -BEAT_COL_SPACING*8.0f, "scratch" }, + { TRACK_1, -BEAT_COL_SPACING*6.5f, NULL }, + { TRACK_2, -BEAT_COL_SPACING*5.5f, NULL }, + { TRACK_3, -BEAT_COL_SPACING*4.5f, NULL }, + { TRACK_4, -BEAT_COL_SPACING*3.5f, NULL }, + { TRACK_5, -BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_6, -BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_7, -BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_9, +BEAT_COL_SPACING*0.5f, NULL }, + { TRACK_10, +BEAT_COL_SPACING*1.5f, NULL }, + { TRACK_11, +BEAT_COL_SPACING*2.5f, NULL }, + { TRACK_12, +BEAT_COL_SPACING*3.5f, NULL }, + { TRACK_13, +BEAT_COL_SPACING*4.5f, NULL }, + { TRACK_14, +BEAT_COL_SPACING*5.5f, NULL }, + { TRACK_15, +BEAT_COL_SPACING*6.5f, NULL }, + { TRACK_16, +BEAT_COL_SPACING*8.0f, "scratch" }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 2, 3, 4, 5, 6, 7, 0, 0, Style::END_MAPPING }, + { 8, 9, 10, 11, 12, 13, 14, 15, 15, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_Beat_Styles[] = +{ + &g_Style_Beat_Single5, + &g_Style_Beat_Double, + &g_Style_Beat_Single7, + &g_Style_Beat_Double7, + NULL +}; + const InputMapping g_AutoKeyMappings_Beat[] = { { 0, KEY_Cm, BEAT_BUTTON_KEY1, false }, @@ -354,6 +1513,7 @@ const InputMapping g_AutoKeyMappings_Beat[] = static const Game g_Game_Beat = { "beat", // m_szName + g_apGame_Beat_Styles, // m_apStyles true, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -390,6 +1550,130 @@ static const Game g_Game_Beat = TNS_W5, // m_mapW5To }; +static const Style g_Style_Maniax_Single = +{ // STYLE_MANIAX_SINGLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "single", // m_szName + STEPS_TYPE_MANIAX_SINGLE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 4, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -MANIAX_COL_SPACING*1.5f, NULL }, + { TRACK_2, -MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_3, +MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_4, +MANIAX_COL_SPACING*1.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -MANIAX_COL_SPACING*1.5f, NULL }, + { TRACK_2, -MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_3, +MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_4, +MANIAX_COL_SPACING*1.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 2, 0, 3, Style::END_MAPPING }, + { 1, 2, 0, 3, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0, 1, 2, 3 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Maniax_Versus = +{ // STYLE_MANIAX_VERSUS + true, // m_bUsedForGameplay + false, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "versus", // m_szName + STEPS_TYPE_MANIAX_SINGLE, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 4, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -MANIAX_COL_SPACING*1.5f, NULL }, + { TRACK_2, -MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_3, +MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_4, +MANIAX_COL_SPACING*1.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -MANIAX_COL_SPACING*1.5f, NULL }, + { TRACK_2, -MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_3, +MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_4, +MANIAX_COL_SPACING*1.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 2, 0, 3, Style::END_MAPPING }, + { 1, 2, 0, 3, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0, 1, 2, 3 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Maniax_Double = +{ // STYLE_MANIAX_DOUBLE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "double", // m_szName + STEPS_TYPE_MANIAX_DOUBLE, // m_StepsType + StyleType_OnePlayerTwoSides, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -MANIAX_COL_SPACING*3.5f, NULL }, + { TRACK_2, -MANIAX_COL_SPACING*2.5f, NULL }, + { TRACK_3, -MANIAX_COL_SPACING*1.5f, NULL }, + { TRACK_4, -MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_5, +MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_6, +MANIAX_COL_SPACING*1.5f, NULL }, + { TRACK_7, +MANIAX_COL_SPACING*2.5f, NULL }, + { TRACK_8, +MANIAX_COL_SPACING*3.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -MANIAX_COL_SPACING*3.5f, NULL }, + { TRACK_2, -MANIAX_COL_SPACING*2.5f, NULL }, + { TRACK_3, -MANIAX_COL_SPACING*1.5f, NULL }, + { TRACK_4, -MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_5, +MANIAX_COL_SPACING*0.5f, NULL }, + { TRACK_6, +MANIAX_COL_SPACING*1.5f, NULL }, + { TRACK_7, +MANIAX_COL_SPACING*2.5f, NULL }, + { TRACK_8, +MANIAX_COL_SPACING*3.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 2, 0, 3, Style::END_MAPPING }, + { 5, 6, 4, 7, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_Maniax_Styles[] = +{ + &g_Style_Maniax_Single, + &g_Style_Maniax_Versus, + &g_Style_Maniax_Double, + NULL +}; + const InputMapping g_AutoKeyMappings_Maniax[] = { { 0, KEY_Ca, MANIAX_BUTTON_HANDUPLEFT, false }, @@ -406,6 +1690,7 @@ const InputMapping g_AutoKeyMappings_Maniax[] = static const Game g_Game_Maniax = { "maniax", // m_szName + g_apGame_Maniax_Styles, // m_apStyles false, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -432,6 +1717,355 @@ static const Game g_Game_Maniax = TNS_W5, // m_mapW5To }; +static const Style g_Style_Techno_Single4 = +{ // STYLE_TECHNO_SINGLE4 + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "single4", // m_szName + STEPS_TYPE_TECHNO_SINGLE4, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 4, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_3, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*1.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_3, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*1.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 3, 2, 1, Style::END_MAPPING }, + { 0, 3, 2, 1, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Techno_Single5 = +{ // STYLE_TECHNO_SINGLE5 + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "single5", // m_szName + STEPS_TYPE_TECHNO_SINGLE5, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -TECHNO_COL_SPACING*2.0f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*1.0f, NULL }, + { TRACK_3, +TECHNO_COL_SPACING*0.0f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*1.0f, NULL }, + { TRACK_5, +TECHNO_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -TECHNO_COL_SPACING*2.0f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*1.0f, NULL }, + { TRACK_3, +TECHNO_COL_SPACING*0.0f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*1.0f, NULL }, + { TRACK_5, +TECHNO_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, + 1, 3, 2, 0, 4, Style::END_MAPPING }, + { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, + 1, 3, 2, 0, 4, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Techno_Single8 = +{ // STYLE_TECHNO_SINGLE8 + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "single8", // m_szName + STEPS_TYPE_TECHNO_SINGLE8, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_3, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_5, +TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_6, +TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_7, +TECHNO_COL_SPACING*3.5f, NULL }, + { TRACK_8, +TECHNO_COL_SPACING*4.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -TECHNO_COL_SPACING*4.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*3.5f, NULL }, + { TRACK_3, -TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_4, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_5, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_6, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_7, +TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_8, +TECHNO_COL_SPACING*2.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 6, 4, 3, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, + { 1, 6, 4, 3, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + true, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Techno_Versus4 = +{ // STYLE_TECHNO_VERSUS4 + true, // m_bUsedForGameplay + false, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "versus4", // m_szName + STEPS_TYPE_TECHNO_SINGLE4, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 4, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_3, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*1.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_3, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*1.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 3, 2, 1, Style::END_MAPPING }, + { 0, 3, 2, 1, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Techno_Versus5 = +{ // STYLE_TECHNO_VERSUS5 + true, // m_bUsedForGameplay + false, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "versus5", // m_szName + STEPS_TYPE_TECHNO_SINGLE5, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -TECHNO_COL_SPACING*2.0f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*1.0f, NULL }, + { TRACK_3, +TECHNO_COL_SPACING*0.0f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*1.0f, NULL }, + { TRACK_5, +TECHNO_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -TECHNO_COL_SPACING*2.0f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*1.0f, NULL }, + { TRACK_3, +TECHNO_COL_SPACING*0.0f, NULL }, + { TRACK_4, +TECHNO_COL_SPACING*1.0f, NULL }, + { TRACK_5, +TECHNO_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, + 1, 3, 2, 0, 4, Style::END_MAPPING }, + { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, + 1, 3, 2, 0, 4, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Techno_Versus8 = +{ // STYLE_TECHNO_VERSUS8 + true, // m_bUsedForGameplay + false, // m_bUsedForEdit + true, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "versus8", // m_szName + STEPS_TYPE_TECHNO_SINGLE8, // m_StepsType + StyleType_TwoPlayersTwoSides, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -TECHNO_VERSUS_COL_SPACING*3.5f, NULL }, + { TRACK_2, -TECHNO_VERSUS_COL_SPACING*2.5f, NULL }, + { TRACK_3, -TECHNO_VERSUS_COL_SPACING*1.5f, NULL }, + { TRACK_4, -TECHNO_VERSUS_COL_SPACING*0.5f, NULL }, + { TRACK_5, +TECHNO_VERSUS_COL_SPACING*0.5f, NULL }, + { TRACK_6, +TECHNO_VERSUS_COL_SPACING*1.5f, NULL }, + { TRACK_7, +TECHNO_VERSUS_COL_SPACING*2.5f, NULL }, + { TRACK_8, +TECHNO_VERSUS_COL_SPACING*3.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -TECHNO_VERSUS_COL_SPACING*3.5f, NULL }, + { TRACK_2, -TECHNO_VERSUS_COL_SPACING*2.5f, NULL }, + { TRACK_3, -TECHNO_VERSUS_COL_SPACING*1.5f, NULL }, + { TRACK_4, -TECHNO_VERSUS_COL_SPACING*0.5f, NULL }, + { TRACK_5, +TECHNO_VERSUS_COL_SPACING*0.5f, NULL }, + { TRACK_6, +TECHNO_VERSUS_COL_SPACING*1.5f, NULL }, + { TRACK_7, +TECHNO_VERSUS_COL_SPACING*2.5f, NULL }, + { TRACK_8, +TECHNO_VERSUS_COL_SPACING*3.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 1, 6, 4, 3, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, + { 1, 6, 4, 3, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, +// { 1, 6, 4, Style::NO_MAPPING, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, +// { 1, 6, 4, Style::NO_MAPPING, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + true, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Techno_Double4 = +{ // STYLE_TECHNO_DOUBLE4 + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "double4", // m_szName + STEPS_TYPE_TECHNO_DOUBLE4, // m_StepsType + StyleType_OnePlayerTwoSides, // m_StyleType + 8, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -TECHNO_COL_SPACING*3.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_3, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_4, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_5, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_6, +TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_7, +TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_8, +TECHNO_COL_SPACING*3.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -TECHNO_COL_SPACING*3.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_3, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_4, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_5, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_6, +TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_7, +TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_8, +TECHNO_COL_SPACING*3.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 3, 2, 1, Style::END_MAPPING }, + { 4, 7, 6, 5, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Techno_Double5 = +{ // STYLE_TECHNO_DOUBLE5 + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "double5", // m_szName + STEPS_TYPE_TECHNO_DOUBLE5, // m_StepsType + StyleType_OnePlayerTwoSides, // m_StyleType + 10, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -TECHNO_COL_SPACING*4.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*3.5f, NULL }, + { TRACK_3, -TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_4, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_5, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_6, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_7, +TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_8, +TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_9, +TECHNO_COL_SPACING*3.5f, NULL }, + { TRACK_10, +TECHNO_COL_SPACING*4.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -TECHNO_COL_SPACING*4.5f, NULL }, + { TRACK_2, -TECHNO_COL_SPACING*3.5f, NULL }, + { TRACK_3, -TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_4, -TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_5, -TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_6, +TECHNO_COL_SPACING*0.5f, NULL }, + { TRACK_7, +TECHNO_COL_SPACING*1.5f, NULL }, + { TRACK_8, +TECHNO_COL_SPACING*2.5f, NULL }, + { TRACK_9, +TECHNO_COL_SPACING*3.5f, NULL }, + { TRACK_10, +TECHNO_COL_SPACING*4.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, + 1, 3, 2, 0, 4, Style::END_MAPPING }, + { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, + 6, 8, 7, 5, 9, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7,8,9 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_Techno_Styles[] = +{ + &g_Style_Techno_Single4, + &g_Style_Techno_Single5, + &g_Style_Techno_Single8, + &g_Style_Techno_Versus4, + &g_Style_Techno_Versus5, + &g_Style_Techno_Versus8, + &g_Style_Techno_Double4, + &g_Style_Techno_Double5, + NULL +}; + const InputMapping g_AutoKeyMappings_Techno[] = { { 0, KEY_Ca, TECHNO_BUTTON_LEFT, false }, @@ -458,6 +2092,7 @@ const InputMapping g_AutoKeyMappings_Techno[] = static const Game g_Game_Techno = { "techno", // m_szName + g_apGame_Techno_Styles, // m_apStyles false, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -494,6 +2129,97 @@ static const Game g_Game_Techno = TNS_W5, // m_mapW5To }; +static const Style g_Style_Popn_Five = +{ // STYLE_POPN_FIVE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "popn-five", // m_szName + STEPS_TYPE_POPN_FIVE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 5, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -POPN5_COL_SPACING*2.0f, NULL }, + { TRACK_2, -POPN5_COL_SPACING*1.0f, NULL }, + { TRACK_3, +POPN5_COL_SPACING*0.0f, NULL }, + { TRACK_4, +POPN5_COL_SPACING*1.0f, NULL }, + { TRACK_5, +POPN5_COL_SPACING*2.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -POPN5_COL_SPACING*2.0f, NULL }, + { TRACK_2, -POPN5_COL_SPACING*1.0f, NULL }, + { TRACK_3, +POPN5_COL_SPACING*0.0f, NULL }, + { TRACK_4, +POPN5_COL_SPACING*1.0f, NULL }, + { TRACK_5, +POPN5_COL_SPACING*2.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { Style::NO_MAPPING, Style::NO_MAPPING, 0, 1, 2, 3, 4, Style::END_MAPPING }, + { Style::NO_MAPPING, Style::NO_MAPPING, 0, 1, 2, 3, 4, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style g_Style_Popn_Nine = +{ // STYLE_POPN_NINE + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + true, // m_bUsedForDemonstration + true, // m_bUsedForHowToPlay + "popn-nine", // m_szName + STEPS_TYPE_POPN_NINE, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + 9, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -POPN9_COL_SPACING*4.0f, NULL }, + { TRACK_2, -POPN9_COL_SPACING*3.0f, NULL }, + { TRACK_3, -POPN9_COL_SPACING*2.0f, NULL }, + { TRACK_4, -POPN9_COL_SPACING*1.0f, NULL }, + { TRACK_5, +POPN9_COL_SPACING*0.0f, NULL }, + { TRACK_6, +POPN9_COL_SPACING*1.0f, NULL }, + { TRACK_7, +POPN9_COL_SPACING*2.0f, NULL }, + { TRACK_8, +POPN9_COL_SPACING*3.0f, NULL }, + { TRACK_9, +POPN9_COL_SPACING*4.0f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -POPN9_COL_SPACING*4.0f, NULL }, + { TRACK_2, -POPN9_COL_SPACING*3.0f, NULL }, + { TRACK_3, -POPN9_COL_SPACING*2.0f, NULL }, + { TRACK_4, -POPN9_COL_SPACING*1.0f, NULL }, + { TRACK_5, +POPN9_COL_SPACING*0.0f, NULL }, + { TRACK_6, +POPN9_COL_SPACING*1.0f, NULL }, + { TRACK_7, +POPN9_COL_SPACING*2.0f, NULL }, + { TRACK_8, +POPN9_COL_SPACING*3.0f, NULL }, + { TRACK_9, +POPN9_COL_SPACING*4.0f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Style::END_MAPPING }, + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7,8 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_Popn_Styles[] = +{ + &g_Style_Popn_Five, + &g_Style_Popn_Nine, + NULL +}; + const InputMapping g_AutoKeyMappings_Popn[] = { { 0, KEY_Cz, POPN_BUTTON_LEFT_WHITE, false }, @@ -511,6 +2237,7 @@ const InputMapping g_AutoKeyMappings_Popn[] = static const Game g_Game_Popn = { "popn", // m_szName + g_apGame_Popn_Styles, // m_apStyles true, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -560,9 +2287,60 @@ const InputMapping g_AutoKeyMappings_Lights[] = InputMapping_END }; +static const Style g_Style_Lights_Cabinet = +{ // STYLE_LIGHTS_CABINET + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + false, // m_bUsedForDemonstration + false, // m_bUsedForHowToPlay + "cabinet", // m_szName + STEPS_TYPE_LIGHTS_CABINET, // m_StepsType + StyleType_OnePlayerOneSide, // m_StyleType + NUM_CabinetLight, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, + }, + { // PLAYER_2 + { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, + { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, + { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, + { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, + { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, + }, + }, + { // m_iInputColumn[NUM_GameController][NUM_GameButton] + { 0, 1, 2, 3, 4, 5, 6, 7, 8, Style::END_MAPPING }, + { 0, 1, 2, 3, 4, 5, 6, 7, 8, Style::END_MAPPING }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,1,2,3,4,5,6,7 + }, + false, // m_bNeedsZoomOutWith2Players + false, // m_bCanUseBeginnerHelper + false, // m_bLockDifficulties +}; + +static const Style *g_apGame_Lights_Styles[] = +{ + &g_Style_Lights_Cabinet, + NULL +}; + static const Game g_Game_Lights = { "lights", // m_szName + g_apGame_Lights_Styles, // m_apStyles false, // m_bCountNotesSeparately false, // m_bAllowHopos { // m_InputScheme @@ -611,1638 +2389,6 @@ static const Game *g_Games[] = &g_Game_Lights, }; -static Style g_Styles[] = -{ - { // STYLE_DANCE_SINGLE - &g_Game_Dance, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "single", // m_szName - STEPS_TYPE_DANCE_SINGLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 4, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 3, 2, 1, Style::END_MAPPING }, - { 0, 3, 2, 1, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0, 1, 2, 3 - }, - false, // m_bNeedsZoomOutWith2Players - true, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_DANCE_VERSUS - &g_Game_Dance, // m_Game - true, // m_bUsedForGameplay - false, // m_bUsedForEdit - true, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "versus", // m_szName - STEPS_TYPE_DANCE_SINGLE, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 4, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, - }, - }, - { - { 0, 3, 2, 1, Style::END_MAPPING }, - { 0, 3, 2, 1, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0, 1, 2, 3 - }, - false, // m_bNeedsZoomOutWith2Players - true, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_DANCE_DOUBLE - &g_Game_Dance, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "double", // m_szName - STEPS_TYPE_DANCE_DOUBLE, // m_StepsType - StyleType_OnePlayerTwoSides, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 3, 2, 1, Style::END_MAPPING }, - { 4, 7, 6, 5, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_DANCE_COUPLE - &g_Game_Dance, // m_Game - true, // m_bUsedForGameplay - false, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "couple", // m_szName - STEPS_TYPE_DANCE_COUPLE, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 4, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_3, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_4, +DANCE_COL_SPACING*1.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_5, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_6, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*1.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 3, 2, 1, Style::END_MAPPING }, - { 0, 3, 2, 1, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3 - }, - false, // m_bNeedsZoomOutWith2Players - true, // m_bCanUseBeginnerHelper - true, // m_bLockDifficulties - }, - { // STYLE_DANCE_SOLO - &g_Game_Dance, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "solo", // m_szName - STEPS_TYPE_DANCE_SOLO, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 6, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_4, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*2.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_4, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*2.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 5, 3, 2, 1, 4, Style::END_MAPPING }, - { 0, 5, 3, 2, 1, 4, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_DANCE_EDIT_COUPLE - &g_Game_Dance, // m_Game - false, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "couple-edit", // m_szName - STEPS_TYPE_DANCE_COUPLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_COL_SPACING*4.0f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*3.0f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*2.0f, NULL }, - { TRACK_4, -DANCE_COL_SPACING*1.0f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*1.0f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*2.0f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*3.0f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*4.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -DANCE_COL_SPACING*4.0f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*3.0f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*2.0f, NULL }, - { TRACK_4, -DANCE_COL_SPACING*1.0f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*1.0f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*2.0f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*3.0f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*4.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 1, 2, 3, Style::END_MAPPING }, - { 4, 5, 6, 7, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, -/* { // STYLE_DANCE_SOLO_VERSUS - "dance-solo-versus", // m_szName - STEPS_TYPE_DANCE_SOLO, // m_StepsType - ONE_PLAYER_ONE_CREDIT, // m_StyleType - 6, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_6PANEL_VERSUS_COL_SPACING*2.5f }, - { TRACK_2, -DANCE_6PANEL_VERSUS_COL_SPACING*1.5f }, - { TRACK_3, -DANCE_6PANEL_VERSUS_COL_SPACING*0.5f }, - { TRACK_4, +DANCE_6PANEL_VERSUS_COL_SPACING*0.5f }, - { TRACK_5, +DANCE_6PANEL_VERSUS_COL_SPACING*1.5f }, - { TRACK_6, +DANCE_6PANEL_VERSUS_COL_SPACING*2.5f }, - }, - { // PLAYER_2 - { TRACK_1, -DANCE_6PANEL_VERSUS_COL_SPACING*2.5f }, - { TRACK_2, -DANCE_6PANEL_VERSUS_COL_SPACING*1.5f }, - { TRACK_3, -DANCE_6PANEL_VERSUS_COL_SPACING*0.5f }, - { TRACK_4, +DANCE_6PANEL_VERSUS_COL_SPACING*0.5f }, - { TRACK_5, +DANCE_6PANEL_VERSUS_COL_SPACING*1.5f }, - { TRACK_6, +DANCE_6PANEL_VERSUS_COL_SPACING*2.5f }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 5, 3, 2, 1, 4, Style::END_MAPPING }, - { 0, 5, 3, 2, 1, 4, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,5,1,4,2,3 // outside in - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, */ - { // STYLE_DANCE_ROUTINE - &g_Game_Dance, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "routine", // m_szName - STEPS_TYPE_DANCE_ROUTINE, // m_StepsType - StyleType_TwoPlayersSharedSides, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 3, 2, 1, Style::END_MAPPING }, - { 4, 7, 6, 5, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - true, // m_bLockDifficulties - - }, - { // STYLE_PUMP_SINGLE - &g_Game_Pump, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "single", // m_szName - STEPS_TYPE_PUMP_SINGLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 3, 2, 0, 4, Style::END_MAPPING }, - { 1, 3, 2, 0, 4, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,1,3,0,4 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_PUMP_VERSUS - &g_Game_Pump, // m_Game - true, // m_bUsedForGameplay - false, // m_bUsedForEdit - true, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "versus", // m_szName - STEPS_TYPE_PUMP_SINGLE, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 3, 2, 0, 4, Style::END_MAPPING }, - { 1, 3, 2, 0, 4, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,1,3,0,4 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_PUMP_HALFDOUBLE - &g_Game_Pump, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "halfdouble", // m_szName - STEPS_TYPE_PUMP_HALFDOUBLE, // m_StepsType - StyleType_OnePlayerTwoSides, // m_StyleType - 6, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -PUMP_COL_SPACING*2.5f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*1.5f, NULL }, - { TRACK_3, -PUMP_COL_SPACING*0.5f, NULL }, - { TRACK_4, +PUMP_COL_SPACING*0.5f, NULL }, - { TRACK_5, +PUMP_COL_SPACING*1.5f, NULL }, - { TRACK_6, +PUMP_COL_SPACING*2.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -PUMP_COL_SPACING*2.5f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*1.5f, NULL }, - { TRACK_3, -PUMP_COL_SPACING*0.5f, NULL }, - { TRACK_4, +PUMP_COL_SPACING*0.5f, NULL }, - { TRACK_5, +PUMP_COL_SPACING*1.5f, NULL }, - { TRACK_6, +PUMP_COL_SPACING*2.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { Style::NO_MAPPING, 1, 0, Style::NO_MAPPING, 2, Style::END_MAPPING }, - { 3, Style::NO_MAPPING, 5, 4, Style::NO_MAPPING, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,3,1,4,0,5 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_PUMP_DOUBLE - &g_Game_Pump, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "double", // m_szName - STEPS_TYPE_PUMP_DOUBLE, // m_StepsType - StyleType_OnePlayerTwoSides, // m_StyleType - 10, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -PUMP_COL_SPACING*4.5f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*3.5f, NULL }, - { TRACK_3, -PUMP_COL_SPACING*2.5f, NULL }, - { TRACK_4, -PUMP_COL_SPACING*1.5f, NULL }, - { TRACK_5, -PUMP_COL_SPACING*0.5f, NULL }, - { TRACK_6, +PUMP_COL_SPACING*0.5f, NULL }, - { TRACK_7, +PUMP_COL_SPACING*1.5f, NULL }, - { TRACK_8, +PUMP_COL_SPACING*2.5f, NULL }, - { TRACK_9, +PUMP_COL_SPACING*3.5f, NULL }, - { TRACK_10, +PUMP_COL_SPACING*4.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -PUMP_COL_SPACING*4.5f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*3.5f, NULL }, - { TRACK_3, -PUMP_COL_SPACING*2.5f, NULL }, - { TRACK_4, -PUMP_COL_SPACING*1.5f, NULL }, - { TRACK_5, -PUMP_COL_SPACING*0.5f, NULL }, - { TRACK_6, +PUMP_COL_SPACING*0.5f, NULL }, - { TRACK_7, +PUMP_COL_SPACING*1.5f, NULL }, - { TRACK_8, +PUMP_COL_SPACING*2.5f, NULL }, - { TRACK_9, +PUMP_COL_SPACING*3.5f, NULL }, - { TRACK_10, +PUMP_COL_SPACING*4.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 3, 2, 0, 4, Style::END_MAPPING }, - { 6, 8, 7, 5, 9, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,1,3,0,4, 2+5,1+5,3+5,0+5,4+5 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_PUMP_COUPLE - &g_Game_Pump, // m_Game - true, // m_bUsedForGameplay - false, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "couple", // m_szName - STEPS_TYPE_PUMP_COUPLE, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_6, -PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_7, -PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_8, +PUMP_COL_SPACING*0.0f, NULL }, - { TRACK_9, +PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_10, +PUMP_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 3, 2, 0, 4, Style::END_MAPPING }, - { 1, 3, 2, 0, 4, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,1,3,0,4 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - true, // m_bLockDifficulties - }, - { // STYLE_PUMP_EDIT_COUPLE - &g_Game_Pump, // m_Game - false, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "couple-edit", // m_szName - STEPS_TYPE_PUMP_COUPLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 10, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -PUMP_COL_SPACING*5.0f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*4.0f, NULL }, - { TRACK_3, -PUMP_COL_SPACING*3.0f, NULL }, - { TRACK_4, -PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_5, -PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_6, +PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_7, +PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_8, +PUMP_COL_SPACING*3.0f, NULL }, - { TRACK_9, +PUMP_COL_SPACING*4.0f, NULL }, - { TRACK_10, +PUMP_COL_SPACING*5.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -PUMP_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PUMP_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PUMP_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PUMP_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 3, 2, 0, 4, 6, 8, 7, 5, 9, Style::END_MAPPING }, - { 1, 3, 2, 0, 4, 6, 8, 7, 5, 9, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,1,3,0,4 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_EZ2_SINGLE - &g_Game_Ez2, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "single", // m_szName - STEPS_TYPE_EZ2_SINGLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -EZ2_COL_SPACING*2.0f, NULL }, - { TRACK_2, -EZ2_COL_SPACING*1.0f, NULL }, - { TRACK_3, +EZ2_COL_SPACING*0.0f, NULL }, - { TRACK_4, +EZ2_COL_SPACING*1.0f, NULL }, - { TRACK_5, +EZ2_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -EZ2_COL_SPACING*2.0f, NULL }, - { TRACK_2, -EZ2_COL_SPACING*1.0f, NULL }, - { TRACK_3, +EZ2_COL_SPACING*0.0f, NULL }, - { TRACK_4, +EZ2_COL_SPACING*1.0f, NULL }, - { TRACK_5, +EZ2_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 4, 2, 1, 3, Style::END_MAPPING }, - { 0, 4, 2, 1, 3, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,0,4,1,3 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_EZ2_REAL - &g_Game_Ez2, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "real", // m_szName - STEPS_TYPE_EZ2_REAL, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 7, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -EZ2_REAL_COL_SPACING*3.0f, NULL }, - { TRACK_2, -EZ2_REAL_COL_SPACING*2.0f, NULL }, - { TRACK_3, -EZ2_REAL_COL_SPACING*1.0f, NULL }, - { TRACK_4, +EZ2_REAL_COL_SPACING*0.0f, NULL }, - { TRACK_5, +EZ2_REAL_COL_SPACING*1.0f, NULL }, - { TRACK_6, +EZ2_REAL_COL_SPACING*2.0f, NULL }, - { TRACK_7, +EZ2_REAL_COL_SPACING*3.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -EZ2_REAL_COL_SPACING*3.0f, NULL }, - { TRACK_2, -EZ2_REAL_COL_SPACING*2.0f, NULL }, - { TRACK_3, -EZ2_REAL_COL_SPACING*1.0f, NULL }, - { TRACK_4, +EZ2_REAL_COL_SPACING*0.0f, NULL }, - { TRACK_5, +EZ2_REAL_COL_SPACING*1.0f, NULL }, - { TRACK_6, +EZ2_REAL_COL_SPACING*2.0f, NULL }, - { TRACK_7, +EZ2_REAL_COL_SPACING*3.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 6, 3, 2, 4, 1, 5, Style::END_MAPPING }, - { 0, 6, 3, 2, 4, 1, 5, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 3,0,6,2,4,1,5 // This should be from back to front: Down, UpLeft, UpRight, Lower Left Hand, Lower Right Hand, Upper Left Hand, Upper Right Hand - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_EZ2_SINGLE_VERSUS - &g_Game_Ez2, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "versus", // m_szName - STEPS_TYPE_EZ2_SINGLE, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -EZ2_COL_SPACING*2.0f, NULL }, - { TRACK_2, -EZ2_COL_SPACING*1.0f, NULL }, - { TRACK_3, +EZ2_COL_SPACING*0.0f, NULL }, - { TRACK_4, +EZ2_COL_SPACING*1.0f, NULL }, - { TRACK_5, +EZ2_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -EZ2_COL_SPACING*2.0f, NULL }, - { TRACK_2, -EZ2_COL_SPACING*1.0f, NULL }, - { TRACK_3, +EZ2_COL_SPACING*0.0f, NULL }, - { TRACK_4, +EZ2_COL_SPACING*1.0f, NULL }, - { TRACK_5, +EZ2_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 4, 2, 1, 3, Style::END_MAPPING }, - { 0, 4, 2, 1, 3, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,0,4,1,3 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_EZ2_REAL_VERSUS - &g_Game_Ez2, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "versusReal", // m_szName - STEPS_TYPE_EZ2_REAL, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 7, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -EZ2_REAL_COL_SPACING*3.0f, NULL }, - { TRACK_2, -EZ2_REAL_COL_SPACING*2.0f, NULL }, - { TRACK_3, -EZ2_REAL_COL_SPACING*1.0f, NULL }, - { TRACK_4, +EZ2_REAL_COL_SPACING*0.0f, NULL }, - { TRACK_5, +EZ2_REAL_COL_SPACING*1.0f, NULL }, - { TRACK_6, +EZ2_REAL_COL_SPACING*2.0f, NULL }, - { TRACK_7, +EZ2_REAL_COL_SPACING*3.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -EZ2_REAL_COL_SPACING*3.0f, NULL }, - { TRACK_2, -EZ2_REAL_COL_SPACING*2.0f, NULL }, - { TRACK_3, -EZ2_REAL_COL_SPACING*1.0f, NULL }, - { TRACK_4, +EZ2_REAL_COL_SPACING*0.0f, NULL }, - { TRACK_5, +EZ2_REAL_COL_SPACING*1.0f, NULL }, - { TRACK_6, +EZ2_REAL_COL_SPACING*2.0f, NULL }, - { TRACK_7, +EZ2_REAL_COL_SPACING*3.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 6, 3, 2, 4, 1, 5, Style::END_MAPPING }, - { 0, 6, 3, 2, 4, 1, 5, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 3,0,6,2,4,1,5 // This should be from back to front: Down, UpLeft, UpRight, Lower Left Hand, Lower Right Hand, Upper Left Hand, Upper Right Hand - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_EZ2_DOUBLE - &g_Game_Ez2, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "double", // m_szName - STEPS_TYPE_EZ2_DOUBLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 10, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -EZ2_COL_SPACING*4.5f, NULL }, - { TRACK_2, -EZ2_COL_SPACING*3.5f, NULL }, - { TRACK_3, -EZ2_COL_SPACING*2.5f, NULL }, - { TRACK_4, -EZ2_COL_SPACING*1.5f, NULL }, - { TRACK_5, -EZ2_COL_SPACING*0.5f, NULL }, - { TRACK_6, +EZ2_COL_SPACING*0.5f, NULL }, - { TRACK_7, +EZ2_COL_SPACING*1.5f, NULL }, - { TRACK_8, +EZ2_COL_SPACING*2.5f, NULL }, - { TRACK_9, +EZ2_COL_SPACING*3.5f, NULL }, - { TRACK_10, +EZ2_COL_SPACING*4.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -EZ2_COL_SPACING*4.5f, NULL }, - { TRACK_2, -EZ2_COL_SPACING*3.5f, NULL }, - { TRACK_3, -EZ2_COL_SPACING*2.5f, NULL }, - { TRACK_4, -EZ2_COL_SPACING*1.5f, NULL }, - { TRACK_5, -EZ2_COL_SPACING*0.5f, NULL }, - { TRACK_6, +EZ2_COL_SPACING*0.5f, NULL }, - { TRACK_7, +EZ2_COL_SPACING*1.5f, NULL }, - { TRACK_8, +EZ2_COL_SPACING*2.5f, NULL }, - { TRACK_9, +EZ2_COL_SPACING*3.5f, NULL }, - { TRACK_10, +EZ2_COL_SPACING*4.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 4, 2, 1, 3, Style::END_MAPPING }, - { 5, 9, 7, 6, 8, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,0,4,1,3,7,5,9,6,8 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_PARA_SINGLE - &g_Game_Para, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "single", // m_szName - STEPS_TYPE_PARA_SINGLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -PARA_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PARA_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PARA_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PARA_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PARA_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -PARA_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PARA_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PARA_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PARA_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PARA_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 1, 2, 3, 4, Style::END_MAPPING }, - { 0, 1, 2, 3, 4, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,0,4,1,3 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_PARA_VERSUS - &g_Game_Para, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "versus", // m_szName - STEPS_TYPE_PARA_VERSUS, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -PARA_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PARA_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PARA_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PARA_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PARA_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -PARA_COL_SPACING*2.0f, NULL }, - { TRACK_2, -PARA_COL_SPACING*1.0f, NULL }, - { TRACK_3, +PARA_COL_SPACING*0.0f, NULL }, - { TRACK_4, +PARA_COL_SPACING*1.0f, NULL }, - { TRACK_5, +PARA_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 1, 2, 3, 4, Style::END_MAPPING }, - { 0, 1, 2, 3, 4, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 2,0,4,1,3 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_DS3DDX_SINGLE - &g_Game_DS3DDX, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "single", // m_szName - STEPS_TYPE_DS3DDX_SINGLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DS3DDX_COL_SPACING*3.0f, NULL }, - { TRACK_2, -DS3DDX_COL_SPACING*2.0f, NULL }, - { TRACK_3, -DS3DDX_COL_SPACING*1.0f, NULL }, - { TRACK_4, -DS3DDX_COL_SPACING*0.0f, NULL }, - { TRACK_5, +DS3DDX_COL_SPACING*0.0f, NULL }, - { TRACK_6, +DS3DDX_COL_SPACING*1.0f, NULL }, - { TRACK_7, +DS3DDX_COL_SPACING*2.0f, NULL }, - { TRACK_8, +DS3DDX_COL_SPACING*3.0f , NULL}, - }, - { // PLAYER_2 - { TRACK_1, -DS3DDX_COL_SPACING*3.0f, NULL }, - { TRACK_2, -DS3DDX_COL_SPACING*2.0f, NULL }, - { TRACK_3, -DS3DDX_COL_SPACING*1.0f, NULL }, - { TRACK_4, -DS3DDX_COL_SPACING*0.0f, NULL }, - { TRACK_5, +DS3DDX_COL_SPACING*0.0f, NULL }, - { TRACK_6, +DS3DDX_COL_SPACING*1.0f, NULL }, - { TRACK_7, +DS3DDX_COL_SPACING*2.0f, NULL }, - { TRACK_8, +DS3DDX_COL_SPACING*3.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 1, 2, 3, 4, 5, 6, 7, Style::END_MAPPING }, - { 0, 1, 2, 3, 4, 5, 6, 7, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_BEAT_SINGLE5 - &g_Game_Beat, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "single5", // m_szName - STEPS_TYPE_BEAT_SINGLE5, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 6, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_2, -BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_3, -BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_4, +BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_5, +BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_6, +BEAT_COL_SPACING*3.0f, "scratch" }, - }, - { // PLAYER_2 - { TRACK_1, -BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_2, -BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_3, -BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_4, +BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_5, +BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_6, +BEAT_COL_SPACING*3.0f, "scratch" }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 1, 2, 3, 4, Style::NO_MAPPING, Style::NO_MAPPING, 5, 5, Style::END_MAPPING }, - { 0, 1, 2, 3, 4, Style::NO_MAPPING, Style::NO_MAPPING, 5, 5, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_BEAT_DOUBLE - &g_Game_Beat, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "double5", // m_szName - STEPS_TYPE_BEAT_DOUBLE5, // m_StepsType - StyleType_OnePlayerTwoSides, // m_StyleType - 12, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -BEAT_COL_SPACING*6.0f, NULL }, - { TRACK_2, -BEAT_COL_SPACING*5.0f, NULL }, - { TRACK_3, -BEAT_COL_SPACING*4.0f, NULL }, - { TRACK_4, -BEAT_COL_SPACING*3.0f, NULL }, - { TRACK_5, -BEAT_COL_SPACING*2.0f, NULL }, - { TRACK_6, -BEAT_COL_SPACING*1.5f, "scratch" }, - { TRACK_7, +BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_8, +BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_9, +BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_10, +BEAT_COL_SPACING*3.5f, NULL }, - { TRACK_11, +BEAT_COL_SPACING*4.5f, NULL }, - { TRACK_12, +BEAT_COL_SPACING*6.0f, "scratch" }, - }, - { // PLAYER_2 - { TRACK_1, -BEAT_COL_SPACING*6.0f, NULL }, - { TRACK_2, -BEAT_COL_SPACING*5.0f, NULL }, - { TRACK_3, -BEAT_COL_SPACING*4.0f, NULL }, - { TRACK_4, -BEAT_COL_SPACING*3.0f, NULL }, - { TRACK_5, -BEAT_COL_SPACING*2.0f, NULL }, - { TRACK_6, -BEAT_COL_SPACING*1.5f, "scratch" }, - { TRACK_7, +BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_8, +BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_9, +BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_10, +BEAT_COL_SPACING*3.5f, NULL }, - { TRACK_11, +BEAT_COL_SPACING*4.5f, NULL }, - { TRACK_12, +BEAT_COL_SPACING*6.0f, "scratch" }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 1, 2, 3, 4, Style::NO_MAPPING, Style::NO_MAPPING, 5, 5, Style::END_MAPPING }, - { 5, 6, 7, 8, 9, Style::NO_MAPPING, Style::NO_MAPPING, 10, 10, Style::END_MAPPING } - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7,8,9,10,11 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_BEAT_SINGLE7 - &g_Game_Beat, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "single7", // m_szName - STEPS_TYPE_BEAT_SINGLE7, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_8, -BEAT_COL_SPACING*3.5f, "scratch" }, - { TRACK_1, -BEAT_COL_SPACING*2.0f, NULL }, - { TRACK_2, -BEAT_COL_SPACING*1.0f, NULL }, - { TRACK_3, -BEAT_COL_SPACING*0.0f, NULL }, - { TRACK_4, +BEAT_COL_SPACING*1.0f, NULL }, - { TRACK_5, +BEAT_COL_SPACING*2.0f, NULL }, - { TRACK_6, +BEAT_COL_SPACING*3.0f, NULL }, - { TRACK_7, +BEAT_COL_SPACING*4.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -BEAT_COL_SPACING*3.5f, NULL }, - { TRACK_2, -BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_3, -BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_4, -BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_5, +BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_6, +BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_7, +BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_8, +BEAT_COL_SPACING*4.0f, "scratch" }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 2, 3, 4, 5, 6, 7, 0, 0, Style::END_MAPPING }, - { 0, 1, 2, 3, 4, 5, 6, 7, 7, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_BEAT_DOUBLE7 - &g_Game_Beat, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "double7", // m_szName - STEPS_TYPE_BEAT_DOUBLE7, // m_StepsType - StyleType_OnePlayerTwoSides, // m_StyleType - 16, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_8, -BEAT_COL_SPACING*8.0f, "scratch" }, - { TRACK_1, -BEAT_COL_SPACING*6.5f, NULL }, - { TRACK_2, -BEAT_COL_SPACING*5.5f, NULL }, - { TRACK_3, -BEAT_COL_SPACING*4.5f, NULL }, - { TRACK_4, -BEAT_COL_SPACING*3.5f, NULL }, - { TRACK_5, -BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_6, -BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_7, -BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_9, +BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_10, +BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_11, +BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_12, +BEAT_COL_SPACING*3.5f, NULL }, - { TRACK_13, +BEAT_COL_SPACING*4.5f, NULL }, - { TRACK_14, +BEAT_COL_SPACING*5.5f, NULL }, - { TRACK_15, +BEAT_COL_SPACING*6.5f, NULL }, - { TRACK_16, +BEAT_COL_SPACING*8.0f, "scratch" }, - }, - { // PLAYER_2 - { TRACK_8, -BEAT_COL_SPACING*8.0f, "scratch" }, - { TRACK_1, -BEAT_COL_SPACING*6.5f, NULL }, - { TRACK_2, -BEAT_COL_SPACING*5.5f, NULL }, - { TRACK_3, -BEAT_COL_SPACING*4.5f, NULL }, - { TRACK_4, -BEAT_COL_SPACING*3.5f, NULL }, - { TRACK_5, -BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_6, -BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_7, -BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_9, +BEAT_COL_SPACING*0.5f, NULL }, - { TRACK_10, +BEAT_COL_SPACING*1.5f, NULL }, - { TRACK_11, +BEAT_COL_SPACING*2.5f, NULL }, - { TRACK_12, +BEAT_COL_SPACING*3.5f, NULL }, - { TRACK_13, +BEAT_COL_SPACING*4.5f, NULL }, - { TRACK_14, +BEAT_COL_SPACING*5.5f, NULL }, - { TRACK_15, +BEAT_COL_SPACING*6.5f, NULL }, - { TRACK_16, +BEAT_COL_SPACING*8.0f, "scratch" }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 2, 3, 4, 5, 6, 7, 0, 0, Style::END_MAPPING }, - { 8, 9, 10, 11, 12, 13, 14, 15, 15, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_MANIAX_SINGLE - &g_Game_Maniax, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "single", // m_szName - STEPS_TYPE_MANIAX_SINGLE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 4, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -MANIAX_COL_SPACING*1.5f, NULL }, - { TRACK_2, -MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_3, +MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_4, +MANIAX_COL_SPACING*1.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -MANIAX_COL_SPACING*1.5f, NULL }, - { TRACK_2, -MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_3, +MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_4, +MANIAX_COL_SPACING*1.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 2, 0, 3, Style::END_MAPPING }, - { 1, 2, 0, 3, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0, 1, 2, 3 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_MANIAX_VERSUS - &g_Game_Maniax, // m_Game - true, // m_bUsedForGameplay - false, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "versus", // m_szName - STEPS_TYPE_MANIAX_SINGLE, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 4, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -MANIAX_COL_SPACING*1.5f, NULL }, - { TRACK_2, -MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_3, +MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_4, +MANIAX_COL_SPACING*1.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -MANIAX_COL_SPACING*1.5f, NULL }, - { TRACK_2, -MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_3, +MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_4, +MANIAX_COL_SPACING*1.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 2, 0, 3, Style::END_MAPPING }, - { 1, 2, 0, 3, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0, 1, 2, 3 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_MANIAX_DOUBLE - &g_Game_Maniax, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "double", // m_szName - STEPS_TYPE_MANIAX_DOUBLE, // m_StepsType - StyleType_OnePlayerTwoSides, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -MANIAX_COL_SPACING*3.5f, NULL }, - { TRACK_2, -MANIAX_COL_SPACING*2.5f, NULL }, - { TRACK_3, -MANIAX_COL_SPACING*1.5f, NULL }, - { TRACK_4, -MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_5, +MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_6, +MANIAX_COL_SPACING*1.5f, NULL }, - { TRACK_7, +MANIAX_COL_SPACING*2.5f, NULL }, - { TRACK_8, +MANIAX_COL_SPACING*3.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -MANIAX_COL_SPACING*3.5f, NULL }, - { TRACK_2, -MANIAX_COL_SPACING*2.5f, NULL }, - { TRACK_3, -MANIAX_COL_SPACING*1.5f, NULL }, - { TRACK_4, -MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_5, +MANIAX_COL_SPACING*0.5f, NULL }, - { TRACK_6, +MANIAX_COL_SPACING*1.5f, NULL }, - { TRACK_7, +MANIAX_COL_SPACING*2.5f, NULL }, - { TRACK_8, +MANIAX_COL_SPACING*3.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 2, 0, 3, Style::END_MAPPING }, - { 5, 6, 4, 7, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_TECHNO_SINGLE4 - &g_Game_Techno, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "single4", // m_szName - STEPS_TYPE_TECHNO_SINGLE4, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 4, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_3, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*1.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_3, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*1.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 3, 2, 1, Style::END_MAPPING }, - { 0, 3, 2, 1, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_TECHNO_SINGLE5 - &g_Game_Techno, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "single5", // m_szName - STEPS_TYPE_TECHNO_SINGLE5, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -TECHNO_COL_SPACING*2.0f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*1.0f, NULL }, - { TRACK_3, +TECHNO_COL_SPACING*0.0f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*1.0f, NULL }, - { TRACK_5, +TECHNO_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -TECHNO_COL_SPACING*2.0f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*1.0f, NULL }, - { TRACK_3, +TECHNO_COL_SPACING*0.0f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*1.0f, NULL }, - { TRACK_5, +TECHNO_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, - 1, 3, 2, 0, 4, Style::END_MAPPING }, - { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, - 1, 3, 2, 0, 4, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_TECHNO_SINGLE8 - &g_Game_Techno, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "single8", // m_szName - STEPS_TYPE_TECHNO_SINGLE8, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_3, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_5, +TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_6, +TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_7, +TECHNO_COL_SPACING*3.5f, NULL }, - { TRACK_8, +TECHNO_COL_SPACING*4.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -TECHNO_COL_SPACING*4.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*3.5f, NULL }, - { TRACK_3, -TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_4, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_5, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_6, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_7, +TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_8, +TECHNO_COL_SPACING*2.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 6, 4, 3, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, - { 1, 6, 4, 3, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - true, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_TECHNO_VERSUS4 - &g_Game_Techno, // m_Game - true, // m_bUsedForGameplay - false, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "versus4", // m_szName - STEPS_TYPE_TECHNO_SINGLE4, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 4, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_3, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*1.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_3, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*1.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 3, 2, 1, Style::END_MAPPING }, - { 0, 3, 2, 1, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_TECHNO_VERSUS5 - &g_Game_Techno, // m_Game - true, // m_bUsedForGameplay - false, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "versus5", // m_szName - STEPS_TYPE_TECHNO_SINGLE5, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -TECHNO_COL_SPACING*2.0f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*1.0f, NULL }, - { TRACK_3, +TECHNO_COL_SPACING*0.0f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*1.0f, NULL }, - { TRACK_5, +TECHNO_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -TECHNO_COL_SPACING*2.0f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*1.0f, NULL }, - { TRACK_3, +TECHNO_COL_SPACING*0.0f, NULL }, - { TRACK_4, +TECHNO_COL_SPACING*1.0f, NULL }, - { TRACK_5, +TECHNO_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, - 1, 3, 2, 0, 4, Style::END_MAPPING }, - { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, - 1, 3, 2, 0, 4, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_TECHNO_VERSUS8 - &g_Game_Techno, // m_Game - true, // m_bUsedForGameplay - false, // m_bUsedForEdit - true, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "versus8", // m_szName - STEPS_TYPE_TECHNO_SINGLE8, // m_StepsType - StyleType_TwoPlayersTwoSides, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -TECHNO_VERSUS_COL_SPACING*3.5f, NULL }, - { TRACK_2, -TECHNO_VERSUS_COL_SPACING*2.5f, NULL }, - { TRACK_3, -TECHNO_VERSUS_COL_SPACING*1.5f, NULL }, - { TRACK_4, -TECHNO_VERSUS_COL_SPACING*0.5f, NULL }, - { TRACK_5, +TECHNO_VERSUS_COL_SPACING*0.5f, NULL }, - { TRACK_6, +TECHNO_VERSUS_COL_SPACING*1.5f, NULL }, - { TRACK_7, +TECHNO_VERSUS_COL_SPACING*2.5f, NULL }, - { TRACK_8, +TECHNO_VERSUS_COL_SPACING*3.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -TECHNO_VERSUS_COL_SPACING*3.5f, NULL }, - { TRACK_2, -TECHNO_VERSUS_COL_SPACING*2.5f, NULL }, - { TRACK_3, -TECHNO_VERSUS_COL_SPACING*1.5f, NULL }, - { TRACK_4, -TECHNO_VERSUS_COL_SPACING*0.5f, NULL }, - { TRACK_5, +TECHNO_VERSUS_COL_SPACING*0.5f, NULL }, - { TRACK_6, +TECHNO_VERSUS_COL_SPACING*1.5f, NULL }, - { TRACK_7, +TECHNO_VERSUS_COL_SPACING*2.5f, NULL }, - { TRACK_8, +TECHNO_VERSUS_COL_SPACING*3.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 1, 6, 4, 3, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, - { 1, 6, 4, 3, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, -// { 1, 6, 4, Style::NO_MAPPING, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, -// { 1, 6, 4, Style::NO_MAPPING, 2, 5, Style::NO_MAPPING, 0, 7, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - true, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_TECHNO_DOUBLE4 - &g_Game_Techno, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "double4", // m_szName - STEPS_TYPE_TECHNO_DOUBLE4, // m_StepsType - StyleType_OnePlayerTwoSides, // m_StyleType - 8, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -TECHNO_COL_SPACING*3.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_3, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_4, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_5, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_6, +TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_7, +TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_8, +TECHNO_COL_SPACING*3.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -TECHNO_COL_SPACING*3.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_3, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_4, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_5, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_6, +TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_7, +TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_8, +TECHNO_COL_SPACING*3.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 3, 2, 1, Style::END_MAPPING }, - { 4, 7, 6, 5, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_TECHNO_DOUBLE5 - &g_Game_Techno, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "double5", // m_szName - STEPS_TYPE_TECHNO_DOUBLE5, // m_StepsType - StyleType_OnePlayerTwoSides, // m_StyleType - 10, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -TECHNO_COL_SPACING*4.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*3.5f, NULL }, - { TRACK_3, -TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_4, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_5, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_6, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_7, +TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_8, +TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_9, +TECHNO_COL_SPACING*3.5f, NULL }, - { TRACK_10, +TECHNO_COL_SPACING*4.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -TECHNO_COL_SPACING*4.5f, NULL }, - { TRACK_2, -TECHNO_COL_SPACING*3.5f, NULL }, - { TRACK_3, -TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_4, -TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_5, -TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_6, +TECHNO_COL_SPACING*0.5f, NULL }, - { TRACK_7, +TECHNO_COL_SPACING*1.5f, NULL }, - { TRACK_8, +TECHNO_COL_SPACING*2.5f, NULL }, - { TRACK_9, +TECHNO_COL_SPACING*3.5f, NULL }, - { TRACK_10, +TECHNO_COL_SPACING*4.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, - 1, 3, 2, 0, 4, Style::END_MAPPING }, - { Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, Style::NO_MAPPING, - 6, 8, 7, 5, 9, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7,8,9 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_POPN_FIVE - &g_Game_Popn, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "popn-five", // m_szName - STEPS_TYPE_POPN_FIVE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 5, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -POPN5_COL_SPACING*2.0f, NULL }, - { TRACK_2, -POPN5_COL_SPACING*1.0f, NULL }, - { TRACK_3, +POPN5_COL_SPACING*0.0f, NULL }, - { TRACK_4, +POPN5_COL_SPACING*1.0f, NULL }, - { TRACK_5, +POPN5_COL_SPACING*2.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -POPN5_COL_SPACING*2.0f, NULL }, - { TRACK_2, -POPN5_COL_SPACING*1.0f, NULL }, - { TRACK_3, +POPN5_COL_SPACING*0.0f, NULL }, - { TRACK_4, +POPN5_COL_SPACING*1.0f, NULL }, - { TRACK_5, +POPN5_COL_SPACING*2.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { Style::NO_MAPPING, Style::NO_MAPPING, 0, 1, 2, 3, 4, Style::END_MAPPING }, - { Style::NO_MAPPING, Style::NO_MAPPING, 0, 1, 2, 3, 4, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_POPN_NINE - &g_Game_Popn, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - true, // m_bUsedForDemonstration - true, // m_bUsedForHowToPlay - "popn-nine", // m_szName - STEPS_TYPE_POPN_NINE, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - 9, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -POPN9_COL_SPACING*4.0f, NULL }, - { TRACK_2, -POPN9_COL_SPACING*3.0f, NULL }, - { TRACK_3, -POPN9_COL_SPACING*2.0f, NULL }, - { TRACK_4, -POPN9_COL_SPACING*1.0f, NULL }, - { TRACK_5, +POPN9_COL_SPACING*0.0f, NULL }, - { TRACK_6, +POPN9_COL_SPACING*1.0f, NULL }, - { TRACK_7, +POPN9_COL_SPACING*2.0f, NULL }, - { TRACK_8, +POPN9_COL_SPACING*3.0f, NULL }, - { TRACK_9, +POPN9_COL_SPACING*4.0f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -POPN9_COL_SPACING*4.0f, NULL }, - { TRACK_2, -POPN9_COL_SPACING*3.0f, NULL }, - { TRACK_3, -POPN9_COL_SPACING*2.0f, NULL }, - { TRACK_4, -POPN9_COL_SPACING*1.0f, NULL }, - { TRACK_5, +POPN9_COL_SPACING*0.0f, NULL }, - { TRACK_6, +POPN9_COL_SPACING*1.0f, NULL }, - { TRACK_7, +POPN9_COL_SPACING*2.0f, NULL }, - { TRACK_8, +POPN9_COL_SPACING*3.0f, NULL }, - { TRACK_9, +POPN9_COL_SPACING*4.0f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Style::END_MAPPING }, - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7,8 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, - { // STYLE_LIGHTS_CABINET - &g_Game_Lights, // m_Game - true, // m_bUsedForGameplay - true, // m_bUsedForEdit - false, // m_bUsedForDemonstration - false, // m_bUsedForHowToPlay - "cabinet", // m_szName - STEPS_TYPE_LIGHTS_CABINET, // m_StepsType - StyleType_OnePlayerOneSide, // m_StyleType - NUM_CabinetLight, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, - }, - { // PLAYER_2 - { TRACK_1, -DANCE_COL_SPACING*3.5f, NULL }, - { TRACK_2, -DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_3, -DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_4, -DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_5, +DANCE_COL_SPACING*0.5f, NULL }, - { TRACK_6, +DANCE_COL_SPACING*1.5f, NULL }, - { TRACK_7, +DANCE_COL_SPACING*2.5f, NULL }, - { TRACK_8, +DANCE_COL_SPACING*3.5f, NULL }, - }, - }, - { // m_iInputColumn[NUM_GameController][NUM_GameButton] - { 0, 1, 2, 3, 4, 5, 6, 7, 8, Style::END_MAPPING }, - { 0, 1, 2, 3, 4, 5, 6, 7, 8, Style::END_MAPPING }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0,1,2,3,4,5,6,7 - }, - false, // m_bNeedsZoomOutWith2Players - false, // m_bCanUseBeginnerHelper - false, // m_bLockDifficulties - }, -}; - -#define NUM_STYLES ARRAYLEN(g_Styles) - - GameManager::GameManager() { // Register with Lua. @@ -2263,11 +2409,9 @@ GameManager::~GameManager() void GameManager::GetStylesForGame( const Game *pGame, vector& aStylesAddTo, bool editor ) const { - for( unsigned s=0; sm_apStyles[s]; ++s ) { - const Style* style = &g_Styles[s]; - if( style->m_pGame != pGame) - continue; + const Style *style = pGame->m_apStyles[s]; if( !editor && !style->m_bUsedForGameplay ) continue; if( editor && !style->m_bUsedForEdit ) @@ -2277,13 +2421,31 @@ void GameManager::GetStylesForGame( const Game *pGame, vector& aSt } } +const Game *GameManager::GetGameForStyle( const Style *pStyle ) const +{ + for( size_t g=0; gm_apStyles[s]; ++s ) + { + if( pGame->m_apStyles[s] == pStyle ) + return pGame; + } + } + FAIL_M(pStyle->m_szName); +} + const Style* GameManager::GetEditorStyleForStepsType( StepsType st ) const { - for( unsigned s=0; sm_StepsType == st && style->m_bUsedForEdit ) - return style; + const Game *pGame = g_Games[g]; + for( int s=0; pGame->m_apStyles[s]; ++s ) + { + const Style *style = pGame->m_apStyles[s]; + if( style->m_StepsType == st && style->m_bUsedForEdit ) + return style; + } } ASSERT(0); // this Game is missing a Style that can be used with the editor @@ -2296,10 +2458,10 @@ void GameManager::GetStepsTypesForGame( const Game *pGame, vector& aS FOREACH_ENUM( StepsType, st ) { bool found = false; - for( unsigned s=0; !found && sm_apStyles[s]; ++s ) { - const Style* style = &g_Styles[s]; - if( style->m_pGame != pGame || style->m_StepsType != st ) + const Style *style = pGame->m_apStyles[s]; + if( style->m_StepsType != st ) continue; found = true; @@ -2313,10 +2475,10 @@ void GameManager::GetDemonstrationStylesForGame( const Game *pGame, vectorm_apStyles[s]; ++s ) { - const Style* style = &g_Styles[s]; - if( style->m_pGame == pGame && style->m_bUsedForDemonstration ) + const Style *style = pGame->m_apStyles[s]; + if( style->m_bUsedForDemonstration ) vpStylesOut.push_back( style ); } @@ -2325,10 +2487,10 @@ void GameManager::GetDemonstrationStylesForGame( const Game *pGame, vectorm_apStyles[s]; ++s ) { - const Style* style = &g_Styles[s]; - if( style->m_pGame == pGame && style->m_bUsedForHowToPlay ) + const Style *style = pGame->m_apStyles[s]; + if( style->m_bUsedForHowToPlay ) return style; } @@ -2357,11 +2519,9 @@ void GameManager::GetCompatibleStyles( const Game *pGame, int iNumPlayers, vecto if( iNumPlayers != iNumPlayersRequired ) continue; - for( unsigned s=0; sm_apStyles[s]; ++s ) { - const Style* style = &g_Styles[s]; - if( style->m_pGame != pGame ) - continue; + const Style *style = pGame->m_apStyles[s]; if( style->m_StyleType != styleType ) continue; if( !style->m_bUsedForGameplay ) @@ -2508,11 +2668,9 @@ const Game* GameManager::StringToGameType( RString sGameType ) const Style* GameManager::GameAndStringToStyle( const Game *game, RString sStyle ) { - for( unsigned s=0; sm_apStyles[s]; ++s ) { - const Style* style = &g_Styles[s]; - if( style->m_pGame != game ) - continue; + const Style* style = game->m_apStyles[s]; if( sStyle.CompareNoCase(style->m_szName) == 0 ) return style; } diff --git a/stepmania/src/GameManager.h b/stepmania/src/GameManager.h index 5a5cd65b30..f4543728b4 100644 --- a/stepmania/src/GameManager.h +++ b/stepmania/src/GameManager.h @@ -17,6 +17,7 @@ public: ~GameManager(); void GetStylesForGame( const Game* pGame, vector& aStylesAddTo, bool editor=false ) const; + const Game *GetGameForStyle( const Style *pStyle ) const; void GetStepsTypesForGame( const Game* pGame, vector& aStepsTypeAddTo ) const; const Style *GetEditorStyleForStepsType( StepsType st ) const; void GetDemonstrationStylesForGame( const Game *pGame, vector &vpStylesOut ) const; diff --git a/stepmania/src/Style.h b/stepmania/src/Style.h index cac5a17fed..3c78bed834 100644 --- a/stepmania/src/Style.h +++ b/stepmania/src/Style.h @@ -19,7 +19,6 @@ struct lua_State; class Style { public: - const Game * m_pGame; // Which Game is this Style used with? bool m_bUsedForGameplay; // Can be used only for gameplay? bool m_bUsedForEdit; // Can be used for editing? bool m_bUsedForDemonstration; // Can be used for demonstration? diff --git a/stepmania/src/StyleUtil.cpp b/stepmania/src/StyleUtil.cpp index 17d344212a..5c7ba289fa 100644 --- a/stepmania/src/StyleUtil.cpp +++ b/stepmania/src/StyleUtil.cpp @@ -10,7 +10,7 @@ void StyleID::FromStyle( const Style *p ) { if( p ) { - sGame = p->m_pGame->m_szName; + sGame = GAMEMAN->GetGameForStyle(p)->m_szName; sStyle = p->m_szName; } else