make 0% RandomSpeed no effect (like other mods), instead of 100%

fix options menu selection
This commit is contained in:
Glenn Maynard
2004-12-11 21:48:32 +00:00
parent 294ddd9100
commit 29620a19bf
2 changed files with 8 additions and 5 deletions
+4 -2
View File
@@ -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 );
} }
+4 -3
View File
@@ -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);