36 void Update(
float fDeltaTime)
override;
38 void HandleMessage(
const Message& msg)
override;
39 void HandleScreenMessage(
const ScreenMessage& SM)
override;
44 bool SelectCurrent(PlayerNumber pn,
45 GameplayMode mode = GameplayMode_Normal);
48 void StartPlayingMusic()
override {}
50 virtual void OpenOptions();
51 bool GetGoToOptions()
const {
return m_bGoToOptions; }
52 MusicWheel* GetMusicWheel() {
return &m_MusicWheel; }
54 void OpenOptionsList(PlayerNumber pn);
56 bool can_open_options_list(PlayerNumber pn);
58 virtual void DifferentialReload();
62 int GetSelectionState();
64 void SetSampleMusicPosition(
float);
65 void PauseSampleMusic();
66 bool DeleteCurrentSong();
67 bool ReloadCurrentSong();
68 bool ReloadCurrentPack();
69 bool ToggleCurrentFavorite();
70 bool ToggleCurrentPermamirror();
71 bool GoalFromCurrentChart();
72 bool AddCurrentChartToActivePlaylist();
73 bool CachePackForRanking(
const std::string& pack);
74 void PlayCurrentSongSampleMusic(
bool bForcePlay,
75 bool bForceAccurate =
false,
76 bool bExtended =
false);
79 void ChangeSteps(PlayerNumber pn,
int dir);
81 void PushSelf(lua_State* L)
override;
84 virtual bool GenericTweenOn()
const {
return true; }
85 virtual bool GenericTweenOff()
const {
return true; }
86 void UpdateSelectButton(PlayerNumber pn,
bool bBeingPressed);
88 void AfterStepsOrTrailChange();
89 void SwitchToPreferredDifficulty();
90 void AfterMusicChange();
92 Song* m_pSongAwaitingDeletionConfirmation;
93 void OnConfirmSongDeletion();
95 void CheckBackgroundRequests(
bool bForce);
98 std::vector<Steps*> m_vpSteps;
130 bool CanChangeSong()
const
132 return m_SelectionState == SelectionState_SelectingSong;
134 SelectionState GetNextSelectionState()
const
136 switch (m_SelectionState) {
137 case SelectionState_SelectingSong:
138 return SelectionState_Finalized;
140 return SelectionState_Finalized;
144 GameButton m_GameButtonPreviousSong;
145 GameButton m_GameButtonNextSong;
146 GameButton m_GameButtonPreviousDifficulty;
147 GameButton m_GameButtonNextDifficulty;
148 GameButton m_GameButtonPreviousGroup;
149 GameButton m_GameButtonNextGroup;
151 std::string m_sSectionMusicPath;
152 std::string m_sSortMusicPath;
153 std::string m_sRouletteMusicPath;
154 std::string m_sRandomMusicPath;
155 std::string m_sCourseMusicPath;
156 std::string m_sLoopMusicPath;
157 std::string m_sFallbackCDTitlePath;
162 SelectionState m_SelectionState;
165 std::string m_sSampleMusicToPlay;
167 bool m_bSampleMusicIsBGM =
false;
168 float m_fSampleStartSeconds, m_fSampleLengthSeconds;
169 bool m_bAllowOptionsMenu, m_bAllowOptionsMenuRepeat;
170 bool m_bSelectIsDown;
171 bool m_bAcceptSelectRelease;