Rename GDNative to GDExtension
Non-exhaustive list of case-sensitive renames: GDExtension -> GDNative GDNATIVE -> GDEXTENSION gdextension -> gdnative ExtensionExtension -> Extension (for where there was GDNativeExtension) EXTENSION_EXTENSION -> EXTENSION (for where there was GDNATIVE_EXTENSION) gdnlib -> gdextension gdn_interface -> gde_interface gdni -> gde_interface
This commit is contained in:
@@ -43,13 +43,13 @@ const StringName *Wrapped::_get_extension_class_name() const {
|
||||
void Wrapped::_postinitialize() {
|
||||
const StringName *extension_class = _get_extension_class_name();
|
||||
if (extension_class) {
|
||||
godot::internal::gdn_interface->object_set_instance(_owner, reinterpret_cast<GDNativeConstStringNamePtr>(extension_class), this);
|
||||
godot::internal::gde_interface->object_set_instance(_owner, reinterpret_cast<GDExtensionConstStringNamePtr>(extension_class), this);
|
||||
}
|
||||
godot::internal::gdn_interface->object_set_instance_binding(_owner, godot::internal::token, this, _get_bindings_callbacks());
|
||||
godot::internal::gde_interface->object_set_instance_binding(_owner, godot::internal::token, this, _get_bindings_callbacks());
|
||||
}
|
||||
|
||||
Wrapped::Wrapped(const StringName p_godot_class) {
|
||||
_owner = godot::internal::gdn_interface->classdb_construct_object(reinterpret_cast<GDNativeConstStringNamePtr>(p_godot_class._native_ptr()));
|
||||
_owner = godot::internal::gde_interface->classdb_construct_object(reinterpret_cast<GDExtensionConstStringNamePtr>(p_godot_class._native_ptr()));
|
||||
}
|
||||
|
||||
Wrapped::Wrapped(GodotObject *p_godot_object) {
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
namespace godot {
|
||||
|
||||
std::unordered_map<StringName, ClassDB::ClassInfo> ClassDB::classes;
|
||||
GDNativeInitializationLevel ClassDB::current_level = GDNATIVE_INITIALIZATION_CORE;
|
||||
GDExtensionInitializationLevel ClassDB::current_level = GDEXTENSION_INITIALIZATION_CORE;
|
||||
|
||||
MethodDefinition D_METHOD(StringName p_name) {
|
||||
return MethodDefinition(p_name);
|
||||
@@ -55,13 +55,13 @@ MethodDefinition D_METHOD(StringName p_name, StringName p_arg1) {
|
||||
void ClassDB::add_property_group(const StringName &p_class, const String &p_name, const String &p_prefix) {
|
||||
ERR_FAIL_COND_MSG(classes.find(p_class) == classes.end(), String("Trying to add property '{0}{1}' to non-existing class '{2}'.").format(Array::make(p_prefix, p_name, p_class)));
|
||||
|
||||
internal::gdn_interface->classdb_register_extension_class_property_group(internal::library, p_class._native_ptr(), p_name._native_ptr(), p_prefix._native_ptr());
|
||||
internal::gde_interface->classdb_register_extension_class_property_group(internal::library, p_class._native_ptr(), p_name._native_ptr(), p_prefix._native_ptr());
|
||||
}
|
||||
|
||||
void ClassDB::add_property_subgroup(const StringName &p_class, const String &p_name, const String &p_prefix) {
|
||||
ERR_FAIL_COND_MSG(classes.find(p_class) == classes.end(), String("Trying to add property '{0}{1}' to non-existing class '{2}'.").format(Array::make(p_prefix, p_name, p_class)));
|
||||
|
||||
internal::gdn_interface->classdb_register_extension_class_property_subgroup(internal::library, p_class._native_ptr(), p_name._native_ptr(), p_prefix._native_ptr());
|
||||
internal::gde_interface->classdb_register_extension_class_property_subgroup(internal::library, p_class._native_ptr(), p_name._native_ptr(), p_prefix._native_ptr());
|
||||
}
|
||||
|
||||
void ClassDB::add_property(const StringName &p_class, const PropertyInfo &p_pinfo, const StringName &p_setter, const StringName &p_getter, int p_index) {
|
||||
@@ -94,12 +94,12 @@ void ClassDB::add_property(const StringName &p_class, const PropertyInfo &p_pinf
|
||||
info.property_names.insert(p_pinfo.name);
|
||||
|
||||
// register with Godot
|
||||
GDNativePropertyInfo prop_info = {
|
||||
static_cast<GDNativeVariantType>(p_pinfo.type), // GDNativeVariantType type;
|
||||
p_pinfo.name._native_ptr(), // GDNativeStringNamePtr name;
|
||||
p_pinfo.class_name._native_ptr(), // GDNativeStringNamePtr class_name;
|
||||
GDExtensionPropertyInfo prop_info = {
|
||||
static_cast<GDExtensionVariantType>(p_pinfo.type), // GDExtensionVariantType type;
|
||||
p_pinfo.name._native_ptr(), // GDExtensionStringNamePtr name;
|
||||
p_pinfo.class_name._native_ptr(), // GDExtensionStringNamePtr class_name;
|
||||
p_pinfo.hint, // NONE //uint32_t hint;
|
||||
p_pinfo.hint_string._native_ptr(), // GDNativeStringPtr hint_string;
|
||||
p_pinfo.hint_string._native_ptr(), // GDExtensionStringPtr hint_string;
|
||||
p_pinfo.usage, // DEFAULT //uint32_t usage;
|
||||
};
|
||||
|
||||
@@ -111,7 +111,7 @@ void ClassDB::add_property(const StringName &p_class, const PropertyInfo &p_pinf
|
||||
setget.index = p_index;
|
||||
setget.type = p_pinfo.type;
|
||||
|
||||
internal::gdn_interface->classdb_register_extension_class_property(internal::library, info.name._native_ptr(), &prop_info, setget.setter._native_ptr(), setget.getter._native_ptr());
|
||||
internal::gde_interface->classdb_register_extension_class_property(internal::library, info.name._native_ptr(), &prop_info, setget.setter._native_ptr(), setget.getter._native_ptr());
|
||||
}
|
||||
|
||||
MethodBind *ClassDB::get_method(const StringName &p_class, const StringName &p_method) {
|
||||
@@ -189,52 +189,52 @@ MethodBind *ClassDB::bind_methodfi(uint32_t p_flags, MethodBind *p_bind, const M
|
||||
}
|
||||
|
||||
void ClassDB::bind_method_godot(const StringName &p_class_name, MethodBind *p_method) {
|
||||
std::vector<GDNativeVariantPtr> def_args;
|
||||
std::vector<GDExtensionVariantPtr> def_args;
|
||||
const std::vector<Variant> &def_args_val = p_method->get_default_arguments();
|
||||
def_args.resize(def_args_val.size());
|
||||
for (int i = 0; i < def_args_val.size(); i++) {
|
||||
def_args[i] = (GDNativeVariantPtr)&def_args_val[i];
|
||||
def_args[i] = (GDExtensionVariantPtr)&def_args_val[i];
|
||||
}
|
||||
|
||||
std::vector<PropertyInfo> return_value_and_arguments_info = p_method->get_arguments_info_list();
|
||||
std::vector<GDNativeExtensionClassMethodArgumentMetadata> return_value_and_arguments_metadata = p_method->get_arguments_metadata_list();
|
||||
std::vector<GDExtensionClassMethodArgumentMetadata> return_value_and_arguments_metadata = p_method->get_arguments_metadata_list();
|
||||
|
||||
std::vector<GDNativePropertyInfo> return_value_and_arguments_gdnative_info;
|
||||
return_value_and_arguments_gdnative_info.reserve(return_value_and_arguments_info.size());
|
||||
std::vector<GDExtensionPropertyInfo> return_value_and_arguments_gdextension_info;
|
||||
return_value_and_arguments_gdextension_info.reserve(return_value_and_arguments_info.size());
|
||||
for (std::vector<PropertyInfo>::iterator it = return_value_and_arguments_info.begin(); it != return_value_and_arguments_info.end(); it++) {
|
||||
return_value_and_arguments_gdnative_info.push_back(
|
||||
GDNativePropertyInfo{
|
||||
static_cast<GDNativeVariantType>(it->type), // GDNativeVariantType type;
|
||||
it->name._native_ptr(), // GDNativeStringNamePtr name;
|
||||
it->class_name._native_ptr(), // GDNativeStringNamePtr class_name;
|
||||
return_value_and_arguments_gdextension_info.push_back(
|
||||
GDExtensionPropertyInfo{
|
||||
static_cast<GDExtensionVariantType>(it->type), // GDExtensionVariantType type;
|
||||
it->name._native_ptr(), // GDExtensionStringNamePtr name;
|
||||
it->class_name._native_ptr(), // GDExtensionStringNamePtr class_name;
|
||||
it->hint, // uint32_t hint;
|
||||
it->hint_string._native_ptr(), // GDNativeStringPtr hint_string;
|
||||
it->hint_string._native_ptr(), // GDExtensionStringPtr hint_string;
|
||||
it->usage, // uint32_t usage;
|
||||
});
|
||||
}
|
||||
|
||||
GDNativePropertyInfo *return_value_info = return_value_and_arguments_gdnative_info.data();
|
||||
GDNativeExtensionClassMethodArgumentMetadata *return_value_metadata = return_value_and_arguments_metadata.data();
|
||||
GDNativePropertyInfo *arguments_info = return_value_and_arguments_gdnative_info.data() + 1;
|
||||
GDNativeExtensionClassMethodArgumentMetadata *arguments_metadata = return_value_and_arguments_metadata.data() + 1;
|
||||
GDExtensionPropertyInfo *return_value_info = return_value_and_arguments_gdextension_info.data();
|
||||
GDExtensionClassMethodArgumentMetadata *return_value_metadata = return_value_and_arguments_metadata.data();
|
||||
GDExtensionPropertyInfo *arguments_info = return_value_and_arguments_gdextension_info.data() + 1;
|
||||
GDExtensionClassMethodArgumentMetadata *arguments_metadata = return_value_and_arguments_metadata.data() + 1;
|
||||
|
||||
StringName name = p_method->get_name();
|
||||
GDNativeExtensionClassMethodInfo method_info = {
|
||||
name._native_ptr(), // GDNativeStringNamePtr;
|
||||
GDExtensionClassMethodInfo method_info = {
|
||||
name._native_ptr(), // GDExtensionStringNamePtr;
|
||||
p_method, // void *method_userdata;
|
||||
MethodBind::bind_call, // GDNativeExtensionClassMethodCall call_func;
|
||||
MethodBind::bind_ptrcall, // GDNativeExtensionClassMethodPtrCall ptrcall_func;
|
||||
p_method->get_hint_flags(), // uint32_t method_flags; /* GDNativeExtensionClassMethodFlags */
|
||||
(GDNativeBool)p_method->has_return(), // GDNativeBool has_return_value;
|
||||
return_value_info, // GDNativePropertyInfo *
|
||||
*return_value_metadata, // GDNativeExtensionClassMethodArgumentMetadata *
|
||||
MethodBind::bind_call, // GDExtensionClassMethodCall call_func;
|
||||
MethodBind::bind_ptrcall, // GDExtensionClassMethodPtrCall ptrcall_func;
|
||||
p_method->get_hint_flags(), // uint32_t method_flags; /* GDExtensionClassMethodFlags */
|
||||
(GDExtensionBool)p_method->has_return(), // GDExtensionBool has_return_value;
|
||||
return_value_info, // GDExtensionPropertyInfo *
|
||||
*return_value_metadata, // GDExtensionClassMethodArgumentMetadata *
|
||||
(uint32_t)p_method->get_argument_count(), // uint32_t argument_count;
|
||||
arguments_info, // GDNativePropertyInfo *
|
||||
arguments_metadata, // GDNativeExtensionClassMethodArgumentMetadata *
|
||||
arguments_info, // GDExtensionPropertyInfo *
|
||||
arguments_metadata, // GDExtensionClassMethodArgumentMetadata *
|
||||
(uint32_t)p_method->get_default_argument_count(), // uint32_t default_argument_count;
|
||||
def_args.data(), // GDNativeVariantPtr *default_arguments;
|
||||
def_args.data(), // GDExtensionVariantPtr *default_arguments;
|
||||
};
|
||||
internal::gdn_interface->classdb_register_extension_class_method(internal::library, p_class_name._native_ptr(), &method_info);
|
||||
internal::gde_interface->classdb_register_extension_class_method(internal::library, p_class_name._native_ptr(), &method_info);
|
||||
}
|
||||
|
||||
void ClassDB::add_signal(const StringName &p_class, const MethodInfo &p_signal) {
|
||||
@@ -255,24 +255,24 @@ void ClassDB::add_signal(const StringName &p_class, const MethodInfo &p_signal)
|
||||
cl.signal_names.insert(p_signal.name);
|
||||
|
||||
// register our signal in godot
|
||||
std::vector<GDNativePropertyInfo> parameters;
|
||||
std::vector<GDExtensionPropertyInfo> parameters;
|
||||
parameters.reserve(p_signal.arguments.size());
|
||||
|
||||
for (const PropertyInfo &par : p_signal.arguments) {
|
||||
parameters.push_back(GDNativePropertyInfo{
|
||||
static_cast<GDNativeVariantType>(par.type), // GDNativeVariantType type;
|
||||
par.name._native_ptr(), // GDNativeStringNamePtr name;
|
||||
par.class_name._native_ptr(), // GDNativeStringNamePtr class_name;
|
||||
parameters.push_back(GDExtensionPropertyInfo{
|
||||
static_cast<GDExtensionVariantType>(par.type), // GDExtensionVariantType type;
|
||||
par.name._native_ptr(), // GDExtensionStringNamePtr name;
|
||||
par.class_name._native_ptr(), // GDExtensionStringNamePtr class_name;
|
||||
par.hint, // NONE //uint32_t hint;
|
||||
par.hint_string._native_ptr(), // GDNativeStringPtr hint_string;
|
||||
par.hint_string._native_ptr(), // GDExtensionStringPtr hint_string;
|
||||
par.usage, // DEFAULT //uint32_t usage;
|
||||
});
|
||||
}
|
||||
|
||||
internal::gdn_interface->classdb_register_extension_class_signal(internal::library, cl.name._native_ptr(), p_signal.name._native_ptr(), parameters.data(), parameters.size());
|
||||
internal::gde_interface->classdb_register_extension_class_signal(internal::library, cl.name._native_ptr(), p_signal.name._native_ptr(), parameters.data(), parameters.size());
|
||||
}
|
||||
|
||||
void ClassDB::bind_integer_constant(const StringName &p_class_name, const StringName &p_enum_name, const StringName &p_constant_name, GDNativeInt p_constant_value, bool p_is_bitfield) {
|
||||
void ClassDB::bind_integer_constant(const StringName &p_class_name, const StringName &p_enum_name, const StringName &p_constant_name, GDExtensionInt p_constant_value, bool p_is_bitfield) {
|
||||
std::unordered_map<StringName, ClassInfo>::iterator type_it = classes.find(p_class_name);
|
||||
|
||||
ERR_FAIL_COND_MSG(type_it == classes.end(), String("Class '{0}' doesn't exist.").format(Array::make(p_class_name)));
|
||||
@@ -286,9 +286,9 @@ void ClassDB::bind_integer_constant(const StringName &p_class_name, const String
|
||||
type.constant_names.insert(p_constant_name);
|
||||
|
||||
// Register it with Godot
|
||||
internal::gdn_interface->classdb_register_extension_class_integer_constant(internal::library, p_class_name._native_ptr(), p_enum_name._native_ptr(), p_constant_name._native_ptr(), p_constant_value, p_is_bitfield);
|
||||
internal::gde_interface->classdb_register_extension_class_integer_constant(internal::library, p_class_name._native_ptr(), p_enum_name._native_ptr(), p_constant_name._native_ptr(), p_constant_value, p_is_bitfield);
|
||||
}
|
||||
GDNativeExtensionClassCallVirtual ClassDB::get_virtual_func(void *p_userdata, GDNativeConstStringNamePtr p_name) {
|
||||
GDExtensionClassCallVirtual ClassDB::get_virtual_func(void *p_userdata, GDExtensionConstStringNamePtr p_name) {
|
||||
// This is called by Godot the first time it calls a virtual function, and it caches the result, per object instance.
|
||||
// Because of this, it can happen from different threads at once.
|
||||
// It should be ok not using any mutex as long as we only READ data.
|
||||
@@ -302,7 +302,7 @@ GDNativeExtensionClassCallVirtual ClassDB::get_virtual_func(void *p_userdata, GD
|
||||
|
||||
// Find method in current class, or any of its parent classes (Godot classes not included)
|
||||
while (type != nullptr) {
|
||||
std::unordered_map<StringName, GDNativeExtensionClassCallVirtual>::const_iterator method_it = type->virtual_methods.find(*name);
|
||||
std::unordered_map<StringName, GDExtensionClassCallVirtual>::const_iterator method_it = type->virtual_methods.find(*name);
|
||||
|
||||
if (method_it != type->virtual_methods.end()) {
|
||||
return method_it->second;
|
||||
@@ -314,7 +314,7 @@ GDNativeExtensionClassCallVirtual ClassDB::get_virtual_func(void *p_userdata, GD
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void ClassDB::bind_virtual_method(const StringName &p_class, const StringName &p_method, GDNativeExtensionClassCallVirtual p_call) {
|
||||
void ClassDB::bind_virtual_method(const StringName &p_class, const StringName &p_method, GDExtensionClassCallVirtual p_call) {
|
||||
std::unordered_map<StringName, ClassInfo>::iterator type_it = classes.find(p_class);
|
||||
ERR_FAIL_COND_MSG(type_it == classes.end(), String("Class '{0}' doesn't exist.").format(Array::make(p_class)));
|
||||
|
||||
@@ -329,7 +329,7 @@ void ClassDB::bind_virtual_method(const StringName &p_class, const StringName &p
|
||||
void ClassDB::initialize_class(const ClassInfo &p_cl) {
|
||||
}
|
||||
|
||||
void ClassDB::initialize(GDNativeInitializationLevel p_level) {
|
||||
void ClassDB::initialize(GDExtensionInitializationLevel p_level) {
|
||||
for (const std::pair<StringName, ClassInfo> pair : classes) {
|
||||
const ClassInfo &cl = pair.second;
|
||||
if (cl.level != p_level) {
|
||||
@@ -340,14 +340,14 @@ void ClassDB::initialize(GDNativeInitializationLevel p_level) {
|
||||
}
|
||||
}
|
||||
|
||||
void ClassDB::deinitialize(GDNativeInitializationLevel p_level) {
|
||||
void ClassDB::deinitialize(GDExtensionInitializationLevel p_level) {
|
||||
for (const std::pair<StringName, ClassInfo> pair : classes) {
|
||||
const ClassInfo &cl = pair.second;
|
||||
if (cl.level != p_level) {
|
||||
continue;
|
||||
}
|
||||
|
||||
internal::gdn_interface->classdb_unregister_extension_class(internal::library, cl.name._native_ptr());
|
||||
internal::gde_interface->classdb_unregister_extension_class(internal::library, cl.name._native_ptr());
|
||||
|
||||
for (auto method : cl.method_map) {
|
||||
memdelete(method.second);
|
||||
|
||||
@@ -38,33 +38,33 @@ namespace godot {
|
||||
|
||||
void _err_print_error(const char *p_function, const char *p_file, int p_line, const char *p_error, const char *p_message, bool p_is_warning) {
|
||||
if (p_is_warning) {
|
||||
internal::gdn_interface->print_warning(p_message, p_function, p_file, p_line);
|
||||
internal::gde_interface->print_warning(p_message, p_function, p_file, p_line);
|
||||
} else {
|
||||
internal::gdn_interface->print_error(p_message, p_function, p_file, p_line);
|
||||
internal::gde_interface->print_error(p_message, p_function, p_file, p_line);
|
||||
}
|
||||
}
|
||||
|
||||
void _err_print_error(const char *p_function, const char *p_file, int p_line, const String &p_error, const char *p_message, bool p_is_warning) {
|
||||
if (p_is_warning) {
|
||||
internal::gdn_interface->print_warning(p_message, p_function, p_file, p_line);
|
||||
internal::gde_interface->print_warning(p_message, p_function, p_file, p_line);
|
||||
} else {
|
||||
internal::gdn_interface->print_error(p_message, p_function, p_file, p_line);
|
||||
internal::gde_interface->print_error(p_message, p_function, p_file, p_line);
|
||||
}
|
||||
}
|
||||
|
||||
void _err_print_error(const char *p_function, const char *p_file, int p_line, const char *p_error, const String &p_message, bool p_is_warning) {
|
||||
if (p_is_warning) {
|
||||
internal::gdn_interface->print_warning(p_message.utf8().get_data(), p_function, p_file, p_line);
|
||||
internal::gde_interface->print_warning(p_message.utf8().get_data(), p_function, p_file, p_line);
|
||||
} else {
|
||||
internal::gdn_interface->print_error(p_message.utf8().get_data(), p_function, p_file, p_line);
|
||||
internal::gde_interface->print_error(p_message.utf8().get_data(), p_function, p_file, p_line);
|
||||
}
|
||||
}
|
||||
|
||||
void _err_print_error(const char *p_function, const char *p_file, int p_line, const String &p_error, const String &p_message, bool p_is_warning) {
|
||||
if (p_is_warning) {
|
||||
internal::gdn_interface->print_warning(p_message.utf8().get_data(), p_function, p_file, p_line);
|
||||
internal::gde_interface->print_warning(p_message.utf8().get_data(), p_function, p_file, p_line);
|
||||
} else {
|
||||
internal::gdn_interface->print_error(p_message.utf8().get_data(), p_function, p_file, p_line);
|
||||
internal::gde_interface->print_error(p_message.utf8().get_data(), p_function, p_file, p_line);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,15 +35,15 @@
|
||||
namespace godot {
|
||||
|
||||
void *Memory::alloc_static(size_t p_bytes) {
|
||||
return internal::gdn_interface->mem_alloc(p_bytes);
|
||||
return internal::gde_interface->mem_alloc(p_bytes);
|
||||
}
|
||||
|
||||
void *Memory::realloc_static(void *p_memory, size_t p_bytes) {
|
||||
return internal::gdn_interface->mem_realloc(p_memory, p_bytes);
|
||||
return internal::gde_interface->mem_realloc(p_memory, p_bytes);
|
||||
}
|
||||
|
||||
void Memory::free_static(void *p_ptr) {
|
||||
internal::gdn_interface->mem_free(p_ptr);
|
||||
internal::gde_interface->mem_free(p_ptr);
|
||||
}
|
||||
|
||||
_GlobalNil::_GlobalNil() {
|
||||
|
||||
@@ -75,7 +75,7 @@ void MethodBind::generate_argument_types(int p_count) {
|
||||
memdelete_arr(argument_types);
|
||||
}
|
||||
|
||||
argument_types = memnew_arr(GDNativeVariantType, p_count + 1);
|
||||
argument_types = memnew_arr(GDExtensionVariantType, p_count + 1);
|
||||
|
||||
// -1 means return type.
|
||||
for (int i = -1; i < p_count; i++) {
|
||||
@@ -91,15 +91,15 @@ PropertyInfo MethodBind::get_argument_info(int p_argument) const {
|
||||
return info;
|
||||
}
|
||||
|
||||
void MethodBind::bind_call(void *p_method_userdata, GDExtensionClassInstancePtr p_instance, GDNativeConstVariantPtr *p_args, GDNativeInt p_argument_count, GDNativeVariantPtr r_return, GDNativeCallError *r_error) {
|
||||
void MethodBind::bind_call(void *p_method_userdata, GDExtensionClassInstancePtr p_instance, GDExtensionConstVariantPtr *p_args, GDExtensionInt p_argument_count, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) {
|
||||
const MethodBind *bind = reinterpret_cast<const MethodBind *>(p_method_userdata);
|
||||
Variant ret = bind->call(p_instance, p_args, p_argument_count, *r_error);
|
||||
// This assumes the return value is an empty Variant, so it doesn't need to call the destructor first.
|
||||
// Since only NativeExtensionMethodBind calls this from the Godot side, it should always be the case.
|
||||
internal::gdn_interface->variant_new_copy(r_return, ret._native_ptr());
|
||||
// Since only GDExtensionMethodBind calls this from the Godot side, it should always be the case.
|
||||
internal::gde_interface->variant_new_copy(r_return, ret._native_ptr());
|
||||
}
|
||||
|
||||
void MethodBind::bind_ptrcall(void *p_method_userdata, GDExtensionClassInstancePtr p_instance, GDNativeConstTypePtr *p_args, GDNativeTypePtr r_return) {
|
||||
void MethodBind::bind_ptrcall(void *p_method_userdata, GDExtensionClassInstancePtr p_instance, GDExtensionConstTypePtr *p_args, GDExtensionTypePtr r_return) {
|
||||
const MethodBind *bind = reinterpret_cast<const MethodBind *>(p_method_userdata);
|
||||
bind->ptrcall(p_instance, p_args, r_return);
|
||||
}
|
||||
|
||||
@@ -33,22 +33,22 @@
|
||||
namespace godot {
|
||||
|
||||
MethodInfo::MethodInfo() :
|
||||
flags(GDNATIVE_EXTENSION_METHOD_FLAG_NORMAL) {}
|
||||
flags(GDEXTENSION_METHOD_FLAG_NORMAL) {}
|
||||
|
||||
MethodInfo::MethodInfo(StringName p_name) :
|
||||
name(p_name), flags(GDNATIVE_EXTENSION_METHOD_FLAG_NORMAL) {}
|
||||
name(p_name), flags(GDEXTENSION_METHOD_FLAG_NORMAL) {}
|
||||
|
||||
MethodInfo::MethodInfo(Variant::Type ret) :
|
||||
flags(GDNATIVE_EXTENSION_METHOD_FLAG_NORMAL) {
|
||||
flags(GDEXTENSION_METHOD_FLAG_NORMAL) {
|
||||
return_val.type = ret;
|
||||
}
|
||||
|
||||
MethodInfo::MethodInfo(Variant::Type ret, StringName p_name) :
|
||||
name(p_name), flags(GDNATIVE_EXTENSION_METHOD_FLAG_NORMAL) {
|
||||
name(p_name), flags(GDEXTENSION_METHOD_FLAG_NORMAL) {
|
||||
return_val.type = ret;
|
||||
}
|
||||
|
||||
MethodInfo::MethodInfo(const PropertyInfo &p_ret, StringName p_name) :
|
||||
name(p_name), return_val(p_ret), flags(GDNATIVE_EXTENSION_METHOD_FLAG_NORMAL) {}
|
||||
name(p_name), return_val(p_ret), flags(GDEXTENSION_METHOD_FLAG_NORMAL) {}
|
||||
|
||||
} // namespace godot
|
||||
|
||||
@@ -41,18 +41,18 @@ namespace godot {
|
||||
|
||||
namespace internal {
|
||||
|
||||
const GDNativeInterface *gdn_interface = nullptr;
|
||||
GDNativeExtensionClassLibraryPtr library = nullptr;
|
||||
const GDExtensionInterface *gde_interface = nullptr;
|
||||
GDExtensionClassLibraryPtr library = nullptr;
|
||||
void *token = nullptr;
|
||||
|
||||
} // namespace internal
|
||||
|
||||
GDExtensionBinding::Callback GDExtensionBinding::init_callback = nullptr;
|
||||
GDExtensionBinding::Callback GDExtensionBinding::terminate_callback = nullptr;
|
||||
GDNativeInitializationLevel GDExtensionBinding::minimum_initialization_level = GDNATIVE_INITIALIZATION_CORE;
|
||||
GDExtensionInitializationLevel GDExtensionBinding::minimum_initialization_level = GDEXTENSION_INITIALIZATION_CORE;
|
||||
|
||||
GDNativeBool GDExtensionBinding::init(const GDNativeInterface *p_interface, GDNativeExtensionClassLibraryPtr p_library, GDNativeInitialization *r_initialization) {
|
||||
internal::gdn_interface = p_interface;
|
||||
GDExtensionBool GDExtensionBinding::init(const GDExtensionInterface *p_interface, GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization) {
|
||||
internal::gde_interface = p_interface;
|
||||
internal::library = p_library;
|
||||
internal::token = p_library;
|
||||
|
||||
@@ -67,7 +67,7 @@ GDNativeBool GDExtensionBinding::init(const GDNativeInterface *p_interface, GDNa
|
||||
return true;
|
||||
}
|
||||
|
||||
void GDExtensionBinding::initialize_level(void *userdata, GDNativeInitializationLevel p_level) {
|
||||
void GDExtensionBinding::initialize_level(void *userdata, GDExtensionInitializationLevel p_level) {
|
||||
ClassDB::current_level = p_level;
|
||||
|
||||
if (init_callback) {
|
||||
@@ -77,7 +77,7 @@ void GDExtensionBinding::initialize_level(void *userdata, GDNativeInitialization
|
||||
ClassDB::initialize(p_level);
|
||||
}
|
||||
|
||||
void GDExtensionBinding::deinitialize_level(void *userdata, GDNativeInitializationLevel p_level) {
|
||||
void GDExtensionBinding::deinitialize_level(void *userdata, GDExtensionInitializationLevel p_level) {
|
||||
ClassDB::current_level = p_level;
|
||||
|
||||
if (terminate_callback) {
|
||||
@@ -96,22 +96,22 @@ void GDExtensionBinding::InitObject::register_terminator(Callback p_terminate) c
|
||||
}
|
||||
|
||||
void GDExtensionBinding::InitObject::set_minimum_library_initialization_level(ModuleInitializationLevel p_level) const {
|
||||
GDExtensionBinding::minimum_initialization_level = static_cast<GDNativeInitializationLevel>(p_level);
|
||||
GDExtensionBinding::minimum_initialization_level = static_cast<GDExtensionInitializationLevel>(p_level);
|
||||
}
|
||||
|
||||
GDNativeBool GDExtensionBinding::InitObject::init() const {
|
||||
return GDExtensionBinding::init(gdn_interface, library, initialization);
|
||||
GDExtensionBool GDExtensionBinding::InitObject::init() const {
|
||||
return GDExtensionBinding::init(gde_interface, library, initialization);
|
||||
}
|
||||
|
||||
} // namespace godot
|
||||
|
||||
extern "C" {
|
||||
|
||||
void GDN_EXPORT initialize_level(void *userdata, GDNativeInitializationLevel p_level) {
|
||||
void GDE_EXPORT initialize_level(void *userdata, GDExtensionInitializationLevel p_level) {
|
||||
godot::GDExtensionBinding::initialize_level(userdata, p_level);
|
||||
}
|
||||
|
||||
void GDN_EXPORT deinitialize_level(void *userdata, GDNativeInitializationLevel p_level) {
|
||||
void GDE_EXPORT deinitialize_level(void *userdata, GDExtensionInitializationLevel p_level) {
|
||||
godot::GDExtensionBinding::deinitialize_level(userdata, p_level);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,19 +153,19 @@ CharWideString::~CharWideString() {
|
||||
// It's easier to have them written in C++ directly than in a Python script that generates them.
|
||||
|
||||
String::String(const char *from) {
|
||||
internal::gdn_interface->string_new_with_latin1_chars(_native_ptr(), from);
|
||||
internal::gde_interface->string_new_with_latin1_chars(_native_ptr(), from);
|
||||
}
|
||||
|
||||
String::String(const wchar_t *from) {
|
||||
internal::gdn_interface->string_new_with_wide_chars(_native_ptr(), from);
|
||||
internal::gde_interface->string_new_with_wide_chars(_native_ptr(), from);
|
||||
}
|
||||
|
||||
String::String(const char16_t *from) {
|
||||
internal::gdn_interface->string_new_with_utf16_chars(_native_ptr(), from);
|
||||
internal::gde_interface->string_new_with_utf16_chars(_native_ptr(), from);
|
||||
}
|
||||
|
||||
String::String(const char32_t *from) {
|
||||
internal::gdn_interface->string_new_with_utf32_chars(_native_ptr(), from);
|
||||
internal::gde_interface->string_new_with_utf32_chars(_native_ptr(), from);
|
||||
}
|
||||
|
||||
String String::utf8(const char *from, int len) {
|
||||
@@ -175,7 +175,7 @@ String String::utf8(const char *from, int len) {
|
||||
}
|
||||
|
||||
void String::parse_utf8(const char *from, int len) {
|
||||
internal::gdn_interface->string_new_with_utf8_chars_and_len(_native_ptr(), from, len);
|
||||
internal::gde_interface->string_new_with_utf8_chars_and_len(_native_ptr(), from, len);
|
||||
}
|
||||
|
||||
String String::utf16(const char16_t *from, int len) {
|
||||
@@ -185,7 +185,7 @@ String String::utf16(const char16_t *from, int len) {
|
||||
}
|
||||
|
||||
void String::parse_utf16(const char16_t *from, int len) {
|
||||
internal::gdn_interface->string_new_with_utf16_chars_and_len(_native_ptr(), from, len);
|
||||
internal::gde_interface->string_new_with_utf16_chars_and_len(_native_ptr(), from, len);
|
||||
}
|
||||
|
||||
String String::num_real(double p_num, bool p_trailing) {
|
||||
@@ -226,9 +226,9 @@ String rtoss(double p_val) {
|
||||
}
|
||||
|
||||
CharString String::utf8() const {
|
||||
int size = internal::gdn_interface->string_to_utf8_chars(_native_ptr(), nullptr, 0);
|
||||
int size = internal::gde_interface->string_to_utf8_chars(_native_ptr(), nullptr, 0);
|
||||
char *cstr = memnew_arr(char, size + 1);
|
||||
internal::gdn_interface->string_to_utf8_chars(_native_ptr(), cstr, size + 1);
|
||||
internal::gde_interface->string_to_utf8_chars(_native_ptr(), cstr, size + 1);
|
||||
|
||||
cstr[size] = '\0';
|
||||
|
||||
@@ -236,9 +236,9 @@ CharString String::utf8() const {
|
||||
}
|
||||
|
||||
CharString String::ascii() const {
|
||||
int size = internal::gdn_interface->string_to_latin1_chars(_native_ptr(), nullptr, 0);
|
||||
int size = internal::gde_interface->string_to_latin1_chars(_native_ptr(), nullptr, 0);
|
||||
char *cstr = memnew_arr(char, size + 1);
|
||||
internal::gdn_interface->string_to_latin1_chars(_native_ptr(), cstr, size + 1);
|
||||
internal::gde_interface->string_to_latin1_chars(_native_ptr(), cstr, size + 1);
|
||||
|
||||
cstr[size] = '\0';
|
||||
|
||||
@@ -246,9 +246,9 @@ CharString String::ascii() const {
|
||||
}
|
||||
|
||||
Char16String String::utf16() const {
|
||||
int size = internal::gdn_interface->string_to_utf16_chars(_native_ptr(), nullptr, 0);
|
||||
int size = internal::gde_interface->string_to_utf16_chars(_native_ptr(), nullptr, 0);
|
||||
char16_t *cstr = memnew_arr(char16_t, size + 1);
|
||||
internal::gdn_interface->string_to_utf16_chars(_native_ptr(), cstr, size + 1);
|
||||
internal::gde_interface->string_to_utf16_chars(_native_ptr(), cstr, size + 1);
|
||||
|
||||
cstr[size] = '\0';
|
||||
|
||||
@@ -256,9 +256,9 @@ Char16String String::utf16() const {
|
||||
}
|
||||
|
||||
Char32String String::utf32() const {
|
||||
int size = internal::gdn_interface->string_to_utf32_chars(_native_ptr(), nullptr, 0);
|
||||
int size = internal::gde_interface->string_to_utf32_chars(_native_ptr(), nullptr, 0);
|
||||
char32_t *cstr = memnew_arr(char32_t, size + 1);
|
||||
internal::gdn_interface->string_to_utf32_chars(_native_ptr(), cstr, size + 1);
|
||||
internal::gde_interface->string_to_utf32_chars(_native_ptr(), cstr, size + 1);
|
||||
|
||||
cstr[size] = '\0';
|
||||
|
||||
@@ -266,9 +266,9 @@ Char32String String::utf32() const {
|
||||
}
|
||||
|
||||
CharWideString String::wide_string() const {
|
||||
int size = internal::gdn_interface->string_to_wide_chars(_native_ptr(), nullptr, 0);
|
||||
int size = internal::gde_interface->string_to_wide_chars(_native_ptr(), nullptr, 0);
|
||||
wchar_t *cstr = memnew_arr(wchar_t, size + 1);
|
||||
internal::gdn_interface->string_to_wide_chars(_native_ptr(), cstr, size + 1);
|
||||
internal::gde_interface->string_to_wide_chars(_native_ptr(), cstr, size + 1);
|
||||
|
||||
cstr[size] = '\0';
|
||||
|
||||
@@ -344,19 +344,19 @@ String String::operator+(const char32_t *p_chr) {
|
||||
}
|
||||
|
||||
const char32_t &String::operator[](int p_index) const {
|
||||
return *internal::gdn_interface->string_operator_index_const((GDNativeStringPtr)this, p_index);
|
||||
return *internal::gde_interface->string_operator_index_const((GDExtensionStringPtr)this, p_index);
|
||||
}
|
||||
|
||||
char32_t &String::operator[](int p_index) {
|
||||
return *internal::gdn_interface->string_operator_index((GDNativeStringPtr)this, p_index);
|
||||
return *internal::gde_interface->string_operator_index((GDExtensionStringPtr)this, p_index);
|
||||
}
|
||||
|
||||
const char32_t *String::ptr() const {
|
||||
return internal::gdn_interface->string_operator_index_const((GDNativeStringPtr)this, 0);
|
||||
return internal::gde_interface->string_operator_index_const((GDExtensionStringPtr)this, 0);
|
||||
}
|
||||
|
||||
char32_t *String::ptrw() {
|
||||
return internal::gdn_interface->string_operator_index((GDNativeStringPtr)this, 0);
|
||||
return internal::gde_interface->string_operator_index((GDExtensionStringPtr)this, 0);
|
||||
}
|
||||
|
||||
bool operator==(const char *p_chr, const String &p_str) {
|
||||
|
||||
@@ -47,174 +47,174 @@
|
||||
namespace godot {
|
||||
|
||||
const uint8_t &PackedByteArray::operator[](int p_index) const {
|
||||
return *internal::gdn_interface->packed_byte_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_byte_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
uint8_t &PackedByteArray::operator[](int p_index) {
|
||||
return *internal::gdn_interface->packed_byte_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_byte_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
const uint8_t *PackedByteArray::ptr() const {
|
||||
return internal::gdn_interface->packed_byte_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_byte_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
uint8_t *PackedByteArray::ptrw() {
|
||||
return internal::gdn_interface->packed_byte_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_byte_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const Color &PackedColorArray::operator[](int p_index) const {
|
||||
const Color *color = (const Color *)internal::gdn_interface->packed_color_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
const Color *color = (const Color *)internal::gde_interface->packed_color_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
return *color;
|
||||
}
|
||||
|
||||
Color &PackedColorArray::operator[](int p_index) {
|
||||
Color *color = (Color *)internal::gdn_interface->packed_color_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
Color *color = (Color *)internal::gde_interface->packed_color_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
return *color;
|
||||
}
|
||||
|
||||
const Color *PackedColorArray::ptr() const {
|
||||
return (const Color *)internal::gdn_interface->packed_color_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return (const Color *)internal::gde_interface->packed_color_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
Color *PackedColorArray::ptrw() {
|
||||
return (Color *)internal::gdn_interface->packed_color_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return (Color *)internal::gde_interface->packed_color_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const float &PackedFloat32Array::operator[](int p_index) const {
|
||||
return *internal::gdn_interface->packed_float32_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_float32_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
float &PackedFloat32Array::operator[](int p_index) {
|
||||
return *internal::gdn_interface->packed_float32_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_float32_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
const float *PackedFloat32Array::ptr() const {
|
||||
return internal::gdn_interface->packed_float32_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_float32_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
float *PackedFloat32Array::ptrw() {
|
||||
return internal::gdn_interface->packed_float32_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_float32_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const double &PackedFloat64Array::operator[](int p_index) const {
|
||||
return *internal::gdn_interface->packed_float64_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_float64_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
double &PackedFloat64Array::operator[](int p_index) {
|
||||
return *internal::gdn_interface->packed_float64_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_float64_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
const double *PackedFloat64Array::ptr() const {
|
||||
return internal::gdn_interface->packed_float64_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_float64_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
double *PackedFloat64Array::ptrw() {
|
||||
return internal::gdn_interface->packed_float64_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_float64_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const int32_t &PackedInt32Array::operator[](int p_index) const {
|
||||
return *internal::gdn_interface->packed_int32_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_int32_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
int32_t &PackedInt32Array::operator[](int p_index) {
|
||||
return *internal::gdn_interface->packed_int32_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_int32_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
const int32_t *PackedInt32Array::ptr() const {
|
||||
return internal::gdn_interface->packed_int32_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_int32_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
int32_t *PackedInt32Array::ptrw() {
|
||||
return internal::gdn_interface->packed_int32_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_int32_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const int64_t &PackedInt64Array::operator[](int p_index) const {
|
||||
return *internal::gdn_interface->packed_int64_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_int64_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
int64_t &PackedInt64Array::operator[](int p_index) {
|
||||
return *internal::gdn_interface->packed_int64_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
return *internal::gde_interface->packed_int64_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
}
|
||||
|
||||
const int64_t *PackedInt64Array::ptr() const {
|
||||
return internal::gdn_interface->packed_int64_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_int64_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
int64_t *PackedInt64Array::ptrw() {
|
||||
return internal::gdn_interface->packed_int64_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return internal::gde_interface->packed_int64_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const String &PackedStringArray::operator[](int p_index) const {
|
||||
const String *string = (const String *)internal::gdn_interface->packed_string_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
const String *string = (const String *)internal::gde_interface->packed_string_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
return *string;
|
||||
}
|
||||
|
||||
String &PackedStringArray::operator[](int p_index) {
|
||||
String *string = (String *)internal::gdn_interface->packed_string_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
String *string = (String *)internal::gde_interface->packed_string_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
return *string;
|
||||
}
|
||||
|
||||
const String *PackedStringArray::ptr() const {
|
||||
return (const String *)internal::gdn_interface->packed_string_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return (const String *)internal::gde_interface->packed_string_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
String *PackedStringArray::ptrw() {
|
||||
return (String *)internal::gdn_interface->packed_string_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return (String *)internal::gde_interface->packed_string_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const Vector2 &PackedVector2Array::operator[](int p_index) const {
|
||||
const Vector2 *vec = (const Vector2 *)internal::gdn_interface->packed_vector2_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
const Vector2 *vec = (const Vector2 *)internal::gde_interface->packed_vector2_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
return *vec;
|
||||
}
|
||||
|
||||
Vector2 &PackedVector2Array::operator[](int p_index) {
|
||||
Vector2 *vec = (Vector2 *)internal::gdn_interface->packed_vector2_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
Vector2 *vec = (Vector2 *)internal::gde_interface->packed_vector2_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
return *vec;
|
||||
}
|
||||
|
||||
const Vector2 *PackedVector2Array::ptr() const {
|
||||
return (const Vector2 *)internal::gdn_interface->packed_vector2_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return (const Vector2 *)internal::gde_interface->packed_vector2_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
Vector2 *PackedVector2Array::ptrw() {
|
||||
return (Vector2 *)internal::gdn_interface->packed_vector2_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return (Vector2 *)internal::gde_interface->packed_vector2_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const Vector3 &PackedVector3Array::operator[](int p_index) const {
|
||||
const Vector3 *vec = (const Vector3 *)internal::gdn_interface->packed_vector3_array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
const Vector3 *vec = (const Vector3 *)internal::gde_interface->packed_vector3_array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
return *vec;
|
||||
}
|
||||
|
||||
Vector3 &PackedVector3Array::operator[](int p_index) {
|
||||
Vector3 *vec = (Vector3 *)internal::gdn_interface->packed_vector3_array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
Vector3 *vec = (Vector3 *)internal::gde_interface->packed_vector3_array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
return *vec;
|
||||
}
|
||||
|
||||
const Vector3 *PackedVector3Array::ptr() const {
|
||||
return (const Vector3 *)internal::gdn_interface->packed_vector3_array_operator_index_const((GDNativeTypePtr *)this, 0);
|
||||
return (const Vector3 *)internal::gde_interface->packed_vector3_array_operator_index_const((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
Vector3 *PackedVector3Array::ptrw() {
|
||||
return (Vector3 *)internal::gdn_interface->packed_vector3_array_operator_index((GDNativeTypePtr *)this, 0);
|
||||
return (Vector3 *)internal::gde_interface->packed_vector3_array_operator_index((GDExtensionTypePtr *)this, 0);
|
||||
}
|
||||
|
||||
const Variant &Array::operator[](int p_index) const {
|
||||
const Variant *var = (const Variant *)internal::gdn_interface->array_operator_index_const((GDNativeTypePtr *)this, p_index);
|
||||
const Variant *var = (const Variant *)internal::gde_interface->array_operator_index_const((GDExtensionTypePtr *)this, p_index);
|
||||
return *var;
|
||||
}
|
||||
|
||||
Variant &Array::operator[](int p_index) {
|
||||
Variant *var = (Variant *)internal::gdn_interface->array_operator_index((GDNativeTypePtr *)this, p_index);
|
||||
Variant *var = (Variant *)internal::gde_interface->array_operator_index((GDExtensionTypePtr *)this, p_index);
|
||||
return *var;
|
||||
}
|
||||
|
||||
const Variant &Dictionary::operator[](const Variant &p_key) const {
|
||||
const Variant *var = (const Variant *)internal::gdn_interface->dictionary_operator_index_const((GDNativeTypePtr *)this, (GDNativeVariantPtr)&p_key);
|
||||
const Variant *var = (const Variant *)internal::gde_interface->dictionary_operator_index_const((GDExtensionTypePtr *)this, (GDExtensionVariantPtr)&p_key);
|
||||
return *var;
|
||||
}
|
||||
|
||||
Variant &Dictionary::operator[](const Variant &p_key) {
|
||||
Variant *var = (Variant *)internal::gdn_interface->dictionary_operator_index((GDNativeTypePtr *)this, (GDNativeVariantPtr)&p_key);
|
||||
Variant *var = (Variant *)internal::gde_interface->dictionary_operator_index((GDExtensionTypePtr *)this, (GDExtensionVariantPtr)&p_key);
|
||||
return *var;
|
||||
}
|
||||
|
||||
|
||||
@@ -39,14 +39,14 @@
|
||||
|
||||
namespace godot {
|
||||
|
||||
GDNativeVariantFromTypeConstructorFunc Variant::from_type_constructor[Variant::VARIANT_MAX]{};
|
||||
GDNativeTypeFromVariantConstructorFunc Variant::to_type_constructor[Variant::VARIANT_MAX]{};
|
||||
GDExtensionVariantFromTypeConstructorFunc Variant::from_type_constructor[Variant::VARIANT_MAX]{};
|
||||
GDExtensionTypeFromVariantConstructorFunc Variant::to_type_constructor[Variant::VARIANT_MAX]{};
|
||||
|
||||
void Variant::init_bindings() {
|
||||
// Start from 1 to skip NIL.
|
||||
for (int i = 1; i < VARIANT_MAX; i++) {
|
||||
from_type_constructor[i] = internal::gdn_interface->get_variant_from_type_constructor((GDNativeVariantType)i);
|
||||
to_type_constructor[i] = internal::gdn_interface->get_variant_to_type_constructor((GDNativeVariantType)i);
|
||||
from_type_constructor[i] = internal::gde_interface->get_variant_from_type_constructor((GDExtensionVariantType)i);
|
||||
to_type_constructor[i] = internal::gde_interface->get_variant_to_type_constructor((GDExtensionVariantType)i);
|
||||
}
|
||||
|
||||
StringName::init_bindings();
|
||||
@@ -69,15 +69,15 @@ void Variant::init_bindings() {
|
||||
}
|
||||
|
||||
Variant::Variant() {
|
||||
internal::gdn_interface->variant_new_nil(_native_ptr());
|
||||
internal::gde_interface->variant_new_nil(_native_ptr());
|
||||
}
|
||||
|
||||
Variant::Variant(GDNativeConstVariantPtr native_ptr) {
|
||||
internal::gdn_interface->variant_new_copy(_native_ptr(), native_ptr);
|
||||
Variant::Variant(GDExtensionConstVariantPtr native_ptr) {
|
||||
internal::gde_interface->variant_new_copy(_native_ptr(), native_ptr);
|
||||
}
|
||||
|
||||
Variant::Variant(const Variant &other) {
|
||||
internal::gdn_interface->variant_new_copy(_native_ptr(), other._native_ptr());
|
||||
internal::gde_interface->variant_new_copy(_native_ptr(), other._native_ptr());
|
||||
}
|
||||
|
||||
Variant::Variant(Variant &&other) {
|
||||
@@ -85,13 +85,13 @@ Variant::Variant(Variant &&other) {
|
||||
}
|
||||
|
||||
Variant::Variant(bool v) {
|
||||
GDNativeBool encoded;
|
||||
GDExtensionBool encoded;
|
||||
PtrToArg<bool>::encode(v, &encoded);
|
||||
from_type_constructor[BOOL](_native_ptr(), &encoded);
|
||||
}
|
||||
|
||||
Variant::Variant(int64_t v) {
|
||||
GDNativeInt encoded;
|
||||
GDExtensionInt encoded;
|
||||
PtrToArg<int64_t>::encode(v, &encoded);
|
||||
from_type_constructor[INT](_native_ptr(), &encoded);
|
||||
}
|
||||
@@ -107,67 +107,67 @@ Variant::Variant(const String &v) {
|
||||
}
|
||||
|
||||
Variant::Variant(const Vector2 &v) {
|
||||
from_type_constructor[VECTOR2](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[VECTOR2](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Vector2i &v) {
|
||||
from_type_constructor[VECTOR2I](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[VECTOR2I](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Rect2 &v) {
|
||||
from_type_constructor[RECT2](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[RECT2](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Rect2i &v) {
|
||||
from_type_constructor[RECT2I](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[RECT2I](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Vector3 &v) {
|
||||
from_type_constructor[VECTOR3](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[VECTOR3](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Vector3i &v) {
|
||||
from_type_constructor[VECTOR3I](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[VECTOR3I](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Transform2D &v) {
|
||||
from_type_constructor[TRANSFORM2D](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[TRANSFORM2D](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Vector4 &v) {
|
||||
from_type_constructor[VECTOR4](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[VECTOR4](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Vector4i &v) {
|
||||
from_type_constructor[VECTOR4I](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[VECTOR4I](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Plane &v) {
|
||||
from_type_constructor[PLANE](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[PLANE](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Quaternion &v) {
|
||||
from_type_constructor[QUATERNION](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[QUATERNION](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const godot::AABB &v) {
|
||||
from_type_constructor[AABB](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[AABB](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Basis &v) {
|
||||
from_type_constructor[BASIS](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[BASIS](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Transform3D &v) {
|
||||
from_type_constructor[TRANSFORM3D](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[TRANSFORM3D](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Projection &v) {
|
||||
from_type_constructor[PROJECTION](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[PROJECTION](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const Color &v) {
|
||||
from_type_constructor[COLOR](_native_ptr(), (GDNativeTypePtr)&v);
|
||||
from_type_constructor[COLOR](_native_ptr(), (GDExtensionTypePtr)&v);
|
||||
}
|
||||
|
||||
Variant::Variant(const StringName &v) {
|
||||
@@ -244,17 +244,17 @@ Variant::Variant(const PackedColorArray &v) {
|
||||
}
|
||||
|
||||
Variant::~Variant() {
|
||||
internal::gdn_interface->variant_destroy(_native_ptr());
|
||||
internal::gde_interface->variant_destroy(_native_ptr());
|
||||
}
|
||||
|
||||
Variant::operator bool() const {
|
||||
GDNativeBool result;
|
||||
GDExtensionBool result;
|
||||
to_type_constructor[BOOL](&result, _native_ptr());
|
||||
return PtrToArg<bool>::convert(&result);
|
||||
}
|
||||
|
||||
Variant::operator int64_t() const {
|
||||
GDNativeInt result;
|
||||
GDExtensionInt result;
|
||||
to_type_constructor[INT](&result, _native_ptr());
|
||||
return PtrToArg<int64_t>::convert(&result);
|
||||
}
|
||||
@@ -289,97 +289,97 @@ Variant::operator String() const {
|
||||
|
||||
Variant::operator Vector2() const {
|
||||
Vector2 result;
|
||||
to_type_constructor[VECTOR2]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[VECTOR2]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Vector2i() const {
|
||||
Vector2i result;
|
||||
to_type_constructor[VECTOR2I]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[VECTOR2I]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Rect2() const {
|
||||
Rect2 result;
|
||||
to_type_constructor[RECT2]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[RECT2]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Rect2i() const {
|
||||
Rect2i result;
|
||||
to_type_constructor[RECT2I]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[RECT2I]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Vector3() const {
|
||||
Vector3 result;
|
||||
to_type_constructor[VECTOR3]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[VECTOR3]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Vector3i() const {
|
||||
Vector3i result;
|
||||
to_type_constructor[VECTOR3I]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[VECTOR3I]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Transform2D() const {
|
||||
Transform2D result;
|
||||
to_type_constructor[TRANSFORM2D]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[TRANSFORM2D]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Vector4() const {
|
||||
Vector4 result;
|
||||
to_type_constructor[VECTOR4]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[VECTOR4]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Vector4i() const {
|
||||
Vector4i result;
|
||||
to_type_constructor[VECTOR4I]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[VECTOR4I]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Plane() const {
|
||||
Plane result;
|
||||
to_type_constructor[PLANE]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[PLANE]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Quaternion() const {
|
||||
Quaternion result;
|
||||
to_type_constructor[QUATERNION]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[QUATERNION]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator godot::AABB() const {
|
||||
godot::AABB result;
|
||||
to_type_constructor[AABB]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[AABB]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Basis() const {
|
||||
Basis result;
|
||||
to_type_constructor[BASIS]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[BASIS]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Transform3D() const {
|
||||
Transform3D result;
|
||||
to_type_constructor[TRANSFORM3D]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[TRANSFORM3D]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Projection() const {
|
||||
Projection result;
|
||||
to_type_constructor[PROJECTION]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[PROJECTION]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::operator Color() const {
|
||||
Color result;
|
||||
to_type_constructor[COLOR]((GDNativeTypePtr)&result, _native_ptr());
|
||||
to_type_constructor[COLOR]((GDExtensionTypePtr)&result, _native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -407,7 +407,7 @@ Variant::operator Object *() const {
|
||||
if (obj == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
return reinterpret_cast<Object *>(internal::gdn_interface->object_get_instance_binding(obj, internal::token, &Object::___binding_callbacks));
|
||||
return reinterpret_cast<Object *>(internal::gde_interface->object_get_instance_binding(obj, internal::token, &Object::___binding_callbacks));
|
||||
}
|
||||
|
||||
Variant::operator Callable() const {
|
||||
@@ -490,7 +490,7 @@ Variant::operator PackedColorArray() const {
|
||||
|
||||
Variant &Variant::operator=(const Variant &other) {
|
||||
clear();
|
||||
internal::gdn_interface->variant_new_copy(_native_ptr(), other._native_ptr());
|
||||
internal::gde_interface->variant_new_copy(_native_ptr(), other._native_ptr());
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -529,51 +529,51 @@ bool Variant::operator<(const Variant &other) const {
|
||||
return result.operator bool();
|
||||
}
|
||||
|
||||
void Variant::call(const StringName &method, const Variant **args, int argcount, Variant &r_ret, GDNativeCallError &r_error) {
|
||||
internal::gdn_interface->variant_call(_native_ptr(), method._native_ptr(), reinterpret_cast<GDNativeConstVariantPtr *>(args), argcount, r_ret._native_ptr(), &r_error);
|
||||
void Variant::call(const StringName &method, const Variant **args, int argcount, Variant &r_ret, GDExtensionCallError &r_error) {
|
||||
internal::gde_interface->variant_call(_native_ptr(), method._native_ptr(), reinterpret_cast<GDExtensionConstVariantPtr *>(args), argcount, r_ret._native_ptr(), &r_error);
|
||||
}
|
||||
|
||||
void Variant::call_static(Variant::Type type, const StringName &method, const Variant **args, int argcount, Variant &r_ret, GDNativeCallError &r_error) {
|
||||
internal::gdn_interface->variant_call_static(static_cast<GDNativeVariantType>(type), method._native_ptr(), reinterpret_cast<GDNativeConstVariantPtr *>(args), argcount, r_ret._native_ptr(), &r_error);
|
||||
void Variant::call_static(Variant::Type type, const StringName &method, const Variant **args, int argcount, Variant &r_ret, GDExtensionCallError &r_error) {
|
||||
internal::gde_interface->variant_call_static(static_cast<GDExtensionVariantType>(type), method._native_ptr(), reinterpret_cast<GDExtensionConstVariantPtr *>(args), argcount, r_ret._native_ptr(), &r_error);
|
||||
}
|
||||
|
||||
void Variant::evaluate(const Operator &op, const Variant &a, const Variant &b, Variant &r_ret, bool &r_valid) {
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_evaluate(static_cast<GDNativeVariantOperator>(op), a._native_ptr(), b._native_ptr(), r_ret._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_evaluate(static_cast<GDExtensionVariantOperator>(op), a._native_ptr(), b._native_ptr(), r_ret._native_ptr(), &valid);
|
||||
r_valid = PtrToArg<bool>::convert(&valid);
|
||||
}
|
||||
|
||||
void Variant::set(const Variant &key, const Variant &value, bool *r_valid) {
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_set(_native_ptr(), key._native_ptr(), value._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_set(_native_ptr(), key._native_ptr(), value._native_ptr(), &valid);
|
||||
if (r_valid) {
|
||||
*r_valid = PtrToArg<bool>::convert(&valid);
|
||||
}
|
||||
}
|
||||
|
||||
void Variant::set_named(const StringName &name, const Variant &value, bool &r_valid) {
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_set_named(_native_ptr(), name._native_ptr(), value._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_set_named(_native_ptr(), name._native_ptr(), value._native_ptr(), &valid);
|
||||
r_valid = PtrToArg<bool>::convert(&valid);
|
||||
}
|
||||
|
||||
void Variant::set_indexed(int64_t index, const Variant &value, bool &r_valid, bool &r_oob) {
|
||||
GDNativeBool valid, oob;
|
||||
internal::gdn_interface->variant_set_indexed(_native_ptr(), index, value._native_ptr(), &valid, &oob);
|
||||
GDExtensionBool valid, oob;
|
||||
internal::gde_interface->variant_set_indexed(_native_ptr(), index, value._native_ptr(), &valid, &oob);
|
||||
r_valid = PtrToArg<bool>::convert(&valid);
|
||||
r_oob = PtrToArg<bool>::convert(&oob);
|
||||
}
|
||||
|
||||
void Variant::set_keyed(const Variant &key, const Variant &value, bool &r_valid) {
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_set_keyed(_native_ptr(), key._native_ptr(), value._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_set_keyed(_native_ptr(), key._native_ptr(), value._native_ptr(), &valid);
|
||||
r_valid = PtrToArg<bool>::convert(&valid);
|
||||
}
|
||||
|
||||
Variant Variant::get(const Variant &key, bool *r_valid) const {
|
||||
Variant result;
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_get(_native_ptr(), key._native_ptr(), result._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_get(_native_ptr(), key._native_ptr(), result._native_ptr(), &valid);
|
||||
if (r_valid) {
|
||||
*r_valid = PtrToArg<bool>::convert(&valid);
|
||||
}
|
||||
@@ -582,17 +582,17 @@ Variant Variant::get(const Variant &key, bool *r_valid) const {
|
||||
|
||||
Variant Variant::get_named(const StringName &name, bool &r_valid) const {
|
||||
Variant result;
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_get_named(_native_ptr(), name._native_ptr(), result._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_get_named(_native_ptr(), name._native_ptr(), result._native_ptr(), &valid);
|
||||
r_valid = PtrToArg<bool>::convert(&valid);
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant Variant::get_indexed(int64_t index, bool &r_valid, bool &r_oob) const {
|
||||
Variant result;
|
||||
GDNativeBool valid;
|
||||
GDNativeBool oob;
|
||||
internal::gdn_interface->variant_get_indexed(_native_ptr(), index, result._native_ptr(), &valid, &oob);
|
||||
GDExtensionBool valid;
|
||||
GDExtensionBool oob;
|
||||
internal::gde_interface->variant_get_indexed(_native_ptr(), index, result._native_ptr(), &valid, &oob);
|
||||
r_valid = PtrToArg<bool>::convert(&valid);
|
||||
r_oob = PtrToArg<bool>::convert(&oob);
|
||||
return result;
|
||||
@@ -600,8 +600,8 @@ Variant Variant::get_indexed(int64_t index, bool &r_valid, bool &r_oob) const {
|
||||
|
||||
Variant Variant::get_keyed(const Variant &key, bool &r_valid) const {
|
||||
Variant result;
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_get_keyed(_native_ptr(), key._native_ptr(), result._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_get_keyed(_native_ptr(), key._native_ptr(), result._native_ptr(), &valid);
|
||||
r_valid = PtrToArg<bool>::convert(&valid);
|
||||
return result;
|
||||
}
|
||||
@@ -617,37 +617,37 @@ bool Variant::in(const Variant &index, bool *r_valid) const {
|
||||
}
|
||||
|
||||
bool Variant::iter_init(Variant &r_iter, bool &r_valid) const {
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_iter_init(_native_ptr(), r_iter._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_iter_init(_native_ptr(), r_iter._native_ptr(), &valid);
|
||||
return PtrToArg<bool>::convert(&valid);
|
||||
}
|
||||
|
||||
bool Variant::iter_next(Variant &r_iter, bool &r_valid) const {
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_iter_next(_native_ptr(), r_iter._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_iter_next(_native_ptr(), r_iter._native_ptr(), &valid);
|
||||
return PtrToArg<bool>::convert(&valid);
|
||||
}
|
||||
|
||||
Variant Variant::iter_get(const Variant &r_iter, bool &r_valid) const {
|
||||
Variant result;
|
||||
GDNativeBool valid;
|
||||
internal::gdn_interface->variant_iter_get(_native_ptr(), r_iter._native_ptr(), result._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
internal::gde_interface->variant_iter_get(_native_ptr(), r_iter._native_ptr(), result._native_ptr(), &valid);
|
||||
r_valid = PtrToArg<bool>::convert(&valid);
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant::Type Variant::get_type() const {
|
||||
return static_cast<Variant::Type>(internal::gdn_interface->variant_get_type(_native_ptr()));
|
||||
return static_cast<Variant::Type>(internal::gde_interface->variant_get_type(_native_ptr()));
|
||||
}
|
||||
|
||||
bool Variant::has_method(const StringName &method) const {
|
||||
GDNativeBool has = internal::gdn_interface->variant_has_method(_native_ptr(), method._native_ptr());
|
||||
GDExtensionBool has = internal::gde_interface->variant_has_method(_native_ptr(), method._native_ptr());
|
||||
return PtrToArg<bool>::convert(&has);
|
||||
}
|
||||
|
||||
bool Variant::has_key(const Variant &key, bool *r_valid) const {
|
||||
GDNativeBool valid;
|
||||
GDNativeBool has = internal::gdn_interface->variant_has_key(_native_ptr(), key._native_ptr(), &valid);
|
||||
GDExtensionBool valid;
|
||||
GDExtensionBool has = internal::gde_interface->variant_has_key(_native_ptr(), key._native_ptr(), &valid);
|
||||
if (r_valid) {
|
||||
*r_valid = PtrToArg<bool>::convert(&valid);
|
||||
}
|
||||
@@ -655,59 +655,59 @@ bool Variant::has_key(const Variant &key, bool *r_valid) const {
|
||||
}
|
||||
|
||||
bool Variant::has_member(Variant::Type type, const StringName &member) {
|
||||
GDNativeBool has = internal::gdn_interface->variant_has_member(static_cast<GDNativeVariantType>(type), member._native_ptr());
|
||||
GDExtensionBool has = internal::gde_interface->variant_has_member(static_cast<GDExtensionVariantType>(type), member._native_ptr());
|
||||
return PtrToArg<bool>::convert(&has);
|
||||
}
|
||||
|
||||
uint32_t Variant::hash() const {
|
||||
GDNativeInt hash = internal::gdn_interface->variant_hash(_native_ptr());
|
||||
GDExtensionInt hash = internal::gde_interface->variant_hash(_native_ptr());
|
||||
return PtrToArg<uint32_t>::convert(&hash);
|
||||
}
|
||||
|
||||
uint32_t Variant::recursive_hash(int recursion_count) const {
|
||||
GDNativeInt hash = internal::gdn_interface->variant_recursive_hash(_native_ptr(), recursion_count);
|
||||
GDExtensionInt hash = internal::gde_interface->variant_recursive_hash(_native_ptr(), recursion_count);
|
||||
return PtrToArg<uint32_t>::convert(&hash);
|
||||
}
|
||||
|
||||
bool Variant::hash_compare(const Variant &variant) const {
|
||||
GDNativeBool compare = internal::gdn_interface->variant_hash_compare(_native_ptr(), variant._native_ptr());
|
||||
GDExtensionBool compare = internal::gde_interface->variant_hash_compare(_native_ptr(), variant._native_ptr());
|
||||
return PtrToArg<bool>::convert(&compare);
|
||||
}
|
||||
|
||||
bool Variant::booleanize() const {
|
||||
GDNativeBool booleanized = internal::gdn_interface->variant_booleanize(_native_ptr());
|
||||
GDExtensionBool booleanized = internal::gde_interface->variant_booleanize(_native_ptr());
|
||||
return PtrToArg<bool>::convert(&booleanized);
|
||||
}
|
||||
|
||||
String Variant::stringify() const {
|
||||
String result;
|
||||
internal::gdn_interface->variant_stringify(_native_ptr(), result._native_ptr());
|
||||
internal::gde_interface->variant_stringify(_native_ptr(), result._native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
Variant Variant::duplicate(bool deep) const {
|
||||
Variant result;
|
||||
GDNativeBool _deep;
|
||||
GDExtensionBool _deep;
|
||||
PtrToArg<bool>::encode(deep, &_deep);
|
||||
internal::gdn_interface->variant_duplicate(_native_ptr(), result._native_ptr(), _deep);
|
||||
internal::gde_interface->variant_duplicate(_native_ptr(), result._native_ptr(), _deep);
|
||||
return result;
|
||||
}
|
||||
|
||||
String Variant::get_type_name(Variant::Type type) {
|
||||
String result;
|
||||
internal::gdn_interface->variant_get_type_name(static_cast<GDNativeVariantType>(type), result._native_ptr());
|
||||
internal::gde_interface->variant_get_type_name(static_cast<GDExtensionVariantType>(type), result._native_ptr());
|
||||
return result;
|
||||
}
|
||||
|
||||
bool Variant::can_convert(Variant::Type from, Variant::Type to) {
|
||||
GDNativeBool can;
|
||||
internal::gdn_interface->variant_can_convert(static_cast<GDNativeVariantType>(from), static_cast<GDNativeVariantType>(to));
|
||||
GDExtensionBool can;
|
||||
internal::gde_interface->variant_can_convert(static_cast<GDExtensionVariantType>(from), static_cast<GDExtensionVariantType>(to));
|
||||
return PtrToArg<bool>::convert(&can);
|
||||
}
|
||||
|
||||
bool Variant::can_convert_strict(Variant::Type from, Variant::Type to) {
|
||||
GDNativeBool can;
|
||||
internal::gdn_interface->variant_can_convert_strict(static_cast<GDNativeVariantType>(from), static_cast<GDNativeVariantType>(to));
|
||||
GDExtensionBool can;
|
||||
internal::gde_interface->variant_can_convert_strict(static_cast<GDExtensionVariantType>(from), static_cast<GDExtensionVariantType>(to));
|
||||
return PtrToArg<bool>::convert(&can);
|
||||
}
|
||||
|
||||
@@ -758,9 +758,9 @@ void Variant::clear() {
|
||||
};
|
||||
|
||||
if (unlikely(needs_deinit[get_type()])) { // Make it fast for types that don't need deinit.
|
||||
internal::gdn_interface->variant_destroy(_native_ptr());
|
||||
internal::gde_interface->variant_destroy(_native_ptr());
|
||||
}
|
||||
internal::gdn_interface->variant_new_nil(_native_ptr());
|
||||
internal::gde_interface->variant_new_nil(_native_ptr());
|
||||
}
|
||||
|
||||
} // namespace godot
|
||||
|
||||
Reference in New Issue
Block a user