MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / _cloned

Method _cloned

src/script/api/script_object.cpp:360–371  ·  view source on GitHub ↗

static */

Source from the content-addressed store, hash-verified

358}
359
360/* static */ SQInteger ScriptObject::_cloned(HSQUIRRELVM vm)
361{
362 ScriptObject *original = static_cast<ScriptObject *>(Squirrel::GetRealInstance(vm, 2, "Object"));
363 if (ScriptObject *clone = original->CloneObject(); clone != nullptr) {
364 clone->AddRef();
365 sq_setinstanceup(vm, 1, clone);
366 sq_setreleasehook(vm, 1, SQConvert::DefSQDestructorCallback<ScriptObject>);
367 return 0;
368 }
369
370 throw Script_FatalError("This instance is not cloneable");
371}

Callers

nothing calls this directly

Calls 5

sq_setinstanceupFunction · 0.85
sq_setreleasehookFunction · 0.85
Script_FatalErrorClass · 0.85
CloneObjectMethod · 0.45
AddRefMethod · 0.45

Tested by

no test coverage detected