Etterna 0.74.4
Loading...
Searching...
No Matches
PlayerReplay.h
1#ifndef PlayerReplay_H
2#define PlayerReplay_H
3
4#include "Player.h"
5
6// Player derivative meant to ignore useless stuff
7class PlayerReplay : public Player
8{
9 public:
10 PlayerReplay(NoteData& nd, bool bVisibleParts = true);
11 ~PlayerReplay() override;
12
13 void UpdateHoldNotes(int iSongRow,
14 float fDeltaTime,
15 std::vector<TrackRowTapNote>& vTN) override;
16 void Init(const std::string& sType,
17 PlayerState* pPlayerState,
18 PlayerStageStats* pPlayerStageStats,
19 LifeMeter* pLM,
20 ScoreKeeper* pPrimaryScoreKeeper) override;
21 void Load() override;
22 void Reload() override;
23 void Update(float fDeltaTime) override;
24 void CrossedRows(int iLastrowCrossed,
25 const std::chrono::steady_clock::time_point& now) override;
26 void Step(int col,
27 int steppedRow,
28 const std::chrono::steady_clock::time_point& tm,
29 bool bHeld,
30 bool bRelease,
31 float padStickSeconds = 0.0F,
32 int rowToJudge = -1,
33 float forcedSongPositionSeconds = 0.0F);
34
35 void UpdateLoadedReplay(int startRow = 0);
36
37 std::map<int, std::vector<PlaybackEvent>>& GetPlaybackEvents() {
38 return playbackEvents;
39 }
40 void SetPlaybackEvents(std::map<int, std::vector<PlaybackEvent>> v);
41
42 std::map<int, std::set<int>>& GetDroppedHolds() {
43 return droppedHolds;
44 }
45 void SetDroppedHolds(const std::map<int, std::set<int>>& v) {
46 droppedHolds = v;
47 }
48
49 protected:
50 void UpdateHoldsAndRolls(
51 float fDeltaTime,
52 const std::chrono::steady_clock::time_point& now) override;
53 void HandleTapRowScore(unsigned row) override;
54 void UpdateTapNotesMissedOlderThan(float fMissIfOlderThanSeconds) override;
55 void UpdatePressedFlags() override;
56 void CheckForSteps(const std::chrono::steady_clock::time_point& tm);
57
58 std::map<int, std::vector<PlaybackEvent>> playbackEvents{};
59 std::map<int, std::set<int>> droppedHolds{};
60 std::set<int> holdingColumns{};
61};
62
63#endif
The player's life.
Definition LifeMeter.h:13
Holds data about the notes that the player is supposed to hit.
Definition NoteData.h:43
Definition PlayerReplay.h:8
Contains statistics for one stage of play - either one song, or a whole course.
Definition PlayerStageStats.h:19
The player's indivdual state.
Definition PlayerState.h:30
Accepts input, knocks down TapNotes that were stepped on, and keeps score for the player.
Definition Player.h:42
Abstract class to handle scorekeeping, stat-taking, etc.
Definition ScoreKeeper.h:20