Simplify vscript stub function (#627)
Since we can get stack info from the sqvm, we don't need to give the function name in the template and stuff. Cherry picked from primedev
This commit is contained in:
parent
f5ab6fb5e8
commit
a78b7d857f
|
@ -619,20 +619,12 @@ template <ScriptContext context> void ConCommand_script(const CCommand& args)
|
||||||
g_pSquirrel<context>->ExecuteCode(args.ArgS());
|
g_pSquirrel<context>->ExecuteCode(args.ArgS());
|
||||||
}
|
}
|
||||||
|
|
||||||
// literal class type that wraps a constant expression string
|
template <ScriptContext context> SQRESULT SQ_StubbedFunc(HSquirrelVM* sqvm)
|
||||||
template <size_t N> struct TemplateStringLiteral
|
|
||||||
{
|
{
|
||||||
constexpr TemplateStringLiteral(const char (&str)[N])
|
SQStackInfos si;
|
||||||
{
|
g_pSquirrel<context>->sq_stackinfos(sqvm, 0, si);
|
||||||
std::copy_n(str, N, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
char value[N];
|
spdlog::warn("Blocking call to stubbed function {} in {}", si._name, GetContextName(context));
|
||||||
};
|
|
||||||
|
|
||||||
template <ScriptContext context, TemplateStringLiteral funcName> SQRESULT SQ_StubbedFunc(HSquirrelVM* sqvm)
|
|
||||||
{
|
|
||||||
spdlog::info("Blocking call to stubbed function {} in {}", funcName.value, GetContextName(context));
|
|
||||||
return SQRESULT_NULL;
|
return SQRESULT_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -640,12 +632,12 @@ template <ScriptContext context> void StubUnsafeSQFuncs()
|
||||||
{
|
{
|
||||||
if (!CommandLine()->CheckParm("-allowunsafesqfuncs"))
|
if (!CommandLine()->CheckParm("-allowunsafesqfuncs"))
|
||||||
{
|
{
|
||||||
g_pSquirrel<context>->AddFuncOverride("DevTextBufferWrite", SQ_StubbedFunc<context, "DevTextBufferWrite">);
|
g_pSquirrel<context>->AddFuncOverride("DevTextBufferWrite", SQ_StubbedFunc<context>);
|
||||||
g_pSquirrel<context>->AddFuncOverride("DevTextBufferClear", SQ_StubbedFunc<context, "DevTextBufferClear">);
|
g_pSquirrel<context>->AddFuncOverride("DevTextBufferClear", SQ_StubbedFunc<context>);
|
||||||
g_pSquirrel<context>->AddFuncOverride("DevTextBufferDumpToFile", SQ_StubbedFunc<context, "DevTextBufferDumpToFile">);
|
g_pSquirrel<context>->AddFuncOverride("DevTextBufferDumpToFile", SQ_StubbedFunc<context>);
|
||||||
g_pSquirrel<context>->AddFuncOverride("Dev_CommandLineAddParam", SQ_StubbedFunc<context, "Dev_CommandLineAddParam">);
|
g_pSquirrel<context>->AddFuncOverride("Dev_CommandLineAddParam", SQ_StubbedFunc<context>);
|
||||||
g_pSquirrel<context>->AddFuncOverride("DevP4Checkout", SQ_StubbedFunc<context, "DevP4Checkout">);
|
g_pSquirrel<context>->AddFuncOverride("DevP4Checkout", SQ_StubbedFunc<context>);
|
||||||
g_pSquirrel<context>->AddFuncOverride("DevP4Add", SQ_StubbedFunc<context, "DevP4Add">);
|
g_pSquirrel<context>->AddFuncOverride("DevP4Add", SQ_StubbedFunc<context>);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue