1#ifndef SCREEN_GAMEPLAY_H
2#define SCREEN_GAMEPLAY_H
4#include "Etterna/Models/Misc/AutoKeysounds.h"
5#include "Etterna/Actor/Base/BitmapText.h"
6#include "Etterna/Models/Misc/GameplayAssist.h"
7#include "Etterna/Models/Misc/InputEventPlus.h"
8#include "Etterna/Models/Misc/LocalizedString.h"
9#include "Etterna/Actor/Gameplay/LyricDisplay.h"
10#include "RageUtil/Sound/RageSound.h"
11#include "Etterna/Screen/Others/ScreenWithMenuElements.h"
12#include "Etterna/Models/Misc/ThemeMetric.h"
13#include "Etterna/Actor/GameplayAndMenus/Transition.h"
14#include "Etterna/Models/Misc/PlayerInfo.h"
20AutoScreenMessage(SM_NotesEnded);
21AutoScreenMessage(SM_BeginFailed);
22AutoScreenMessage(SM_LeaveGameplay);
34 void Update(
float fDeltaTime)
override;
36 void HandleScreenMessage(
const ScreenMessage& SM)
override;
37 void HandleMessage(
const Message& msg)
override;
38 void Cancel(ScreenMessage smSendWhenDone)
override;
53 void PushSelf(lua_State* L)
override;
58 void FailFadeRemovePlayer(PlayerNumber pn);
59 void BeginBackingOutFromGameplay();
65 const float GetSongPosition();
68 virtual void UpdateStageStats(
71 virtual bool UseSongBackgroundAndForeground()
const {
return true; }
72 virtual void LoadPlayer();
73 virtual void ReloadPlayer();
74 virtual void LoadScoreKeeper();
75 virtual void RestartGameplay();
93 void SetupSong(
int iSongIndex);
94 void ReloadCurrentSong();
95 virtual void LoadNextSong();
96 void StartPlayingSong(
float fMinTimeToNotes,
float fMinTimeToMusic);
97 void GetMusicEndTiming(
float& fSecondsToStartFadingOutMusic,
98 float& fSecondsToStartTransitioningOut);
99 void PlayAnnouncer(
const std::string& type,
101 float* fDeltaSeconds);
102 void PlayAnnouncer(
const std::string& type,
float fSeconds)
104 PlayAnnouncer(type, fSeconds, &m_fTimeSinceLastDancingComment);
106 void SendCrossedMessages();
110 void UpdateSongPosition();
112 virtual void SaveStats();
113 virtual void StageFinished(
bool bBackedOut);
114 bool AllAreFailing();
116 virtual void SetupNoteDataFromRow(
Steps* pSteps,
int minRow = 0,
117 int maxrow = MAX_NOTE_ROW);
119 virtual void InitSongQueues();
138 std::vector<float> ratesqueue;
139 std::vector<std::string> playlistscorekeys;
141 float m_fTimeSinceLastDancingComment;
153 BitmapText m_Scoreboard[NUM_NSScoreBoardColumn];
156 bool m_bShowScoreboard;
162 void AbortGiveUpText(
bool show_abort_text);
163 void AbortGiveUp(
bool bShowText);
164 void ResetGiveUpTimers(
bool show_text);
179 bool m_bZeroDeltaOnNextUpdate;
186 virtual void FillPlayerInfo(
PlayerInfo* vPlayerInfoOut) = 0;
189 return m_vPlayerInfo;
197 bool m_delaying_ready_announce;
200 bool m_bRestarted =
false;
Handle playback of auto keysound notes.
Definition AutoKeysounds.h:13
the Background that is behind the notes while playing.
Definition Background.h:11
An actor that holds a Font and draws text to the screen.
Definition BitmapText.h:11
Foreground in front of notes while playing.
Definition Foreground.h:10
The handclaps and metronomes ready to assist the player.
Definition GameplayAssist.h:11
The player's life.
Definition LifeMeter.h:13
Get a String based on the user's natural language.
Definition LocalizedString.h:13
Displays lyrics along with the song on Gameplay.
Definition LyricDisplay.h:8
Definition PlayerInfo.h:19
Definition RageSound.h:130
The music plays, the notes scroll, and the Player is pressing buttons.
Definition ScreenGameplay.h:27
enum ScreenGameplay::DancingState m_DancingState
The specific point within ScreenGameplay.
DancingState
The different game states of ScreenGameplay.
Definition ScreenGameplay.h:123
@ STATE_DANCING
Definition ScreenGameplay.h:126
@ STATE_OUTRO
Definition ScreenGameplay.h:127
@ STATE_INTRO
Definition ScreenGameplay.h:124
Transition m_Toasty
The transition to use when one player earns an easter egg.
Definition ScreenGameplay.h:171
void BeginScreen() override
This is called immediately before the screen is used.
Definition ScreenGameplay.cpp:829
std::vector< Song * > m_apSongsQueue
The songs left to play.
Definition ScreenGameplay.h:137
void RestartGameplayForLua()
This function exists because.
Definition ScreenGameplay.h:62
Transition m_Failed
The transition to use when all players have failed.
Definition ScreenGameplay.h:169
Transition m_NextSong
Used between songs in a course to show the next song.
Definition ScreenGameplay.h:151
static bool Center1Player()
Determine if we are to center the columns for just one player.
Definition ScreenGameplay.cpp:353
void Init() override
This is called immediately after construction, to allow initializing after all derived classes exist.
Definition ScreenGameplay.cpp:112
void DrawPrimitives() override
Draw the primitives of the Actor.
Definition ScreenGameplay.cpp:1142
ScreenType GetScreenType() const override
Retrieve the current ScreenType.
Definition ScreenGameplay.h:45
Holds note information for a Song.
Definition Steps.h:42
The theme specific data.
Definition ThemeMetric.h:52
Definition Transition.h:11
Definition MessageManager.h:96