25 , m_sInvalidReason(
"")
27 , m_sPreferredModifiers(
"")
28 , m_sStageModifiers(
"")
34 m_LuaFunction.Unset();
38 void Load(
int iIndex,
const Commands& cmds);
39 void LoadOne(
const Command& cmd);
41 void ApplyToAllPlayers()
const;
42 void Apply(PlayerNumber pn)
const;
45 void Apply(
const std::vector<PlayerNumber>& vpns)
const;
46 void ApplySelf(
const std::vector<PlayerNumber>& vpns)
const;
49 [[nodiscard]]
auto DescribesCurrentMode(PlayerNumber pn)
const -> bool;
50 [[nodiscard]]
auto DescribesCurrentModeForAllPlayers()
const -> bool;
51 auto IsPlayable(std::string* why =
nullptr)
const -> bool;
52 [[nodiscard]]
auto IsZero()
const -> bool;
56 void ApplyCommitsScreens(
bool bOn) { m_bApplyCommitsScreens = bOn; }
64 bool m_bInvalid{
true };
65 std::string m_sInvalidReason;
67 MultiPlayer m_MultiPlayer{ MultiPlayer_Invalid };
68 const Style* m_pStyle{
nullptr };
69 Difficulty m_dc{ Difficulty_Invalid };
70 std::string m_sAnnouncer;
71 std::string m_sPreferredModifiers;
72 std::string m_sStageModifiers;
73 std::string m_sScreen;
75 Song* m_pSong{
nullptr };
76 Steps* m_pSteps{
nullptr };
77 std::map<std::string, std::string> m_SetEnv;
78 std::map<std::string, std::string> m_SetPref;
79 std::string m_sSongGroup;
80 SortOrder m_SortOrder{ SortOrder_Invalid };
81 std::string m_sSoundPath;
82 std::vector<std::string> m_vsScreensToPrepare;
83 std::string m_sProfileID;
85 bool m_bUrlExits{
true };
87 bool m_bStopMusic{
false };
88 bool m_bApplyDefaultOptions{
false };
90 bool m_bFadeMusic{
false };
91 float m_fMusicFadeOutVolume{ -1 };
94 float m_fMusicFadeOutSeconds{ -1 };
97 void PushSelf(lua_State* L);
100 bool m_bApplyCommitsScreens{
true };