NEW FEATURE: Added 0.25x scroll speed

CHANGE:  Reorganized options on Player Options screen
NEW FEATURE:  New modifier: Acceleration-Land
NEW FEATURE:  New modifier: Acceleration-Expand
NEW FEATURE:  New modifier: Acceleration-Boomerang
CHANGE:  Tweaked Acceleration-Wave for more of a challenge
CHANGE:  Changed format  NoteSkin tap graphic format.  Existing NoteSkins will
	need to update the tap graphic.
This commit is contained in:
Chris Danford
2003-01-25 11:05:12 +00:00
parent 3d4d28eeb0
commit 559c3b7248
23 changed files with 331 additions and 179 deletions
+77 -43
View File
@@ -13,32 +13,11 @@
#include "PlayerOptions.h"
#include "RageUtil.h"
void PlayerOptions::NextEffect()
{
if( m_bEffects[NUM_EFFECT_TYPES-1] )
{
ZERO( m_bEffects );
return;
}
for( int i=0; i<NUM_EFFECT_TYPES-1; i++ )
{
if( m_bEffects[i] )
{
ZERO( m_bEffects );
m_bEffects[i+1] = true;
return;
}
}
ZERO( m_bEffects );
m_bEffects[0] = true;
}
void PlayerOptions::Init()
{
m_fArrowScrollSpeed = 1.0f;
m_bBoost = false;
m_fScrollSpeed = 1.0f;
m_AccelType = ACCEL_OFF;
ZERO( m_bEffects );
m_AppearanceType = APPEARANCE_VISIBLE;
m_TurnType = TURN_NONE;
@@ -54,10 +33,10 @@ CString PlayerOptions::GetString()
{
CString sReturn;
if( m_fArrowScrollSpeed != 1 )
if( m_fScrollSpeed != 1 )
{
/* -> 1.00 */
CString s = ssprintf( "%2.2f", m_fArrowScrollSpeed );
CString s = ssprintf( "%2.2f", m_fScrollSpeed );
if( s[s.GetLength()-1] == '0' ) {
/* -> 1.0 */
s.erase(s.GetLength()-1); // delete last char
@@ -69,15 +48,23 @@ CString PlayerOptions::GetString()
sReturn += s + "X, ";
}
if( m_bBoost ) sReturn += "Boost, ";
switch( m_AccelType )
{
case ACCEL_OFF: break;
case ACCEL_BOOST: sReturn += "Boost, "; break;
case ACCEL_LAND: sReturn += "Land, "; break;
case ACCEL_WAVE: sReturn += "Wave, "; break;
case ACCEL_EXPAND: sReturn += "Expand, "; break;
case ACCEL_BOOMERANG: sReturn += "Boomerang, "; break;
default: ASSERT(0);
}
if( m_bEffects[EFFECT_WAVE] ) sReturn += "Wave, ";
if( m_bEffects[EFFECT_DRUNK] ) sReturn += "Drunk, ";
if( m_bEffects[EFFECT_DIZZY] ) sReturn += "Dizzy, ";
if( m_bEffects[EFFECT_SPACE] ) sReturn += "Space, ";
if( m_bEffects[EFFECT_MINI] ) sReturn += "Mini, ";
if( m_bEffects[EFFECT_FLIP] ) sReturn += "Flip, ";
if( m_bEffects[EFFECT_TORNADO] ) sReturn += "Tornado, ";
if( m_bEffects[EFFECT_DRUNK] ) sReturn += "Drunk, ";
if( m_bEffects[EFFECT_DIZZY] ) sReturn += "Dizzy, ";
if( m_bEffects[EFFECT_SPACE] ) sReturn += "Space, ";
if( m_bEffects[EFFECT_MINI] ) sReturn += "Mini, ";
if( m_bEffects[EFFECT_FLIP] ) sReturn += "Flip, ";
if( m_bEffects[EFFECT_TORNADO] )sReturn += "Tornado, ";
switch( m_AppearanceType )
{
@@ -138,16 +125,20 @@ void PlayerOptions::FromString( CString sOptions )
TrimLeft(sBit);
TrimRight(sBit);
if( sBit == "0.5x" ) m_fArrowScrollSpeed = 0.5f;
else if( sBit == "0.75x" ) m_fArrowScrollSpeed = 0.75f;
else if( sBit == "1.5x" ) m_fArrowScrollSpeed = 1.5f;
else if( sBit == "2.0x" ) m_fArrowScrollSpeed = 2.0f;
else if( sBit == "3.0x" ) m_fArrowScrollSpeed = 3.0f;
else if( sBit == "4.0x" ) m_fArrowScrollSpeed = 4.0f;
else if( sBit == "5.0x" ) m_fArrowScrollSpeed = 5.0f;
else if( sBit == "8.0x" ) m_fArrowScrollSpeed = 8.0f;
else if( sBit == "boost" ) m_bBoost = true;
else if( sBit == "wave" ) m_bEffects[EFFECT_WAVE] = true;
if( sBit == "0.25x" ) m_fScrollSpeed = 0.25f;
else if( sBit == "0.5x" ) m_fScrollSpeed = 0.5f;
else if( sBit == "0.75x" ) m_fScrollSpeed = 0.75f;
else if( sBit == "1.5x" ) m_fScrollSpeed = 1.5f;
else if( sBit == "2.0x" ) m_fScrollSpeed = 2.0f;
else if( sBit == "3.0x" ) m_fScrollSpeed = 3.0f;
else if( sBit == "4.0x" ) m_fScrollSpeed = 4.0f;
else if( sBit == "5.0x" ) m_fScrollSpeed = 5.0f;
else if( sBit == "8.0x" ) m_fScrollSpeed = 8.0f;
else if( sBit == "boost" ) m_AccelType = ACCEL_BOOST;
else if( sBit == "land" ) m_AccelType = ACCEL_LAND;
else if( sBit == "wave" ) m_AccelType = ACCEL_WAVE;
else if( sBit == "expand" ) m_AccelType = ACCEL_EXPAND;
else if( sBit == "boomerang" ) m_AccelType = ACCEL_BOOMERANG;
else if( sBit == "drunk" ) m_bEffects[EFFECT_DRUNK] = true;
else if( sBit == "dizzy" ) m_bEffects[EFFECT_DIZZY] = true;
else if( sBit == "space" ) m_bEffects[EFFECT_SPACE] = true;
@@ -172,3 +163,46 @@ void PlayerOptions::FromString( CString sOptions )
else if( sBit == "dark" ) m_bDark = true;
}
}
void PlayerOptions::NextAccel()
{
m_AccelType = (AccelType) ((m_AccelType+1)%NUM_ACCEL_TYPES);
}
void PlayerOptions::NextEffect()
{
if( m_bEffects[NUM_EFFECT_TYPES-1] ) // last effect is on
{
ZERO( m_bEffects );
return;
}
for( int i=0; i<NUM_EFFECT_TYPES-1; i++ )
{
if( m_bEffects[i] )
{
ZERO( m_bEffects );
m_bEffects[i+1] = true;
return;
}
}
// if we get here, no effects are on
m_bEffects[0] = true;
}
void PlayerOptions::NextColor()
{
m_ColorType = (ColorType) ((m_ColorType+1)%NUM_COLOR_TYPES);
}
void PlayerOptions::NextAppearance()
{
m_AppearanceType = (AppearanceType) ((m_AppearanceType+1)%NUM_APPEARANCE_TYPES);
}
void PlayerOptions::NextTurn()
{
m_TurnType = (TurnType) ((m_TurnType+1)%NUM_TURN_TYPES);
}