Support some UnlockCmd

This commit is contained in:
Qiuzhizhe 2022-10-29 03:19:41 -07:00
parent fa8472b947
commit 2e9eda315a

View File

@ -40,17 +40,17 @@ class CommandOrigin;
//} //}
//#include <MC/AllowListCommand.hpp> //#include <MC/AllowListCommand.hpp>
//#include <MC/CommandVersion.hpp> #include <MC/CommandVersion.hpp>
//#include <MC/CommandRegistry.hpp> #include <MC/CommandRegistry.hpp>
//#include <MC/CommandParameterData.hpp> #include <MC/CommandParameterData.hpp>
// inline void tryChangeStringToRawText(CommandParameterData& data) inline void tryChangeStringToRawText(CommandParameterData& data)
//{ {
// if (false /* config.xxxx*/ && data.tid.value == type_id<CommandRegistry, std::string>().value) if (false /* config.xxxx*/ && data.tid.value == type_id<CommandRegistry, std::string>().value)
// { {
// data.tid = type_id<CommandRegistry, CommandRawText>(); data.tid = type_id<CommandRegistry, CommandRawText>();
// data.parser = CommandRegistry::getParseFn<CommandRawText>(); data.parser = CommandRegistry::getParseFn<CommandRawText>();
// } }
//} }
//// allowlist //// allowlist
// TInstanceHook(CommandRegistry::Overload*, "??$_registerOverload@VAllowListCommand@@VCommandParameterData@@V2@@CommandRegistry@@AEAAPEAUOverload@0@PEBDVCommandVersion@@AEBVCommandParameterData@@2@Z", // TInstanceHook(CommandRegistry::Overload*, "??$_registerOverload@VAllowListCommand@@VCommandParameterData@@V2@@CommandRegistry@@AEAAPEAUOverload@0@PEBDVCommandVersion@@AEBVCommandParameterData@@2@Z",
// CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData const& operationParam, class CommandParameterData& nameParam) // CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData const& operationParam, class CommandParameterData& nameParam)
@ -58,33 +58,33 @@ class CommandOrigin;
// tryChangeStringToRawText(nameParam); // tryChangeStringToRawText(nameParam);
// return original(this, unk, version, operationParam, nameParam); // return original(this, unk, version, operationParam, nameParam);
// } // }
//// op // op
// TInstanceHook(CommandRegistry::Overload*, "??$_registerOverload@VOpCommand@@VCommandParameterData@@@CommandRegistry@@AEAAPEAUOverload@0@PEBDVCommandVersion@@AEBVCommandParameterData@@@Z", TInstanceHook(CommandRegistry::Overload*, "??$registerOverload@VOpCommand@@VCommandParameterData@@@CommandRegistry@@QEAAXPEBDVCommandVersion@@AEBVCommandParameterData@@@Z",
// CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData& nameParam) CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData& nameParam)
//{ {
// tryChangeStringToRawText(nameParam); tryChangeStringToRawText(nameParam);
// return original(this, unk, version, nameParam); return original(this, unk, version, nameParam);
// } }
//// deop // deop
// TInstanceHook(CommandRegistry::Overload*, "??$_registerOverload@VDeOpCommand@@VCommandParameterData@@@CommandRegistry@@AEAAPEAUOverload@0@PEBDVCommandVersion@@AEBVCommandParameterData@@@Z", TInstanceHook(CommandRegistry::Overload*, "??$registerOverload@VDeOpCommand@@VCommandParameterData@@@CommandRegistry@@QEAAXPEBDVCommandVersion@@AEBVCommandParameterData@@@Z",
// CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData& nameParam) CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData& nameParam)
//{ {
// tryChangeStringToRawText(nameParam); tryChangeStringToRawText(nameParam);
// return original(this, unk, version, nameParam); return original(this, unk, version, nameParam);
// } }
// bool unlockNewExecute = true; bool unlockNewExecute = true;
// TClasslessInstanceHook(bool, "?isEnabled@FeatureToggles@@QEBA_NW4FeatureOptionID@@@Z", TClasslessInstanceHook(bool, "?isEnabled@FeatureToggles@@QEBA_NW4FeatureOptionID@@@Z",
// int feature) int feature)
// { {
// if (feature == 54 && unlockNewExecute) if (feature == 54 && unlockNewExecute)
// return true; return true;
// return original(this, feature); return original(this, feature);
// } }
// TClasslessInstanceHook(void, "?addSemanticConstraint@CommandRegistry@@AEAAXW4SemanticConstraint@@@Z", TClasslessInstanceHook(void, "?addSemanticConstraint@CommandRegistry@@AEAAXW4SemanticConstraint@@@Z",
// enum SemanticConstraint) enum SemanticConstraint)
//{ {
// return; return;
// } }
TClasslessInstanceHook(void, "?addEnumValueConstraints@CommandRegistry@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@3@W4SemanticConstraint@@@Z", TClasslessInstanceHook(void, "?addEnumValueConstraints@CommandRegistry@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@3@W4SemanticConstraint@@@Z",
std::string const& enumName, std::vector<std::string> const& enumValues, SemanticConstraint constraint) { std::string const& enumName, std::vector<std::string> const& enumValues, SemanticConstraint constraint) {
if (!LL::globalConfig.enableUnlockCmd) if (!LL::globalConfig.enableUnlockCmd)