mirror of
https://github.com/quizhizhe/LiteLoaderBDS-1.16.40.git
synced 2025-06-06 12:03:39 +00:00
修复动态指令
This commit is contained in:
parent
d772221882
commit
55fd424d13
@ -48,7 +48,7 @@ class Command {
|
|||||||
|
|
||||||
#define AFTER_EXTRA
|
#define AFTER_EXTRA
|
||||||
// Add Member There
|
// Add Member There
|
||||||
|
#define DISABLE_CONSTRUCTOR_PREVENTION_COMMAND
|
||||||
protected:
|
protected:
|
||||||
int version; // 8
|
int version; // 8
|
||||||
CommandRegistry* registry; // 16
|
CommandRegistry* registry; // 16
|
||||||
@ -68,18 +68,16 @@ public:
|
|||||||
return sym(a, b);
|
return sym(a, b);
|
||||||
}
|
}
|
||||||
std::string getCommandName() const{
|
std::string getCommandName() const{
|
||||||
return this->registry->symbolToString(this->symbol);
|
return registry->symbolToString(symbol);
|
||||||
};
|
};
|
||||||
Command(){
|
// Command(){
|
||||||
CommandFlag mflag;
|
// this->version = 0;
|
||||||
mflag.value = CommandFlagValue::None;
|
// this->registry = 0LL;
|
||||||
*(void**)this = dlsym("??_7Command@@6B@");
|
// this->symbol = -1;
|
||||||
this->version = 0;
|
// this->permission = CommandPermissionLevel(5);
|
||||||
this->registry = 0LL;
|
// this->flag.value = CommandFlagValue::None;
|
||||||
this->symbol = -1;
|
// this->unk = 0;
|
||||||
this->permission = CommandPermissionLevel(5);
|
// }
|
||||||
this->flag = mflag;
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef AFTER_EXTRA
|
#undef AFTER_EXTRA
|
||||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_COMMAND
|
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_COMMAND
|
||||||
|
@ -395,7 +395,8 @@
|
|||||||
inline char DynamicCommand::builderCallbackHanler(DCCallback* cb, DCArgs* args, DCValue* result, void* userdata) {
|
inline char DynamicCommand::builderCallbackHanler(DCCallback* cb, DCArgs* args, DCValue* result, void* userdata) {
|
||||||
DynamicCommandInstance& command = *(DynamicCommandInstance*)userdata;
|
DynamicCommandInstance& command = *(DynamicCommandInstance*)userdata;
|
||||||
auto arg1 = (std::unique_ptr<Command>*)dcbArgPointer(args);
|
auto arg1 = (std::unique_ptr<Command>*)dcbArgPointer(args);
|
||||||
DynamicCommand::commandBuilder(arg1, command.getCommandName());
|
arg1->release();
|
||||||
|
result->p = DynamicCommand::commandBuilder(arg1, command.getCommandName());
|
||||||
return 'p';
|
return 'p';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -503,7 +504,7 @@
|
|||||||
#ifdef USE_PARSE_ENUM_STRING
|
#ifdef USE_PARSE_ENUM_STRING
|
||||||
Global<CommandRegistry>->addEnumValuesInternal(fixedView.data(), values, typeid_t<CommandRegistry>::count++, &CommandRegistry::parseEnumStringAndInt).val;
|
Global<CommandRegistry>->addEnumValuesInternal(fixedView.data(), values, typeid_t<CommandRegistry>::count++, &CommandRegistry::parseEnumStringAndInt).val;
|
||||||
#else
|
#else
|
||||||
Global<CommandRegistry>->_addEnumValuesInternal(fixedView.data(), values, typeid_t<CommandRegistry>::count++, &CommandRegistry::parseEnum<int>).val;
|
Global<CommandRegistry>->addEnumValuesInternal(fixedView.data(), values, typeid_t<CommandRegistry>::count++, &CommandRegistry::parseEnum<int>).val;
|
||||||
#endif // USE_PARSE_ENUM_STRING
|
#endif // USE_PARSE_ENUM_STRING
|
||||||
}
|
}
|
||||||
commandInstance->enumRanges.swap(convertedEnumRanges);
|
commandInstance->enumRanges.swap(convertedEnumRanges);
|
||||||
|
Loading…
Reference in New Issue
Block a user