diff --git a/LiteLoader/Main/BuiltinUnlockCmd.cpp b/LiteLoader/Main/BuiltinUnlockCmd.cpp index 51e65cf..3edf4b3 100644 --- a/LiteLoader/Main/BuiltinUnlockCmd.cpp +++ b/LiteLoader/Main/BuiltinUnlockCmd.cpp @@ -40,17 +40,17 @@ class CommandOrigin; //} //#include -//#include -//#include -//#include -// inline void tryChangeStringToRawText(CommandParameterData& data) -//{ -// if (false /* config.xxxx*/ && data.tid.value == type_id().value) -// { -// data.tid = type_id(); -// data.parser = CommandRegistry::getParseFn(); -// } -//} +#include +#include +#include + inline void tryChangeStringToRawText(CommandParameterData& data) +{ + if (false /* config.xxxx*/ && data.tid.value == type_id().value) + { + data.tid = type_id(); + data.parser = CommandRegistry::getParseFn(); + } +} //// allowlist // 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) @@ -58,33 +58,33 @@ class CommandOrigin; // tryChangeStringToRawText(nameParam); // return original(this, unk, version, operationParam, nameParam); // } -//// op -// TInstanceHook(CommandRegistry::Overload*, "??$_registerOverload@VOpCommand@@VCommandParameterData@@@CommandRegistry@@AEAAPEAUOverload@0@PEBDVCommandVersion@@AEBVCommandParameterData@@@Z", -// CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData& nameParam) -//{ -// tryChangeStringToRawText(nameParam); -// return original(this, unk, version, nameParam); -// } -//// deop -// TInstanceHook(CommandRegistry::Overload*, "??$_registerOverload@VDeOpCommand@@VCommandParameterData@@@CommandRegistry@@AEAAPEAUOverload@0@PEBDVCommandVersion@@AEBVCommandParameterData@@@Z", -// CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData& nameParam) -//{ -// tryChangeStringToRawText(nameParam); -// return original(this, unk, version, nameParam); -// } -// bool unlockNewExecute = true; -// TClasslessInstanceHook(bool, "?isEnabled@FeatureToggles@@QEBA_NW4FeatureOptionID@@@Z", -// int feature) -// { -// if (feature == 54 && unlockNewExecute) -// return true; -// return original(this, feature); -// } -// TClasslessInstanceHook(void, "?addSemanticConstraint@CommandRegistry@@AEAAXW4SemanticConstraint@@@Z", -// enum SemanticConstraint) -//{ -// return; -// } +// op + TInstanceHook(CommandRegistry::Overload*, "??$registerOverload@VOpCommand@@VCommandParameterData@@@CommandRegistry@@QEAAXPEBDVCommandVersion@@AEBVCommandParameterData@@@Z", + CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData& nameParam) +{ + tryChangeStringToRawText(nameParam); + return original(this, unk, version, nameParam); + } +// deop + TInstanceHook(CommandRegistry::Overload*, "??$registerOverload@VDeOpCommand@@VCommandParameterData@@@CommandRegistry@@QEAAXPEBDVCommandVersion@@AEBVCommandParameterData@@@Z", + CommandRegistry, char const* unk, class CommandVersion version, class CommandParameterData& nameParam) +{ + tryChangeStringToRawText(nameParam); + return original(this, unk, version, nameParam); + } + bool unlockNewExecute = true; + TClasslessInstanceHook(bool, "?isEnabled@FeatureToggles@@QEBA_NW4FeatureOptionID@@@Z", + int feature) + { + if (feature == 54 && unlockNewExecute) + return true; + return original(this, feature); + } + TClasslessInstanceHook(void, "?addSemanticConstraint@CommandRegistry@@AEAAXW4SemanticConstraint@@@Z", + enum SemanticConstraint) +{ + 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", std::string const& enumName, std::vector const& enumValues, SemanticConstraint constraint) { if (!LL::globalConfig.enableUnlockCmd)