Etterna 0.74.4
Loading...
Searching...
No Matches
SongPosition.h
1#ifndef SONGPOSITION_H
2#define SONGPOSITION_H
3
4#include "RageUtil/Misc/RageTimer.h"
5#include "Etterna/Models/Misc/TimingData.h"
6// XXX: where does this come from? might need another include
7struct lua_State;
8
10{
11 public:
12 // Arcade - the current stage (one song).
13 // Oni/Endless - a single song in a course.
14 // Let a lot of classes access this info here so they don't have to keep
15 // their own copies.
16 float
17 m_fMusicSeconds{}; // time into the current song, not scaled by music rate
18 float m_fSongBeat{};
19 float m_fSongBeatNoOffset{};
20 float m_fCurBPS{};
21 // bool m_bStop; // in the middle of a stop (freeze or delay)
23 bool m_bFreeze{};
26 bool m_bDelay{};
31 RageTimer m_LastBeatUpdate; // time of last m_fSongBeat, etc. update
32 float m_fMusicSecondsVisible{};
33 float m_fSongBeatVisible{};
34
35 void Reset();
36 void UpdateSongPosition(float fPositionSeconds,
37 const TimingData& timing,
38 const RageTimer& timestamp = RageZeroTimer);
39
40 // Lua
41 void PushSelf(lua_State* L);
42};
43
44#endif
Definition RageTimer.h:9
Definition SongPosition.h:10
float m_fWarpDestination
The beat to warp to afterwards.
Definition SongPosition.h:30
int m_iWarpBeginRow
The row used to start a warp.
Definition SongPosition.h:28
bool m_bDelay
A flag to determine if we're in the middle of a delay (Pump style stop).
Definition SongPosition.h:26
bool m_bFreeze
A flag to determine if we're in the middle of a freeze/stop.
Definition SongPosition.h:23
Holds data for translating beats<->seconds.
Definition TimingData.h:54