From 4e5a2ade73ccf930f34d1dec37ca47be6a6a7b46 Mon Sep 17 00:00:00 2001 From: Kyzentun Date: Sat, 22 Nov 2014 14:55:44 -0700 Subject: [PATCH] Added mod for MinTNSToHideNote so it can be set per-player. --- src/Player.cpp | 4 ++-- src/PlayerOptions.cpp | 6 ++++++ src/PlayerOptions.h | 4 +++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Player.cpp b/src/Player.cpp index 59503c2d13..fc242c83f5 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2563,7 +2563,7 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b const bool bBright = ( m_pPlayerStageStats && m_pPlayerStageStats->m_iCurCombo > int(BRIGHT_GHOST_COMBO_THRESHOLD) ) || bBlind; if( m_pNoteField ) m_pNoteField->DidTapNote( col, bBlind? TNS_W1:score, bBright ); - if( score >= PREFSMAN->m_MinTNSToHideNotes || bBlind ) + if( score >= m_pPlayerState->m_PlayerOptions.GetCurrent().m_MinTNSToHideNotes || bBlind ) HideNote( col, iRowOfOverlappingNoteOrRow ); } } @@ -2909,7 +2909,7 @@ void Player::FlashGhostRow( int iRow ) continue; if( m_pNoteField ) m_pNoteField->DidTapNote( iTrack, lastTNS, bBright ); - if( lastTNS >= PREFSMAN->m_MinTNSToHideNotes || bBlind ) + if( lastTNS >= m_pPlayerState->m_PlayerOptions.GetCurrent().m_MinTNSToHideNotes || bBlind ) HideNote( iTrack, iRow ); } } diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 65d37800ce..fa6fb0bed1 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -52,6 +52,7 @@ void PlayerOptions::Init() m_LifeType = LifeType_Bar; m_DrainType = DrainType_Normal; m_BatteryLives = 4; + m_MinTNSToHideNotes= PREFSMAN->m_MinTNSToHideNotes; m_bSetScrollSpeed = false; m_fMaxScrollBPM = 0; m_SpeedfMaxScrollBPM = 1.0f; m_fTimeSpacing = 0; m_SpeedfTimeSpacing = 1.0f; @@ -117,6 +118,7 @@ void PlayerOptions::Approach( const PlayerOptions& other, float fDeltaSeconds ) DO_COPY( m_bTransforms[i] ); DO_COPY( m_bMuteOnError ); DO_COPY( m_FailType ); + DO_COPY( m_MinTNSToHideNotes ); DO_COPY( m_sNoteSkin ); #undef APPROACH #undef DO_COPY @@ -755,6 +757,7 @@ bool PlayerOptions::operator==( const PlayerOptions &other ) const COMPARE(m_fMaxScrollBPM); COMPARE(m_fRandomSpeed); COMPARE(m_FailType); + COMPARE(m_MinTNSToHideNotes); COMPARE(m_bMuteOnError); COMPARE(m_fDark); COMPARE(m_fBlind); @@ -953,6 +956,7 @@ void PlayerOptions::ResetPrefs( ResetPrefsType type ) CPY(m_LifeType); CPY(m_DrainType); CPY(m_BatteryLives); + CPY(m_MinTNSToHideNotes); CPY( m_fPerspectiveTilt ); CPY( m_bTransforms[TRANSFORM_NOHOLDS] ); @@ -1077,6 +1081,7 @@ public: BOOL_INTERFACE(NoStretch, Transforms[PlayerOptions::TRANSFORM_NOSTRETCH]); BOOL_INTERFACE(MuteOnError, MuteOnError); ENUM_INTERFACE(FailSetting, FailType, FailType); + ENUM_INTERFACE(MinTNSToHideNotes, MinTNSToHideNotes, TapNoteScore); // NoteSkins static int NoteSkin(T* p, lua_State* L) @@ -1448,6 +1453,7 @@ public: ADD_METHOD(NoteSkin); ADD_METHOD(FailSetting); + ADD_METHOD(MinTNSToHideNotes); // Speed ADD_METHOD( CMod ); diff --git a/src/PlayerOptions.h b/src/PlayerOptions.h index f4f56806d6..55deaec19d 100644 --- a/src/PlayerOptions.h +++ b/src/PlayerOptions.h @@ -61,7 +61,8 @@ public: m_fSkew(0), m_SpeedfSkew(1.0f), m_fPassmark(0), m_SpeedfPassmark(1.0f), m_fRandomSpeed(0), m_SpeedfRandomSpeed(1.0f), - m_bMuteOnError(false), m_FailType(FailType_Immediate) + m_bMuteOnError(false), m_FailType(FailType_Immediate), + m_MinTNSToHideNotes(TNS_W3) { m_sNoteSkin = ""; ZERO( m_fAccels ); ONE( m_SpeedfAccels ); @@ -215,6 +216,7 @@ public: bool m_bMuteOnError; /** @brief The method for which a player can fail a song. */ FailType m_FailType; + TapNoteScore m_MinTNSToHideNotes; /** * @brief The Noteskin to use.