4#ifndef GAME_CONSTANTS_AND_TYPES_H
5#define GAME_CONSTANTS_AND_TYPES_H
8#include "Etterna/Models/NoteData/NoteDataStructures.h"
13const int MIN_METER = 1;
20const int MAX_METER = 35;
26const int ARBITRARY_MIN_GAMEPLAY_NUMBER = -200000;
30const float MISS_WINDOW_BEGIN_SEC = 0.18F;
33const float MINE_WINDOW_SEC = 0.075F;
38const float TAP_IN_HOLD_REQ_SEC = 0.135F;
42const float HOLD_DROP_SEC = 0.250F;
45const float ROLL_DROP_SEC = 0.500F;
47const float MIN_MUSIC_RATE = 0.05F;
48const float MAX_MUSIC_RATE = 3.F;
53 GameplayMode_Practice,
55 GameplayMode_Spectate,
61SkillsetToString(Skillset ss) ->
const std::string&;
63auto CalcPatternModToString(CalcPatternMod) ->
const std::string&;
64auto CalcDiffValueToString(CalcDiffValue) ->
const std::string&;
65auto CalcDebugMiscToString(CalcDebugMisc) ->
const std::string&;
67enum NSScoreBoardColumn
72 NUM_NSScoreBoardColumn,
73 NSScoreBoardColumn_Invalid
78 ValidationKey_Brittle,
81 ValidationKey_Invalid,
85ValidationKeyToString(ValidationKey ss) ->
const std::string&;
95 RadarCategory_TapsAndHolds,
104 RadarCategory_Invalid
112RadarCategoryToString(RadarCategory cat) ->
const std::string&;
119RadarCategoryToLocalizedString(RadarCategory cat) ->
const std::string&;
120LuaDeclareType(RadarCategory);
123enum StepsTypeCategory
125 StepsTypeCategory_Single,
126 StepsTypeCategory_Double,
132 StepsType_dance_single = 0,
133 StepsType_dance_double,
134 StepsType_dance_solo,
135 StepsType_dance_threepanel,
136 StepsType_pump_single,
137 StepsType_pump_halfdouble,
138 StepsType_pump_double,
139 StepsType_kb7_single,
140 StepsType_ez2_single,
141 StepsType_ez2_double,
143 StepsType_ds3ddx_single,
144 StepsType_beat_single5,
145 StepsType_beat_double5,
146 StepsType_beat_single7,
147 StepsType_beat_double7,
148 StepsType_maniax_single,
149 StepsType_maniax_double,
155LuaDeclareType(StepsType);
193SortOrderToString(SortOrder so) ->
const std::string&;
200SortOrderToLocalizedString(SortOrder so) ->
const std::string&;
207StringToSortOrder(
const std::string& str) -> SortOrder;
208LuaDeclareType(SortOrder);
215IsSongSort(SortOrder so) ->
bool
217 return so >= SORT_GROUP && so <= SORT_GENRE;
236 TapNoteScore_Invalid,
244TapNoteScoreToString(TapNoteScore tns) ->
const std::string&;
251TapNoteScoreToLocalizedString(TapNoteScore tns) ->
const std::string&;
258StringToTapNoteScore(
const std::string& str) -> TapNoteScore;
259LuaDeclareType(TapNoteScore);
270 HoldNoteScore_Invalid,
278HoldNoteScoreToString(HoldNoteScore hns) ->
const std::string&;
286HoldNoteScoreToLocalizedString(HoldNoteScore hns) ->
const std::string&;
293StringToHoldNoteScore(
const std::string& str) -> HoldNoteScore;
294LuaDeclareType(HoldNoteScore);
311TimingWindowToString(TimingWindow tw) ->
const std::string&;
331ScoreEventToString(ScoreEvent se) ->
const std::string&;
341enum TapNoteScoreJudgeType
343 TapNoteScoreJudgeType_MinimumScore,
344 TapNoteScoreJudgeType_LastScore,
345 NUM_TapNoteScoreJudgeType,
346 TapNoteScoreJudgeType_Invalid,
349TapNoteScoreJudgeTypeToString(TapNoteScoreJudgeType jt) ->
const std::string&;
350LuaDeclareType(TapNoteScoreJudgeType);
362ProfileSlotToString(ProfileSlot ps) ->
const std::string&;
363LuaDeclareType(ProfileSlot);
365extern const std::string RANKING_TO_FILL_IN_MARKER;
367IsRankingToFillIn(
const std::string& sName) ->
bool
369 return !sName.empty() && sName[0] ==
'#';
373extern const std::string GROUP_ALL;
383 NUM_PlayerController,
384 PlayerController_Invalid
387PlayerControllerToString(PlayerController pc) ->
const std::string&;
388LuaDeclareType(PlayerController);
400LuaDeclareType(HealthState);
414 [[nodiscard]]
auto GetMin()
const -> float;
419 [[nodiscard]]
auto GetMax()
const -> float;
426 [[nodiscard]]
auto GetMaxWithin(
float highest = FLT_MAX)
const -> float;
436 [[nodiscard]]
auto IsSecret()
const -> bool;
446 StyleType_OnePlayerOneSide,
447 StyleType_OnePlayerTwoSides,
452StyleTypeToString(StyleType s) ->
const std::string&;
454StringToStyleType(
const std::string& s) -> StyleType;
455LuaDeclareType(StyleType);
470enum SampleMusicPreviewMode
472 SampleMusicPreviewMode_Normal,
474 SampleMusicPreviewMode_StartToPreview,
475 SampleMusicPreviewMode_ScreenMusic,
478 SampleMusicPreviewMode_LastSong,
479 SampleMusicPreviewMode_Nothing,
480 NUM_SampleMusicPreviewMode,
481 SampleMusicPreviewMode_Invalid,
483auto SampleMusicPreviewModeToString(SampleMusicPreviewMode)
484 ->
const std::string&;
486StringToSampleMusicPreviewMode(
const std::string& s) -> SampleMusicPreviewMode;
487LuaDeclareType(SampleMusicPreviewMode);
515StageToString(Stage s) ->
const std::string&;
516LuaDeclareType(Stage);
518StageToLocalizedString(Stage i) ->
const std::string&;
521enum ProfileLoadResult
523 ProfileLoadResult_Success,
524 ProfileLoadResult_FailedNoProfile,
525 ProfileLoadResult_FailedTampered
529enum MultiPlayerStatus
531 MultiPlayerStatus_Joined,
532 MultiPlayerStatus_NotJoined,
533 MultiPlayerStatus_Unplugged,
534 MultiPlayerStatus_MissingMultitap,
535 NUM_MultiPlayerStatus,
536 MultiPlayerStatus_Invalid
539MultiPlayerStatusToString(MultiPlayerStatus i) ->
const std::string&;
545 FailType_ImmediateContinue,
553FailTypeToString(FailType cat) ->
const std::string&;
555FailTypeToLocalizedString(FailType cat) ->
const std::string&;
556LuaDeclareType(FailType);
The list of BPMs to display.
Definition GameConstantsAndTypes.h:404
auto GetMaxWithin(float highest=FLT_MAX) const -> float
Retrieve the maximum BPM of the set, but no higher than a certain value.
Definition GameConstantsAndTypes.cpp:367
auto GetMax() const -> float
Retrieve the maximum BPM of the set.
Definition GameConstantsAndTypes.cpp:361
void Add(float f)
Add a BPM to the list.
Definition GameConstantsAndTypes.cpp:342
auto BpmIsConstant() const -> bool
Determine if the BPM is really constant.
Definition GameConstantsAndTypes.cpp:378
std::vector< float > vfBpms
The list of the BPMs for the song.
Definition GameConstantsAndTypes.h:440
auto GetMin() const -> float
Retrieve the minimum BPM of the set.
Definition GameConstantsAndTypes.cpp:348
auto IsSecret() const -> bool
Determine if the BPM is meant to be a secret.
Definition GameConstantsAndTypes.cpp:384