Etterna 0.74.4
Loading...
Searching...
No Matches
Grade.h
1#ifndef GRADE_H
2#define GRADE_H
3
4#include "EnumHelper.h"
5#include "ThemeMetric.h"
6
7enum Grade
8{
9 Grade_Tier01,
10 Grade_Tier02,
11 Grade_Tier03,
12 Grade_Tier04,
13 Grade_Tier05,
14 Grade_Tier06,
15 Grade_Tier07,
16 Grade_Tier08,
17 Grade_Tier09,
18 Grade_Tier10,
19 Grade_Tier11,
20 Grade_Tier12,
21 Grade_Tier13,
22 Grade_Tier14,
23 Grade_Tier15,
24 Grade_Tier16,
25 Grade_Tier17,
26 Grade_Tier18,
27 Grade_Tier19,
28 Grade_Tier20,
29 Grade_Failed,
30 NUM_Grade,
31 Grade_Invalid,
32};
33
42inline auto
43GradeToString(Grade g) -> std::string
44{
45 ASSERT_M((g >= 0 && g < NUM_Grade) || g == Grade_Invalid,
46 ssprintf("grade = %d", g));
47
48 switch (g) {
49 case Grade_Invalid:
50 return "NoData";
51 case Grade_Failed:
52 return "Failed";
53 default:
54 return ssprintf("Tier%02d", g + 1);
55 }
56}
57
66auto
67GradeToOldString(Grade g) -> std::string;
68auto
69GradeToLocalizedString(Grade g) -> std::string;
75auto
76StringToGrade(const std::string& s) -> Grade;
77LuaDeclareType(Grade);
78extern ThemeMetric<int> NUM_GRADE_TIERS_USED;
79#define NUM_POSSIBLE_GRADES (NUM_GRADE_TIERS_USED + 1)
84auto
85GetNextPossibleGrade(Grade g) -> Grade;
87#define FOREACH_PossibleGrade(g) \
88 \
89 for (Grade g = (Grade)(0); (g) != Grade_Invalid; \
90 (g) = GetNextPossibleGrade(g))
91
92#endif
93
94auto
95GetGradeFromPercent(float pc) -> Grade;
The theme specific data.
Definition ThemeMetric.h:52