make 0% RandomSpeed no effect (like other mods), instead of 100%
fix options menu selection
This commit is contained in:
@@ -86,7 +86,7 @@ float ArrowGetYOffset( PlayerNumber pn, int iCol, float fNoteBeat, bool bAbsolut
|
|||||||
fYOffset += fAccels[PlayerOptions::ACCEL_BOOMERANG] * (fYOffset * SCALE( fYOffset, 0.f, SCREEN_HEIGHT, 1.5f, 0.5f )- fYOffset);
|
fYOffset += fAccels[PlayerOptions::ACCEL_BOOMERANG] * (fYOffset * SCALE( fYOffset, 0.f, SCREEN_HEIGHT, 1.5f, 0.5f )- fYOffset);
|
||||||
|
|
||||||
float fScrollSpeed = GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed;
|
float fScrollSpeed = GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed;
|
||||||
if( GAMESTATE->m_CurrentPlayerOptions[pn].m_fRandomSpeed > 1.0f && !bAbsolute )
|
if( GAMESTATE->m_CurrentPlayerOptions[pn].m_fRandomSpeed > 0 && !bAbsolute )
|
||||||
{
|
{
|
||||||
int seed = GAMESTATE->m_iRoundSeed + ( BeatToNoteRow( fNoteBeat ) << 8 ) + (iCol * 100);
|
int seed = GAMESTATE->m_iRoundSeed + ( BeatToNoteRow( fNoteBeat ) << 8 ) + (iCol * 100);
|
||||||
|
|
||||||
@@ -95,10 +95,12 @@ float ArrowGetYOffset( PlayerNumber pn, int iCol, float fNoteBeat, bool bAbsolut
|
|||||||
RandomFloat( seed );
|
RandomFloat( seed );
|
||||||
float fRandom = RandomFloat( seed );
|
float fRandom = RandomFloat( seed );
|
||||||
|
|
||||||
|
/* Random speed always increases speed: a random speed of 10 indicates [1,11].
|
||||||
|
* This keeps it consistent with other mods: 0 means no effect. */
|
||||||
fScrollSpeed *=
|
fScrollSpeed *=
|
||||||
SCALE( fRandom,
|
SCALE( fRandom,
|
||||||
0.0f, 1.0f,
|
0.0f, 1.0f,
|
||||||
1.0f, GAMESTATE->m_CurrentPlayerOptions[pn].m_fRandomSpeed ); // min. scale shold be defined as a constatnt somewhere
|
1.0f, GAMESTATE->m_CurrentPlayerOptions[pn].m_fRandomSpeed + 1.0f );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ void PlayerOptions::Init()
|
|||||||
m_fPerspectiveTilt = 0; m_SpeedfPerspectiveTilt = 1.0f;
|
m_fPerspectiveTilt = 0; m_SpeedfPerspectiveTilt = 1.0f;
|
||||||
m_fSkew = 0; m_SpeedfSkew = 1.0f;
|
m_fSkew = 0; m_SpeedfSkew = 1.0f;
|
||||||
m_fPassmark = 0; m_SpeedfPassmark = 1.0f;
|
m_fPassmark = 0; m_SpeedfPassmark = 1.0f;
|
||||||
m_fRandomSpeed = 1.0f; m_SpeedfRandomSpeed = 1.0f;
|
m_fRandomSpeed = 0; m_SpeedfRandomSpeed = 1.0f;
|
||||||
ZERO( m_bTurns );
|
ZERO( m_bTurns );
|
||||||
ZERO( m_bTransforms );
|
ZERO( m_bTransforms );
|
||||||
m_bProTiming = false;
|
m_bProTiming = false;
|
||||||
@@ -132,6 +132,8 @@ CString PlayerOptions::GetString() const
|
|||||||
|
|
||||||
sReturn += AddPart( m_fPassmark, "Passmark");
|
sReturn += AddPart( m_fPassmark, "Passmark");
|
||||||
|
|
||||||
|
sReturn += AddPart( m_fRandomSpeed, "RandomSpeed" );
|
||||||
|
|
||||||
if( m_bTurns[TURN_MIRROR] ) sReturn += "Mirror, ";
|
if( m_bTurns[TURN_MIRROR] ) sReturn += "Mirror, ";
|
||||||
if( m_bTurns[TURN_LEFT] ) sReturn += "Left, ";
|
if( m_bTurns[TURN_LEFT] ) sReturn += "Left, ";
|
||||||
if( m_bTurns[TURN_RIGHT] ) sReturn += "Right, ";
|
if( m_bTurns[TURN_RIGHT] ) sReturn += "Right, ";
|
||||||
@@ -172,8 +174,6 @@ CString PlayerOptions::GetString() const
|
|||||||
if( !m_sNoteSkin.empty() && m_sNoteSkin.CompareNoCase("default")!=0 )
|
if( !m_sNoteSkin.empty() && m_sNoteSkin.CompareNoCase("default")!=0 )
|
||||||
sReturn += m_sNoteSkin + ", ";
|
sReturn += m_sNoteSkin + ", ";
|
||||||
|
|
||||||
if( m_fRandomSpeed > 1 )
|
|
||||||
sReturn += "RandomSpeed, ";
|
|
||||||
if( sReturn.GetLength() > 2 )
|
if( sReturn.GetLength() > 2 )
|
||||||
sReturn.erase( sReturn.GetLength()-2 ); // delete the trailing ", "
|
sReturn.erase( sReturn.GetLength()-2 ); // delete the trailing ", "
|
||||||
return sReturn;
|
return sReturn;
|
||||||
@@ -515,6 +515,7 @@ bool PlayerOptions::operator==( const PlayerOptions &other ) const
|
|||||||
COMPARE(m_fTimeSpacing);
|
COMPARE(m_fTimeSpacing);
|
||||||
COMPARE(m_fScrollSpeed);
|
COMPARE(m_fScrollSpeed);
|
||||||
COMPARE(m_fScrollBPM);
|
COMPARE(m_fScrollBPM);
|
||||||
|
COMPARE(m_fRandomSpeed);
|
||||||
COMPARE(m_fDark);
|
COMPARE(m_fDark);
|
||||||
COMPARE(m_fBlind);
|
COMPARE(m_fBlind);
|
||||||
COMPARE(m_fCover);
|
COMPARE(m_fCover);
|
||||||
|
|||||||
Reference in New Issue
Block a user