more Beatmania/IIDX support (bm-single7, bm-double, bm-double7 added)

This commit is contained in:
Matt Denham
2003-10-29 08:12:18 +00:00
parent ca1f4ab802
commit 393c7f5e6e
3 changed files with 153 additions and 14 deletions
+4 -3
View File
@@ -83,9 +83,10 @@ enum StepsType
STEPS_TYPE_DS3DDX_SINGLE, STEPS_TYPE_DS3DDX_SINGLE,
STEPS_TYPE_BM_SINGLE, STEPS_TYPE_BM_SINGLE,
// MD 10/26/03 - uncomment the following three once we get support in for them // MD 10/26/03 - uncomment the following three once we get support in for them
// STEPS_TYPE_BM_DOUBLE, // MD 10/28/03 - I was bored. I wrote support.
// STEPS_TYPE_BM_SINGLE7, STEPS_TYPE_BM_DOUBLE,
// STEPS_TYPE_BM_DOUBLE7, STEPS_TYPE_BM_SINGLE7,
STEPS_TYPE_BM_DOUBLE7,
STEPS_TYPE_MANIAX_SINGLE, STEPS_TYPE_MANIAX_SINGLE,
STEPS_TYPE_MANIAX_DOUBLE, STEPS_TYPE_MANIAX_DOUBLE,
STEPS_TYPE_TECHNO_SINGLE8, STEPS_TYPE_TECHNO_SINGLE8,
+135 -3
View File
@@ -56,9 +56,10 @@ struct {
{ "ds3ddx-single", 8 }, { "ds3ddx-single", 8 },
{ "bm-single", 6 }, { "bm-single", 6 },
// MD 10/26/03 - for future support // MD 10/26/03 - for future support
// { "bm-double", 12 }, // MD 10/28/03 - The future is here!
// { "bm-single7", 8 }, { "bm-double", 12 },
// { "bm-double7", 16 }, { "bm-single7", 8 },
{ "bm-double7", 16 },
{ "maniax-single", 4 }, { "maniax-single", 4 },
{ "maniax-double", 8 }, { "maniax-double", 8 },
{ "techno-single8", 8 }, { "techno-single8", 8 },
@@ -1594,6 +1595,137 @@ StyleDef g_StyleDefs[NUM_STYLES] =
0,1,2,3,4,5 0,1,2,3,4,5
}, },
}, },
// MD 10/28/03 - New additions.
{ // STYLE_BM_DOUBLE
GAME_BM, // m_Game
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"BM-double", // m_szName
STEPS_TYPE_BM_DOUBLE, // m_StepsType
StyleDef::ONE_PLAYER_TWO_CREDITS, // m_StyleType
{ 320, 320 }, // m_iCenterX
12, // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_1, GAME_CONTROLLER_1, BM_BUTTON_KEY1, -BM_COL_SPACING*6.0f },
{ TRACK_2, GAME_CONTROLLER_1, BM_BUTTON_KEY2, -BM_COL_SPACING*5.0f },
{ TRACK_3, GAME_CONTROLLER_1, BM_BUTTON_KEY3, -BM_COL_SPACING*4.0f },
{ TRACK_4, GAME_CONTROLLER_1, BM_BUTTON_KEY4, -BM_COL_SPACING*3.0f },
{ TRACK_5, GAME_CONTROLLER_1, BM_BUTTON_KEY5, -BM_COL_SPACING*2.0f },
{ TRACK_6, GAME_CONTROLLER_1, BM_BUTTON_SCRATCHUP,-BM_COL_SPACING*1.5f },
{ TRACK_7, GAME_CONTROLLER_2, BM_BUTTON_KEY1, +BM_COL_SPACING*0.5f },
{ TRACK_8, GAME_CONTROLLER_2, BM_BUTTON_KEY2, +BM_COL_SPACING*1.5f },
{ TRACK_9, GAME_CONTROLLER_2, BM_BUTTON_KEY3, +BM_COL_SPACING*2.5f },
{ TRACK_10, GAME_CONTROLLER_2, BM_BUTTON_KEY4, +BM_COL_SPACING*3.5f },
{ TRACK_11, GAME_CONTROLLER_2, BM_BUTTON_KEY5, +BM_COL_SPACING*4.5f },
{ TRACK_12, GAME_CONTROLLER_2, BM_BUTTON_SCRATCHUP,+BM_COL_SPACING*6.0f },
},
{ // PLAYER_2
{ TRACK_1, GAME_CONTROLLER_1, BM_BUTTON_KEY1, -BM_COL_SPACING*6.0f },
{ TRACK_2, GAME_CONTROLLER_1, BM_BUTTON_KEY2, -BM_COL_SPACING*5.0f },
{ TRACK_3, GAME_CONTROLLER_1, BM_BUTTON_KEY3, -BM_COL_SPACING*4.0f },
{ TRACK_4, GAME_CONTROLLER_1, BM_BUTTON_KEY4, -BM_COL_SPACING*3.0f },
{ TRACK_5, GAME_CONTROLLER_1, BM_BUTTON_KEY5, -BM_COL_SPACING*2.0f },
{ TRACK_6, GAME_CONTROLLER_1, BM_BUTTON_SCRATCHUP,-BM_COL_SPACING*1.5f },
{ TRACK_7, GAME_CONTROLLER_2, BM_BUTTON_KEY1, +BM_COL_SPACING*0.5f },
{ TRACK_8, GAME_CONTROLLER_2, BM_BUTTON_KEY2, +BM_COL_SPACING*1.5f },
{ TRACK_9, GAME_CONTROLLER_2, BM_BUTTON_KEY3, +BM_COL_SPACING*2.5f },
{ TRACK_10, GAME_CONTROLLER_2, BM_BUTTON_KEY4, +BM_COL_SPACING*3.5f },
{ TRACK_11, GAME_CONTROLLER_2, BM_BUTTON_KEY5, +BM_COL_SPACING*4.5f },
{ TRACK_12, GAME_CONTROLLER_2, BM_BUTTON_SCRATCHUP,+BM_COL_SPACING*6.0f },
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0,1,2,3,4,5,6,7,8,9,10,11
},
},
{ // STYLE_BM_SINGLE7
GAME_BM, // m_Game
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"BM-single7", // m_szName
STEPS_TYPE_BM_SINGLE, // m_StepsType
StyleDef::ONE_PLAYER_ONE_CREDIT, // m_StyleType
{ 160, 480 }, // m_iCenterX
8, // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_8, GAME_CONTROLLER_1, BM_BUTTON_SCRATCHUP,-BM_COL_SPACING*3.5f },
{ TRACK_1, GAME_CONTROLLER_1, BM_BUTTON_KEY1, -BM_COL_SPACING*2.0f },
{ TRACK_2, GAME_CONTROLLER_1, BM_BUTTON_KEY2, -BM_COL_SPACING*1.0f },
{ TRACK_3, GAME_CONTROLLER_1, BM_BUTTON_KEY3, -BM_COL_SPACING*0.0f },
{ TRACK_4, GAME_CONTROLLER_1, BM_BUTTON_KEY4, +BM_COL_SPACING*1.0f },
{ TRACK_5, GAME_CONTROLLER_1, BM_BUTTON_KEY5, +BM_COL_SPACING*2.0f },
{ TRACK_6, GAME_CONTROLLER_1, BM_BUTTON_KEY6, +BM_COL_SPACING*3.0f },
{ TRACK_7, GAME_CONTROLLER_1, BM_BUTTON_KEY7, +BM_COL_SPACING*4.0f },
},
{ // PLAYER_2
{ TRACK_1, GAME_CONTROLLER_2, BM_BUTTON_KEY1, -BM_COL_SPACING*3.5f },
{ TRACK_2, GAME_CONTROLLER_2, BM_BUTTON_KEY2, -BM_COL_SPACING*2.5f },
{ TRACK_3, GAME_CONTROLLER_2, BM_BUTTON_KEY3, -BM_COL_SPACING*1.5f },
{ TRACK_4, GAME_CONTROLLER_2, BM_BUTTON_KEY4, -BM_COL_SPACING*0.5f },
{ TRACK_5, GAME_CONTROLLER_2, BM_BUTTON_KEY5, +BM_COL_SPACING*0.5f },
{ TRACK_6, GAME_CONTROLLER_2, BM_BUTTON_KEY6, +BM_COL_SPACING*1.5f },
{ TRACK_7, GAME_CONTROLLER_2, BM_BUTTON_KEY7, +BM_COL_SPACING*2.5f },
{ TRACK_8, GAME_CONTROLLER_2, BM_BUTTON_SCRATCHUP,+BM_COL_SPACING*4.0f },
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0,1,2,3,4,5,6,7
},
},
{ // STYLE_BM_DOUBLE7
GAME_BM, // m_Game
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"BM-double7", // m_szName
STEPS_TYPE_BM_DOUBLE7, // m_StepsType
StyleDef::ONE_PLAYER_TWO_CREDITS, // m_StyleType
{ 320, 320 }, // m_iCenterX
16, // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_8, GAME_CONTROLLER_1, BM_BUTTON_SCRATCHUP,-BM_COL_SPACING*8.0f },
{ TRACK_1, GAME_CONTROLLER_1, BM_BUTTON_KEY1, -BM_COL_SPACING*6.5f },
{ TRACK_2, GAME_CONTROLLER_1, BM_BUTTON_KEY2, -BM_COL_SPACING*5.5f },
{ TRACK_3, GAME_CONTROLLER_1, BM_BUTTON_KEY3, -BM_COL_SPACING*4.5f },
{ TRACK_4, GAME_CONTROLLER_1, BM_BUTTON_KEY4, -BM_COL_SPACING*3.5f },
{ TRACK_5, GAME_CONTROLLER_1, BM_BUTTON_KEY5, -BM_COL_SPACING*2.5f },
{ TRACK_6, GAME_CONTROLLER_1, BM_BUTTON_KEY6, -BM_COL_SPACING*1.5f },
{ TRACK_7, GAME_CONTROLLER_1, BM_BUTTON_KEY7, -BM_COL_SPACING*0.5f },
{ TRACK_9, GAME_CONTROLLER_2, BM_BUTTON_KEY1, +BM_COL_SPACING*0.5f },
{ TRACK_10, GAME_CONTROLLER_2, BM_BUTTON_KEY2, +BM_COL_SPACING*1.5f },
{ TRACK_11, GAME_CONTROLLER_2, BM_BUTTON_KEY3, +BM_COL_SPACING*2.5f },
{ TRACK_12, GAME_CONTROLLER_2, BM_BUTTON_KEY4, +BM_COL_SPACING*3.5f },
{ TRACK_13, GAME_CONTROLLER_2, BM_BUTTON_KEY5, +BM_COL_SPACING*4.5f },
{ TRACK_14, GAME_CONTROLLER_2, BM_BUTTON_KEY6, +BM_COL_SPACING*5.5f },
{ TRACK_15, GAME_CONTROLLER_2, BM_BUTTON_KEY7, +BM_COL_SPACING*6.5f },
{ TRACK_16, GAME_CONTROLLER_2, BM_BUTTON_SCRATCHUP,+BM_COL_SPACING*8.0f },
},
{ // PLAYER_2
{ TRACK_8, GAME_CONTROLLER_1, BM_BUTTON_SCRATCHUP,-BM_COL_SPACING*8.0f },
{ TRACK_1, GAME_CONTROLLER_1, BM_BUTTON_KEY1, -BM_COL_SPACING*6.5f },
{ TRACK_2, GAME_CONTROLLER_1, BM_BUTTON_KEY2, -BM_COL_SPACING*5.5f },
{ TRACK_3, GAME_CONTROLLER_1, BM_BUTTON_KEY3, -BM_COL_SPACING*4.5f },
{ TRACK_4, GAME_CONTROLLER_1, BM_BUTTON_KEY4, -BM_COL_SPACING*3.5f },
{ TRACK_5, GAME_CONTROLLER_1, BM_BUTTON_KEY5, -BM_COL_SPACING*2.5f },
{ TRACK_6, GAME_CONTROLLER_1, BM_BUTTON_KEY6, -BM_COL_SPACING*1.5f },
{ TRACK_7, GAME_CONTROLLER_1, BM_BUTTON_KEY7, -BM_COL_SPACING*0.5f },
{ TRACK_9, GAME_CONTROLLER_2, BM_BUTTON_KEY1, +BM_COL_SPACING*0.5f },
{ TRACK_10, GAME_CONTROLLER_2, BM_BUTTON_KEY2, +BM_COL_SPACING*1.5f },
{ TRACK_11, GAME_CONTROLLER_2, BM_BUTTON_KEY3, +BM_COL_SPACING*2.5f },
{ TRACK_12, GAME_CONTROLLER_2, BM_BUTTON_KEY4, +BM_COL_SPACING*3.5f },
{ TRACK_13, GAME_CONTROLLER_2, BM_BUTTON_KEY5, +BM_COL_SPACING*4.5f },
{ TRACK_14, GAME_CONTROLLER_2, BM_BUTTON_KEY6, +BM_COL_SPACING*5.5f },
{ TRACK_15, GAME_CONTROLLER_2, BM_BUTTON_KEY7, +BM_COL_SPACING*6.5f },
{ TRACK_16, GAME_CONTROLLER_2, BM_BUTTON_SCRATCHUP,+BM_COL_SPACING*8.0f },
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
},
},
// end MD 10/28/03
{ // STYLE_MANIAX_SINGLE { // STYLE_MANIAX_SINGLE
GAME_MANIAX, // m_Game GAME_MANIAX, // m_Game
true, // m_bUsedForGameplay true, // m_bUsedForGameplay
+12 -6
View File
@@ -42,7 +42,9 @@
// So the magics for these are: // So the magics for these are:
// pnm-nine: nothing >5, with 12, 14, 22 and/or 24 // pnm-nine: nothing >5, with 12, 14, 22 and/or 24
// pnm-five: nothing >5, with 14 and/or 22 // pnm-five: nothing >5, with 14 and/or 22
// bm-*: 18/19 - 7-key modes have 16/17/26/27 // bm-*: can't tell difference between bm-single and dance-solo
// 18/19 marks bm-single7, 28/29 marks bm-double7
// bm-double uses 21-26.
// //
int iTracks[MAX_NOTE_TRACKS]; int iTracks[MAX_NOTE_TRACKS];
@@ -70,19 +72,23 @@ StepsType BMSLoader::CheckTracksMagic( void ) {
case 5: case 5:
return STEPS_TYPE_PNM_FIVE; return STEPS_TYPE_PNM_FIVE;
case 6: case 6:
// No reason to return STEPS_TYPE_BM_SINGLE here...
// ...at least, none that I can see. Same data, no way to distinguish.
// We also don't need to autogen between them, though.
return STEPS_TYPE_DANCE_SOLO; return STEPS_TYPE_DANCE_SOLO;
case 8: case 8:
// Could also be couple or 7-key. // Could also be couple or 7-key.
// TODO: Insert the magic check between IIDX and DDR Double - 12, 14, 18, or 19. if (iTracks[7] == 0 && iTracks[8] == 0 && iTracks[1] == 0 && iTracks[3] == 0)
// Until BM 7-key is supported in stepfiles, we'll assume it's DDR. // these four tracks are IIDX-related
return STEPS_TYPE_DANCE_DOUBLE; return STEPS_TYPE_DANCE_DOUBLE;
else
return STEPS_TYPE_BM_SINGLE7;
case 9: case 9:
return STEPS_TYPE_PNM_NINE; return STEPS_TYPE_PNM_NINE;
case 12: case 12:
// TODO: Uncomment these once BM Double 5/7-key is supported. return STEPS_TYPE_BM_DOUBLE;
// return STEPS_TYPE_BM_DOUBLE;
case 16: case 16:
// return STEPS_TYPE_BM_DOUBLE7; return STEPS_TYPE_BM_DOUBLE7;
default: default:
return STEPS_TYPE_INVALID; return STEPS_TYPE_INVALID;
} }