#include "stdafx.h" /* ----------------------------------------------------------------------------- Class: PlayerOptions Desc: See header. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ #include "PlayerOptions.h" #include "RageUtil.h" CString PlayerOptions::GetString() { CString sReturn; if( m_fArrowScrollSpeed != 1 ) { CString s = ssprintf( "%2.1f", m_fArrowScrollSpeed ); if( s.Right(1) == '0' ) s.Delete(s.GetLength()-2, 2); // delete last 2 chars sReturn += s + "X, "; } if( m_EffectType & EFFECT_BOOST ) sReturn += "Boost, "; if( m_EffectType & EFFECT_WAVE ) sReturn += "Wave, "; if( m_EffectType & EFFECT_DRUNK ) sReturn += "Drunk, "; if( m_EffectType & EFFECT_DIZZY ) sReturn += "Dizzy, "; if( m_EffectType & EFFECT_SPACE ) sReturn += "Space, "; if( m_EffectType & EFFECT_MINI ) sReturn += "Mini, "; if( m_EffectType & EFFECT_FLIP ) sReturn += "Flip, "; if( m_EffectType & EFFECT_TORNADO ) sReturn += "Tornado, "; switch( m_AppearanceType ) { case APPEARANCE_VISIBLE: break; case APPEARANCE_HIDDEN: sReturn += "Hidden, "; break; case APPEARANCE_SUDDEN: sReturn += "Sudden, "; break; case APPEARANCE_STEALTH: sReturn += "Stealth, "; break; case APPEARANCE_BLINK: sReturn += "Blink, "; break; default: ASSERT(0); // invalid EFFECT } switch( m_TurnType ) { case TURN_NONE: break; case TURN_MIRROR: sReturn += "Mirror, "; break; case TURN_LEFT: sReturn += "Left, "; break; case TURN_RIGHT: sReturn += "Right, "; break; case TURN_SHUFFLE: sReturn += "Shuffle, "; break; case TURN_SUPER_SHUFFLE:sReturn += "SuperShuffle, ";break; default: ASSERT(0); // invalid EFFECT } if( m_bLittle ) sReturn += "Little, "; if( m_bReverseScroll ) sReturn += "Reverse, "; switch( m_ColorType ) { case COLOR_VIVID: break; case COLOR_NOTE: sReturn += "Note, "; break; case COLOR_FLAT: sReturn += "Flat, "; break; case COLOR_PLAIN: sReturn += "Plain, "; break; default: ASSERT(0); // invalid COLOR }; if( !m_bHoldNotes ) sReturn += "NoHolds, "; if( m_bDark ) sReturn += "Dark, "; if( sReturn.GetLength() > 2 ) sReturn.Delete( sReturn.GetLength()-2, 2 ); // delete the trailing ", " return sReturn; } void PlayerOptions::FromString( CString sOptions ) { Init(); sOptions.MakeLower(); CStringArray asBits; split( sOptions, ",", asBits, true ); for( int i=0; i