diff --git a/src/Attack.h b/src/Attack.h index fe61a48723..2ca69181f9 100644 --- a/src/Attack.h +++ b/src/Attack.h @@ -8,6 +8,8 @@ class PlayerState; /** @brief An action made against a Player to make things more difficult. */ struct Attack { + static const int ATTACK_STARTS_NOW = -10000; + AttackLevel level; /** * @brief the starting point of this attack. @@ -25,14 +27,14 @@ struct Attack void MakeBlank() { level = ATTACK_LEVEL_1; - fStartSecond = -1; + fStartSecond = ATTACK_STARTS_NOW; fSecsRemaining = 0; sModifiers = RString(); bOn = false; bGlobal = false; bShowInAttackList = true; } - Attack(): level(ATTACK_LEVEL_1), fStartSecond(-1), + Attack(): level(ATTACK_LEVEL_1), fStartSecond(ATTACK_STARTS_NOW), fSecsRemaining(0), sModifiers(RString()), bOn(false), bGlobal(false), bShowInAttackList(true) {} // MakeBlank() is effectively called here. diff --git a/src/Foreach.h b/src/Foreach.h index 699d0a8671..35d595c4fb 100644 --- a/src/Foreach.h +++ b/src/Foreach.h @@ -40,7 +40,9 @@ for( map::const_iterator var = (vect).begin(); var != (vect).e #define FOREACHMM( keyType, valType, vect, var ) \ for( multimap::iterator var = (vect).begin(); var != (vect).end(); ++var ) -/* Hmm...any reason why there is no FOREACHMM_CONST? */ +/** @brief General foreach loop iterating over a multimap, using a constant iterator. */ +#define FOREACHMM_CONST( keyType, valType, vect, var ) \ +for( multimap::const_iterator var = (vect).begin(); var != (vect).end(); ++var ) #endif diff --git a/src/Player.cpp b/src/Player.cpp index 98cebcd991..9fd39fb75b 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2859,7 +2859,7 @@ void Player::UpdateJudgedRows() Attack attMineAttack; attMineAttack.sModifiers = ApplyRandomAttack(); - attMineAttack.fStartSecond = -1.0f; + attMineAttack.fStartSecond = attMineAttack.ATTACK_STARTS_NOW; attMineAttack.fSecsRemaining = fAttackRunTime; m_pPlayerState->LaunchAttack( attMineAttack ); diff --git a/src/PlayerState.cpp b/src/PlayerState.cpp index 18194cdc59..fcfe2d5f9c 100644 --- a/src/PlayerState.cpp +++ b/src/PlayerState.cpp @@ -63,10 +63,10 @@ void PlayerState::Update( float fDelta ) { Attack &attack = m_ActiveAttacks[s]; - // -1 is the "starts now" sentinel value. You must add the attack - // by calling GameState::LaunchAttack, or else the -1 won't be + // You must add sattack by calling GameState::LaunchAttack, + // or else the sentinel value won't be // converted into the current music time. - ASSERT( attack.fStartSecond != -1 ); + ASSERT( attack.fStartSecond != attack.ATTACK_STARTS_NOW ); bool bCurrentlyEnabled = attack.bGlobal || @@ -111,12 +111,12 @@ void PlayerState::LaunchAttack( const Attack& a ) Attack attack = a; - /* If fStartSecond is -1, it means "launch as soon as possible". For m_ActiveAttacks, + /* If fStartSecond is the sentinel, it means "launch as soon as possible". For m_ActiveAttacks, * mark the real time it's starting (now), so Update() can know when the attack - * started so it can be removed later. For m_ModsToApply, leave the -1 in, + * started so it can be removed later. For m_ModsToApply, leave the sentinel in, * so Player::Update knows to apply attack transforms correctly. (yuck) */ m_ModsToApply.push_back( attack ); - if( attack.fStartSecond == -1 ) + if( attack.fStartSecond == attack.ATTACK_STARTS_NOW ) attack.fStartSecond = m_Position.m_fMusicSeconds; m_ActiveAttacks.push_back( attack ); diff --git a/src/ScoreKeeperNormal.cpp b/src/ScoreKeeperNormal.cpp index 2d771480e9..b9bcc3e85f 100644 --- a/src/ScoreKeeperNormal.cpp +++ b/src/ScoreKeeperNormal.cpp @@ -304,67 +304,60 @@ void ScoreKeeperNormal::AddScoreInternal( TapNoteScore score ) int &iCurMaxScore = m_pPlayerStageStats->m_iCurMaxScore; // See Aaron In Japan for more details about the scoring formulas. - if( GAMESTATE->IsCourseMode() ) + // Note: this assumes no custom scoring systems are in use. + int p = 0; // score multiplier + + switch( score ) { - int p = 0; // score multiplier + case TNS_W1: p = 10; break; + case TNS_W2: p = GAMESTATE->ShowW1()? 9:10; break; + case TNS_W3: p = 5; break; + default: p = 0; break; + } - switch( score ) - { - case TNS_W1: p = 10; break; - case TNS_W2: p = GAMESTATE->ShowW1()? 9:10; break; - case TNS_W3: p = 5; break; - default: p = 0; break; - } + m_iTapNotesHit++; - m_iTapNotesHit++; + const int N = m_iNumTapsAndHolds; + const int sum = (N * (N + 1)) / 2; + const int Z = m_iMaxPossiblePoints/10; - const int N = m_iNumTapsAndHolds; - const int sum = (N * (N + 1)) / 2; - const int Z = m_iMaxPossiblePoints/10; - - // Don't use a multiplier if the player has failed - if( m_pPlayerStageStats->m_bFailed ) - { - iScore += p; - // make score evenly divisible by 5 - // only update this on the next step, to make it less *obvious* - /* Round to the nearest 5, instead of always rounding down, so a base score - * of 9 will round to 10, not 5. */ - if (p > 0) - iScore = ((iScore+2) / 5) * 5; - } - else - { - iScore += GetScore(p, Z, sum, m_iTapNotesHit); - const int &iCurrentCombo = m_pPlayerStageStats->m_iCurCombo; - iScore += m_ComboBonusFactor[score] * iCurrentCombo; - } - - // Subtract the maximum this step could have been worth from the bonus. - m_iPointBonus -= GetScore(10, Z, sum, m_iTapNotesHit); - // And add the maximum this step could have been worth to the max score up to now. - iCurMaxScore += GetScore(10, Z, sum, m_iTapNotesHit); - - if ( m_iTapNotesHit == m_iNumTapsAndHolds && score >= TNS_W2 ) - { - if( !m_pPlayerStageStats->m_bFailed ) - iScore += m_iPointBonus; - if ( m_bIsLastSongInCourse ) - { - iScore += 100000000 - m_iMaxScoreSoFar; - iCurMaxScore += 100000000 - m_iMaxScoreSoFar; - - /* If we're in Endless mode, we'll come around here again, so reset - * the bonus counter. */ - m_iMaxScoreSoFar = 0; - } - iCurMaxScore += m_iPointBonus; - } + // Don't use a multiplier if the player has failed + if( m_pPlayerStageStats->m_bFailed ) + { + iScore += p; + // make score evenly divisible by 5 + // only update this on the next step, to make it less *obvious* + /* Round to the nearest 5, instead of always rounding down, so a base score + * of 9 will round to 10, not 5. */ + if (p > 0) + iScore = ((iScore+2) / 5) * 5; } - // Custom Scoring else { - + iScore += GetScore(p, Z, sum, m_iTapNotesHit); + const int &iCurrentCombo = m_pPlayerStageStats->m_iCurCombo; + iScore += m_ComboBonusFactor[score] * iCurrentCombo; + } + + // Subtract the maximum this step could have been worth from the bonus. + m_iPointBonus -= GetScore(10, Z, sum, m_iTapNotesHit); + // And add the maximum this step could have been worth to the max score up to now. + iCurMaxScore += GetScore(10, Z, sum, m_iTapNotesHit); + + if ( m_iTapNotesHit == m_iNumTapsAndHolds && score >= TNS_W2 ) + { + if( !m_pPlayerStageStats->m_bFailed ) + iScore += m_iPointBonus; + if ( m_bIsLastSongInCourse ) + { + iScore += 100000000 - m_iMaxScoreSoFar; + iCurMaxScore += 100000000 - m_iMaxScoreSoFar; + + /* If we're in Endless mode, we'll come around here again, so reset + * the bonus counter. */ + m_iMaxScoreSoFar = 0; + } + iCurMaxScore += m_iPointBonus; } ASSERT_M( iScore >= 0, "iScore < 0 before re-rounding" ); diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index b26c52f721..4fb0667b44 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -528,168 +528,344 @@ static MenuDef g_KeysoundTrack( static MenuDef g_MainMenu( "ScreenMiniMenuMainMenu", - MenuRowDef( ScreenEdit::play_whole_song, "Play whole song", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::play_current_beat_to_end, "Play current beat to end", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::save, "Save", true, EditMode_Home, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::play_selection, "Play selection", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::set_selection_start, "Set selection start", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::set_selection_end, "Set selection end", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::revert_to_last_save, "Revert to last save", true, EditMode_Home, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::revert_from_disk, "Revert from disk", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::options, "Editor options", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::edit_song_info, "Edit song info", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::edit_steps_information, "Edit steps information", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::edit_timing_data, "Edit Timing Data", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::view_steps_data, "View steps data", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::play_preview_music, "Play preview music", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::exit, "Exit Edit Mode", true, EditMode_Practice, true, true, 0, NULL ) + MenuRowDef(ScreenEdit::play_whole_song, + "Play whole song", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::play_current_beat_to_end, + "Play current beat to end", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::save, + "Save", + true, EditMode_Home, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::play_selection, + "Play selection", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::set_selection_start, + "Set selection start", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::set_selection_end, + "Set selection end", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::revert_to_last_save, + "Revert to last save", + true, EditMode_Home, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::revert_from_disk, + "Revert from disk", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::options, + "Editor options", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::edit_song_info, + "Edit song info", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::edit_steps_information, + "Edit steps information", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::edit_timing_data, + "Edit Timing Data", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::view_steps_data, + "View steps data", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::play_preview_music, + "Play preview music", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::exit, + "Exit Edit Mode", + true, EditMode_Practice, true, true, 0, NULL ) ); static MenuDef g_AlterMenu( "ScreenMiniMenuAlterMenu", - MenuRowDef(ScreenEdit::cut, "Cut", true, + MenuRowDef(ScreenEdit::cut, + "Cut", + true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::copy, + "Copy", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::copy_partial_timing, + "Copy Partial Timing", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::clear, "Clear area", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::copy, "Copy", true, - EditMode_Practice, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::copy_partial_timing, "Copy Partial Timing", true, - EditMode_Practice, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::clear, "Clear area", true, - EditMode_Practice, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::quantize, "Quantize", true, + MenuRowDef(ScreenEdit::quantize, "Quantize", true, EditMode_Practice, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd"), - MenuRowDef(ScreenEdit::turn, "Turn", true, + MenuRowDef(ScreenEdit::turn, "Turn", true, EditMode_Practice, true, true, 0, "Left","Right","Mirror","Backwards","Shuffle","SuperShuffle" ), - MenuRowDef(ScreenEdit::transform, "Transform", true, + MenuRowDef(ScreenEdit::transform, "Transform", true, EditMode_Practice, true, true, 0, "NoHolds","NoMines","Little","Wide", "Big","Quick","Skippy","Mines","Echo","Stomp","Planted","Floored", "Twister","NoJumps","NoHands","NoQuads","NoStretch" ), - MenuRowDef(ScreenEdit::alter, "Alter", true, + MenuRowDef(ScreenEdit::alter, "Alter", true, EditMode_Practice, true, true, 0, "Autogen To Fill Width","Backwards","Swap Sides", "Copy Left To Right","Copy Right To Left","Clear Left","Clear Right", "Collapse To One","Collapse Left","Shift Left","Shift Right" ), - MenuRowDef(ScreenEdit::tempo, "Tempo", true, + MenuRowDef(ScreenEdit::tempo, "Tempo", true, EditMode_Full, true, true, 0, "Compress 2x","Compress 3->2", "Compress 4->3","Expand 3->4","Expand 2->3","Expand 2x" ), - MenuRowDef(ScreenEdit::play, "Play selection", true, - EditMode_Practice, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::record, "Record in selection", true, - EditMode_Practice, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::preview_designation, "Designate as Music Preview", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::convert_to_pause, "Convert selection to pause", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::convert_to_delay, "Convert selection to delay", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::convert_to_warp, "Convert selection to warp", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::convert_to_fake, "Convert selection to fake", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::convert_to_attack, "Convert selection to attack", true, - EditMode_Full, true, true, 0, NULL), - MenuRowDef(ScreenEdit::routine_invert_notes, "Invert notes' player", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::routine_mirror_1_to_2, "Mirror Player 1 to 2", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::routine_mirror_2_to_1, "Mirror Player 2 to 1", true, - EditMode_Full, true, true, 0, NULL ) + MenuRowDef(ScreenEdit::play, + "Play selection", + true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::record, + "Record in selection", + true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::preview_designation, + "Designate as Music Preview", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_pause, + "Convert selection to pause", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_delay, + "Convert selection to delay", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_warp, + "Convert selection to warp", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_fake, + "Convert selection to fake", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_attack, + "Convert selection to attack", + true, + EditMode_Full, true, true, 0, NULL), + MenuRowDef(ScreenEdit::routine_invert_notes, + "Invert notes' player", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::routine_mirror_1_to_2, + "Mirror Player 1 to 2", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::routine_mirror_2_to_1, + "Mirror Player 2 to 1", + true, + EditMode_Full, true, true, 0, NULL ) ); static MenuDef g_AreaMenu( "ScreenMiniMenuAreaMenu", - MenuRowDef( ScreenEdit::paste_at_current_beat, "Paste at current beat", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::paste_at_begin_marker, "Paste at begin marker", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::paste_partial_timing_at_beat, "Paste Partial Timing at current beat", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::insert_and_shift, "Insert beat and shift down", true, EditMode_Practice, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd" ), - MenuRowDef( ScreenEdit::delete_and_shift, "Delete beat and shift up", true, EditMode_Practice, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd" ), - MenuRowDef( ScreenEdit::shift_pauses_forward, "Shift all timing changes down", true, EditMode_Full, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd" ), - MenuRowDef( ScreenEdit::shift_pauses_backward, "Shift all timing changes up", true, EditMode_Full, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd" ), - MenuRowDef(ScreenEdit::convert_pause_to_beat, "Convert pause to beats", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::convert_delay_to_beat, "Convert delay to beats", true, - EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::last_second_at_beat, "Designate last second at current beat", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::undo, "Undo", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::clear_clipboard, "Clear clipboard", true, - EditMode_Practice, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::modify_keysounds_at_row, "Modify Keysounds at current beat", - true, EditMode_Full, true, true, 0, NULL) + MenuRowDef(ScreenEdit::paste_at_current_beat, + "Paste at current beat", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::paste_at_begin_marker, + "Paste at begin marker", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::paste_partial_timing_at_beat, + "Paste Partial Timing at current beat", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::insert_and_shift, + "Insert beat and shift down", + true, EditMode_Practice, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd" ), + MenuRowDef(ScreenEdit::delete_and_shift, + "Delete beat and shift up", + true, EditMode_Practice, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd" ), + MenuRowDef(ScreenEdit::shift_pauses_forward, + "Shift all timing changes down", + true, EditMode_Full, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd" ), + MenuRowDef(ScreenEdit::shift_pauses_backward, + "Shift all timing changes up", + true, EditMode_Full, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd" ), + MenuRowDef(ScreenEdit::convert_pause_to_beat, + "Convert pause to beats", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_delay_to_beat, + "Convert delay to beats", + true, + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::last_second_at_beat, + "Designate last second at current beat", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::undo, + "Undo", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::clear_clipboard, + "Clear clipboard", + true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::modify_keysounds_at_row, + "Modify Keysounds at current beat", + true, EditMode_Full, true, true, 0, NULL) ); static MenuDef g_StepsInformation( "ScreenMiniMenuStepsInformation", - MenuRowDef( ScreenEdit::difficulty, "Difficulty", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::meter, "Meter", true, EditMode_Practice, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::predict_meter, "Predicted Meter", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::chartname, "Chart Name", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::description, "Description", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::chartstyle, "Chart Style", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::step_credit, "Step Author", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::step_display_bpm, "Display BPM", true, EditMode_Full, true, true, 0, "Actual", "Specified", "Random" ), - MenuRowDef( ScreenEdit::step_min_bpm, "Min BPM", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::step_max_bpm, "Max BPM", true, EditMode_Full, true, true, 0, NULL ) + MenuRowDef(ScreenEdit::difficulty, + "Difficulty", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::meter, + "Meter", + true, EditMode_Practice, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::predict_meter, + "Predicted Meter", + false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::chartname, + "Chart Name", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::description, + "Description", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::chartstyle, + "Chart Style", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::step_credit, + "Step Author", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::step_display_bpm, + "Display BPM", + true, EditMode_Full, true, true, 0, "Actual", "Specified", "Random" ), + MenuRowDef(ScreenEdit::step_min_bpm, + "Min BPM", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::step_max_bpm, + "Max BPM", + true, EditMode_Full, true, true, 0, NULL ) ); static MenuDef g_StepsData( "ScreenMiniMenuStepsData", - MenuRowDef( ScreenEdit::tap_notes, "Tap Steps", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::jumps, "Jumps", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::hands, "Hands", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::quads, "Quads", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::holds, "Holds", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::mines, "Mines", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::rolls, "Rolls", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::lifts, "Lifts", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef(ScreenEdit::fakes, "Fakes", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::stream, "Stream", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::voltage, "Voltage", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::air, "Air", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::freeze, "Freeze", false, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::chaos, "Chaos", false, EditMode_Full, true, true, 0, NULL ) + MenuRowDef( ScreenEdit::tap_notes, "Tap Steps", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::jumps, "Jumps", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::hands, "Hands", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::quads, "Quads", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::holds, "Holds", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::mines, "Mines", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::rolls, "Rolls", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::lifts, "Lifts", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::fakes, "Fakes", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::stream, "Stream", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::voltage, "Voltage", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::air, "Air", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::freeze, "Freeze", false, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::chaos, "Chaos", false, EditMode_Full, true, true, 0, NULL ) ); static MenuDef g_SongInformation( "ScreenMiniMenuSongInformation", - MenuRowDef( ScreenEdit::main_title, "Main title", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::sub_title, "Sub title", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::artist, "Artist", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::genre, "Genre", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::credit, "Credit", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::main_title_transliteration, "Main title transliteration", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::sub_title_transliteration, "Sub title transliteration", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::artist_transliteration, "Artist transliteration", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::last_second_hint, "Last second hint", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::preview_start, "Preview Start", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::preview_length, "Preview Length", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::display_bpm, "Display BPM", true, EditMode_Full, true, true, 0, "Actual", "Specified", "Random" ), - MenuRowDef( ScreenEdit::min_bpm, "Min BPM", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::max_bpm, "Max BPM", true, EditMode_Full, true, true, 0, NULL ) + MenuRowDef(ScreenEdit::main_title, + "Main title", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::sub_title, + "Sub title", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::artist, + "Artist", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::genre, + "Genre", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::credit, + "Credit", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::main_title_transliteration, + "Main title transliteration", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::sub_title_transliteration, + "Sub title transliteration", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::artist_transliteration, + "Artist transliteration", + true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::last_second_hint, + "Last second hint", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::preview_start, + "Preview Start", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::preview_length, + "Preview Length", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::display_bpm, + "Display BPM", + true, EditMode_Full, true, true, 0, "Actual", "Specified", "Random" ), + MenuRowDef(ScreenEdit::min_bpm, + "Min BPM", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::max_bpm, + "Max BPM", + true, EditMode_Full, true, true, 0, NULL ) ); static MenuDef g_TimingDataInformation( "ScreenMiniMenuTimingDataInformation", - MenuRowDef( ScreenEdit::beat_0_offset, "Beat 0 Offset", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::bpm, "Edit BPM change", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::stop, "Edit stop", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::delay, "Edit delay", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::time_signature, "Edit time signature", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::label, "Edit label", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::tickcount, "Edit tickcount", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::combo, "Edit combo", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::warp, "Edit warp", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::speed_percent, "Edit speed (percent)", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::speed_wait, "Edit speed (wait)", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::speed_mode, "Edit speed (mode)", true, EditMode_Full, true, true, 0, "Beats", "Seconds" ), - MenuRowDef( ScreenEdit::scroll, "Edit scrolling factor", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::fake, "Edit fake", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::copy_full_timing, "Copy timing data", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::paste_full_timing, "Paste timing data", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::erase_step_timing, "Erase step timing", true, EditMode_Full, true, true, 0, NULL ) + MenuRowDef(ScreenEdit::beat_0_offset, + "Beat 0 Offset", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::bpm, + "Edit BPM change", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::stop, + "Edit stop", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::delay, + "Edit delay", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::time_signature, + "Edit time signature", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::label, + "Edit label", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::tickcount, + "Edit tickcount", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::combo, + "Edit combo", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::warp, + "Edit warp", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::speed_percent, + "Edit speed (percent)", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::speed_wait, + "Edit speed (wait)", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::speed_mode, + "Edit speed (mode)", + true, EditMode_Full, true, true, 0, "Beats", "Seconds" ), + MenuRowDef(ScreenEdit::scroll, + "Edit scrolling factor", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::fake, + "Edit fake", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::copy_full_timing, + "Copy timing data", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::paste_full_timing, + "Paste timing data", + true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::erase_step_timing, + "Erase step timing", + true, EditMode_Full, true, true, 0, NULL ) ); -enum { song_bganimation, song_movie, song_bitmap, global_bganimation, global_movie, global_movie_song_group, global_movie_song_group_and_genre, dynamic_random, baked_random, none }; +// XXX: What are these enums used for? +enum +{ + song_bganimation, + song_movie, + song_bitmap, + global_bganimation, + global_movie, + global_movie_song_group, + global_movie_song_group_and_genre, + dynamic_random, + baked_random, + none +}; static bool EnabledIfSet1SongBGAnimation(); static bool EnabledIfSet1SongMovie(); static bool EnabledIfSet1SongBitmap(); @@ -706,29 +882,108 @@ static bool EnabledIfSet2GlobalMovieSongGroup(); static bool EnabledIfSet2GlobalMovieSongGroupAndGenre(); static MenuDef g_BackgroundChange( "ScreenMiniMenuBackgroundChange", - MenuRowDef( ScreenEdit::layer, "Layer", false, EditMode_Full, true, false, 0, "" ), - MenuRowDef( ScreenEdit::rate, "Rate", true, EditMode_Full, true, false, 10, "0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%","120%","140%","160%","180%","200%","220%","240%","260%","280%","300%","350%","400%" ), - MenuRowDef( ScreenEdit::transition, "Force Transition", true, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::effect, "Force Effect", true, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::color1, "Force Color 1", true, EditMode_Full, true, false, 0, "-","#FFFFFF","#808080","#FFFFFF80","#000000","#FF0000","#00FF00","#0000FF","#FFFF00","#00FFFF","#FF00FF" ), - MenuRowDef( ScreenEdit::color2, "Force Color 2", true, EditMode_Full, true, false, 0, "-","#FFFFFF","#808080","#FFFFFF80","#000000","#FF0000","#00FF00","#0000FF","#FFFF00","#00FFFF","#FF00FF" ), - MenuRowDef( ScreenEdit::file1_type, "File1 Type", true, EditMode_Full, true, true, 0, "Song BGAnimation", "Song Movie", "Song Bitmap", "Global BGAnimation", "Global Movie", "Global Movie from Song Group", "Global Movie from Song Group and Genre", "Dynamic Random", "Baked Random", "None" ), - MenuRowDef( ScreenEdit::file1_song_bganimation, "File1 Song BGAnimation", EnabledIfSet1SongBGAnimation, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file1_song_movie, "File1 Song Movie", EnabledIfSet1SongMovie, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file1_song_still, "File1 Song Still", EnabledIfSet1SongBitmap, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file1_global_bganimation, "File1 Global BGAnimation", EnabledIfSet1GlobalBGAnimation, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file1_global_movie, "File1 Global Movie", EnabledIfSet1GlobalMovie, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file1_global_movie_song_group, "File1 Global Movie (Group)", EnabledIfSet1GlobalMovieSongGroup, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file1_global_movie_song_group_and_genre, "File1 Global Movie (Group + Genre)", EnabledIfSet1GlobalMovieSongGroupAndGenre, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file2_type, "File2 Type", true, EditMode_Full, true, true, 0, "Song BGAnimation", "Song Movie", "Song Bitmap", "Global BGAnimation", "Global Movie", "Global Movie from Song Group", "Global Movie from Song Group and Genre", "Dynamic Random", "Baked Random", "None" ), - MenuRowDef( ScreenEdit::file2_song_bganimation, "File2 Song BGAnimation", EnabledIfSet2SongBGAnimation, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file2_song_movie, "File2 Song Movie", EnabledIfSet2SongMovie, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file2_song_still, "File2 Song Still", EnabledIfSet2SongBitmap, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file2_global_bganimation, "File2 Global BGAnimation", EnabledIfSet2GlobalBGAnimation, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file2_global_movie, "File2 Global Movie", EnabledIfSet2GlobalMovie, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file2_global_movie_song_group, "File2 Global Movie (Group)", EnabledIfSet2GlobalMovieSongGroup, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::file2_global_movie_song_group_and_genre, "File2 Global Movie (Group + Genre)", EnabledIfSet2GlobalMovieSongGroupAndGenre, EditMode_Full, true, false, 0, NULL ), - MenuRowDef( ScreenEdit::delete_change, "Remove Change", true, EditMode_Full, true, true, 0, NULL ) + MenuRowDef(ScreenEdit::layer, + "Layer", + false, + EditMode_Full, true, false, 0, "" ), + MenuRowDef(ScreenEdit::rate, + "Rate", + true, + EditMode_Full, true, false, 10, "0%","10%","20%","30%","40%","50%", + "60%","70%","80%","90%","100%","120%","140%","160%","180%","200%", + "220%","240%","260%","280%","300%","350%","400%" ), + MenuRowDef(ScreenEdit::transition, + "Force Transition", + true, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::effect, + "Force Effect", + true, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::color1, + "Force Color 1", + true, + EditMode_Full, true, false, 0, "-","#FFFFFF","#808080","#FFFFFF80", + "#000000","#FF0000","#00FF00","#0000FF","#FFFF00","#00FFFF","#FF00FF" ), + MenuRowDef(ScreenEdit::color2, + "Force Color 2", + true, + EditMode_Full, true, false, 0, "-","#FFFFFF","#808080","#FFFFFF80", + "#000000","#FF0000","#00FF00","#0000FF","#FFFF00","#00FFFF","#FF00FF" ), + MenuRowDef(ScreenEdit::file1_type, + "File1 Type", + true, + EditMode_Full, true, true, 0, "Song BGAnimation", "Song Movie", + "Song Bitmap", "Global BGAnimation", "Global Movie", + "Global Movie from Song Group", "Global Movie from Song Group and Genre", + "Dynamic Random", "Baked Random", "None" ), + MenuRowDef(ScreenEdit::file1_song_bganimation, + "File1 Song BGAnimation", + EnabledIfSet1SongBGAnimation, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file1_song_movie, + "File1 Song Movie", + EnabledIfSet1SongMovie, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file1_song_still, + "File1 Song Still", + EnabledIfSet1SongBitmap, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file1_global_bganimation, + "File1 Global BGAnimation", + EnabledIfSet1GlobalBGAnimation, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file1_global_movie, + "File1 Global Movie", + EnabledIfSet1GlobalMovie, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file1_global_movie_song_group, + "File1 Global Movie (Group)", + EnabledIfSet1GlobalMovieSongGroup, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file1_global_movie_song_group_and_genre, + "File1 Global Movie (Group + Genre)", + EnabledIfSet1GlobalMovieSongGroupAndGenre, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file2_type, + "File2 Type", + true, + EditMode_Full, true, true, 0, "Song BGAnimation", "Song Movie", + "Song Bitmap", "Global BGAnimation", "Global Movie", + "Global Movie from Song Group", "Global Movie from Song Group and Genre", + "Dynamic Random", "Baked Random", "None" ), + MenuRowDef(ScreenEdit::file2_song_bganimation, + "File2 Song BGAnimation", + EnabledIfSet2SongBGAnimation, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file2_song_movie, + "File2 Song Movie", + EnabledIfSet2SongMovie, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file2_song_still, + "File2 Song Still", + EnabledIfSet2SongBitmap, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file2_global_bganimation, + "File2 Global BGAnimation", + EnabledIfSet2GlobalBGAnimation, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file2_global_movie, + "File2 Global Movie", + EnabledIfSet2GlobalMovie, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file2_global_movie_song_group, + "File2 Global Movie (Group)", + EnabledIfSet2GlobalMovieSongGroup, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::file2_global_movie_song_group_and_genre, + "File2 Global Movie (Group + Genre)", + EnabledIfSet2GlobalMovieSongGroupAndGenre, + EditMode_Full, true, false, 0, NULL ), + MenuRowDef(ScreenEdit::delete_change, + "Remove Change", + true, + EditMode_Full, true, true, 0, NULL ) ); static bool EnabledIfSet1SongBGAnimation() { return ScreenMiniMenu::s_viLastAnswers[ScreenEdit::file1_type] == song_bganimation && !g_BackgroundChange.rows[ScreenEdit::file1_song_bganimation].choices.empty(); } static bool EnabledIfSet1SongMovie() { return ScreenMiniMenu::s_viLastAnswers[ScreenEdit::file1_type] == song_movie && !g_BackgroundChange.rows[ScreenEdit::file1_song_movie].choices.empty(); } @@ -763,21 +1018,38 @@ static RString GetOneBakedRandomFile( Song *pSong, bool bTryGenre = true ) static MenuDef g_InsertTapAttack( "ScreenMiniMenuInsertTapAttack", - MenuRowDef( -1, "Duration seconds", true, EditMode_Practice, true, false, 3, "5","10","15","20","25","30","35","40","45" ), - MenuRowDef( -1, "Set modifiers", true, EditMode_Practice, true, true, 0, "Press Start" ) + MenuRowDef(-1, + "Duration seconds", + true, EditMode_Practice, true, false, 3, "5","10","15","20","25","30","35","40","45" ), // TODO: Replace + MenuRowDef(-1, + "Set modifiers", + true, EditMode_Practice, true, true, 0, "Press Start" ) ); static MenuDef g_InsertCourseAttack( "ScreenMiniMenuInsertCourseAttack", - MenuRowDef( ScreenEdit::duration, "Duration seconds", true, EditMode_Practice, true, false, 3, "5","10","15","20","25","30","35","40","45" ), - MenuRowDef( ScreenEdit::set_mods, "Set modifiers", true, EditMode_Practice, true, true, 0, "Press Start" ), - MenuRowDef( ScreenEdit::remove, "Remove", true, EditMode_Practice, true, true, 0, "Press Start" ) + MenuRowDef(ScreenEdit::duration, + "Duration seconds", + true, EditMode_Practice, true, false, 3, "5","10","15","20","25","30","35","40","45" ), + MenuRowDef(ScreenEdit::set_mods, + "Set modifiers", + true, EditMode_Practice, true, true, 0, "Press Start" ), + MenuRowDef(ScreenEdit::remove, + "Remove", + true, EditMode_Practice, true, true, 0, "Press Start" ) ); -static MenuDef g_InsertStepAttack("ScreenMiniMenuInsertCourseAttack", - MenuRowDef( ScreenEdit::sa_duration, "Duration seconds", true, EditMode_Practice, true, false, 3, "5","10","15","20","25","30","35","40","45" ), - MenuRowDef( ScreenEdit::sa_set_mods, "Set modifiers", true, EditMode_Practice, true, true, 0, "Press Start" ), - MenuRowDef( ScreenEdit::sa_remove, "Remove", true, EditMode_Practice, true, true, 0, "Press Start" )); +static MenuDef g_InsertStepAttack( + "ScreenMiniMenuInsertCourseAttack", + MenuRowDef(ScreenEdit::sa_duration, + "Duration seconds", + true, EditMode_Practice, true, false, 3, "5","10","15","20","25","30","35","40","45" ), + MenuRowDef(ScreenEdit::sa_set_mods, + "Set modifiers", + true, EditMode_Practice, true, true, 0, "Press Start" ), + MenuRowDef(ScreenEdit::sa_remove, + "Remove", + true, EditMode_Practice, true, true, 0, "Press Start" )); static MenuDef g_CourseMode( "ScreenMiniMenuCourseDisplay", @@ -1262,14 +1534,8 @@ void ScreenEdit::UpdateTextInfo() sText += SELECTION_BEAT_UNFINISHED_FORMAT; } - switch( EDIT_MODE.GetValue() ) + if (EDIT_MODE.GetValue() == EditMode_Full) { - DEFAULT_FAIL( EDIT_MODE.GetValue() ); - case EditMode_Practice: - case EditMode_CourseMods: - case EditMode_Home: - break; - case EditMode_Full: sText += ssprintf( DIFFICULTY_FORMAT.GetValue(), DIFFICULTY.GetValue().c_str(), DifficultyToString( m_pSteps->GetDifficulty() ).c_str() ); if ( m_InputPlayerNumber != PLAYER_INVALID ) sText += ssprintf( ROUTINE_PLAYER_FORMAT.GetValue(), ROUTINE_PLAYER.GetValue().c_str(), m_InputPlayerNumber + 1 ); @@ -1282,7 +1548,6 @@ void ScreenEdit::UpdateTextInfo() sText += ssprintf( SUBTITLE_FORMAT.GetValue(), SUBTITLE.GetValue().c_str(), m_pSong->m_sSubTitle.c_str() ); sText += ssprintf( SEGMENT_TYPE_FORMAT.GetValue(), SEGMENT_TYPE.GetValue().c_str(), TimingSegmentTypeToString(currentCycleSegment).c_str() ); sText += ssprintf( TAP_NOTE_TYPE_FORMAT.GetValue(), TAP_NOTE_TYPE.GetValue().c_str(), TapNoteTypeToString( m_selectedTap.type ).c_str() ); - break; } GAMESTATE->SetProcessedTimingData(&m_pSteps->m_Timing); @@ -1814,7 +2079,7 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) pSteps->SetNoteData( m_NoteDataEdit ); // Get all Steps of this StepsType - StepsType st = pSteps->m_StepsType; + const StepsType st = pSteps->m_StepsType; vector vSteps; SongUtil::GetSteps( GAMESTATE->m_pCurSong, vSteps, st ); @@ -3147,7 +3412,7 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM ) else if ( SM == SM_BackFromFakeChange && !ScreenTextEntry::s_bCancelledLast ) { float fFake = StringToFloat( ScreenTextEntry::s_sLastAnswer ); - if( fFake >= 0 ) // allow 0 to kill a warp. + if( fFake >= 0 ) // allow 0 to kill a fake. { GetAppropriateTiming().AddSegment( FakeSegment(GetRow(), fFake) ); SetDirty( true ); diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 59f77cffd7..0c26d85123 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -968,7 +968,7 @@ void ScreenGameplay::SetupSong( int iSongIndex ) Attack a = pi->m_asModifiersQueue[iSongIndex][i]; if( a.fStartSecond != 0 ) continue; - a.fStartSecond = -1; // now + a.fStartSecond = a.ATTACK_STARTS_NOW; // now PlayerOptions po; po.FromString( a.sModifiers ); @@ -1018,7 +1018,7 @@ void ScreenGameplay::SetupSong( int iSongIndex ) { Attack a = pi->m_asModifiersQueue[iSongIndex][i]; if( a.fStartSecond == 0 ) - a.fStartSecond = -1; // now + a.fStartSecond = a.ATTACK_STARTS_NOW; // now pi->GetPlayerState()->LaunchAttack( a ); GAMESTATE->m_SongOptions.FromString( ModsLevel_Song, a.sModifiers );