Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

ScreenEz2SelectMusic.h

Go to the documentation of this file.
00001 /* ScreenEz2SelectMusic - A Scrolling List Of Song Banners used to select the song the player wants. */ 00002 00003 #ifndef SCREENEZ2SELECTMUSIC_H 00004 #define SCREENEZ2SELECTMUSIC_H 00005 00006 #include "ScreenWithMenuElements.h" 00007 #include "Sprite.h" 00008 #include "BitmapText.h" 00009 #include "MusicBannerWheel.h" 00010 #include "DifficultyRating.h" 00011 #include "ModeSwitcher.h" 00012 00013 class ScreenEz2SelectMusic : public ScreenWithMenuElements 00014 { 00015 public: 00016 ScreenEz2SelectMusic( CString sName ); 00017 virtual void DrawPrimitives(); 00018 00019 virtual void Update( float fDeltaTime ); 00020 virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); 00021 virtual void HandleScreenMessage( const ScreenMessage SM ); 00022 virtual void MenuStart( PlayerNumber pn ); 00023 virtual void MenuLeft( PlayerNumber pn, const InputEventType type ); 00024 virtual void MenuRight( PlayerNumber pn, const InputEventType type ); 00025 virtual void MenuBack( PlayerNumber pn ); 00026 00027 protected: 00028 void AfterNotesChange( PlayerNumber pn ); 00029 void MusicChanged(); 00030 00031 void EasierDifficulty( PlayerNumber pn ); 00032 void HarderDifficulty( PlayerNumber pn ); 00033 00034 void UpdateOptions( PlayerNumber pn, int nosound ); 00035 00036 CString sOptions; 00037 CStringArray asOptions; 00038 00039 void TweenOffScreen(); 00040 00041 ModeSwitcher m_ModeSwitcher; 00042 Sprite m_ChoiceListFrame; 00043 Sprite m_ChoiceListHighlight; 00044 Sprite m_Guide; 00045 Sprite m_sprOptionsMessage; 00046 Sprite m_InfoFrame; 00047 Sprite m_PumpDifficultyCircle; 00048 Sprite m_SpeedIcon[NUM_PLAYERS]; 00049 Sprite m_MirrorIcon[NUM_PLAYERS]; 00050 Sprite m_ShuffleIcon[NUM_PLAYERS]; 00051 Sprite m_HiddenIcon[NUM_PLAYERS]; 00052 Sprite m_VanishIcon[NUM_PLAYERS]; 00053 Sprite m_sprBalloon; 00054 BitmapText m_PumpDifficultyRating; 00055 BitmapText m_CurrentGroup; 00056 BitmapText m_CurrentTitle; 00057 BitmapText m_CurrentSubTitle; 00058 BitmapText m_CurrentArtist; 00059 00060 00061 RageSound m_soundOptionsChange; 00062 RageSound m_soundMusicChange; 00063 RageSound m_soundMusicCycle; 00064 RageSound m_soundBackMusic; 00065 RageSound m_soundButtonPress; 00066 00067 float m_fRemainingWaitTime; 00068 MusicBannerWheel m_MusicBannerWheel; 00069 DifficultyRating m_DifficultyRating; 00070 vector<Steps*> m_arrayNotes[NUM_PLAYERS]; 00071 00072 int m_iSelection[NUM_PLAYERS]; 00073 bool m_bGoToOptions; 00074 bool m_bMadeChoice; 00075 bool m_bTransitioning; 00076 bool m_bScanning; 00077 00078 int i_SkipAheadOffset; 00079 float ScrollStartTime; 00080 float LastInputTime; 00081 00082 int i_ErrorDetected; 00083 00084 #ifdef DEBUG 00085 BitmapText m_debugtext; 00086 #endif 00087 00088 int iConfirmSelection; 00089 }; 00090 00091 #endif 00092 00093 /* 00094 * (c) 2002-2003 "Frieza" 00095 * All rights reserved. 00096 * 00097 * Permission is hereby granted, free of charge, to any person obtaining a 00098 * copy of this software and associated documentation files (the 00099 * "Software"), to deal in the Software without restriction, including 00100 * without limitation the rights to use, copy, modify, merge, publish, 00101 * distribute, and/or sell copies of the Software, and to permit persons to 00102 * whom the Software is furnished to do so, provided that the above 00103 * copyright notice(s) and this permission notice appear in all copies of 00104 * the Software and that both the above copyright notice(s) and this 00105 * permission notice appear in supporting documentation. 00106 * 00107 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00108 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00109 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 00110 * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS 00111 * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT 00112 * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 00113 * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 00114 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 00115 * PERFORMANCE OF THIS SOFTWARE. 00116 */

Generated on Thu Jan 27 20:57:31 2005 for StepMania by doxygen 1.3.7