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);
78 void ChangeSteps(PlayerNumber pn,
int dir);
80 void PushSelf(lua_State* L)
override;
83 virtual bool GenericTweenOn()
const {
return true; }
84 virtual bool GenericTweenOff()
const {
return true; }
85 void UpdateSelectButton(PlayerNumber pn,
bool bBeingPressed);
87 void AfterStepsOrTrailChange();
88 void SwitchToPreferredDifficulty();
89 void AfterMusicChange();
91 Song* m_pSongAwaitingDeletionConfirmation;
92 void OnConfirmSongDeletion();
94 void CheckBackgroundRequests(
bool bForce);
97 std::vector<Steps*> m_vpSteps;
129 bool CanChangeSong()
const
131 return m_SelectionState == SelectionState_SelectingSong;
133 SelectionState GetNextSelectionState()
const
135 switch (m_SelectionState) {
136 case SelectionState_SelectingSong:
137 return SelectionState_Finalized;
139 return SelectionState_Finalized;
143 GameButton m_GameButtonPreviousSong;
144 GameButton m_GameButtonNextSong;
145 GameButton m_GameButtonPreviousDifficulty;
146 GameButton m_GameButtonNextDifficulty;
147 GameButton m_GameButtonPreviousGroup;
148 GameButton m_GameButtonNextGroup;
150 std::string m_sSectionMusicPath;
151 std::string m_sSortMusicPath;
152 std::string m_sRouletteMusicPath;
153 std::string m_sRandomMusicPath;
154 std::string m_sCourseMusicPath;
155 std::string m_sLoopMusicPath;
156 std::string m_sFallbackCDTitlePath;
161 SelectionState m_SelectionState;
164 std::string m_sSampleMusicToPlay;
166 float m_fSampleStartSeconds, m_fSampleLengthSeconds;
167 bool m_bAllowOptionsMenu, m_bAllowOptionsMenuRepeat;
168 bool m_bSelectIsDown;
169 bool m_bAcceptSelectRelease;