Accept any character on menu permissive mode

This commit is contained in:
Jan 2021-12-29 02:52:13 +01:00
parent c87e87eafc
commit d8b1f58b40

View File

@ -234,8 +234,9 @@ namespace menu::event_handler_set_scope_sequences
AddMatchers({ AddMatchers({
create.Or({ create.Or({
create.Numeric(),
create.Text(), create.Text(),
create.Numeric() create.Type(SimpleParserValueType::CHARACTER),
}).Capture(CAPTURE_SCRIPT_TOKEN) }).Capture(CAPTURE_SCRIPT_TOKEN)
}); });
} }
@ -259,6 +260,10 @@ namespace menu::event_handler_set_scope_sequences
state->m_current_script << "\"" << capture.IntegerValue() << "\" "; state->m_current_script << "\"" << capture.IntegerValue() << "\" ";
break; break;
case SimpleParserValueType::CHARACTER:
state->m_current_script << capture.CharacterValue() << " ";
break;
case SimpleParserValueType::FLOATING_POINT: case SimpleParserValueType::FLOATING_POINT:
state->m_current_script << "\"" << capture.FloatingPointValue() << "\" "; state->m_current_script << "\"" << capture.FloatingPointValue() << "\" ";
break; break;
@ -755,6 +760,8 @@ void EventHandlerSetScopeSequences::AddSequences(FeatureLevel featureLevel, bool
// Creating factory with no label supplier. Cannot use labels with it. // Creating factory with no label supplier. Cannot use labels with it.
const ScriptMatcherFactory create(nullptr); const ScriptMatcherFactory create(nullptr);
if (!permissive)
{
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("fadeIn"), create.ScriptText()})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("fadeIn"), create.ScriptText()}));
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("fadeOut"), create.ScriptText()})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("fadeOut"), create.ScriptText()}));
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("show"), create.ScriptText()})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("show"), create.ScriptText()}));
@ -797,7 +804,6 @@ void EventHandlerSetScopeSequences::AddSequences(FeatureLevel featureLevel, bool
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("resetStatsConfirm")})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("resetStatsConfirm")}));
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("resetStatsCancel")})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("resetStatsCancel")}));
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("setGameMode"), create.ScriptText()})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("setGameMode"), create.ScriptText()}));
AddSequence(std::make_unique<SequenceSetLocalVar>());
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("feederTop")})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("feederTop")}));
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("feederBottom")})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("feederBottom")}));
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("showGamerCard")})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("showGamerCard")}));
@ -827,51 +833,56 @@ void EventHandlerSetScopeSequences::AddSequences(FeatureLevel featureLevel, bool
AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("verifyLanguage")})); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("verifyLanguage")}));
AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("updateLanguage")})); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("updateLanguage")}));
AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("mutePlayer")})); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("mutePlayer")}));
AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("openMenuOnDvar"), create.ScriptText(), create.Or({create.ScriptStrictNumeric(), create.ScriptText()}), create.ScriptText()})); AddSequence(SequenceUiScriptStatement::Create(
{create.ScriptKeyword("openMenuOnDvar"), create.ScriptText(), create.Or({create.ScriptStrictNumeric(), create.ScriptText()}), create.ScriptText()}));
AddSequence( AddSequence(
SequenceUiScriptStatement::Create({create.ScriptKeyword("openMenuOnDvarNot"), create.ScriptText(), create.Or({create.ScriptStrictNumeric(), create.ScriptText()}), create.ScriptText()})); SequenceUiScriptStatement::Create({create.ScriptKeyword("openMenuOnDvarNot"), create.ScriptText(), create.Or({create.ScriptStrictNumeric(), create.ScriptText()}), create.ScriptText()}));
AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("closeMenuOnDvar"), create.ScriptText(), create.Or({create.ScriptStrictNumeric(), create.ScriptText()}), create.ScriptText()})); AddSequence(SequenceUiScriptStatement::Create({
create.ScriptKeyword("closeMenuOnDvar"), create.ScriptText(), create.Or({create.ScriptStrictNumeric(), create.ScriptText()}), create.ScriptText()
}));
AddSequence(SequenceUiScriptStatement::Create( AddSequence(SequenceUiScriptStatement::Create(
{create.ScriptKeyword("closeMenuOnDvarNot"), create.ScriptText(), create.Or({create.ScriptStrictNumeric(), create.ScriptText()}), create.ScriptText()})); {create.ScriptKeyword("closeMenuOnDvarNot"), create.ScriptText(), create.Or({create.ScriptStrictNumeric(), create.ScriptText()}), create.ScriptText()}));
AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("setRecommended")})); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("setRecommended")}));
AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("clearLoadErrorsSummary")})); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("clearLoadErrorsSummary")}));
AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("clearClientMatchData")})); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("clearClientMatchData")}));
if(featureLevel == FeatureLevel::IW4) if (featureLevel == FeatureLevel::IW4)
{ {
// IW4x UiScripts // IW4x UiScripts
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("LoadMods") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("LoadMods")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("RunMod") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("RunMod")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("ClearMods") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("ClearMods")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("security_increase_cancel") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("security_increase_cancel")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("mod_download_cancel") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("mod_download_cancel")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("LoadFriends") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("LoadFriends")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("JoinFriend") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("JoinFriend")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("downloadDLC"), create.ScriptInt() })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("downloadDLC"), create.ScriptInt()}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("checkFirstLaunch") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("checkFirstLaunch")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("visitWebsite") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("visitWebsite")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("visitWiki") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("visitWiki")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("visitDiscord") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("visitDiscord")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("updateui_mousePitch") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("updateui_mousePitch")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("ServerStatus") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("ServerStatus")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("UpdateFilter") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("UpdateFilter")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("RefreshFilter") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("RefreshFilter")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("RefreshServers") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("RefreshServers")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("JoinServer") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("JoinServer")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("ServerSort"), create.ScriptInt() })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("ServerSort"), create.ScriptInt()}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("CreateListFavorite") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("CreateListFavorite")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("CreateFavorite") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("CreateFavorite")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("CreateCurrentServerFavorite") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("CreateCurrentServerFavorite")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("DeleteFavorite") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("DeleteFavorite")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("nextStartupMessage") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("nextStartupMessage")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("UpdateClasses") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("UpdateClasses")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("loadDemos") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("loadDemos")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("launchDemo") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("launchDemo")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("deleteDemo") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("deleteDemo")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("ApplyMap") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("ApplyMap")}));
AddSequence(SequenceUiScriptStatement::Create({ create.ScriptKeyword("ApplyInitialMap") })); AddSequence(SequenceUiScriptStatement::Create({create.ScriptKeyword("ApplyInitialMap")}));
}
} }
AddSequence(std::make_unique<SequenceSetLocalVar>());
AddSequence(std::make_unique<SequenceIf>()); AddSequence(std::make_unique<SequenceIf>());
AddSequence(std::make_unique<SequenceElseIf>()); AddSequence(std::make_unique<SequenceElseIf>());
AddSequence(std::make_unique<SequenceElse>()); AddSequence(std::make_unique<SequenceElse>());