Files
itgmania212121/stepmania/src/NoteFieldPositioning.h
T

48 lines
958 B
C++
Raw Normal View History

#ifndef NOTEFIELD_POSITIONING_H
#define NOTEFIELD_POSITIONING_H
2003-04-10 08:49:25 +00:00
#include "RageMath.h"
#include "PlayerNumber.h"
#include "StyleDef.h"
#include "PlayerNumber.h"
2003-04-10 08:49:25 +00:00
#include "Style.h"
2003-04-10 08:49:25 +00:00
#include <set>
class NoteFieldPositioning
{
2003-04-10 08:49:25 +00:00
struct Mode
{
Mode();
bool MatchesCurrentGame() const;
void BeginDrawTrack(int tn) const;
void EndDrawTrack(int tn) const;
CString name;
set<Style> Styles;
RageMatrix m_Position[MAX_NOTE_TRACKS];
/* 0 = no perspective */
float m_fFov[MAX_NOTE_TRACKS];
RageMatrix m_PerspPosition[MAX_NOTE_TRACKS];
};
vector<Mode> Modes;
public:
2003-04-10 08:49:25 +00:00
NoteFieldPositioning(CString fn);
2003-04-10 08:49:25 +00:00
/* Get the mode number for the given positioning type (for the current
* game and style). */
int GetID(const CString &name) const;
int GetID(PlayerNumber pn) const;
2003-04-10 08:49:25 +00:00
void BeginDrawTrack(PlayerNumber pn, int tn) const;
void EndDrawTrack(PlayerNumber pn, int tn) const;
void GetNamesForCurrentGame(vector<CString> &IDs);
};
#endif