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