mirror of https://github.com/OpenTTD/OpenTTD
Fix: [Script] Prevent cloning of API instances (#13947)
parent
2ae84f3c9e
commit
827b03a32c
|
@ -7,6 +7,8 @@
|
||||||
|
|
||||||
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
|
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
|
||||||
|
|
||||||
|
#include "../script_fatalerror.hpp"
|
||||||
|
|
||||||
${SQUIRREL_INCLUDES}
|
${SQUIRREL_INCLUDES}
|
||||||
|
|
||||||
static SQInteger ${APIUC}ObjectConstructor(HSQUIRRELVM vm)
|
static SQInteger ${APIUC}ObjectConstructor(HSQUIRRELVM vm)
|
||||||
|
@ -14,11 +16,17 @@ static SQInteger ${APIUC}ObjectConstructor(HSQUIRRELVM vm)
|
||||||
return sq_throwerror(vm, "${APIUC}Object is not instantiable");
|
return sq_throwerror(vm, "${APIUC}Object is not instantiable");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static SQInteger ${APIUC}ObjectCloned(HSQUIRRELVM)
|
||||||
|
{
|
||||||
|
throw Script_FatalError("This instance is not cloneable");
|
||||||
|
}
|
||||||
|
|
||||||
void SQ${APIUC}_RegisterAll(Squirrel *engine)
|
void SQ${APIUC}_RegisterAll(Squirrel *engine)
|
||||||
{
|
{
|
||||||
DefSQClass<ScriptObject, ScriptType::${APIUC}> SQ${APIUC}Object("${APIUC}Object");
|
DefSQClass<ScriptObject, ScriptType::${APIUC}> SQ${APIUC}Object("${APIUC}Object");
|
||||||
SQ${APIUC}Object.PreRegister(engine);
|
SQ${APIUC}Object.PreRegister(engine);
|
||||||
SQ${APIUC}Object.DefSQAdvancedStaticMethod(engine, &${APIUC}ObjectConstructor, "constructor");
|
SQ${APIUC}Object.DefSQAdvancedStaticMethod(engine, &${APIUC}ObjectConstructor, "constructor");
|
||||||
|
SQ${APIUC}Object.DefSQAdvancedStaticMethod(engine, &${APIUC}ObjectCloned, "_cloned");
|
||||||
SQ${APIUC}Object.PostRegister(engine);
|
SQ${APIUC}Object.PostRegister(engine);
|
||||||
|
|
||||||
${SQUIRREL_REGISTER}
|
${SQUIRREL_REGISTER}
|
||||||
|
|
Loading…
Reference in New Issue