From 5641af692a8be573b3e67c3059e2fcf79d583475 Mon Sep 17 00:00:00 2001 From: Andrew Livy Date: Thu, 22 May 2003 01:34:03 +0000 Subject: [PATCH] Added Pumps 'half-double' style --- stepmania/src/GameConstantsAndTypes.h | 1 + stepmania/src/GameManager.cpp | 32 ++++++++++++++++++++++++++ stepmania/src/NoteData.cpp | 8 +++++++ stepmania/src/NotesLoaderKSF.cpp | 4 ++++ stepmania/src/ScreenEvaluation.cpp | 14 +++++------ stepmania/src/ScreenEvaluation.h | 4 +--- stepmania/src/ScreenEz2SelectMusic.cpp | 2 +- stepmania/src/ScreenSelectMode.cpp | 12 +++++----- stepmania/src/SongManager.cpp | 9 ++++++++ stepmania/src/Style.h | 1 + 10 files changed, 70 insertions(+), 17 deletions(-) diff --git a/stepmania/src/GameConstantsAndTypes.h b/stepmania/src/GameConstantsAndTypes.h index e2f6564f78..71c4b76e85 100644 --- a/stepmania/src/GameConstantsAndTypes.h +++ b/stepmania/src/GameConstantsAndTypes.h @@ -68,6 +68,7 @@ enum NotesType NOTES_TYPE_DANCE_COUPLE, NOTES_TYPE_DANCE_SOLO, NOTES_TYPE_PUMP_SINGLE, + NOTES_TYPE_PUMP_HALFDOUBLE, NOTES_TYPE_PUMP_DOUBLE, NOTES_TYPE_PUMP_COUPLE, NOTES_TYPE_EZ2_SINGLE, diff --git a/stepmania/src/GameManager.cpp b/stepmania/src/GameManager.cpp index 0a2632cd0e..a9c15f21f0 100644 --- a/stepmania/src/GameManager.cpp +++ b/stepmania/src/GameManager.cpp @@ -46,6 +46,7 @@ struct { { "dance-couple", 8 }, { "dance-solo", 6 }, { "pump-single", 5 }, + { "pump-halfdouble", 6 }, { "pump-double", 10 }, { "pump-couple", 10 }, { "ez2-single", 5 }, // Single: TL,LHH,D,RHH,TR @@ -902,6 +903,37 @@ StyleDef g_StyleDefs[NUM_STYLES] = 0,2,4,1,3 }, }, + { // PUMP_STYLE_HALFDOUBLE + GAME_PUMP, // m_Game + true, // m_bUsedForGameplay + true, // m_bUsedForEdit + "halfdouble", // m_szName + NOTES_TYPE_PUMP_HALFDOUBLE, // m_NotesType + StyleDef::ONE_PLAYER_TWO_CREDITS, // m_StyleType + { 320, 320 }, // m_iCenterX + 6, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, GAME_CONTROLLER_1, PUMP_BUTTON_CENTER, -PUMP_COL_SPACING*2.5f }, + { TRACK_2, GAME_CONTROLLER_1, PUMP_BUTTON_UPRIGHT, -PUMP_COL_SPACING*1.5f }, + { TRACK_3, GAME_CONTROLLER_1, PUMP_BUTTON_DOWNRIGHT, -PUMP_COL_SPACING*0.5f }, + { TRACK_4, GAME_CONTROLLER_2, PUMP_BUTTON_DOWNLEFT, +PUMP_COL_SPACING*0.5f }, + { TRACK_5, GAME_CONTROLLER_2, PUMP_BUTTON_UPLEFT, +PUMP_COL_SPACING*1.5f }, + { TRACK_6, GAME_CONTROLLER_2, PUMP_BUTTON_CENTER, +PUMP_COL_SPACING*2.5f }, + }, + { // PLAYER_2 + { TRACK_1, GAME_CONTROLLER_1, PUMP_BUTTON_CENTER, -PUMP_COL_SPACING*2.5f }, + { TRACK_2, GAME_CONTROLLER_1, PUMP_BUTTON_UPRIGHT, -PUMP_COL_SPACING*1.5f }, + { TRACK_3, GAME_CONTROLLER_1, PUMP_BUTTON_DOWNRIGHT, -PUMP_COL_SPACING*0.5f }, + { TRACK_4, GAME_CONTROLLER_2, PUMP_BUTTON_DOWNLEFT, +PUMP_COL_SPACING*0.5f }, + { TRACK_5, GAME_CONTROLLER_2, PUMP_BUTTON_UPLEFT, +PUMP_COL_SPACING*1.5f }, + { TRACK_6, GAME_CONTROLLER_2, PUMP_BUTTON_CENTER, +PUMP_COL_SPACING*2.5f }, + }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,5,2,4,3,1 + }, + }, { // PUMP_STYLE_DOUBLE GAME_PUMP, // m_Game true, // m_bUsedForGameplay diff --git a/stepmania/src/NoteData.cpp b/stepmania/src/NoteData.cpp index f9732e12e8..ff3be7b197 100644 --- a/stepmania/src/NoteData.cpp +++ b/stepmania/src/NoteData.cpp @@ -828,6 +828,14 @@ void NoteDataUtil::Turn( NoteData &in, TurnType tt ) iTakeFromTrack[8] = 5; iTakeFromTrack[9] = 6; break; + case NOTES_TYPE_PUMP_HALFDOUBLE: + iTakeFromTrack[0] = 2; + iTakeFromTrack[1] = 0; + iTakeFromTrack[2] = 1; + iTakeFromTrack[3] = 3; + iTakeFromTrack[4] = 4; + iTakeFromTrack[5] = 5; + break; case NOTES_TYPE_PUMP_DOUBLE: iTakeFromTrack[0] = 8; iTakeFromTrack[1] = 9; diff --git a/stepmania/src/NotesLoaderKSF.cpp b/stepmania/src/NotesLoaderKSF.cpp index 00bf972227..e578a4b7a6 100644 --- a/stepmania/src/NotesLoaderKSF.cpp +++ b/stepmania/src/NotesLoaderKSF.cpp @@ -135,7 +135,11 @@ bool KSFLoader::LoadFromKSFFile( const CString &sPath, Notes &out, const Song &s } else if( sFName.Find("_2") != -1 ) { notedata.SetNumTracks( 10 ); out.m_NotesType = NOTES_TYPE_PUMP_COUPLE; + } else if( sFName.Find("halfdouble") != -1 ) { + notedata.SetNumTracks( 6 ); + out.m_NotesType = NOTES_TYPE_PUMP_HALFDOUBLE; } + } int iHoldStartRow[13]; diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 4670be6986..14d759ace7 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -88,8 +88,8 @@ const char* JUDGE_STRING[NUM_JUDGE_LINES] = { "Marvelous", "Perfect", "Great", " #define TRY_EXTRA_STAGE_UtilOffCommand THEME->GetMetric ("ScreenEvaluation",ssprintf("TryExtraStageUtilOffCommand")) */ -#define JUDGE_SOUND_TIME( name ) THEME->GetMetricF( m_sName, ssprintf("JudgeSoundTime%s", name) ); -#define SOUND_ON_FULL_ALPHA THEME->GetMetricB( m_sName, "JudgeSoundIfJudgeGraphicsFullAlpha" ) +// #define JUDGE_SOUND_TIME( name ) THEME->GetMetricF( m_sName, ssprintf("JudgeSoundTime%s", name) ); +// #define SOUND_ON_FULL_ALPHA THEME->GetMetricB( m_sName, "JudgeSoundIfJudgeGraphicsFullAlpha" ) // metrics that are specific to classes derived from ScreenEvaluation #define NEXT_SCREEN THEME->GetMetric (m_sName,"NextScreen") #define END_SCREEN THEME->GetMetric (m_sName,"EndScreen") @@ -523,7 +523,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) : Screen(sCl int l; for( l=0; lm_bMarvelousTiming ) continue; // skip @@ -536,8 +536,8 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) : Screen(sCl UtilSetXYAndOnCommand( m_sprJudgeLabels[l], "ScreenEvaluation" ); this->AddChild( &m_sprJudgeLabels[l] ); - m_soundJudgeSound[l].Load( THEME->GetPathToS( ssprintf("ScreenEvaluation JudgeSound %s", JUDGE_STRING[l]) ) ); - m_TimeToPlayJudgeSound[l] = JUDGE_SOUND_TIME( JUDGE_STRING[l] ); + // m_soundJudgeSound[l].Load( THEME->GetPathToS( ssprintf("ScreenEvaluation JudgeSound %s", JUDGE_STRING[l]) ) ); + // m_TimeToPlayJudgeSound[l] = JUDGE_SOUND_TIME( JUDGE_STRING[l] ); for( p=0; pAddChild( &m_Menu ); m_soundMusicChange.Load( THEME->GetPathToS("ScreenEz2SelectMusic change")); diff --git a/stepmania/src/ScreenSelectMode.cpp b/stepmania/src/ScreenSelectMode.cpp index 56370d5a2b..798eba67bd 100644 --- a/stepmania/src/ScreenSelectMode.cpp +++ b/stepmania/src/ScreenSelectMode.cpp @@ -153,12 +153,12 @@ void ScreenSelectMode::UpdateSelectableChoices() // if its joint premium and inclusive of double consider double and versus as needing another coin // if its joint premium and non-inclusive of double consider double as appearing only when one player is available. // if its joint premium, everythings available for play - if( - (PREFSMAN->m_bJointPremium && INCLUDE_DOUBLE_IN_JP == 1 && ((GAMESTATE->GetNumSidesJoined() == 1 && mc.numSidesJoinedToPlay == 1) || (GAMESTATE->GetNumSidesJoined() == 2 && mc.numSidesJoinedToPlay == 2))) || - (PREFSMAN->m_bJointPremium && INCLUDE_DOUBLE_IN_JP == 0 && - (((modename.substr(0, 6) == "DOUBLE" || modename.substr(0, 13) == "ARCADE-DOUBLE") && GAMESTATE->GetNumSidesJoined() != 2 ) || GAMESTATE->GetNumSidesJoined() == 1 && mc.numSidesJoinedToPlay == 1) || - ((modename.substr(0, 6) != "DOUBLE" && modename.substr(0, 13) != "ARCADE-DOUBLE") && GAMESTATE->GetNumSidesJoined() == 2 && mc.numSidesJoinedToPlay == 2)) || - (!PREFSMAN->m_bJointPremium) + if( (PREFSMAN->m_bJointPremium && INCLUDE_DOUBLE_IN_JP == 1 && (GAMESTATE->GetNumSidesJoined() == mc.numSidesJoinedToPlay) ) || + (PREFSMAN->m_bJointPremium && INCLUDE_DOUBLE_IN_JP == 0 && + modename.substr(0, 6) == "DOUBLE" || modename.substr(0, 13) == "ARCADE-DOUBLE" || + modename.substr(0, 10) == "HALFDOUBLE" || modename.substr(0, 17) == "ARCADE-HALFDOUBLE" || + (GAMESTATE->GetNumSidesJoined() == mc.numSidesJoinedToPlay)) || + (!PREFSMAN->m_bJointPremium) ) { m_iNumChoices++; diff --git a/stepmania/src/SongManager.cpp b/stepmania/src/SongManager.cpp index 4a5c66f561..7f060ee6d4 100644 --- a/stepmania/src/SongManager.cpp +++ b/stepmania/src/SongManager.cpp @@ -662,6 +662,15 @@ CString SongManager::ShortenGroupName( CString sLongGroupName ) sLongGroupName.Replace( "Dancing Stage", "DS" ); sLongGroupName.Replace( "Dancing Stage", "DS" ); sLongGroupName.Replace( "Dancing Stage", "DS" ); + sLongGroupName.Replace( "Ez2dancer", "EZ2" ); + sLongGroupName.Replace( "Ez 2 Dancer", "EZ2"); + sLongGroupName.Replace( "Technomotion", "TM"); + sLongGroupName.Replace( "Dance Station 3DDX", "3DDX"); + sLongGroupName.Replace( "DS3DDX", "3DDX"); + sLongGroupName.Replace( "BeatMania", "BM"); + sLongGroupName.Replace( "Beatmania", "BM"); + sLongGroupName.Replace( "BEATMANIA", "BM"); + sLongGroupName.Replace( "beatmania", "BM"); return sLongGroupName; } diff --git a/stepmania/src/Style.h b/stepmania/src/Style.h index d77e29b546..0aead894e5 100644 --- a/stepmania/src/Style.h +++ b/stepmania/src/Style.h @@ -21,6 +21,7 @@ enum Style STYLE_DANCE_EDIT_COUPLE, STYLE_PUMP_SINGLE, STYLE_PUMP_VERSUS, + STYLE_PUMP_HALFDOUBLE, STYLE_PUMP_DOUBLE, STYLE_PUMP_COUPLE, STYLE_PUMP_EDIT_COUPLE,