diff options
409 files changed, 2286 insertions, 0 deletions
diff --git a/core/array.cpp b/core/array.cpp index 75efe8f8ff..1a8a833404 100644 --- a/core/array.cpp +++ b/core/array.cpp @@ -83,9 +83,11 @@ const Variant &Array::operator[](int p_idx) const { int Array::size() const { return _p->array.size(); } + bool Array::empty() const { return _p->array.empty(); } + void Array::clear() { _p->array.clear(); } @@ -151,6 +153,7 @@ void Array::_assign(const Array &p_array) { void Array::operator=(const Array &p_array) { _assign(p_array); } + void Array::push_back(const Variant &p_value) { ERR_FAIL_COND(!_p->typed.validate(p_value, "push_back")); _p->array.push_back(p_value); @@ -509,6 +512,7 @@ Array::Array() { _p = memnew(ArrayPrivate); _p->refcount.init(); } + Array::~Array() { _unref(); } diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index a5809d6678..7c7ef4e03c 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -69,6 +69,7 @@ _ResourceLoader *_ResourceLoader::singleton = nullptr; Error _ResourceLoader::load_threaded_request(const String &p_path, const String &p_type_hint, bool p_use_sub_threads) { return ResourceLoader::load_threaded_request(p_path, p_type_hint, p_use_sub_threads); } + _ResourceLoader::ThreadLoadStatus _ResourceLoader::load_threaded_get_status(const String &p_path, Array r_progress) { float progress = 0; ResourceLoader::ThreadLoadStatus tls = ResourceLoader::load_threaded_get_status(p_path, &progress); @@ -76,6 +77,7 @@ _ResourceLoader::ThreadLoadStatus _ResourceLoader::load_threaded_get_status(cons r_progress[0] = progress; return (ThreadLoadStatus)tls; } + RES _ResourceLoader::load_threaded_get(const String &p_path) { Error error; RES res = ResourceLoader::load_threaded_get(p_path, &error); @@ -198,6 +200,7 @@ void _OS::set_use_file_access_save_and_swap(bool p_enable) { void _OS::set_low_processor_usage_mode(bool p_enabled) { OS::get_singleton()->set_low_processor_usage_mode(p_enabled); } + bool _OS::is_in_low_processor_usage_mode() const { return OS::get_singleton()->is_in_low_processor_usage_mode(); } @@ -252,6 +255,7 @@ int _OS::get_process_id() const { bool _OS::has_environment(const String &p_var) const { return OS::get_singleton()->has_environment(p_var); } + String _OS::get_environment(const String &p_var) const { return OS::get_singleton()->get_environment(p_var); } @@ -259,6 +263,7 @@ String _OS::get_environment(const String &p_var) const { String _OS::get_name() const { return OS::get_singleton()->get_name(); } + Vector<String> _OS::get_cmdline_args() { List<String> cmdline = OS::get_singleton()->get_cmdline_args(); Vector<String> cmdlinev; @@ -811,6 +816,7 @@ Vector<Plane> _Geometry::build_box_planes(const Vector3 &p_extents) { Vector<Plane> _Geometry::build_cylinder_planes(float p_radius, float p_height, int p_sides, Vector3::Axis p_axis) { return Geometry::build_cylinder_planes(p_radius, p_height, p_sides, p_axis); } + Vector<Plane> _Geometry::build_capsule_planes(float p_radius, float p_height, int p_sides, int p_lats, Vector3::Axis p_axis) { return Geometry::build_capsule_planes(p_radius, p_height, p_sides, p_lats, p_axis); } @@ -860,22 +866,27 @@ Vector<Vector3> _Geometry::get_closest_points_between_segments(const Vector3 &p1 r.set(1, r2); return r; } + Vector2 _Geometry::get_closest_point_to_segment_2d(const Vector2 &p_point, const Vector2 &p_a, const Vector2 &p_b) { Vector2 s[2] = { p_a, p_b }; return Geometry::get_closest_point_to_segment_2d(p_point, s); } + Vector3 _Geometry::get_closest_point_to_segment(const Vector3 &p_point, const Vector3 &p_a, const Vector3 &p_b) { Vector3 s[2] = { p_a, p_b }; return Geometry::get_closest_point_to_segment(p_point, s); } + Vector2 _Geometry::get_closest_point_to_segment_uncapped_2d(const Vector2 &p_point, const Vector2 &p_a, const Vector2 &p_b) { Vector2 s[2] = { p_a, p_b }; return Geometry::get_closest_point_to_segment_uncapped_2d(p_point, s); } + Vector3 _Geometry::get_closest_point_to_segment_uncapped(const Vector3 &p_point, const Vector3 &p_a, const Vector3 &p_b) { Vector3 s[2] = { p_a, p_b }; return Geometry::get_closest_point_to_segment_uncapped(p_point, s); } + Variant _Geometry::ray_intersects_triangle(const Vector3 &p_from, const Vector3 &p_dir, const Vector3 &p_v0, const Vector3 &p_v1, const Vector3 &p_v2) { Vector3 res; if (Geometry::ray_intersects_triangle(p_from, p_dir, p_v0, p_v1, p_v2, &res)) @@ -883,6 +894,7 @@ Variant _Geometry::ray_intersects_triangle(const Vector3 &p_from, const Vector3 else return Variant(); } + Variant _Geometry::segment_intersects_triangle(const Vector3 &p_from, const Vector3 &p_to, const Vector3 &p_v0, const Vector3 &p_v1, const Vector3 &p_v2) { Vector3 res; if (Geometry::segment_intersects_triangle(p_from, p_to, p_v0, p_v1, p_v2, &res)) @@ -906,6 +918,7 @@ Vector<Vector3> _Geometry::segment_intersects_sphere(const Vector3 &p_from, cons r.set(1, norm); return r; } + Vector<Vector3> _Geometry::segment_intersects_cylinder(const Vector3 &p_from, const Vector3 &p_to, float p_height, float p_radius) { Vector<Vector3> r; Vector3 res, norm; @@ -917,6 +930,7 @@ Vector<Vector3> _Geometry::segment_intersects_cylinder(const Vector3 &p_from, co r.set(1, norm); return r; } + Vector<Vector3> _Geometry::segment_intersects_convex(const Vector3 &p_from, const Vector3 &p_to, const Vector<Plane> &p_planes) { Vector<Vector3> r; Vector3 res, norm; @@ -1198,9 +1212,11 @@ void _File::close() { memdelete(f); f = nullptr; } + bool _File::is_open() const { return f != nullptr; } + String _File::get_path() const { ERR_FAIL_COND_V_MSG(!f, "", "File must be opened before use."); return f->get_path(); @@ -1215,10 +1231,12 @@ void _File::seek(int64_t p_position) { ERR_FAIL_COND_MSG(!f, "File must be opened before use."); f->seek(p_position); } + void _File::seek_end(int64_t p_position) { ERR_FAIL_COND_MSG(!f, "File must be opened before use."); f->seek_end(p_position); } + int64_t _File::get_position() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); return f->get_position(); @@ -1238,14 +1256,17 @@ uint8_t _File::get_8() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); return f->get_8(); } + uint16_t _File::get_16() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); return f->get_16(); } + uint32_t _File::get_32() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); return f->get_32(); } + uint64_t _File::get_64() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); return f->get_64(); @@ -1255,10 +1276,12 @@ float _File::get_float() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); return f->get_float(); } + double _File::get_double() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); return f->get_double(); } + real_t _File::get_real() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); return f->get_real(); @@ -1332,6 +1355,7 @@ void _File::set_endian_swap(bool p_swap) { if (f) f->set_endian_swap(p_swap); } + bool _File::get_endian_swap() { return eswap; } @@ -1347,16 +1371,19 @@ void _File::store_8(uint8_t p_dest) { f->store_8(p_dest); } + void _File::store_16(uint16_t p_dest) { ERR_FAIL_COND_MSG(!f, "File must be opened before use."); f->store_16(p_dest); } + void _File::store_32(uint32_t p_dest) { ERR_FAIL_COND_MSG(!f, "File must be opened before use."); f->store_32(p_dest); } + void _File::store_64(uint64_t p_dest) { ERR_FAIL_COND_MSG(!f, "File must be opened before use."); @@ -1368,11 +1395,13 @@ void _File::store_float(float p_dest) { f->store_float(p_dest); } + void _File::store_double(double p_dest) { ERR_FAIL_COND_MSG(!f, "File must be opened before use."); f->store_double(p_dest); } + void _File::store_real(real_t p_real) { ERR_FAIL_COND_MSG(!f, "File must be opened before use."); @@ -1562,6 +1591,7 @@ String _Directory::get_next() { } return next; } + bool _Directory::current_is_dir() const { ERR_FAIL_COND_V_MSG(!d, false, "Directory must be opened before use."); return d->current_is_dir(); @@ -1576,10 +1606,12 @@ int _Directory::get_drive_count() { ERR_FAIL_COND_V_MSG(!d, 0, "Directory must be opened before use."); return d->get_drive_count(); } + String _Directory::get_drive(int p_drive) { ERR_FAIL_COND_V_MSG(!d, "", "Directory must be opened before use."); return d->get_drive(p_drive); } + int _Directory::get_current_drive() { ERR_FAIL_COND_V_MSG(!d, 0, "Directory must be opened before use."); return d->get_current_drive(); @@ -1589,10 +1621,12 @@ Error _Directory::change_dir(String p_dir) { ERR_FAIL_COND_V_MSG(!d, ERR_UNCONFIGURED, "Directory must be opened before use."); return d->change_dir(p_dir); } + String _Directory::get_current_dir() { ERR_FAIL_COND_V_MSG(!d, "", "Directory must be opened before use."); return d->get_current_dir(); } + Error _Directory::make_dir(String p_dir) { ERR_FAIL_COND_V_MSG(!d, ERR_UNCONFIGURED, "Directory must be opened before use."); if (!p_dir.is_rel_path()) { @@ -1603,6 +1637,7 @@ Error _Directory::make_dir(String p_dir) { } return d->make_dir(p_dir); } + Error _Directory::make_dir_recursive(String p_dir) { ERR_FAIL_COND_V_MSG(!d, ERR_UNCONFIGURED, "Directory must be opened before use."); if (!p_dir.is_rel_path()) { @@ -1646,6 +1681,7 @@ Error _Directory::copy(String p_from, String p_to) { ERR_FAIL_COND_V_MSG(!d, ERR_UNCONFIGURED, "Directory must be opened before use."); return d->copy(p_from, p_to); } + Error _Directory::rename(String p_from, String p_to) { ERR_FAIL_COND_V_MSG(!d, ERR_UNCONFIGURED, "Directory must be opened before use."); if (!p_from.is_rel_path()) { @@ -1657,6 +1693,7 @@ Error _Directory::rename(String p_from, String p_to) { return d->rename(p_from, p_to); } + Error _Directory::remove(String p_name) { ERR_FAIL_COND_V_MSG(!d, ERR_UNCONFIGURED, "Directory must be opened before use."); if (!p_name.is_rel_path()) { @@ -1915,6 +1952,7 @@ String _Thread::get_id() const { bool _Thread::is_active() const { return active; } + Variant _Thread::wait_to_finish() { ERR_FAIL_COND_V_MSG(!thread, Variant(), "Thread must exist to wait for its completion."); ERR_FAIL_COND_V_MSG(!active, Variant(), "Thread must be active to wait for its completion."); @@ -1961,6 +1999,7 @@ PackedStringArray _ClassDB::get_class_list() const { return ret; } + PackedStringArray _ClassDB::get_inheriters_from_class(const StringName &p_class) const { List<StringName> classes; ClassDB::get_inheriters_from_class(p_class, &classes); @@ -1974,18 +2013,23 @@ PackedStringArray _ClassDB::get_inheriters_from_class(const StringName &p_class) return ret; } + StringName _ClassDB::get_parent_class(const StringName &p_class) const { return ClassDB::get_parent_class(p_class); } + bool _ClassDB::class_exists(const StringName &p_class) const { return ClassDB::class_exists(p_class); } + bool _ClassDB::is_parent_class(const StringName &p_class, const StringName &p_inherits) const { return ClassDB::is_parent_class(p_class, p_inherits); } + bool _ClassDB::can_instance(const StringName &p_class) const { return ClassDB::can_instance(p_class); } + Variant _ClassDB::instance(const StringName &p_class) const { Object *obj = ClassDB::instance(p_class); if (!obj) @@ -2002,6 +2046,7 @@ Variant _ClassDB::instance(const StringName &p_class) const { bool _ClassDB::has_signal(StringName p_class, StringName p_signal) const { return ClassDB::has_signal(p_class, p_signal); } + Dictionary _ClassDB::get_signal(StringName p_class, StringName p_signal) const { MethodInfo signal; if (ClassDB::get_signal(p_class, p_signal, &signal)) { @@ -2010,6 +2055,7 @@ Dictionary _ClassDB::get_signal(StringName p_class, StringName p_signal) const { return Dictionary(); } } + Array _ClassDB::get_signal_list(StringName p_class, bool p_no_inheritance) const { List<MethodInfo> signals; ClassDB::get_signal_list(p_class, &signals, p_no_inheritance); @@ -2098,6 +2144,7 @@ int _ClassDB::get_integer_constant(const StringName &p_class, const StringName & ERR_FAIL_COND_V(!found, 0); return c; } + StringName _ClassDB::get_category(const StringName &p_node) const { return ClassDB::get_category(p_node); } @@ -2141,6 +2188,7 @@ void _ClassDB::_bind_methods() { void _Engine::set_iterations_per_second(int p_ips) { Engine::get_singleton()->set_iterations_per_second(p_ips); } + int _Engine::get_iterations_per_second() const { return Engine::get_singleton()->get_iterations_per_second(); } diff --git a/core/callable.cpp b/core/callable.cpp index dc2d034cc6..b7bdc715f8 100644 --- a/core/callable.cpp +++ b/core/callable.cpp @@ -72,6 +72,7 @@ ObjectID Callable::get_object_id() const { return ObjectID(object); } } + StringName Callable::get_method() const { ERR_FAIL_COND_V_MSG(is_custom(), StringName(), vformat("Can't get method on CallableCustom \"%s\".", operator String())); @@ -117,9 +118,11 @@ bool Callable::operator==(const Callable &p_callable) const { return false; } } + bool Callable::operator!=(const Callable &p_callable) const { return !(*this == p_callable); } + bool Callable::operator<(const Callable &p_callable) const { bool custom_a = is_custom(); bool custom_b = p_callable.is_custom(); @@ -222,6 +225,7 @@ Callable::Callable(ObjectID p_object, const StringName &p_method) { object = p_object; method = p_method; } + Callable::Callable(CallableCustom *p_custom) { if (p_custom->referenced) { object = 0; @@ -231,6 +235,7 @@ Callable::Callable(CallableCustom *p_custom) { object = 0; //ensure object is all zero, since pointer may be 32 bits custom = p_custom; } + Callable::Callable(const Callable &p_callable) { if (p_callable.is_custom()) { if (!p_callable.custom->ref_count.ref()) { @@ -262,9 +267,11 @@ CallableCustom::CallableCustom() { Object *Signal::get_object() const { return ObjectDB::get_instance(object); } + ObjectID Signal::get_object_id() const { return object; } + StringName Signal::get_name() const { return name; } @@ -307,17 +314,20 @@ Error Signal::emit(const Variant **p_arguments, int p_argcount) const { return obj->emit_signal(name, p_arguments, p_argcount); } + Error Signal::connect(const Callable &p_callable, const Vector<Variant> &p_binds, uint32_t p_flags) { Object *object = get_object(); ERR_FAIL_COND_V(!object, ERR_UNCONFIGURED); return object->connect(name, p_callable, p_binds, p_flags); } + void Signal::disconnect(const Callable &p_callable) { Object *object = get_object(); ERR_FAIL_COND(!object); object->disconnect(name, p_callable); } + bool Signal::is_connected(const Callable &p_callable) const { Object *object = get_object(); ERR_FAIL_COND_V(!object, false); diff --git a/core/class_db.cpp b/core/class_db.cpp index 79e145248c..0a187416f4 100644 --- a/core/class_db.cpp +++ b/core/class_db.cpp @@ -255,6 +255,7 @@ bool ClassDB::is_parent_class(const StringName &p_class, const StringName &p_inh return false; } + void ClassDB::get_class_list(List<StringName> *p_classes) { OBJTYPE_RLOCK; @@ -505,6 +506,7 @@ Object *ClassDB::instance(const StringName &p_class) { #endif return ti->creation_func(); } + bool ClassDB::can_instance(const StringName &p_class) { OBJTYPE_RLOCK; @@ -934,6 +936,7 @@ void ClassDB::get_property_list(StringName p_class, List<PropertyInfo> *p_list, check = check->inherits_ptr; } } + bool ClassDB::set_property(Object *p_object, const StringName &p_property, const Variant &p_value, bool *r_valid) { ClassInfo *type = classes.getptr(p_object->get_class_name()); ClassInfo *check = type; @@ -978,6 +981,7 @@ bool ClassDB::set_property(Object *p_object, const StringName &p_property, const return false; } + bool ClassDB::get_property(Object *p_object, const StringName &p_property, Variant &r_value) { ClassInfo *type = classes.getptr(p_object->get_class_name()); ClassInfo *check = type; diff --git a/core/color.cpp b/core/color.cpp index 328b2e3568..4bee14f3ba 100644 --- a/core/color.cpp +++ b/core/color.cpp @@ -213,6 +213,7 @@ void Color::invert() { g = 1.0 - g; b = 1.0 - b; } + void Color::contrast() { r = Math::fmod(r + 0.5, 1.0); g = Math::fmod(g + 0.5, 1.0); diff --git a/core/compressed_translation.cpp b/core/compressed_translation.cpp index 89e738e596..dd46e23505 100644 --- a/core/compressed_translation.cpp +++ b/core/compressed_translation.cpp @@ -269,6 +269,7 @@ void PHashTranslation::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::PACKED_BYTE_ARRAY, "strings")); p_list->push_back(PropertyInfo(Variant::OBJECT, "load_from", PROPERTY_HINT_RESOURCE_TYPE, "Translation", PROPERTY_USAGE_EDITOR)); } + void PHashTranslation::_bind_methods() { ClassDB::bind_method(D_METHOD("generate", "from"), &PHashTranslation::generate); } diff --git a/core/crypto/crypto.cpp b/core/crypto/crypto.cpp index 60db329e64..ed27d2ebc3 100644 --- a/core/crypto/crypto.cpp +++ b/core/crypto/crypto.cpp @@ -154,6 +154,7 @@ void ResourceFormatSaverCrypto::get_recognized_extensions(const RES &p_resource, p_extensions->push_back("key"); } } + bool ResourceFormatSaverCrypto::recognize(const RES &p_resource) const { return Object::cast_to<X509Certificate>(*p_resource) || Object::cast_to<CryptoKey>(*p_resource); } diff --git a/core/debugger/script_debugger.cpp b/core/debugger/script_debugger.cpp index 9dd669f816..179745b11e 100644 --- a/core/debugger/script_debugger.cpp +++ b/core/debugger/script_debugger.cpp @@ -62,11 +62,13 @@ void ScriptDebugger::remove_breakpoint(int p_line, const StringName &p_source) { if (breakpoints[p_line].size() == 0) breakpoints.erase(p_line); } + bool ScriptDebugger::is_breakpoint(int p_line, const StringName &p_source) const { if (!breakpoints.has(p_line)) return false; return breakpoints[p_line].has(p_source); } + bool ScriptDebugger::is_breakpoint_line(int p_line) const { return breakpoints.has(p_line); } diff --git a/core/dictionary.cpp b/core/dictionary.cpp index bc8e795da7..0ef26cfc62 100644 --- a/core/dictionary.cpp +++ b/core/dictionary.cpp @@ -79,6 +79,7 @@ Variant &Dictionary::operator[](const Variant &p_key) { const Variant &Dictionary::operator[](const Variant &p_key) const { return _p->variant_map[p_key]; } + const Variant *Dictionary::getptr(const Variant &p_key) const { OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::ConstElement E = ((const OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator> *)&_p->variant_map)->find(p_key); @@ -115,6 +116,7 @@ Variant Dictionary::get(const Variant &p_key, const Variant &p_default) const { int Dictionary::size() const { return _p->variant_map.size(); } + bool Dictionary::empty() const { return !_p->variant_map.size(); } @@ -170,6 +172,7 @@ void Dictionary::_unref() const { } _p = nullptr; } + uint32_t Dictionary::hash() const { uint32_t h = hash_djb2_one_32(Variant::DICTIONARY); @@ -254,6 +257,7 @@ Dictionary::Dictionary() { _p = memnew(DictionaryPrivate); _p->refcount.init(); } + Dictionary::~Dictionary() { _unref(); } diff --git a/core/engine.cpp b/core/engine.cpp index bd86535a70..25eac27921 100644 --- a/core/engine.cpp +++ b/core/engine.cpp @@ -40,6 +40,7 @@ void Engine::set_iterations_per_second(int p_ips) { ERR_FAIL_COND_MSG(p_ips <= 0, "Engine iterations per second must be greater than 0."); ips = p_ips; } + int Engine::get_iterations_per_second() const { return ips; } diff --git a/core/image.cpp b/core/image.cpp index 4cbecbf44f..3fff93ed91 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -2283,6 +2283,7 @@ Error Image::decompress() { Error Image::compress(CompressMode p_mode, CompressSource p_source, float p_lossy_quality) { return compress_from_channels(p_mode, detect_used_channels(p_source), p_lossy_quality); } + Error Image::compress_from_channels(CompressMode p_mode, UsedChannels p_channels, float p_lossy_quality) { switch (p_mode) { case COMPRESS_S3TC: { @@ -3359,6 +3360,7 @@ void Image::convert_rg_to_ra_rgba8() { w[i + 2] = 0; } } + void Image::convert_ra_rgba8_to_rg() { ERR_FAIL_COND(format != FORMAT_RGBA8); ERR_FAIL_COND(!data.size()); diff --git a/core/input/input.cpp b/core/input/input.cpp index a9921f791a..e81dfcf30f 100644 --- a/core/input/input.cpp +++ b/core/input/input.cpp @@ -672,6 +672,7 @@ void Input::set_mouse_position(const Point2 &p_posf) { Point2 Input::get_mouse_position() const { return mouse_pos; } + Point2 Input::get_last_mouse_speed() const { return mouse_speed_track.speed; } @@ -812,6 +813,7 @@ void Input::accumulate_input_event(const Ref<InputEvent> &p_event) { accumulated_events.push_back(p_event); } + void Input::flush_accumulated_events() { while (accumulated_events.front()) { parse_input_event(accumulated_events.front()->get()); diff --git a/core/input/input_event.cpp b/core/input/input_event.cpp index 094ed0bc56..497ce79038 100644 --- a/core/input/input_event.cpp +++ b/core/input/input_event.cpp @@ -131,6 +131,7 @@ void InputEventFromWindow::_bind_methods() { void InputEventFromWindow::set_window_id(int64_t p_id) { window_id = p_id; } + int64_t InputEventFromWindow::get_window_id() const { return window_id; } @@ -148,6 +149,7 @@ bool InputEventWithModifiers::get_shift() const { void InputEventWithModifiers::set_alt(bool p_enabled) { alt = p_enabled; } + bool InputEventWithModifiers::get_alt() const { return alt; } @@ -155,6 +157,7 @@ bool InputEventWithModifiers::get_alt() const { void InputEventWithModifiers::set_control(bool p_enabled) { control = p_enabled; } + bool InputEventWithModifiers::get_control() const { return control; } @@ -162,6 +165,7 @@ bool InputEventWithModifiers::get_control() const { void InputEventWithModifiers::set_metakey(bool p_enabled) { meta = p_enabled; } + bool InputEventWithModifiers::get_metakey() const { return meta; } @@ -169,6 +173,7 @@ bool InputEventWithModifiers::get_metakey() const { void InputEventWithModifiers::set_command(bool p_enabled) { command = p_enabled; } + bool InputEventWithModifiers::get_command() const { return command; } @@ -359,6 +364,7 @@ void InputEventKey::_bind_methods() { void InputEventMouse::set_button_mask(int p_mask) { button_mask = p_mask; } + int InputEventMouse::get_button_mask() const { return button_mask; } @@ -366,6 +372,7 @@ int InputEventMouse::get_button_mask() const { void InputEventMouse::set_position(const Vector2 &p_pos) { pos = p_pos; } + Vector2 InputEventMouse::get_position() const { return pos; } @@ -373,6 +380,7 @@ Vector2 InputEventMouse::get_position() const { void InputEventMouse::set_global_position(const Vector2 &p_global_pos) { global_pos = p_global_pos; } + Vector2 InputEventMouse::get_global_position() const { return global_pos; } @@ -405,6 +413,7 @@ float InputEventMouseButton::get_factor() const { void InputEventMouseButton::set_button_index(int p_index) { button_index = p_index; } + int InputEventMouseButton::get_button_index() const { return button_index; } @@ -412,6 +421,7 @@ int InputEventMouseButton::get_button_index() const { void InputEventMouseButton::set_pressed(bool p_pressed) { pressed = p_pressed; } + bool InputEventMouseButton::is_pressed() const { return pressed; } @@ -419,6 +429,7 @@ bool InputEventMouseButton::is_pressed() const { void InputEventMouseButton::set_doubleclick(bool p_doubleclick) { doubleclick = p_doubleclick; } + bool InputEventMouseButton::is_doubleclick() const { return doubleclick; } @@ -739,6 +750,7 @@ int InputEventJoypadButton::get_button_index() const { void InputEventJoypadButton::set_pressed(bool p_pressed) { pressed = p_pressed; } + bool InputEventJoypadButton::is_pressed() const { return pressed; } @@ -746,6 +758,7 @@ bool InputEventJoypadButton::is_pressed() const { void InputEventJoypadButton::set_pressure(float p_pressure) { pressure = p_pressure; } + float InputEventJoypadButton::get_pressure() const { return pressure; } @@ -798,6 +811,7 @@ void InputEventJoypadButton::_bind_methods() { void InputEventScreenTouch::set_index(int p_index) { index = p_index; } + int InputEventScreenTouch::get_index() const { return index; } @@ -805,6 +819,7 @@ int InputEventScreenTouch::get_index() const { void InputEventScreenTouch::set_position(const Vector2 &p_pos) { pos = p_pos; } + Vector2 InputEventScreenTouch::get_position() const { return pos; } @@ -812,6 +827,7 @@ Vector2 InputEventScreenTouch::get_position() const { void InputEventScreenTouch::set_pressed(bool p_pressed) { pressed = p_pressed; } + bool InputEventScreenTouch::is_pressed() const { return pressed; } @@ -860,6 +876,7 @@ int InputEventScreenDrag::get_index() const { void InputEventScreenDrag::set_position(const Vector2 &p_pos) { pos = p_pos; } + Vector2 InputEventScreenDrag::get_position() const { return pos; } @@ -867,6 +884,7 @@ Vector2 InputEventScreenDrag::get_position() const { void InputEventScreenDrag::set_relative(const Vector2 &p_relative) { relative = p_relative; } + Vector2 InputEventScreenDrag::get_relative() const { return relative; } @@ -874,6 +892,7 @@ Vector2 InputEventScreenDrag::get_relative() const { void InputEventScreenDrag::set_speed(const Vector2 &p_speed) { speed = p_speed; } + Vector2 InputEventScreenDrag::get_speed() const { return speed; } @@ -922,6 +941,7 @@ void InputEventScreenDrag::_bind_methods() { void InputEventAction::set_action(const StringName &p_action) { action = p_action; } + StringName InputEventAction::get_action() const { return action; } @@ -929,6 +949,7 @@ StringName InputEventAction::get_action() const { void InputEventAction::set_pressed(bool p_pressed) { pressed = p_pressed; } + bool InputEventAction::is_pressed() const { return pressed; } diff --git a/core/io/config_file.cpp b/core/io/config_file.cpp index 902d3cde9f..334c8f143e 100644 --- a/core/io/config_file.cpp +++ b/core/io/config_file.cpp @@ -78,6 +78,7 @@ void ConfigFile::set_value(const String &p_section, const String &p_key, const V values[p_section][p_key] = p_value; } } + Variant ConfigFile::get_value(const String &p_section, const String &p_key, Variant p_default) const { if (!values.has(p_section) || !values[p_section].has(p_key)) { ERR_FAIL_COND_V_MSG(p_default.get_type() == Variant::NIL, Variant(), @@ -91,6 +92,7 @@ Variant ConfigFile::get_value(const String &p_section, const String &p_key, Vari bool ConfigFile::has_section(const String &p_section) const { return values.has(p_section); } + bool ConfigFile::has_section_key(const String &p_section, const String &p_key) const { if (!values.has(p_section)) return false; @@ -102,6 +104,7 @@ void ConfigFile::get_sections(List<String> *r_sections) const { r_sections->push_back(E.key()); } } + void ConfigFile::get_section_keys(const String &p_section, List<String> *r_keys) const { ERR_FAIL_COND_MSG(!values.has(p_section), vformat("Cannot get keys from nonexistent section \"%s\".", p_section)); diff --git a/core/io/file_access_compressed.cpp b/core/io/file_access_compressed.cpp index cbb9786af4..422100010c 100644 --- a/core/io/file_access_compressed.cpp +++ b/core/io/file_access_compressed.cpp @@ -132,6 +132,7 @@ Error FileAccessCompressed::_open(const String &p_path, int p_mode_flags) { return OK; } + void FileAccessCompressed::close() { if (!f) return; @@ -221,6 +222,7 @@ void FileAccessCompressed::seek_end(int64_t p_position) { seek(read_total + p_position); } } + size_t FileAccessCompressed::get_position() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); if (writing) { @@ -229,6 +231,7 @@ size_t FileAccessCompressed::get_position() const { return read_block * block_size + read_pos; } } + size_t FileAccessCompressed::get_len() const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); if (writing) { @@ -277,6 +280,7 @@ uint8_t FileAccessCompressed::get_8() const { return ret; } + int FileAccessCompressed::get_buffer(uint8_t *p_dst, int p_length) const { ERR_FAIL_COND_V_MSG(!f, 0, "File must be opened before use."); ERR_FAIL_COND_V_MSG(writing, 0, "File has not been opened in read mode."); diff --git a/core/io/file_access_encrypted.cpp b/core/io/file_access_encrypted.cpp index aaf21ad143..ceda6c5eb2 100644 --- a/core/io/file_access_encrypted.cpp +++ b/core/io/file_access_encrypted.cpp @@ -113,6 +113,7 @@ Error FileAccessEncrypted::open_and_parse_password(FileAccess *p_base, const Str Error FileAccessEncrypted::_open(const String &p_path, int p_mode_flags) { return OK; } + void FileAccessEncrypted::close() { if (!file) return; @@ -189,9 +190,11 @@ void FileAccessEncrypted::seek(size_t p_position) { void FileAccessEncrypted::seek_end(int64_t p_position) { seek(data.size() + p_position); } + size_t FileAccessEncrypted::get_position() const { return pos; } + size_t FileAccessEncrypted::get_len() const { return data.size(); } @@ -211,6 +214,7 @@ uint8_t FileAccessEncrypted::get_8() const { pos++; return b; } + int FileAccessEncrypted::get_buffer(uint8_t *p_dst, int p_length) const { ERR_FAIL_COND_V_MSG(writing, 0, "File has not been opened in read mode."); diff --git a/core/io/file_access_network.cpp b/core/io/file_access_network.cpp index 690a2bb269..4b7f99e5b0 100644 --- a/core/io/file_access_network.cpp +++ b/core/io/file_access_network.cpp @@ -300,6 +300,7 @@ void FileAccessNetwork::close() { opened = false; nc->unlock_mutex(); } + bool FileAccessNetwork::is_open() const { return opened; } @@ -318,10 +319,12 @@ void FileAccessNetwork::seek(size_t p_position) { void FileAccessNetwork::seek_end(int64_t p_position) { seek(total_size + p_position); } + size_t FileAccessNetwork::get_position() const { ERR_FAIL_COND_V_MSG(!opened, 0, "File must be opened before use."); return pos; } + size_t FileAccessNetwork::get_len() const { ERR_FAIL_COND_V_MSG(!opened, 0, "File must be opened before use."); return total_size; diff --git a/core/io/file_access_pack.cpp b/core/io/file_access_pack.cpp index 4fd4d117af..bb65a1afbc 100644 --- a/core/io/file_access_pack.cpp +++ b/core/io/file_access_pack.cpp @@ -224,12 +224,15 @@ void FileAccessPack::seek(size_t p_position) { f->seek(pf.offset + p_position); pos = p_position; } + void FileAccessPack::seek_end(int64_t p_position) { seek(pf.size + p_position); } + size_t FileAccessPack::get_position() const { return pos; } + size_t FileAccessPack::get_len() const { return pf.size; } @@ -343,12 +346,15 @@ String DirAccessPack::get_next() { return String(); } } + bool DirAccessPack::current_is_dir() const { return cdir; } + bool DirAccessPack::current_is_hidden() const { return false; } + void DirAccessPack::list_dir_end() { list_dirs.clear(); list_files.clear(); @@ -357,6 +363,7 @@ void DirAccessPack::list_dir_end() { int DirAccessPack::get_drive_count() { return 0; } + String DirAccessPack::get_drive(int p_drive) { return ""; } @@ -440,6 +447,7 @@ Error DirAccessPack::make_dir(String p_dir) { Error DirAccessPack::rename(String p_from, String p_to) { return ERR_UNAVAILABLE; } + Error DirAccessPack::remove(String p_name) { return ERR_UNAVAILABLE; } diff --git a/core/io/multiplayer_api.cpp b/core/io/multiplayer_api.cpp index b819725155..a2f65660f2 100644 --- a/core/io/multiplayer_api.cpp +++ b/core/io/multiplayer_api.cpp @@ -179,6 +179,7 @@ void _profile_node_data(const String &p_what, ObjectID p_id) { EngineDebugger::profiler_add_frame_data("multiplayer", values); } } + void _profile_bandwidth_data(const String &p_inout, int p_size) { if (EngineDebugger::is_profiling("multiplayer")) { Array values; @@ -668,6 +669,7 @@ Error MultiplayerAPI::_encode_and_compress_variant(const Variant &p_variant, uin return OK; } + Error MultiplayerAPI::_decode_and_decompress_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int *r_len) { const uint8_t *buf = p_buffer; int len = p_len; diff --git a/core/io/packet_peer.cpp b/core/io/packet_peer.cpp index 34fb5510b9..fe1c9a2eb1 100644 --- a/core/io/packet_peer.cpp +++ b/core/io/packet_peer.cpp @@ -117,6 +117,7 @@ Variant PacketPeer::_bnd_get_var(bool p_allow_objects) { Error PacketPeer::_put_packet(const Vector<uint8_t> &p_buffer) { return put_packet_buffer(p_buffer); } + Vector<uint8_t> PacketPeer::_get_packet() { Vector<uint8_t> raw; last_get_error = get_packet_buffer(raw); diff --git a/core/io/packet_peer_udp.cpp b/core/io/packet_peer_udp.cpp index 0640d56c47..e36de8c228 100644 --- a/core/io/packet_peer_udp.cpp +++ b/core/io/packet_peer_udp.cpp @@ -291,6 +291,7 @@ Error PacketPeerUDP::_poll() { return OK; } + bool PacketPeerUDP::is_listening() const { return _sock.is_valid() && _sock->is_open(); } diff --git a/core/io/resource_format_binary.cpp b/core/io/resource_format_binary.cpp index 77fe331929..230925c29b 100644 --- a/core/io/resource_format_binary.cpp +++ b/core/io/resource_format_binary.cpp @@ -607,6 +607,7 @@ void ResourceLoaderBinary::set_local_path(const String &p_local_path) { Ref<Resource> ResourceLoaderBinary::get_resource() { return resource; } + Error ResourceLoaderBinary::load() { if (error != OK) return error; @@ -996,6 +997,7 @@ void ResourceFormatLoaderBinary::get_recognized_extensions_for_type(const String p_extensions->push_back(ext); } } + void ResourceFormatLoaderBinary::get_recognized_extensions(List<String> *p_extensions) const { List<String> extensions; ClassDB::get_resource_base_extensions(&extensions); diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp index 361f40cbc6..8490cb5627 100644 --- a/core/io/resource_loader.cpp +++ b/core/io/resource_loader.cpp @@ -260,6 +260,7 @@ void ResourceLoader::_thread_load_function(void *p_userdata) { thread_load_mutex->unlock(); } + Error ResourceLoader::load_threaded_request(const String &p_path, const String &p_type_hint, bool p_use_sub_threads, const String &p_source_resource) { String local_path; if (p_path.is_rel_path()) @@ -412,6 +413,7 @@ ResourceLoader::ThreadLoadStatus ResourceLoader::load_threaded_get_status(const return status; } + RES ResourceLoader::load_threaded_get(const String &p_path, Error *r_error) { String local_path; if (p_path.is_rel_path()) diff --git a/core/io/stream_peer.cpp b/core/io/stream_peer.cpp index 2e63adcae9..e6175e78da 100644 --- a/core/io/stream_peer.cpp +++ b/core/io/stream_peer.cpp @@ -122,6 +122,7 @@ void StreamPeer::put_u8(uint8_t p_val) { void StreamPeer::put_8(int8_t p_val) { put_data((const uint8_t *)&p_val, 1); } + void StreamPeer::put_u16(uint16_t p_val) { if (big_endian) { p_val = BSWAP16(p_val); @@ -130,6 +131,7 @@ void StreamPeer::put_u16(uint16_t p_val) { encode_uint16(p_val, buf); put_data(buf, 2); } + void StreamPeer::put_16(int16_t p_val) { if (big_endian) { p_val = BSWAP16(p_val); @@ -138,6 +140,7 @@ void StreamPeer::put_16(int16_t p_val) { encode_uint16(p_val, buf); put_data(buf, 2); } + void StreamPeer::put_u32(uint32_t p_val) { if (big_endian) { p_val = BSWAP32(p_val); @@ -146,6 +149,7 @@ void StreamPeer::put_u32(uint32_t p_val) { encode_uint32(p_val, buf); put_data(buf, 4); } + void StreamPeer::put_32(int32_t p_val) { if (big_endian) { p_val = BSWAP32(p_val); @@ -154,6 +158,7 @@ void StreamPeer::put_32(int32_t p_val) { encode_uint32(p_val, buf); put_data(buf, 4); } + void StreamPeer::put_u64(uint64_t p_val) { if (big_endian) { p_val = BSWAP64(p_val); @@ -162,6 +167,7 @@ void StreamPeer::put_u64(uint64_t p_val) { encode_uint64(p_val, buf); put_data(buf, 8); } + void StreamPeer::put_64(int64_t p_val) { if (big_endian) { p_val = BSWAP64(p_val); @@ -170,6 +176,7 @@ void StreamPeer::put_64(int64_t p_val) { encode_uint64(p_val, buf); put_data(buf, 8); } + void StreamPeer::put_float(float p_val) { uint8_t buf[4]; @@ -181,6 +188,7 @@ void StreamPeer::put_float(float p_val) { put_data(buf, 4); } + void StreamPeer::put_double(double p_val) { uint8_t buf[8]; encode_double(p_val, buf); @@ -190,16 +198,19 @@ void StreamPeer::put_double(double p_val) { } put_data(buf, 8); } + void StreamPeer::put_string(const String &p_string) { CharString cs = p_string.ascii(); put_u32(cs.length()); put_data((const uint8_t *)cs.get_data(), cs.length()); } + void StreamPeer::put_utf8_string(const String &p_string) { CharString cs = p_string.utf8(); put_u32(cs.length()); put_data((const uint8_t *)cs.get_data(), cs.length()); } + void StreamPeer::put_var(const Variant &p_variant, bool p_full_objects) { int len = 0; Vector<uint8_t> buf; @@ -215,11 +226,13 @@ uint8_t StreamPeer::get_u8() { get_data(buf, 1); return buf[0]; } + int8_t StreamPeer::get_8() { uint8_t buf[1]; get_data(buf, 1); return buf[0]; } + uint16_t StreamPeer::get_u16() { uint8_t buf[2]; get_data(buf, 2); @@ -229,6 +242,7 @@ uint16_t StreamPeer::get_u16() { } return r; } + int16_t StreamPeer::get_16() { uint8_t buf[2]; get_data(buf, 2); @@ -238,6 +252,7 @@ int16_t StreamPeer::get_16() { } return r; } + uint32_t StreamPeer::get_u32() { uint8_t buf[4]; get_data(buf, 4); @@ -247,6 +262,7 @@ uint32_t StreamPeer::get_u32() { } return r; } + int32_t StreamPeer::get_32() { uint8_t buf[4]; get_data(buf, 4); @@ -256,6 +272,7 @@ int32_t StreamPeer::get_32() { } return r; } + uint64_t StreamPeer::get_u64() { uint8_t buf[8]; get_data(buf, 8); @@ -265,6 +282,7 @@ uint64_t StreamPeer::get_u64() { } return r; } + int64_t StreamPeer::get_64() { uint8_t buf[8]; get_data(buf, 8); @@ -274,6 +292,7 @@ int64_t StreamPeer::get_64() { } return r; } + float StreamPeer::get_float() { uint8_t buf[4]; get_data(buf, 4); @@ -297,6 +316,7 @@ double StreamPeer::get_double() { return decode_double(buf); } + String StreamPeer::get_string(int p_bytes) { if (p_bytes < 0) p_bytes = get_u32(); @@ -310,6 +330,7 @@ String StreamPeer::get_string(int p_bytes) { buf.write[p_bytes] = 0; return buf.ptr(); } + String StreamPeer::get_utf8_string(int p_bytes) { if (p_bytes < 0) p_bytes = get_u32(); @@ -325,6 +346,7 @@ String StreamPeer::get_utf8_string(int p_bytes) { ret.parse_utf8((const char *)buf.ptr(), buf.size()); return ret; } + Variant StreamPeer::get_var(bool p_allow_objects) { int len = get_32(); Vector<uint8_t> var; @@ -382,6 +404,7 @@ void StreamPeer::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "big_endian"), "set_big_endian", "is_big_endian_enabled"); } + //////////////////////////////// void StreamPeerBuffer::_bind_methods() { @@ -455,6 +478,7 @@ void StreamPeerBuffer::seek(int p_pos) { ERR_FAIL_COND(p_pos > data.size()); pointer = p_pos; } + int StreamPeerBuffer::get_size() const { return data.size(); } diff --git a/core/io/translation_loader_po.cpp b/core/io/translation_loader_po.cpp index b47e634a5a..5e109699f5 100644 --- a/core/io/translation_loader_po.cpp +++ b/core/io/translation_loader_po.cpp @@ -190,6 +190,7 @@ void TranslationLoaderPO::get_recognized_extensions(List<String> *p_extensions) p_extensions->push_back("po"); //p_extensions->push_back("mo"); //mo in the future... } + bool TranslationLoaderPO::handles_type(const String &p_type) const { return (p_type == "Translation"); } diff --git a/core/io/xml_parser.cpp b/core/io/xml_parser.cpp index 2926f4c92a..d575e75f0c 100644 --- a/core/io/xml_parser.cpp +++ b/core/io/xml_parser.cpp @@ -390,6 +390,7 @@ Error XMLParser::read() { XMLParser::NodeType XMLParser::get_node_type() { return node_type; } + String XMLParser::get_node_data() const { ERR_FAIL_COND_V(node_type != NODE_TEXT, ""); return node_name; @@ -399,17 +400,21 @@ String XMLParser::get_node_name() const { ERR_FAIL_COND_V(node_type == NODE_TEXT, ""); return node_name; } + int XMLParser::get_attribute_count() const { return attributes.size(); } + String XMLParser::get_attribute_name(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, attributes.size(), ""); return attributes[p_idx].name; } + String XMLParser::get_attribute_value(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, attributes.size(), ""); return attributes[p_idx].value; } + bool XMLParser::has_attribute(const String &p_name) const { for (int i = 0; i < attributes.size(); i++) { if (attributes[i].name == p_name) @@ -418,6 +423,7 @@ bool XMLParser::has_attribute(const String &p_name) const { return false; } + String XMLParser::get_attribute_value(const String &p_name) const { int idx = -1; for (int i = 0; i < attributes.size(); i++) { @@ -445,6 +451,7 @@ String XMLParser::get_attribute_value_safe(const String &p_name) const { return ""; return attributes[idx].value; } + bool XMLParser::is_empty() const { return node_empty; } @@ -526,6 +533,7 @@ XMLParser::XMLParser() { special_characters.push_back("\"quot;"); special_characters.push_back("'apos;"); } + XMLParser::~XMLParser() { if (data) memdelete_arr(data); diff --git a/core/math/aabb.cpp b/core/math/aabb.cpp index 588ee84f58..d9cb928944 100644 --- a/core/math/aabb.cpp +++ b/core/math/aabb.cpp @@ -39,6 +39,7 @@ real_t AABB::get_area() const { bool AABB::operator==(const AABB &p_rval) const { return ((position == p_rval.position) && (size == p_rval.size)); } + bool AABB::operator!=(const AABB &p_rval) const { return ((position != p_rval.position) || (size != p_rval.size)); } @@ -238,6 +239,7 @@ Vector3 AABB::get_longest_axis() const { return axis; } + int AABB::get_longest_axis_index() const { int axis = 0; real_t max_size = size.x; @@ -269,6 +271,7 @@ Vector3 AABB::get_shortest_axis() const { return axis; } + int AABB::get_shortest_axis_index() const { int axis = 0; real_t max_size = size.x; @@ -290,11 +293,13 @@ AABB AABB::merge(const AABB &p_with) const { aabb.merge_with(p_with); return aabb; } + AABB AABB::expand(const Vector3 &p_vector) const { AABB aabb = *this; aabb.expand_to(p_vector); return aabb; } + AABB AABB::grow(real_t p_by) const { AABB aabb = *this; aabb.grow_by(p_by); diff --git a/core/math/basis.cpp b/core/math/basis.cpp index e6bf6110f7..9981b673ed 100644 --- a/core/math/basis.cpp +++ b/core/math/basis.cpp @@ -327,6 +327,7 @@ void Basis::rotate_local(const Vector3 &p_axis, real_t p_phi) { // M -> (M.R.Minv).M = M.R. *this = rotated_local(p_axis, p_phi); } + Basis Basis::rotated_local(const Vector3 &p_axis, real_t p_phi) const { return (*this) * Basis(p_axis, p_phi); } diff --git a/core/math/camera_matrix.cpp b/core/math/camera_matrix.cpp index 4b147bd987..c7a3918fe5 100644 --- a/core/math/camera_matrix.cpp +++ b/core/math/camera_matrix.cpp @@ -238,6 +238,7 @@ real_t CameraMatrix::get_z_far() const { return new_plane.d; } + real_t CameraMatrix::get_z_near() const { const real_t *matrix = (const real_t *)this->matrix; Plane new_plane = Plane(matrix[3] + matrix[2], diff --git a/core/math/geometry.cpp b/core/math/geometry.cpp index 3085997225..f1676ec152 100644 --- a/core/math/geometry.cpp +++ b/core/math/geometry.cpp @@ -51,6 +51,7 @@ bool Geometry::is_point_in_polygon(const Vector2 &p_point, const Vector<Vector2> } return false; } + */ void Geometry::MeshData::optimize_vertices() { diff --git a/core/math/octree.h b/core/math/octree.h index 0782a39804..067103112d 100644 --- a/core/math/octree.h +++ b/core/math/octree.h @@ -1218,6 +1218,7 @@ void Octree<T, use_pairs, AL>::set_pair_callback(PairCallback p_callback, void * pair_callback = p_callback; pair_callback_userdata = p_userdata; } + template <class T, bool use_pairs, class AL> void Octree<T, use_pairs, AL>::set_unpair_callback(UnpairCallback p_callback, void *p_userdata) { unpair_callback = p_callback; diff --git a/core/math/transform.cpp b/core/math/transform.cpp index 0f62c8b2c0..0274dd18af 100644 --- a/core/math/transform.cpp +++ b/core/math/transform.cpp @@ -145,6 +145,7 @@ void Transform::scale_basis(const Vector3 &p_scale) { void Transform::translate(real_t p_tx, real_t p_ty, real_t p_tz) { translate(Vector3(p_tx, p_ty, p_tz)); } + void Transform::translate(const Vector3 &p_translation) { for (int i = 0; i < 3; i++) { origin[i] += basis[i].dot(p_translation); @@ -174,6 +175,7 @@ bool Transform::is_equal_approx(const Transform &p_transform) const { bool Transform::operator==(const Transform &p_transform) const { return (basis == p_transform.basis && origin == p_transform.origin); } + bool Transform::operator!=(const Transform &p_transform) const { return (basis != p_transform.basis || origin != p_transform.origin); } diff --git a/core/math/transform.h b/core/math/transform.h index 7f7e9ce833..71847d36ac 100644 --- a/core/math/transform.h +++ b/core/math/transform.h @@ -117,6 +117,7 @@ _FORCE_INLINE_ Vector3 Transform::xform(const Vector3 &p_vector) const { basis[1].dot(p_vector) + origin.y, basis[2].dot(p_vector) + origin.z); } + _FORCE_INLINE_ Vector3 Transform::xform_inv(const Vector3 &p_vector) const { Vector3 v = p_vector - origin; @@ -138,6 +139,7 @@ _FORCE_INLINE_ Plane Transform::xform(const Plane &p_plane) const { return Plane(normal, d); } + _FORCE_INLINE_ Plane Transform::xform_inv(const Plane &p_plane) const { Vector3 point = p_plane.normal * p_plane.d; Vector3 point_dir = point + p_plane.normal; diff --git a/core/math/transform_2d.cpp b/core/math/transform_2d.cpp index f82d1d99c4..eecfc862f5 100644 --- a/core/math/transform_2d.cpp +++ b/core/math/transform_2d.cpp @@ -123,15 +123,18 @@ void Transform2D::scale(const Size2 &p_scale) { scale_basis(p_scale); elements[2] *= p_scale; } + void Transform2D::scale_basis(const Size2 &p_scale) { elements[0][0] *= p_scale.x; elements[0][1] *= p_scale.y; elements[1][0] *= p_scale.x; elements[1][1] *= p_scale.y; } + void Transform2D::translate(real_t p_tx, real_t p_ty) { translate(Vector2(p_tx, p_ty)); } + void Transform2D::translate(const Vector2 &p_translation) { elements[2] += basis_xform(p_translation); } diff --git a/core/math/transform_2d.h b/core/math/transform_2d.h index 66958257d7..46e97abaa7 100644 --- a/core/math/transform_2d.h +++ b/core/math/transform_2d.h @@ -153,6 +153,7 @@ Vector2 Transform2D::xform(const Vector2 &p_vec) const { tdoty(p_vec)) + elements[2]; } + Vector2 Transform2D::xform_inv(const Vector2 &p_vec) const { Vector2 v = p_vec - elements[2]; @@ -160,6 +161,7 @@ Vector2 Transform2D::xform_inv(const Vector2 &p_vec) const { elements[0].dot(v), elements[1].dot(v)); } + Rect2 Transform2D::xform(const Rect2 &p_rect) const { Vector2 x = elements[0] * p_rect.size.x; Vector2 y = elements[1] * p_rect.size.y; diff --git a/core/math/vector2.cpp b/core/math/vector2.cpp index d06f64b40b..7f264ce119 100644 --- a/core/math/vector2.cpp +++ b/core/math/vector2.cpp @@ -192,13 +192,16 @@ bool Vector2::is_equal_approx(const Vector2 &p_v) const { Vector2i Vector2i::operator+(const Vector2i &p_v) const { return Vector2i(x + p_v.x, y + p_v.y); } + void Vector2i::operator+=(const Vector2i &p_v) { x += p_v.x; y += p_v.y; } + Vector2i Vector2i::operator-(const Vector2i &p_v) const { return Vector2i(x - p_v.x, y - p_v.y); } + void Vector2i::operator-=(const Vector2i &p_v) { x -= p_v.x; y -= p_v.y; @@ -236,6 +239,7 @@ Vector2i Vector2i::operator-() const { bool Vector2i::operator==(const Vector2i &p_vec2) const { return x == p_vec2.x && y == p_vec2.y; } + bool Vector2i::operator!=(const Vector2i &p_vec2) const { return x != p_vec2.x || y != p_vec2.y; } diff --git a/core/math/vector2.h b/core/math/vector2.h index 5aa40d45f7..e5774f1d55 100644 --- a/core/math/vector2.h +++ b/core/math/vector2.h @@ -157,13 +157,16 @@ _FORCE_INLINE_ Vector2 operator*(real_t p_scalar, const Vector2 &p_vec) { _FORCE_INLINE_ Vector2 Vector2::operator+(const Vector2 &p_v) const { return Vector2(x + p_v.x, y + p_v.y); } + _FORCE_INLINE_ void Vector2::operator+=(const Vector2 &p_v) { x += p_v.x; y += p_v.y; } + _FORCE_INLINE_ Vector2 Vector2::operator-(const Vector2 &p_v) const { return Vector2(x - p_v.x, y - p_v.y); } + _FORCE_INLINE_ void Vector2::operator-=(const Vector2 &p_v) { x -= p_v.x; y -= p_v.y; @@ -201,6 +204,7 @@ _FORCE_INLINE_ Vector2 Vector2::operator-() const { _FORCE_INLINE_ bool Vector2::operator==(const Vector2 &p_vec2) const { return x == p_vec2.x && y == p_vec2.y; } + _FORCE_INLINE_ bool Vector2::operator!=(const Vector2 &p_vec2) const { return x != p_vec2.x || y != p_vec2.y; } diff --git a/core/math/vector3.cpp b/core/math/vector3.cpp index 8acbe31f35..4a9b251406 100644 --- a/core/math/vector3.cpp +++ b/core/math/vector3.cpp @@ -46,6 +46,7 @@ void Vector3::set_axis(int p_axis, real_t p_value) { ERR_FAIL_INDEX(p_axis, 3); coord[p_axis] = p_value; } + real_t Vector3::get_axis(int p_axis) const { ERR_FAIL_INDEX_V(p_axis, 3, 0); return operator[](p_axis); @@ -54,6 +55,7 @@ real_t Vector3::get_axis(int p_axis) const { int Vector3::min_axis() const { return x < y ? (x < z ? 0 : 2) : (y < z ? 1 : 2); } + int Vector3::max_axis() const { return x < y ? (y < z ? 2 : 1) : (x < z ? 2 : 0); } @@ -63,6 +65,7 @@ void Vector3::snap(Vector3 p_val) { y = Math::stepify(y, p_val.y); z = Math::stepify(z, p_val.z); } + Vector3 Vector3::snapped(Vector3 p_val) const { Vector3 v = *this; v.snap(p_val); diff --git a/core/math/vector3.h b/core/math/vector3.h index 5fc412628f..3e35a5bba2 100644 --- a/core/math/vector3.h +++ b/core/math/vector3.h @@ -256,6 +256,7 @@ Vector3 &Vector3::operator-=(const Vector3 &p_v) { z -= p_v.z; return *this; } + Vector3 Vector3::operator-(const Vector3 &p_v) const { return Vector3(x - p_v.x, y - p_v.y, z - p_v.z); } @@ -266,6 +267,7 @@ Vector3 &Vector3::operator*=(const Vector3 &p_v) { z *= p_v.z; return *this; } + Vector3 Vector3::operator*(const Vector3 &p_v) const { return Vector3(x * p_v.x, y * p_v.y, z * p_v.z); } diff --git a/core/math/vector3i.cpp b/core/math/vector3i.cpp index e621d5493a..718a1553a0 100644 --- a/core/math/vector3i.cpp +++ b/core/math/vector3i.cpp @@ -34,6 +34,7 @@ void Vector3i::set_axis(int p_axis, int32_t p_value) { ERR_FAIL_INDEX(p_axis, 3); coord[p_axis] = p_value; } + int32_t Vector3i::get_axis(int p_axis) const { ERR_FAIL_INDEX_V(p_axis, 3, 0); return operator[](p_axis); @@ -42,6 +43,7 @@ int32_t Vector3i::get_axis(int p_axis) const { int Vector3i::min_axis() const { return x < y ? (x < z ? 0 : 2) : (y < z ? 1 : 2); } + int Vector3i::max_axis() const { return x < y ? (y < z ? 2 : 1) : (x < z ? 2 : 0); } diff --git a/core/math/vector3i.h b/core/math/vector3i.h index 5ecd3228b2..524f45b452 100644 --- a/core/math/vector3i.h +++ b/core/math/vector3i.h @@ -132,6 +132,7 @@ Vector3i &Vector3i::operator-=(const Vector3i &p_v) { z -= p_v.z; return *this; } + Vector3i Vector3i::operator-(const Vector3i &p_v) const { return Vector3i(x - p_v.x, y - p_v.y, z - p_v.z); } @@ -142,6 +143,7 @@ Vector3i &Vector3i::operator*=(const Vector3i &p_v) { z *= p_v.z; return *this; } + Vector3i Vector3i::operator*(const Vector3i &p_v) const { return Vector3i(x * p_v.x, y * p_v.y, z * p_v.z); } diff --git a/core/message_queue.cpp b/core/message_queue.cpp index 4de4c48578..36914de0ba 100644 --- a/core/message_queue.cpp +++ b/core/message_queue.cpp @@ -118,6 +118,7 @@ Error MessageQueue::push_call(Object *p_object, const StringName &p_method, VARI Error MessageQueue::push_notification(Object *p_object, int p_notification) { return push_notification(p_object->get_instance_id(), p_notification); } + Error MessageQueue::push_set(Object *p_object, const StringName &p_prop, const Variant &p_value) { return push_set(p_object->get_instance_id(), p_prop, p_value); } diff --git a/core/method_bind.cpp b/core/method_bind.cpp index 610111a3e8..a88e6e21b0 100644 --- a/core/method_bind.cpp +++ b/core/method_bind.cpp @@ -59,6 +59,7 @@ void MethodBind::_set_returns(bool p_returns) { StringName MethodBind::get_name() const { return name; } + void MethodBind::set_name(const StringName &p_name) { name = p_name; } @@ -67,6 +68,7 @@ void MethodBind::set_name(const StringName &p_name) { void MethodBind::set_argument_names(const Vector<StringName> &p_names) { arg_names = p_names; } + Vector<StringName> MethodBind::get_argument_names() const { return arg_names; } diff --git a/core/node_path.cpp b/core/node_path.cpp index 0e4f2eeaf0..fd28815704 100644 --- a/core/node_path.cpp +++ b/core/node_path.cpp @@ -62,12 +62,14 @@ bool NodePath::is_absolute() const { return data->absolute; } + int NodePath::get_name_count() const { if (!data) return 0; return data->path.size(); } + StringName NodePath::get_name(int p_idx) const { ERR_FAIL_COND_V(!data, StringName()); ERR_FAIL_INDEX_V(p_idx, data->path.size(), StringName()); @@ -80,6 +82,7 @@ int NodePath::get_subname_count() const { return data->subpath.size(); } + StringName NodePath::get_subname(int p_idx) const { ERR_FAIL_COND_V(!data, StringName()); ERR_FAIL_INDEX_V(p_idx, data->subpath.size(), StringName()); @@ -133,6 +136,7 @@ bool NodePath::operator==(const NodePath &p_path) const { return true; } + bool NodePath::operator!=(const NodePath &p_path) const { return (!(*this == p_path)); } diff --git a/core/object.cpp b/core/object.cpp index 50bf7d4d28..64b519f1b9 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -160,11 +160,13 @@ MethodInfo::MethodInfo(const String &p_name) : name(p_name), flags(METHOD_FLAG_NORMAL) { } + MethodInfo::MethodInfo(const String &p_name, const PropertyInfo &p_param1) : name(p_name), flags(METHOD_FLAG_NORMAL) { arguments.push_back(p_param1); } + MethodInfo::MethodInfo(const String &p_name, const PropertyInfo &p_param1, const PropertyInfo &p_param2) : name(p_name), flags(METHOD_FLAG_NORMAL) { @@ -209,12 +211,14 @@ MethodInfo::MethodInfo(Variant::Type ret, const String &p_name) : flags(METHOD_FLAG_NORMAL) { return_val.type = ret; } + MethodInfo::MethodInfo(Variant::Type ret, const String &p_name, const PropertyInfo &p_param1) : name(p_name), flags(METHOD_FLAG_NORMAL) { return_val.type = ret; arguments.push_back(p_param1); } + MethodInfo::MethodInfo(Variant::Type ret, const String &p_name, const PropertyInfo &p_param1, const PropertyInfo &p_param2) : name(p_name), flags(METHOD_FLAG_NORMAL) { @@ -320,6 +324,7 @@ bool Object::Connection::operator<(const Connection &p_conn) const { return signal < p_conn.signal; } } + Object::Connection::Connection(const Variant &p_variant) { Dictionary d = p_variant; if (d.has("signal")) @@ -349,6 +354,7 @@ void Object::_postinitialize() { void Object::get_valid_parents_static(List<String> *p_parents) { } + void Object::_get_valid_parents_static(List<String> *p_parents) { } @@ -739,6 +745,7 @@ Variant Object::getvar(const Variant &p_key, bool *r_valid) const { *r_valid = false; return Variant(); } + void Object::setvar(const Variant &p_key, const Variant &p_value, bool *r_valid) { if (r_valid) *r_valid = false; @@ -997,6 +1004,7 @@ Vector<String> Object::_get_meta_list_bind() const { return _metaret; } + void Object::get_meta_list(List<String> *p_list) const { List<Variant> keys; metadata.get_key_list(&keys); @@ -1318,6 +1326,7 @@ void Object::get_signals_connected_to_this(List<Connection> *p_connections) cons Error Object::connect_compat(const StringName &p_signal, Object *p_to_object, const StringName &p_to_method, const Vector<Variant> &p_binds, uint32_t p_flags) { return connect(p_signal, Callable(p_to_object, p_to_method), p_binds, p_flags); } + Error Object::connect(const StringName &p_signal, const Callable &p_callable, const Vector<Variant> &p_binds, uint32_t p_flags) { ERR_FAIL_COND_V(p_callable.is_null(), ERR_INVALID_PARAMETER); diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp index 520968c9a9..5763c74862 100644 --- a/core/os/dir_access.cpp +++ b/core/os/dir_access.cpp @@ -45,6 +45,7 @@ String DirAccess::_get_root_path() const { return ""; } } + String DirAccess::_get_root_string() const { switch (_access_type) { case ACCESS_RESOURCES: diff --git a/core/os/file_access.cpp b/core/os/file_access.cpp index f31842bcae..8b13e53812 100644 --- a/core/os/file_access.cpp +++ b/core/os/file_access.cpp @@ -170,6 +170,7 @@ uint16_t FileAccess::get_16() const { return res; } + uint32_t FileAccess::get_32() const { uint32_t res; uint16_t a, b; @@ -187,6 +188,7 @@ uint32_t FileAccess::get_32() const { return res; } + uint64_t FileAccess::get_64() const { uint64_t res; uint32_t a, b; @@ -394,6 +396,7 @@ void FileAccess::store_16(uint16_t p_dest) { store_8(a); store_8(b); } + void FileAccess::store_32(uint32_t p_dest) { uint16_t a, b; @@ -407,6 +410,7 @@ void FileAccess::store_32(uint32_t p_dest) { store_16(a); store_16(b); } + void FileAccess::store_64(uint64_t p_dest) { uint32_t a, b; diff --git a/core/os/main_loop.cpp b/core/os/main_loop.cpp index 7c00af8d1f..1ce49b544b 100644 --- a/core/os/main_loop.cpp +++ b/core/os/main_loop.cpp @@ -65,12 +65,14 @@ void MainLoop::init() { if (get_script_instance()) get_script_instance()->call("_initialize"); } + bool MainLoop::iteration(float p_time) { if (get_script_instance()) return get_script_instance()->call("_iteration", p_time); return false; } + bool MainLoop::idle(float p_time) { if (get_script_instance()) return get_script_instance()->call("_idle", p_time); diff --git a/core/os/os.cpp b/core/os/os.cpp index 02d1dfe895..4414b582bd 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -82,15 +82,18 @@ String OS::get_iso_date_time(bool local) const { uint64_t OS::get_splash_tick_msec() const { return _msec_splash; } + uint64_t OS::get_unix_time() const { return 0; }; uint64_t OS::get_system_time_secs() const { return 0; } + uint64_t OS::get_system_time_msecs() const { return 0; } + void OS::debug_break(){ // something @@ -224,6 +227,7 @@ bool OS::is_no_window_mode_enabled() const { int OS::get_exit_code() const { return _exit_code; } + void OS::set_exit_code(int p_code) { _exit_code = p_code; } diff --git a/core/packed_data_container.cpp b/core/packed_data_container.cpp index b8f83f96a5..cbaf7e883b 100644 --- a/core/packed_data_container.cpp +++ b/core/packed_data_container.cpp @@ -329,6 +329,7 @@ Variant PackedDataContainer::_iter_init(const Array &p_iter) { Variant PackedDataContainer::_iter_next(const Array &p_iter) { return _iter_next_ofs(p_iter, 0); } + Variant PackedDataContainer::_iter_get(const Variant &p_iter) { return _iter_get_ofs(p_iter, 0); } @@ -354,6 +355,7 @@ Variant PackedDataContainerRef::_iter_init(const Array &p_iter) { Variant PackedDataContainerRef::_iter_next(const Array &p_iter) { return from->_iter_next_ofs(p_iter, offset); } + Variant PackedDataContainerRef::_iter_get(const Variant &p_iter) { return from->_iter_get_ofs(p_iter, offset); } diff --git a/core/pool_allocator.cpp b/core/pool_allocator.cpp index 20b5edd412..63fd1d7bd1 100644 --- a/core/pool_allocator.cpp +++ b/core/pool_allocator.cpp @@ -491,6 +491,7 @@ void *PoolAllocator::get(ID p_mem) { return ptr; } + void PoolAllocator::unlock(ID p_mem) { if (!needs_locking) return; diff --git a/core/project_settings.cpp b/core/project_settings.cpp index 42440c8085..fee9423a5e 100644 --- a/core/project_settings.cpp +++ b/core/project_settings.cpp @@ -114,6 +114,7 @@ void ProjectSettings::set_initial_value(const String &p_name, const Variant &p_v ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + "."); props[p_name].initial = p_value; } + void ProjectSettings::set_restart_if_changed(const String &p_name, bool p_restart) { ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + "."); props[p_name].restart_if_changed = p_restart; @@ -181,6 +182,7 @@ bool ProjectSettings::_set(const StringName &p_name, const Variant &p_value) { return true; } + bool ProjectSettings::_get(const StringName &p_name, Variant &r_ret) const { _THREAD_SAFE_METHOD_ diff --git a/core/resource.cpp b/core/resource.cpp index 0d8a223b78..7d0e29d664 100644 --- a/core/resource.cpp +++ b/core/resource.cpp @@ -105,6 +105,7 @@ void Resource::set_name(const String &p_name) { name = p_name; _change_notify("resource_name"); } + String Resource::get_name() const { return name; } @@ -444,6 +445,7 @@ bool ResourceCache::has(const String &p_path) { return b; } + Resource *ResourceCache::get(const String &p_path) { lock->read_lock(); diff --git a/core/script_language.cpp b/core/script_language.cpp index d7287d9532..6e5363e916 100644 --- a/core/script_language.cpp +++ b/core/script_language.cpp @@ -215,16 +215,20 @@ void ScriptServer::add_global_class(const StringName &p_class, const StringName g.base = p_base; global_classes[p_class] = g; } + void ScriptServer::remove_global_class(const StringName &p_class) { global_classes.erase(p_class); } + bool ScriptServer::is_global_class(const StringName &p_class) { return global_classes.has(p_class); } + StringName ScriptServer::get_global_class_language(const StringName &p_class) { ERR_FAIL_COND_V(!global_classes.has(p_class), StringName()); return global_classes[p_class].language; } + String ScriptServer::get_global_class_path(const String &p_class) { ERR_FAIL_COND_V(!global_classes.has(p_class), String()); return global_classes[p_class].path; @@ -234,6 +238,7 @@ StringName ScriptServer::get_global_class_base(const String &p_class) { ERR_FAIL_COND_V(!global_classes.has(p_class), String()); return global_classes[p_class].base; } + StringName ScriptServer::get_global_class_native_base(const String &p_class) { ERR_FAIL_COND_V(!global_classes.has(p_class), String()); String base = global_classes[p_class].base; @@ -242,6 +247,7 @@ StringName ScriptServer::get_global_class_native_base(const String &p_class) { } return base; } + void ScriptServer::get_global_class_list(List<StringName> *r_global_classes) { const StringName *K = nullptr; List<StringName> classes; @@ -253,6 +259,7 @@ void ScriptServer::get_global_class_list(List<StringName> *r_global_classes) { r_global_classes->push_back(E->get()); } } + void ScriptServer::save_global_classes() { List<StringName> gc; get_global_class_list(&gc); @@ -366,6 +373,7 @@ bool PlaceHolderScriptInstance::set(const StringName &p_name, const Variant &p_v } return false; } + bool PlaceHolderScriptInstance::get(const StringName &p_name, Variant &r_ret) const { if (values.has(p_name)) { r_ret = values[p_name]; @@ -431,6 +439,7 @@ void PlaceHolderScriptInstance::get_method_list(List<MethodInfo> *p_list) const script->get_script_method_list(p_list); } } + bool PlaceHolderScriptInstance::has_method(const StringName &p_method) const { if (script->is_placeholder_fallback_enabled()) return false; diff --git a/core/string_name.cpp b/core/string_name.cpp index 5e6d56e516..7f2da6151e 100644 --- a/core/string_name.cpp +++ b/core/string_name.cpp @@ -334,6 +334,7 @@ StringName StringName::search(const CharType *p_name) { return StringName(); //does not exist } + StringName StringName::search(const String &p_name) { ERR_FAIL_COND_V(p_name == "", StringName()); diff --git a/core/translation.cpp b/core/translation.cpp index a33cd48b88..2eaccc6c4e 100644 --- a/core/translation.cpp +++ b/core/translation.cpp @@ -851,6 +851,7 @@ void Translation::set_locale(const String &p_locale) { void Translation::add_message(const StringName &p_src_text, const StringName &p_xlated_text) { translation_map[p_src_text] = p_xlated_text; } + StringName Translation::get_message(const StringName &p_src_text) const { const Map<StringName, StringName>::Element *E = translation_map.find(p_src_text); if (!E) @@ -1011,6 +1012,7 @@ Vector<String> TranslationServer::get_all_locale_names() { void TranslationServer::add_translation(const Ref<Translation> &p_translation) { translations.insert(p_translation); } + void TranslationServer::remove_translation(const Ref<Translation> &p_translation) { translations.erase(p_translation); } diff --git a/core/undo_redo.cpp b/core/undo_redo.cpp index da7c0ac248..d1a71a6b64 100644 --- a/core/undo_redo.cpp +++ b/core/undo_redo.cpp @@ -136,6 +136,7 @@ void UndoRedo::add_undo_method(Object *p_object, const StringName &p_method, VAR } actions.write[current_action + 1].undo_ops.push_back(undo_op); } + void UndoRedo::add_do_property(Object *p_object, const StringName &p_property, const Variant &p_value) { ERR_FAIL_COND(p_object == nullptr); ERR_FAIL_COND(action_level <= 0); @@ -150,6 +151,7 @@ void UndoRedo::add_do_property(Object *p_object, const StringName &p_property, c do_op.args[0] = p_value; actions.write[current_action + 1].do_ops.push_back(do_op); } + void UndoRedo::add_undo_property(Object *p_object, const StringName &p_property, const Variant &p_value) { ERR_FAIL_COND(p_object == nullptr); ERR_FAIL_COND(action_level <= 0); @@ -169,6 +171,7 @@ void UndoRedo::add_undo_property(Object *p_object, const StringName &p_property, undo_op.args[0] = p_value; actions.write[current_action + 1].undo_ops.push_back(undo_op); } + void UndoRedo::add_do_reference(Object *p_object) { ERR_FAIL_COND(p_object == nullptr); ERR_FAIL_COND(action_level <= 0); @@ -181,6 +184,7 @@ void UndoRedo::add_do_reference(Object *p_object) { do_op.type = Operation::TYPE_REFERENCE; actions.write[current_action + 1].do_ops.push_back(do_op); } + void UndoRedo::add_undo_reference(Object *p_object) { ERR_FAIL_COND(p_object == nullptr); ERR_FAIL_COND(action_level <= 0); diff --git a/core/ustring.cpp b/core/ustring.cpp index 249a61f3f9..a1a2280066 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -247,6 +247,7 @@ String String::operator+(CharType p_chr) const { res+=p_chr; return res; } + */ String &String::operator+=(const String &p_str) { if (empty()) { @@ -607,6 +608,7 @@ String String::get_with_code_lines() const { } return ret; } + int String::get_slice_count(String p_splitter) const { if (empty()) return 0; @@ -959,6 +961,7 @@ String String::chr(CharType p_char) { CharType c[2] = { p_char, 0 }; return String(c); } + String String::num(double p_num, int p_decimals) { #ifndef NO_USE_STDLIB @@ -1522,6 +1525,7 @@ String::String(CharType p_char) { shared=nullptr; copy_from(p_char); } + */ String::String(const char *p_str) { @@ -2073,6 +2077,7 @@ String operator+(const char *p_chr, const String &p_str) { tmp += p_str; return tmp; } + String operator+(CharType p_chr, const String &p_str) { return (String::chr(p_chr) + p_str); } @@ -2217,6 +2222,7 @@ String String::insert(int p_at_pos, const String &p_string) const { return pre + p_string + post; } + String String::substr(int p_from, int p_chars) const { if (p_chars == -1) p_chars = length() - p_from; @@ -2467,6 +2473,7 @@ int String::rfind(const String &p_str, int p_from) const { return -1; } + int String::rfindn(const String &p_str, int p_from) const { // establish a limit int limit = length() - p_str.length(); @@ -2540,6 +2547,7 @@ bool String::begins_with(const String &p_string) const { // only if i == l the p_string matches the beginning return i == l; } + bool String::begins_with(const char *p_string) const { int l = length(); if (l == 0 || !p_string) @@ -2846,6 +2854,7 @@ String String::replace_first(const String &p_key, const String &p_with) const { return *this; } + String String::replacen(const String &p_key, const String &p_with) const { String new_string; int search_from = 0; @@ -3110,6 +3119,7 @@ String String::humanize_size(uint64_t p_size) { return String::num(p_size / divisor).pad_decimals(digits) + " " + prefixes[prefix_idx]; } + bool String::is_abs_path() const { if (length() > 1) return (operator[](0) == '/' || operator[](0) == '\\' || find(":/") != -1 || find(":\\") != -1); @@ -3742,6 +3752,7 @@ String String::percent_encode() const { return encoded; } + String String::percent_decode() const { CharString pe; @@ -3824,6 +3835,7 @@ String String::rpad(int min_length, const String &character) const { return s; } + // Left-pad with a character. String String::lpad(int min_length, const String &character) const { String s = *this; diff --git a/core/variant.cpp b/core/variant.cpp index b2bb7fe309..1098d031e5 100644 --- a/core/variant.cpp +++ b/core/variant.cpp @@ -1374,6 +1374,7 @@ Variant::operator signed int() const { } } } + Variant::operator unsigned int() const { switch (type) { case NIL: @@ -1517,6 +1518,7 @@ Variant::operator signed short() const { } } } + Variant::operator unsigned short() const { switch (type) { case NIL: @@ -1534,6 +1536,7 @@ Variant::operator unsigned short() const { } } } + Variant::operator signed char() const { switch (type) { case NIL: @@ -1551,6 +1554,7 @@ Variant::operator signed char() const { } } } + Variant::operator unsigned char() const { switch (type) { case NIL: @@ -1590,6 +1594,7 @@ Variant::operator float() const { } } } + Variant::operator double() const { switch (type) { case NIL: @@ -1935,6 +1940,7 @@ Variant::operator Plane() const { else return Plane(); } + Variant::operator ::AABB() const { if (type == AABB) return *_data._aabb; @@ -2077,6 +2083,7 @@ Variant::operator Node *() const { else return nullptr; } + Variant::operator Control *() const { if (type == OBJECT) return Object::cast_to<Control>(_get_obj().obj); @@ -2169,12 +2176,14 @@ Variant::operator Vector<uint8_t>() const { else return _convert_array_from_variant<Vector<uint8_t>>(*this); } + Variant::operator Vector<int32_t>() const { if (type == PACKED_INT32_ARRAY) return static_cast<PackedArrayRef<int32_t> *>(_data.packed_array)->array; else return _convert_array_from_variant<Vector<int>>(*this); } + Variant::operator Vector<int64_t>() const { if (type == PACKED_INT64_ARRAY) return static_cast<PackedArrayRef<int64_t> *>(_data.packed_array)->array; @@ -2202,12 +2211,14 @@ Variant::operator Vector<String>() const { else return _convert_array_from_variant<Vector<String>>(*this); } + Variant::operator Vector<Vector3>() const { if (type == PACKED_VECTOR3_ARRAY) return static_cast<PackedArrayRef<Vector3> *>(_data.packed_array)->array; else return _convert_array_from_variant<Vector<Vector3>>(*this); } + Variant::operator Vector<Vector2>() const { if (type == PACKED_VECTOR2_ARRAY) return static_cast<PackedArrayRef<Vector2> *>(_data.packed_array)->array; @@ -2280,6 +2291,7 @@ Variant::operator Vector<Variant>() const { return variants; } + Variant::operator Vector<StringName>() const { Vector<String> from = operator Vector<String>(); Vector<StringName> to; @@ -2294,6 +2306,7 @@ Variant::operator Vector<StringName>() const { Variant::operator Margin() const { return (Margin) operator int(); } + Variant::operator Orientation() const { return (Orientation) operator int(); } @@ -2326,6 +2339,7 @@ Variant::Variant(signed int p_int) { type = INT; _data._int = p_int; } + Variant::Variant(unsigned int p_int) { type = INT; _data._int = p_int; @@ -2337,6 +2351,7 @@ Variant::Variant(signed long p_int) { type = INT; _data._int = p_int; } + Variant::Variant(unsigned long p_int) { type = INT; _data._int = p_int; @@ -2357,22 +2372,27 @@ Variant::Variant(signed short p_short) { type = INT; _data._int = p_short; } + Variant::Variant(unsigned short p_short) { type = INT; _data._int = p_short; } + Variant::Variant(signed char p_char) { type = INT; _data._int = p_char; } + Variant::Variant(unsigned char p_char) { type = INT; _data._int = p_char; } + Variant::Variant(float p_float) { type = FLOAT; _data._float = p_float; } + Variant::Variant(double p_double) { type = FLOAT; _data._float = p_double; @@ -2387,6 +2407,7 @@ Variant::Variant(const StringName &p_string) { type = STRING_NAME; memnew_placement(_data._mem, StringName(p_string)); } + Variant::Variant(const String &p_string) { type = STRING; memnew_placement(_data._mem, String(p_string)); @@ -2401,10 +2422,12 @@ Variant::Variant(const CharType *p_wstring) { type = STRING; memnew_placement(_data._mem, String(p_wstring)); } + Variant::Variant(const Vector3 &p_vector3) { type = VECTOR3; memnew_placement(_data._mem, Vector3(p_vector3)); } + Variant::Variant(const Vector3i &p_vector3i) { type = VECTOR3I; memnew_placement(_data._mem, Vector3i(p_vector3i)); @@ -2434,6 +2457,7 @@ Variant::Variant(const Plane &p_plane) { type = PLANE; memnew_placement(_data._mem, Plane(p_plane)); } + Variant::Variant(const ::AABB &p_aabb) { type = AABB; _data._aabb = memnew(::AABB(p_aabb)); @@ -2448,6 +2472,7 @@ Variant::Variant(const Quat &p_quat) { type = QUAT; memnew_placement(_data._mem, Quat(p_quat)); } + Variant::Variant(const Transform &p_transform) { type = TRANSFORM; _data._transform = memnew(Transform(p_transform)); @@ -2457,6 +2482,7 @@ Variant::Variant(const Transform2D &p_transform) { type = TRANSFORM2D; _data._transform2d = memnew(Transform2D(p_transform)); } + Variant::Variant(const Color &p_color) { type = COLOR; memnew_placement(_data._mem, Color(p_color)); @@ -2499,6 +2525,7 @@ Variant::Variant(const Callable &p_callable) { type = CALLABLE; memnew_placement(_data._mem, Callable(p_callable)); } + Variant::Variant(const Signal &p_callable) { type = SIGNAL; memnew_placement(_data._mem, Signal(p_callable)); @@ -2543,6 +2570,7 @@ Variant::Variant(const Vector<uint8_t> &p_byte_array) { _data.packed_array = PackedArrayRef<uint8_t>::create(p_byte_array); } + Variant::Variant(const Vector<int32_t> &p_int32_array) { type = PACKED_INT32_ARRAY; _data.packed_array = PackedArrayRef<int32_t>::create(p_int32_array); @@ -2567,6 +2595,7 @@ Variant::Variant(const Vector<String> &p_string_array) { type = PACKED_STRING_ARRAY; _data.packed_array = PackedArrayRef<String>::create(p_string_array); } + Variant::Variant(const Vector<Vector3> &p_vector3_array) { type = PACKED_VECTOR3_ARRAY; _data.packed_array = PackedArrayRef<Vector3>::create(p_vector3_array); @@ -2576,6 +2605,7 @@ Variant::Variant(const Vector<Vector2> &p_vector2_array) { type = PACKED_VECTOR2_ARRAY; _data.packed_array = PackedArrayRef<Vector2>::create(p_vector2_array); } + Variant::Variant(const Vector<Color> &p_color_array) { type = PACKED_COLOR_ARRAY; _data.packed_array = PackedArrayRef<Color>::create(p_color_array); @@ -3275,12 +3305,14 @@ Vector<Variant> varray(const Variant &p_arg1) { v.push_back(p_arg1); return v; } + Vector<Variant> varray(const Variant &p_arg1, const Variant &p_arg2) { Vector<Variant> v; v.push_back(p_arg1); v.push_back(p_arg2); return v; } + Vector<Variant> varray(const Variant &p_arg1, const Variant &p_arg2, const Variant &p_arg3) { Vector<Variant> v; v.push_back(p_arg1); @@ -3288,6 +3320,7 @@ Vector<Variant> varray(const Variant &p_arg1, const Variant &p_arg2, const Varia v.push_back(p_arg3); return v; } + Vector<Variant> varray(const Variant &p_arg1, const Variant &p_arg2, const Variant &p_arg3, const Variant &p_arg4) { Vector<Variant> v; v.push_back(p_arg1); diff --git a/core/variant_op.cpp b/core/variant_op.cpp index b7678d8f43..1d75d52db0 100644 --- a/core/variant_op.cpp +++ b/core/variant_op.cpp @@ -115,6 +115,7 @@ TYPE(PREFIX, OP, PACKED_VECTOR3_ARRAY), \ TYPE(PREFIX, OP, PACKED_COLOR_ARRAY), \ } + /* clang-format on */ #define CASES(PREFIX) static const void *switch_table_##PREFIX[25][Variant::VARIANT_MAX] = { \ @@ -3536,6 +3537,7 @@ bool Variant::iter_init(Variant &r_iter, bool &valid) const { valid = false; return false; } + bool Variant::iter_next(Variant &r_iter, bool &valid) const { valid = true; switch (type) { diff --git a/core/variant_parser.cpp b/core/variant_parser.cpp index 0184de46ee..3a38720a27 100644 --- a/core/variant_parser.cpp +++ b/core/variant_parser.cpp @@ -42,6 +42,7 @@ CharType VariantParser::StreamFile::get_char() { bool VariantParser::StreamFile::is_utf8() const { return true; } + bool VariantParser::StreamFile::is_eof() const { return f->eof_reached(); } @@ -62,6 +63,7 @@ CharType VariantParser::StreamString::get_char() { bool VariantParser::StreamString::is_utf8() const { return false; } + bool VariantParser::StreamString::is_eof() const { return pos > s.length(); } diff --git a/drivers/gles2/rasterizer_canvas_gles2.cpp b/drivers/gles2/rasterizer_canvas_gles2.cpp index b6e36d87a5..c92eb4cd11 100644 --- a/drivers/gles2/rasterizer_canvas_gles2.cpp +++ b/drivers/gles2/rasterizer_canvas_gles2.cpp @@ -1887,6 +1887,7 @@ void RasterizerCanvasGLES2::canvas_light_shadow_buffer_update(RID p_buffer, cons glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); } + void RasterizerCanvasGLES2::reset_canvas() { glDisable(GL_CULL_FACE); glDisable(GL_DEPTH_TEST); @@ -1918,6 +1919,7 @@ void RasterizerCanvasGLES2::_bind_quad_buffer() { glEnableVertexAttribArray(RS::ARRAY_VERTEX); glVertexAttribPointer(RS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, 0, nullptr); } + void RasterizerCanvasGLES2::draw_generic_textured_rect(const Rect2 &p_rect, const Rect2 &p_src) { state.canvas_shader.set_uniform(CanvasShaderGLES2::DST_RECT, Color(p_rect.position.x, p_rect.position.y, p_rect.size.x, p_rect.size.y)); state.canvas_shader.set_uniform(CanvasShaderGLES2::SRC_RECT, Color(p_src.position.x, p_src.position.y, p_src.size.x, p_src.size.y)); diff --git a/drivers/gles2/rasterizer_scene_gles2.cpp b/drivers/gles2/rasterizer_scene_gles2.cpp index 02e9d7d504..c66506f182 100644 --- a/drivers/gles2/rasterizer_scene_gles2.cpp +++ b/drivers/gles2/rasterizer_scene_gles2.cpp @@ -460,6 +460,7 @@ int RasterizerSceneGLES2::get_directional_light_shadow_size(RID p_light_intance) return shadow_size; } + ////////////////////////////////////////////////////// RID RasterizerSceneGLES2::reflection_atlas_create() { @@ -840,6 +841,7 @@ void RasterizerSceneGLES2::environment_set_fog_height(RID p_env, bool p_enable, env->fog_height_max = p_max_height; env->fog_height_curve = p_height_curve; } + bool RasterizerSceneGLES2::is_environment(RID p_env) { return environment_owner.owns(p_env); } @@ -917,6 +919,7 @@ RID RasterizerSceneGLES2::gi_probe_instance_create() { void RasterizerSceneGLES2::gi_probe_instance_set_light_data(RID p_probe, RID p_base, RID p_data) { } + void RasterizerSceneGLES2::gi_probe_instance_set_transform_to_data(RID p_probe, const Transform &p_xform) { } @@ -965,6 +968,7 @@ void RasterizerSceneGLES2::_add_geometry(RasterizerStorageGLES2::Geometry *p_geo _add_geometry_with_material(p_geometry, p_instance, p_owner, material, p_depth_pass, p_shadow_pass); } } + void RasterizerSceneGLES2::_add_geometry_with_material(RasterizerStorageGLES2::Geometry *p_geometry, InstanceBase *p_instance, RasterizerStorageGLES2::GeometryOwner *p_owner, RasterizerStorageGLES2::Material *p_material, bool p_depth_pass, bool p_shadow_pass) { bool has_base_alpha = (p_material->shader->spatial.uses_alpha && !p_material->shader->spatial.uses_alpha_scissor) || p_material->shader->spatial.uses_screen_texture || p_material->shader->spatial.uses_depth_texture; bool has_blend_alpha = p_material->shader->spatial.blend_mode != RasterizerStorageGLES2::Shader::Spatial::BLEND_MODE_MIX; diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp index 0636676ffa..6eef04b87f 100644 --- a/drivers/gles2/rasterizer_storage_gles2.cpp +++ b/drivers/gles2/rasterizer_storage_gles2.cpp @@ -2617,6 +2617,7 @@ Vector<Vector<uint8_t>> RasterizerStorageGLES2::mesh_surface_get_blend_shapes(RI return mesh->surfaces[p_surface]->blend_shape_data; } + Vector<AABB> RasterizerStorageGLES2::mesh_surface_get_skeleton_aabb(RID p_mesh, int p_surface) const { const Mesh *mesh = mesh_owner.getornull(p_mesh); ERR_FAIL_COND_V(!mesh, Vector<AABB>()); @@ -2782,6 +2783,7 @@ AABB RasterizerStorageGLES2::mesh_get_aabb(RID p_mesh, RID p_skeleton) const { return aabb; } + void RasterizerStorageGLES2::mesh_clear(RID p_mesh) { Mesh *mesh = mesh_owner.getornull(p_mesh); ERR_FAIL_COND(!mesh); @@ -3560,6 +3562,7 @@ Transform RasterizerStorageGLES2::skeleton_bone_get_transform(RID p_skeleton, in return ret; } + void RasterizerStorageGLES2::skeleton_bone_set_transform_2d(RID p_skeleton, int p_bone, const Transform2D &p_transform) { Skeleton *skeleton = skeleton_owner.getornull(p_skeleton); ERR_FAIL_COND(!skeleton); @@ -3987,6 +3990,7 @@ void RasterizerStorageGLES2::reflection_probe_set_max_distance(RID p_probe, floa reflection_probe->max_distance = p_distance; reflection_probe->instance_change_notify(true, false); } + void RasterizerStorageGLES2::reflection_probe_set_extents(RID p_probe, const Vector3 &p_extents) { ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND(!reflection_probe); @@ -3994,6 +3998,7 @@ void RasterizerStorageGLES2::reflection_probe_set_extents(RID p_probe, const Vec reflection_probe->extents = p_extents; reflection_probe->instance_change_notify(true, false); } + void RasterizerStorageGLES2::reflection_probe_set_origin_offset(RID p_probe, const Vector3 &p_offset) { ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND(!reflection_probe); @@ -4009,6 +4014,7 @@ void RasterizerStorageGLES2::reflection_probe_set_as_interior(RID p_probe, bool reflection_probe->interior = p_enable; reflection_probe->instance_change_notify(true, false); } + void RasterizerStorageGLES2::reflection_probe_set_enable_box_projection(RID p_probe, bool p_enable) { ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND(!reflection_probe); @@ -4023,6 +4029,7 @@ void RasterizerStorageGLES2::reflection_probe_set_enable_shadows(RID p_probe, bo reflection_probe->enable_shadows = p_enable; reflection_probe->instance_change_notify(true, false); } + void RasterizerStorageGLES2::reflection_probe_set_cull_mask(RID p_probe, uint32_t p_layers) { ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND(!reflection_probe); @@ -4048,6 +4055,7 @@ AABB RasterizerStorageGLES2::reflection_probe_get_aabb(RID p_probe) const { return aabb; } + RS::ReflectionProbeUpdateMode RasterizerStorageGLES2::reflection_probe_get_update_mode(RID p_probe) const { const ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND_V(!reflection_probe, RS::REFLECTION_PROBE_UPDATE_ALWAYS); @@ -4068,6 +4076,7 @@ Vector3 RasterizerStorageGLES2::reflection_probe_get_extents(RID p_probe) const return reflection_probe->extents; } + Vector3 RasterizerStorageGLES2::reflection_probe_get_origin_offset(RID p_probe) const { const ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND_V(!reflection_probe, Vector3()); @@ -4160,6 +4169,7 @@ void RasterizerStorageGLES2::gi_probe_set_compress(RID p_probe, bool p_enable) { bool RasterizerStorageGLES2::gi_probe_is_compressed(RID p_probe) const { return false; } + float RasterizerStorageGLES2::gi_probe_get_energy(RID p_probe) const { return 0; } @@ -4204,11 +4214,13 @@ void RasterizerStorageGLES2::lightmap_capture_set_bounds(RID p_capture, const AA capture->bounds = p_bounds; capture->instance_change_notify(true, false); } + AABB RasterizerStorageGLES2::lightmap_capture_get_bounds(RID p_capture) const { const LightmapCapture *capture = lightmap_capture_data_owner.getornull(p_capture); ERR_FAIL_COND_V(!capture, AABB()); return capture->bounds; } + void RasterizerStorageGLES2::lightmap_capture_set_octree(RID p_capture, const Vector<uint8_t> &p_octree) { LightmapCapture *capture = lightmap_capture_data_owner.getornull(p_capture); ERR_FAIL_COND(!capture); @@ -4223,6 +4235,7 @@ void RasterizerStorageGLES2::lightmap_capture_set_octree(RID p_capture, const Ve } capture->instance_change_notify(true, false); } + Vector<uint8_t> RasterizerStorageGLES2::lightmap_capture_get_octree(RID p_capture) const { const LightmapCapture *capture = lightmap_capture_data_owner.getornull(p_capture); ERR_FAIL_COND_V(!capture, Vector<uint8_t>()); diff --git a/drivers/gles2/shaders/blend_shape.glsl b/drivers/gles2/shaders/blend_shape.glsl index 7a0a7ebe99..e229da6f18 100644 --- a/drivers/gles2/shaders/blend_shape.glsl +++ b/drivers/gles2/shaders/blend_shape.glsl @@ -190,4 +190,5 @@ void main() { void main() { } + /* clang-format on */ diff --git a/drivers/gles2/shaders/particles.glsl b/drivers/gles2/shaders/particles.glsl index 1575db701f..d762dade2f 100644 --- a/drivers/gles2/shaders/particles.glsl +++ b/drivers/gles2/shaders/particles.glsl @@ -257,4 +257,5 @@ FRAGMENT_SHADER_CODE } } + /* clang-format on */ diff --git a/drivers/gles2/shaders/scene.glsl b/drivers/gles2/shaders/scene.glsl index d658ccd5cd..0311dc4742 100644 --- a/drivers/gles2/shaders/scene.glsl +++ b/drivers/gles2/shaders/scene.glsl @@ -1065,6 +1065,7 @@ float G_GGX_2cos(float cos_theta_m, float alpha) { // float sin2 = (1.0 - cos2); // return 1.0 / (cos_theta_m + sqrt(cos2 + alpha * alpha * sin2)); } + */ // This approximates G_GGX_2cos(cos_theta_l, alpha) * G_GGX_2cos(cos_theta_v, alpha) @@ -1087,6 +1088,7 @@ float G_GGX_anisotropic_2cos(float cos_theta_m, float alpha_x, float alpha_y, fl float s_y = alpha_y * sin_phi; return 1.0 / max(cos_theta_m + sqrt(cos2 + (s_x * s_x + s_y * s_y) * sin2), 0.001); } + */ // This approximates G_GGX_anisotropic_2cos(cos_theta_l, ...) * G_GGX_anisotropic_2cos(cos_theta_v, ...) diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index 920d594ea1..3ba667b2f7 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -244,6 +244,7 @@ void OS_Unix::delay_usec(uint32_t p_usec) const { while (nanosleep(&rem, &rem) == EINTR) { } } + uint64_t OS_Unix::get_ticks_usec() const { #if defined(__APPLE__) uint64_t longtime = mach_absolute_time() * _clock_scale; diff --git a/drivers/unix/thread_posix.cpp b/drivers/unix/thread_posix.cpp index dda1edc3c3..16897883e8 100644 --- a/drivers/unix/thread_posix.cpp +++ b/drivers/unix/thread_posix.cpp @@ -87,6 +87,7 @@ Thread *ThreadPosix::create_func_posix(ThreadCreateCallback p_callback, void *p_ return tr; } + Thread::ID ThreadPosix::get_thread_id_func_posix() { void *value = pthread_getspecific(thread_id_key); @@ -97,6 +98,7 @@ Thread::ID ThreadPosix::get_thread_id_func_posix() { pthread_setspecific(thread_id_key, (void *)memnew(ID(new_id))); return new_id; } + void ThreadPosix::wait_to_finish_func_posix(Thread *p_thread) { ThreadPosix *tp = static_cast<ThreadPosix *>(p_thread); ERR_FAIL_COND(!tp); diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index f8b0eafcd0..ea99594810 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -2699,6 +2699,7 @@ Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, return OK; } + Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID p_to_texture, bool p_sync_with_draw) { _THREAD_SAFE_METHOD_ @@ -5323,12 +5324,14 @@ int RenderingDeviceVulkan::screen_get_width(DisplayServer::WindowID p_screen) co ERR_FAIL_COND_V_MSG(local_device.is_valid(), -1, "Local devices have no screen"); return context->window_get_width(p_screen); } + int RenderingDeviceVulkan::screen_get_height(DisplayServer::WindowID p_screen) const { _THREAD_SAFE_METHOD_ ERR_FAIL_COND_V_MSG(local_device.is_valid(), -1, "Local devices have no screen"); return context->window_get_height(p_screen); } + RenderingDevice::FramebufferFormatID RenderingDeviceVulkan::screen_get_framebuffer_format() const { _THREAD_SAFE_METHOD_ ERR_FAIL_COND_V_MSG(local_device.is_valid(), INVALID_ID, "Local devices have no screen"); @@ -5978,6 +5981,7 @@ void RenderingDeviceVulkan::draw_list_bind_vertex_array(DrawListID p_list, RID p dl->validation.vertex_array_size = vertex_array->vertex_count; vkCmdBindVertexBuffers(dl->command_buffer, 0, vertex_array->buffers.size(), vertex_array->buffers.ptr(), vertex_array->offsets.ptr()); } + void RenderingDeviceVulkan::draw_list_bind_index_array(DrawListID p_list, RID p_index_array) { DrawList *dl = _get_draw_list_ptr(p_list); ERR_FAIL_COND(!dl); @@ -6164,6 +6168,7 @@ void RenderingDeviceVulkan::draw_list_enable_scissor(DrawListID p_list, const Re vkCmdSetScissor(dl->command_buffer, 0, 1, &scissor); } + void RenderingDeviceVulkan::draw_list_disable_scissor(DrawListID p_list) { DrawList *dl = _get_draw_list_ptr(p_list); ERR_FAIL_COND(!dl); @@ -6302,6 +6307,7 @@ void RenderingDeviceVulkan::compute_list_bind_compute_pipeline(ComputeListID p_l cl->validation.pipeline_push_constant_size = pipeline->push_constant_size; #endif } + void RenderingDeviceVulkan::compute_list_bind_uniform_set(ComputeListID p_list, RID p_uniform_set, uint32_t p_index) { ERR_FAIL_COND(p_list != ID_TYPE_COMPUTE_LIST); ERR_FAIL_COND(!compute_list); @@ -6424,6 +6430,7 @@ void RenderingDeviceVulkan::compute_list_set_push_constant(ComputeListID p_list, cl->validation.pipeline_push_constant_suppplied = true; #endif } + void RenderingDeviceVulkan::compute_list_dispatch(ComputeListID p_list, uint32_t p_x_groups, uint32_t p_y_groups, uint32_t p_z_groups) { ERR_FAIL_COND(p_list != ID_TYPE_COMPUTE_LIST); ERR_FAIL_COND(!compute_list); @@ -6646,6 +6653,7 @@ void RenderingDeviceVulkan::_free_internal(RID p_id) { ERR_PRINT("Attempted to free invalid ID: " + itos(p_id.get_id())); } } + void RenderingDeviceVulkan::free(RID p_id) { _THREAD_SAFE_METHOD_ @@ -7163,10 +7171,12 @@ uint64_t RenderingDeviceVulkan::get_captured_timestamp_gpu_time(uint32_t p_index return l; } + uint64_t RenderingDeviceVulkan::get_captured_timestamp_cpu_time(uint32_t p_index) const { ERR_FAIL_UNSIGNED_INDEX_V(p_index, frames[frame].timestamp_result_count, 0); return frames[frame].timestamp_cpu_result_values[p_index]; } + String RenderingDeviceVulkan::get_captured_timestamp_name(uint32_t p_index) const { ERR_FAIL_UNSIGNED_INDEX_V(p_index, frames[frame].timestamp_result_count, String()); return frames[frame].timestamp_result_names[p_index]; diff --git a/drivers/vulkan/vulkan_context.cpp b/drivers/vulkan/vulkan_context.cpp index 875ace32a5..a8a29aaeea 100644 --- a/drivers/vulkan/vulkan_context.cpp +++ b/drivers/vulkan/vulkan_context.cpp @@ -1459,9 +1459,11 @@ VkDevice VulkanContext::get_device() { VkPhysicalDevice VulkanContext::get_physical_device() { return gpu; } + int VulkanContext::get_swapchain_image_count() const { return swapchainImageCount; } + uint32_t VulkanContext::get_graphics_queue() const { return graphics_queue_family_index; } diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp index 52ba8527ab..d0f06ae4c4 100644 --- a/drivers/windows/dir_access_windows.cpp +++ b/drivers/windows/dir_access_windows.cpp @@ -101,9 +101,11 @@ void DirAccessWindows::list_dir_end() { p->h = INVALID_HANDLE_VALUE; } } + int DirAccessWindows::get_drive_count() { return drive_count; } + String DirAccessWindows::get_drive(int p_drive) { if (p_drive < 0 || p_drive >= drive_count) return ""; @@ -298,6 +300,7 @@ Error DirAccessWindows::remove(String p_path) { else return ::_wunlink(p_path.c_str()) == 0 ? OK : FAILED; } + /* FileType DirAccessWindows::get_file_type(const String& p_file) const { @@ -325,6 +328,7 @@ FileType DirAccessWindows::get_file_type(const String& p_file) const { return (attr&FILE_ATTRIBUTE_DIRECTORY)?FILE_TYPE_ } + */ size_t DirAccessWindows::get_space_left() { uint64_t bytes = 0; diff --git a/drivers/windows/file_access_windows.cpp b/drivers/windows/file_access_windows.cpp index b74e89e2dc..50366d0b2d 100644 --- a/drivers/windows/file_access_windows.cpp +++ b/drivers/windows/file_access_windows.cpp @@ -188,6 +188,7 @@ String FileAccessWindows::get_path_absolute() const { bool FileAccessWindows::is_open() const { return (f != nullptr); } + void FileAccessWindows::seek(size_t p_position) { ERR_FAIL_COND(!f); last_error = OK; @@ -195,12 +196,14 @@ void FileAccessWindows::seek(size_t p_position) { check_errors(); prev_op = 0; } + void FileAccessWindows::seek_end(int64_t p_position) { ERR_FAIL_COND(!f); if (fseek(f, p_position, SEEK_END)) check_errors(); prev_op = 0; } + size_t FileAccessWindows::get_position() const { size_t aux_position = 0; aux_position = ftell(f); @@ -209,6 +212,7 @@ size_t FileAccessWindows::get_position() const { }; return aux_position; } + size_t FileAccessWindows::get_len() const { ERR_FAIL_COND_V(!f, 0); diff --git a/drivers/windows/thread_windows.cpp b/drivers/windows/thread_windows.cpp index adc3a9a019..ca7d936fac 100644 --- a/drivers/windows/thread_windows.cpp +++ b/drivers/windows/thread_windows.cpp @@ -66,9 +66,11 @@ Thread *ThreadWindows::create_func_windows(ThreadCreateCallback p_callback, void return tr; } + Thread::ID ThreadWindows::get_thread_id_func_windows() { return (ID)GetCurrentThreadId(); //must implement } + void ThreadWindows::wait_to_finish_func_windows(Thread *p_thread) { ThreadWindows *tp = static_cast<ThreadWindows *>(p_thread); ERR_FAIL_COND(!tp); diff --git a/drivers/xaudio2/audio_driver_xaudio2.cpp b/drivers/xaudio2/audio_driver_xaudio2.cpp index 9ff1030165..df7d2488fd 100644 --- a/drivers/xaudio2/audio_driver_xaudio2.cpp +++ b/drivers/xaudio2/audio_driver_xaudio2.cpp @@ -150,6 +150,7 @@ void AudioDriverXAudio2::lock() { return; mutex.lock(); } + void AudioDriverXAudio2::unlock() { if (!thread) return; diff --git a/editor/animation_bezier_editor.cpp b/editor/animation_bezier_editor.cpp index 893a3f62b1..dededfb617 100644 --- a/editor/animation_bezier_editor.cpp +++ b/editor/animation_bezier_editor.cpp @@ -509,6 +509,7 @@ void AnimationBezierTrackEdit::set_timeline(AnimationTimelineEdit *p_timeline) { timeline = p_timeline; timeline->connect("zoom_changed", callable_mp(this, &AnimationBezierTrackEdit::_zoom_changed)); } + void AnimationBezierTrackEdit::set_editor(AnimationTrackEditor *p_editor) { editor = p_editor; connect_compat("clear_selection", editor, "_clear_selection", varray(false)); @@ -541,6 +542,7 @@ void AnimationBezierTrackEdit::update_play_position() { void AnimationBezierTrackEdit::set_root(Node *p_root) { root = p_root; } + void AnimationBezierTrackEdit::_zoom_changed() { update(); } diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index 92879fb193..0808946b16 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -1684,6 +1684,7 @@ void AnimationTimelineEdit::set_use_fps(bool p_use_fps) { update_values(); update(); } + bool AnimationTimelineEdit::is_using_fps() const { return use_fps; } @@ -2066,6 +2067,7 @@ int AnimationTrackEdit::get_key_height() const { return type_icon->get_height(); } + Rect2 AnimationTrackEdit::get_key_rect(int p_index, float p_pixels_sec) { if (!animation.is_valid()) return Rect2(); @@ -2262,6 +2264,7 @@ void AnimationTrackEdit::set_timeline(AnimationTimelineEdit *p_timeline) { timeline->connect("zoom_changed", callable_mp(this, &AnimationTrackEdit::_zoom_changed)); timeline->connect("name_limit_changed", callable_mp(this, &AnimationTrackEdit::_zoom_changed)); } + void AnimationTrackEdit::set_editor(AnimationTrackEditor *p_editor) { editor = p_editor; } @@ -2761,6 +2764,7 @@ bool AnimationTrackEdit::can_drop_data(const Point2 &p_point, const Variant &p_d return true; } + void AnimationTrackEdit::drop_data(const Point2 &p_point, const Variant &p_data) { Dictionary d = p_data; if (!d.has("type")) { @@ -2844,6 +2848,7 @@ void AnimationTrackEdit::cancel_drop() { update(); } } + void AnimationTrackEdit::set_in_group(bool p_enable) { in_group = p_enable; update(); @@ -3135,6 +3140,7 @@ void AnimationTrackEditor::update_keying() { bool AnimationTrackEditor::has_keying() const { return keying; } + Dictionary AnimationTrackEditor::get_state() const { Dictionary state; state["fps_mode"] = timeline->is_using_fps(); @@ -3143,6 +3149,7 @@ Dictionary AnimationTrackEditor::get_state() const { state["v_scroll"] = scroll->get_v_scrollbar()->get_value(); return state; } + void AnimationTrackEditor::set_state(const Dictionary &p_state) { if (p_state.has("fps_mode")) { bool fps_mode = p_state["fps_mode"]; @@ -4076,6 +4083,7 @@ void AnimationTrackEditor::_update_step_spinbox() { step->set_block_signals(false); } + void AnimationTrackEditor::_animation_update() { timeline->update(); timeline->update_values(); @@ -4752,6 +4760,7 @@ void AnimationTrackEditor::_move_selection_commit() { _update_key_edit(); } + void AnimationTrackEditor::_move_selection_cancel() { moving_selection = false; for (int i = 0; i < track_edits.size(); i++) { @@ -4762,6 +4771,7 @@ void AnimationTrackEditor::_move_selection_cancel() { bool AnimationTrackEditor::is_moving_selection() const { return moving_selection; } + float AnimationTrackEditor::get_moving_selection_offset() const { return moving_selection_offset; } @@ -4953,6 +4963,7 @@ void AnimationTrackEditor::_anim_duplicate_keys(bool transpose) { _update_key_edit(); } } + void AnimationTrackEditor::_edit_menu_pressed(int p_option) { last_menu_track_opt = p_option; switch (p_option) { diff --git a/editor/animation_track_editor_plugins.cpp b/editor/animation_track_editor_plugins.cpp index 424c3db15f..ed64fb2415 100644 --- a/editor/animation_track_editor_plugins.cpp +++ b/editor/animation_track_editor_plugins.cpp @@ -44,6 +44,7 @@ int AnimationTrackEditBool::get_key_height() const { Ref<Texture2D> checked = get_theme_icon("checked", "CheckBox"); return checked->get_height(); } + Rect2 AnimationTrackEditBool::get_key_rect(int p_index, float p_pixels_sec) { Ref<Texture2D> checked = get_theme_icon("checked", "CheckBox"); return Rect2(-checked->get_width() / 2, 0, checked->get_width(), get_size().height); @@ -52,6 +53,7 @@ Rect2 AnimationTrackEditBool::get_key_rect(int p_index, float p_pixels_sec) { bool AnimationTrackEditBool::is_key_selectable_by_distance() const { return false; } + void AnimationTrackEditBool::draw_key(int p_index, float p_pixels_sec, int p_x, bool p_selected, int p_clip_left, int p_clip_right) { bool checked = get_animation()->track_get_key_value(get_track(), p_index); Ref<Texture2D> icon = get_theme_icon(checked ? "checked" : "unchecked", "CheckBox"); @@ -78,6 +80,7 @@ int AnimationTrackEditColor::get_key_height() const { Ref<Font> font = get_theme_font("font", "Label"); return font->get_height() * 0.8; } + Rect2 AnimationTrackEditColor::get_key_rect(int p_index, float p_pixels_sec) { Ref<Font> font = get_theme_font("font", "Label"); int fh = font->get_height() * 0.8; @@ -177,6 +180,7 @@ int AnimationTrackEditAudio::get_key_height() const { Ref<Font> font = get_theme_font("font", "Label"); return int(font->get_height() * 1.5); } + Rect2 AnimationTrackEditAudio::get_key_rect(int p_index, float p_pixels_sec) { Object *object = ObjectDB::get_instance(id); @@ -214,6 +218,7 @@ Rect2 AnimationTrackEditAudio::get_key_rect(int p_index, float p_pixels_sec) { bool AnimationTrackEditAudio::is_key_selectable_by_distance() const { return false; } + void AnimationTrackEditAudio::draw_key(int p_index, float p_pixels_sec, int p_x, bool p_selected, int p_clip_left, int p_clip_right) { Object *object = ObjectDB::get_instance(id); @@ -329,6 +334,7 @@ int AnimationTrackEditSpriteFrame::get_key_height() const { Ref<Font> font = get_theme_font("font", "Label"); return int(font->get_height() * 2); } + Rect2 AnimationTrackEditSpriteFrame::get_key_rect(int p_index, float p_pixels_sec) { Object *object = ObjectDB::get_instance(id); @@ -402,6 +408,7 @@ Rect2 AnimationTrackEditSpriteFrame::get_key_rect(int p_index, float p_pixels_se bool AnimationTrackEditSpriteFrame::is_key_selectable_by_distance() const { return false; } + void AnimationTrackEditSpriteFrame::draw_key(int p_index, float p_pixels_sec, int p_x, bool p_selected, int p_clip_left, int p_clip_right) { Object *object = ObjectDB::get_instance(id); @@ -525,6 +532,7 @@ int AnimationTrackEditSubAnim::get_key_height() const { Ref<Font> font = get_theme_font("font", "Label"); return int(font->get_height() * 1.5); } + Rect2 AnimationTrackEditSubAnim::get_key_rect(int p_index, float p_pixels_sec) { Object *object = ObjectDB::get_instance(id); @@ -558,6 +566,7 @@ Rect2 AnimationTrackEditSubAnim::get_key_rect(int p_index, float p_pixels_sec) { bool AnimationTrackEditSubAnim::is_key_selectable_by_distance() const { return false; } + void AnimationTrackEditSubAnim::draw_key(int p_index, float p_pixels_sec, int p_x, bool p_selected, int p_clip_left, int p_clip_right) { Object *object = ObjectDB::get_instance(id); @@ -750,6 +759,7 @@ int AnimationTrackEditTypeAudio::get_key_height() const { Ref<Font> font = get_theme_font("font", "Label"); return int(font->get_height() * 1.5); } + Rect2 AnimationTrackEditTypeAudio::get_key_rect(int p_index, float p_pixels_sec) { Ref<AudioStream> stream = get_animation()->audio_track_get_key_stream(get_track(), p_index); @@ -783,6 +793,7 @@ Rect2 AnimationTrackEditTypeAudio::get_key_rect(int p_index, float p_pixels_sec) bool AnimationTrackEditTypeAudio::is_key_selectable_by_distance() const { return false; } + void AnimationTrackEditTypeAudio::draw_key(int p_index, float p_pixels_sec, int p_x, bool p_selected, int p_clip_left, int p_clip_right) { Ref<AudioStream> stream = get_animation()->audio_track_get_key_stream(get_track(), p_index); @@ -928,6 +939,7 @@ bool AnimationTrackEditTypeAudio::can_drop_data(const Point2 &p_point, const Var return AnimationTrackEdit::can_drop_data(p_point, p_data); } + void AnimationTrackEditTypeAudio::drop_data(const Point2 &p_point, const Variant &p_data) { if (p_point.x > get_timeline()->get_name_limit() && p_point.x < get_size().width - get_timeline()->get_buttons_width()) { Ref<AudioStream> stream; @@ -1076,6 +1088,7 @@ int AnimationTrackEditTypeAnimation::get_key_height() const { Ref<Font> font = get_theme_font("font", "Label"); return int(font->get_height() * 1.5); } + Rect2 AnimationTrackEditTypeAnimation::get_key_rect(int p_index, float p_pixels_sec) { Object *object = ObjectDB::get_instance(id); @@ -1109,6 +1122,7 @@ Rect2 AnimationTrackEditTypeAnimation::get_key_rect(int p_index, float p_pixels_ bool AnimationTrackEditTypeAnimation::is_key_selectable_by_distance() const { return false; } + void AnimationTrackEditTypeAnimation::draw_key(int p_index, float p_pixels_sec, int p_x, bool p_selected, int p_clip_left, int p_clip_right) { Object *object = ObjectDB::get_instance(id); diff --git a/editor/array_property_edit.cpp b/editor/array_property_edit.cpp index a239d2e909..3832a93360 100644 --- a/editor/array_property_edit.cpp +++ b/editor/array_property_edit.cpp @@ -50,6 +50,7 @@ Variant ArrayPropertyEdit::get_array() const { void ArrayPropertyEdit::_notif_change() { _change_notify(); } + void ArrayPropertyEdit::_notif_changev(const String &p_v) { _change_notify(p_v.utf8().get_data()); } diff --git a/editor/audio_stream_preview.cpp b/editor/audio_stream_preview.cpp index e0891e808b..e0d5184aac 100644 --- a/editor/audio_stream_preview.cpp +++ b/editor/audio_stream_preview.cpp @@ -35,6 +35,7 @@ float AudioStreamPreview::get_length() const { return length; } + float AudioStreamPreview::get_max(float p_time, float p_time_next) const { if (length == 0) return 0; @@ -60,6 +61,7 @@ float AudioStreamPreview::get_max(float p_time, float p_time_next) const { return (vmax / 255.0) * 2.0 - 1.0; } + float AudioStreamPreview::get_min(float p_time, float p_time_next) const { if (length == 0) return 0; diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index cacf5c744f..5f693fdbb6 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -482,6 +482,7 @@ void CreateDialog::set_preferred_search_result_type(const String &p_preferred_ty String CreateDialog::get_preferred_search_result_type() { return preferred_search_result_type; } + String CreateDialog::get_selected_type() { TreeItem *selected = search_options->get_selected(); if (selected) @@ -644,6 +645,7 @@ bool CreateDialog::can_drop_data_fw(const Point2 &p_point, const Variant &p_data return false; } + void CreateDialog::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) { Dictionary d = p_data; diff --git a/editor/debugger/editor_debugger_node.cpp b/editor/debugger/editor_debugger_node.cpp index 3c9fd39069..76d1701372 100644 --- a/editor/debugger/editor_debugger_node.cpp +++ b/editor/debugger/editor_debugger_node.cpp @@ -549,41 +549,49 @@ void EditorDebuggerNode::set_live_debugging(bool p_enabled) { dbg->set_live_debugging(p_enabled); }); } + void EditorDebuggerNode::update_live_edit_root() { _for_all(tabs, [&](ScriptEditorDebugger *dbg) { dbg->update_live_edit_root(); }); } + void EditorDebuggerNode::live_debug_create_node(const NodePath &p_parent, const String &p_type, const String &p_name) { _for_all(tabs, [&](ScriptEditorDebugger *dbg) { dbg->live_debug_create_node(p_parent, p_type, p_name); }); } + void EditorDebuggerNode::live_debug_instance_node(const NodePath &p_parent, const String &p_path, const String &p_name) { _for_all(tabs, [&](ScriptEditorDebugger *dbg) { dbg->live_debug_instance_node(p_parent, p_path, p_name); }); } + void EditorDebuggerNode::live_debug_remove_node(const NodePath &p_at) { _for_all(tabs, [&](ScriptEditorDebugger *dbg) { dbg->live_debug_remove_node(p_at); }); } + void EditorDebuggerNode::live_debug_remove_and_keep_node(const NodePath &p_at, ObjectID p_keep_id) { _for_all(tabs, [&](ScriptEditorDebugger *dbg) { dbg->live_debug_remove_and_keep_node(p_at, p_keep_id); }); } + void EditorDebuggerNode::live_debug_restore_node(ObjectID p_id, const NodePath &p_at, int p_at_pos) { _for_all(tabs, [&](ScriptEditorDebugger *dbg) { dbg->live_debug_restore_node(p_id, p_at, p_at_pos); }); } + void EditorDebuggerNode::live_debug_duplicate_node(const NodePath &p_at, const String &p_new_name) { _for_all(tabs, [&](ScriptEditorDebugger *dbg) { dbg->live_debug_duplicate_node(p_at, p_new_name); }); } + void EditorDebuggerNode::live_debug_reparent_node(const NodePath &p_at, const NodePath &p_new_place, const String &p_new_name, int p_at_pos) { _for_all(tabs, [&](ScriptEditorDebugger *dbg) { dbg->live_debug_reparent_node(p_at, p_new_place, p_new_name, p_at_pos); diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp index 5ac62bf0ba..867eef1c93 100644 --- a/editor/debugger/script_editor_debugger.cpp +++ b/editor/debugger/script_editor_debugger.cpp @@ -97,6 +97,7 @@ void ScriptEditorDebugger::debug_next() { _put_msg("next", Array()); _clear_execution(); } + void ScriptEditorDebugger::debug_step() { ERR_FAIL_COND(!breaked); @@ -1243,6 +1244,7 @@ void ScriptEditorDebugger::live_debug_instance_node(const NodePath &p_parent, co _put_msg("scene:live_instance_node", msg); } } + void ScriptEditorDebugger::live_debug_remove_node(const NodePath &p_at) { if (live_debug) { Array msg; @@ -1250,6 +1252,7 @@ void ScriptEditorDebugger::live_debug_remove_node(const NodePath &p_at) { _put_msg("scene:live_remove_node", msg); } } + void ScriptEditorDebugger::live_debug_remove_and_keep_node(const NodePath &p_at, ObjectID p_keep_id) { if (live_debug) { Array msg; @@ -1258,6 +1261,7 @@ void ScriptEditorDebugger::live_debug_remove_and_keep_node(const NodePath &p_at, _put_msg("scene:live_remove_and_keep_node", msg); } } + void ScriptEditorDebugger::live_debug_restore_node(ObjectID p_id, const NodePath &p_at, int p_at_pos) { if (live_debug) { Array msg; @@ -1267,6 +1271,7 @@ void ScriptEditorDebugger::live_debug_restore_node(ObjectID p_id, const NodePath _put_msg("scene:live_restore_node", msg); } } + void ScriptEditorDebugger::live_debug_duplicate_node(const NodePath &p_at, const String &p_new_name) { if (live_debug) { Array msg; @@ -1275,6 +1280,7 @@ void ScriptEditorDebugger::live_debug_duplicate_node(const NodePath &p_at, const _put_msg("scene:live_duplicate_node", msg); } } + void ScriptEditorDebugger::live_debug_reparent_node(const NodePath &p_at, const NodePath &p_new_place, const String &p_new_name, int p_at_pos) { if (live_debug) { Array msg; diff --git a/editor/doc_data.cpp b/editor/doc_data.cpp index 99ebf16697..d45c9f5ff5 100644 --- a/editor/doc_data.cpp +++ b/editor/doc_data.cpp @@ -771,6 +771,7 @@ Error DocData::load_classes(const String &p_dir) { return OK; } + Error DocData::erase_classes(const String &p_dir) { Error err; DirAccessRef da = DirAccess::open(p_dir, &err); @@ -798,6 +799,7 @@ Error DocData::erase_classes(const String &p_dir) { return OK; } + Error DocData::_load(Ref<XMLParser> parser) { Error err = OK; diff --git a/editor/editor_atlas_packer.cpp b/editor/editor_atlas_packer.cpp index c2df1fd82a..469a6c6de1 100644 --- a/editor/editor_atlas_packer.cpp +++ b/editor/editor_atlas_packer.cpp @@ -79,6 +79,7 @@ void EditorAtlasPacker::_plot_triangle(Ref<BitMap> p_bitmap, Vector2i *vertices) xt += dx_low; } } + void EditorAtlasPacker::chart_pack(Vector<Chart> &charts, int &r_width, int &r_height, int p_atlas_max_size, int p_cell_resolution) { int divide_by = MIN(64, p_cell_resolution); Vector<PlottedBitmap> bitmaps; diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index 8b5658423b..1114ae9bb5 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -409,6 +409,7 @@ void EditorAudioBus::_solo_toggled() { updating_bus = false; } + void EditorAudioBus::_mute_toggled() { updating_bus = true; @@ -422,6 +423,7 @@ void EditorAudioBus::_mute_toggled() { updating_bus = false; } + void EditorAudioBus::_bypass_toggled() { updating_bus = true; diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp index 6f6a863b70..45c44a3a2b 100644 --- a/editor/editor_data.cpp +++ b/editor/editor_data.cpp @@ -137,6 +137,7 @@ void EditorHistory::add_object(ObjectID p_object, int p_relevel) { int EditorHistory::get_history_len() { return history.size(); } + int EditorHistory::get_history_pos() { return current; } @@ -156,6 +157,7 @@ ObjectID EditorHistory::get_history_obj(int p_obj) const { bool EditorHistory::is_at_beginning() const { return current <= 0; } + bool EditorHistory::is_at_end() const { return ((current + 1) >= history.size()); } @@ -189,6 +191,7 @@ bool EditorHistory::is_current_inspector_only() const { const History &h = history[current]; return h.path[h.level].inspector_only; } + ObjectID EditorHistory::get_current() { if (current < 0 || current >= history.size()) return ObjectID(); @@ -424,6 +427,7 @@ void EditorData::add_editor_plugin(EditorPlugin *p_plugin) { int EditorData::get_editor_plugin_count() const { return editor_plugins.size(); } + EditorPlugin *EditorData::get_editor_plugin(int p_idx) { ERR_FAIL_INDEX_V(p_idx, editor_plugins.size(), nullptr); return editor_plugins[p_idx]; @@ -605,11 +609,13 @@ bool EditorData::check_and_update_scene(int p_idx) { int EditorData::get_edited_scene() const { return current_edited_scene; } + void EditorData::set_edited_scene(int p_idx) { ERR_FAIL_INDEX(p_idx, edited_scene.size()); current_edited_scene = p_idx; //swap } + Node *EditorData::get_edited_scene_root(int p_idx) { if (p_idx < 0) { ERR_FAIL_INDEX_V(current_edited_scene, edited_scene.size(), nullptr); @@ -619,6 +625,7 @@ Node *EditorData::get_edited_scene_root(int p_idx) { return edited_scene[p_idx].root; } } + void EditorData::set_edited_scene_root(Node *p_root) { ERR_FAIL_INDEX(current_edited_scene, edited_scene.size()); edited_scene.write[current_edited_scene].root = p_root; @@ -658,6 +665,7 @@ uint64_t EditorData::get_edited_scene_version() const { ERR_FAIL_INDEX_V(current_edited_scene, edited_scene.size(), 0); return edited_scene[current_edited_scene].version; } + uint64_t EditorData::get_scene_version(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, edited_scene.size(), 0); return edited_scene[p_idx].version; @@ -669,6 +677,7 @@ String EditorData::get_scene_type(int p_idx) const { return ""; return edited_scene[p_idx].root->get_class(); } + void EditorData::move_edited_scene_to_index(int p_idx) { ERR_FAIL_INDEX(current_edited_scene, edited_scene.size()); ERR_FAIL_INDEX(p_idx, edited_scene.size()); @@ -735,6 +744,7 @@ void EditorData::set_edited_scene_live_edit_root(const NodePath &p_root) { edited_scene.write[current_edited_scene].live_edit_root = p_root; } + NodePath EditorData::get_edited_scene_live_edit_root() { ERR_FAIL_INDEX_V(current_edited_scene, edited_scene.size(), String()); @@ -962,6 +972,7 @@ void EditorSelection::remove_node(Node *p_node) { p_node->disconnect("tree_exiting", callable_mp(this, &EditorSelection::_node_removed)); //emit_signal("selection_changed"); } + bool EditorSelection::is_selected(Node *p_node) const { return selection.has(p_node); } @@ -1068,6 +1079,7 @@ void EditorSelection::clear() { changed = true; nl_changed = true; } + EditorSelection::EditorSelection() { emitted = false; changed = false; diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 476f9bcfea..46740a0f6d 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -190,6 +190,7 @@ void EditorExportPreset::set_patch(int p_index, const String &p_path) { patches.write[p_index] = p_path; EditorExport::singleton->save_presets(); } + String EditorExportPreset::get_patch(int p_index) { ERR_FAIL_INDEX_V(p_index, patches.size(), String()); return patches[p_index]; @@ -1082,6 +1083,7 @@ void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags r_flags.push_back("--debug-navigation"); } } + EditorExportPlatform::EditorExportPlatform() { } @@ -1375,6 +1377,7 @@ String EditorExportPlatformPC::get_name() const { String EditorExportPlatformPC::get_os_name() const { return os_name; } + Ref<Texture2D> EditorExportPlatformPC::get_logo() const { return logo; } @@ -1534,9 +1537,11 @@ void EditorExportPlatformPC::set_release_64(const String &p_file) { void EditorExportPlatformPC::set_release_32(const String &p_file) { release_file_32 = p_file; } + void EditorExportPlatformPC::set_debug_64(const String &p_file) { debug_file_64 = p_file; } + void EditorExportPlatformPC::set_debug_32(const String &p_file) { debug_file_32 = p_file; } diff --git a/editor/editor_feature_profile.cpp b/editor/editor_feature_profile.cpp index 7c8d9ff08f..f8c1c490d5 100644 --- a/editor/editor_feature_profile.cpp +++ b/editor/editor_feature_profile.cpp @@ -100,6 +100,7 @@ void EditorFeatureProfile::set_disable_class_property(const StringName &p_class, } } } + bool EditorFeatureProfile::is_class_property_disabled(const StringName &p_class, const StringName &p_property) const { if (!disabled_properties.has(p_class)) { return false; @@ -120,6 +121,7 @@ void EditorFeatureProfile::set_disable_feature(Feature p_feature, bool p_disable ERR_FAIL_INDEX(p_feature, FEATURE_MAX); features_disabled[p_feature] = p_disable; } + bool EditorFeatureProfile::is_feature_disabled(Feature p_feature) const { ERR_FAIL_INDEX_V(p_feature, FEATURE_MAX, false); return features_disabled[p_feature]; diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index 561ebb6298..3b1c4d380a 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -506,6 +506,7 @@ void EditorFileDialog::_push_history() { dir_next->set_disabled(true); } } + void EditorFileDialog::_item_dc_selected(int p_item) { int current = p_item; if (current < 0 || current >= item_list->get_item_count()) @@ -877,6 +878,7 @@ void EditorFileDialog::clear_filters() { update_filters(); invalidate(); } + void EditorFileDialog::add_filter(const String &p_filter) { filters.push_back(p_filter); update_filters(); @@ -886,12 +888,15 @@ void EditorFileDialog::add_filter(const String &p_filter) { String EditorFileDialog::get_current_dir() const { return dir_access->get_current_dir(); } + String EditorFileDialog::get_current_file() const { return file->get_text(); } + String EditorFileDialog::get_current_path() const { return dir_access->get_current_dir().plus_file(file->get_text()); } + void EditorFileDialog::set_current_dir(const String &p_dir) { if (p_dir.is_rel_path()) dir_access->change_dir(OS::get_singleton()->get_resource_dir()); @@ -899,6 +904,7 @@ void EditorFileDialog::set_current_dir(const String &p_dir) { update_dir(); invalidate(); } + void EditorFileDialog::set_current_file(const String &p_file) { file->set_text(p_file); update_dir(); @@ -912,6 +918,7 @@ void EditorFileDialog::set_current_file(const String &p_file) { if (is_visible()) _request_single_thumbnail(get_current_dir().plus_file(get_current_file())); } + void EditorFileDialog::set_current_path(const String &p_path) { if (!p_path.size()) return; @@ -1110,6 +1117,7 @@ void EditorFileDialog::_favorite_move_up() { update_file_list(); } } + void EditorFileDialog::_favorite_move_down() { int current = favorites->get_current(); @@ -1237,6 +1245,7 @@ void EditorFileDialog::_go_back() { dir_prev->set_disabled(local_history_pos == 0); dir_next->set_disabled(local_history_pos == local_history.size() - 1); } + void EditorFileDialog::_go_forward() { if (local_history_pos == local_history.size() - 1) { return; diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index acfb554766..77ba5b3f1d 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -56,6 +56,7 @@ int EditorFileSystemDirectory::find_file_index(const String &p_file) const { } return -1; } + int EditorFileSystemDirectory::find_dir_index(const String &p_dir) const { for (int i = 0; i < subdirs.size(); i++) { if (subdirs[i]->name == p_dir) @@ -1110,6 +1111,7 @@ void EditorFileSystem::_notification(int p_what) { bool EditorFileSystem::is_scanning() const { return scanning || scanning_changes; } + float EditorFileSystem::get_scanning_progress() const { return scan_total; } diff --git a/editor/editor_folding.cpp b/editor/editor_folding.cpp index 270495ff55..a1d65ac739 100644 --- a/editor/editor_folding.cpp +++ b/editor/editor_folding.cpp @@ -127,6 +127,7 @@ void EditorFolding::_fill_folds(const Node *p_root, const Node *p_node, Array &p _fill_folds(p_root, p_node->get_child(i), p_folds, resource_folds, nodes_folded, resources); } } + void EditorFolding::save_scene_folding(const Node *p_scene, const String &p_path) { ERR_FAIL_NULL(p_scene); @@ -150,6 +151,7 @@ void EditorFolding::save_scene_folding(const Node *p_scene, const String &p_path file = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(file); config->save(file); } + void EditorFolding::load_scene_folding(Node *p_scene, const String &p_path) { Ref<ConfigFile> config; config.instance(); diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index 31eead83de..16e49ad4e1 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -1474,6 +1474,7 @@ void EditorHelp::search_again(bool p_search_previous) { int EditorHelp::get_scroll() const { return class_desc->get_v_scroll()->get_value(); } + void EditorHelp::set_scroll(int p_scroll) { class_desc->get_v_scroll()->set_value(p_scroll); } diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index f7d92050e1..0e39d0f2ab 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -532,6 +532,7 @@ bool EditorProperty::use_keying_next() const { return false; } + void EditorProperty::set_checkable(bool p_checkable) { checkable = p_checkable; update(); @@ -737,9 +738,11 @@ void EditorProperty::_gui_input(const Ref<InputEvent> &p_event) { void EditorProperty::set_label_reference(Control *p_control) { label_reference = p_control; } + void EditorProperty::set_bottom_editor(Control *p_control) { bottom_editor = p_control; } + Variant EditorProperty::get_drag_data(const Point2 &p_point) { if (property == StringName()) return Variant(); @@ -898,6 +901,7 @@ EditorProperty::EditorProperty() { label_reference = nullptr; bottom_editor = nullptr; } + //////////////////////////////////////////////// //////////////////////////////////////////////// @@ -930,6 +934,7 @@ bool EditorInspectorPlugin::can_handle(Object *p_object) { } return false; } + void EditorInspectorPlugin::parse_begin(Object *p_object) { if (get_script_instance()) { get_script_instance()->call("parse_begin", p_object); @@ -956,6 +961,7 @@ bool EditorInspectorPlugin::parse_property(Object *p_object, Variant::Type p_typ } return false; } + void EditorInspectorPlugin::parse_end() { if (get_script_instance()) { get_script_instance()->call("parse_end"); @@ -1826,6 +1832,7 @@ void EditorInspector::update_tree() { //see if this property exists and should be kept } + void EditorInspector::update_property(const String &p_prop) { if (!editor_property_map.has(p_prop)) return; @@ -1884,6 +1891,7 @@ void EditorInspector::set_keying(bool p_active) { keying = p_active; update_tree(); } + void EditorInspector::set_read_only(bool p_read_only) { read_only = p_read_only; update_tree(); @@ -1892,6 +1900,7 @@ void EditorInspector::set_read_only(bool p_read_only) { bool EditorInspector::is_capitalize_paths_enabled() const { return capitalize_paths; } + void EditorInspector::set_enable_capitalize_paths(bool p_capitalize) { capitalize_paths = p_capitalize; update_tree(); @@ -1910,14 +1919,17 @@ void EditorInspector::set_use_doc_hints(bool p_enable) { use_doc_hints = p_enable; update_tree(); } + void EditorInspector::set_hide_script(bool p_hide) { hide_script = p_hide; update_tree(); } + void EditorInspector::set_use_filter(bool p_use) { use_filter = p_use; update_tree(); } + void EditorInspector::register_text_enter(Node *p_line_edit) { search_box = Object::cast_to<LineEdit>(p_line_edit); if (search_box) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index b975d555af..c8f07f4b8d 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -3250,9 +3250,11 @@ ImportDock *EditorNode::get_import_dock() { FileSystemDock *EditorNode::get_filesystem_dock() { return filesystem_dock; } + SceneTreeDock *EditorNode::get_scene_tree_dock() { return scene_tree_dock; } + InspectorDock *EditorNode::get_inspector_dock() { return inspector_dock; } diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index 7bffdc5744..f731a87cef 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -553,6 +553,7 @@ void EditorPlugin::forward_spatial_force_draw_over_viewport(Control *p_overlay) get_script_instance()->call("forward_spatial_force_draw_over_viewport", p_overlay); } } + String EditorPlugin::get_name() const { if (get_script_instance() && get_script_instance()->has_method("get_plugin_name")) { return get_script_instance()->call("get_plugin_name"); @@ -560,6 +561,7 @@ String EditorPlugin::get_name() const { return String(); } + const Ref<Texture2D> EditorPlugin::get_icon() const { if (get_script_instance() && get_script_instance()->has_method("get_plugin_icon")) { return get_script_instance()->call("get_plugin_icon"); @@ -567,6 +569,7 @@ const Ref<Texture2D> EditorPlugin::get_icon() const { return Ref<Texture2D>(); } + bool EditorPlugin::has_main_screen() const { if (get_script_instance() && get_script_instance()->has_method("has_main_screen")) { return get_script_instance()->call("has_main_screen"); @@ -574,6 +577,7 @@ bool EditorPlugin::has_main_screen() const { return false; } + void EditorPlugin::make_visible(bool p_visible) { if (get_script_instance() && get_script_instance()->has_method("make_visible")) { get_script_instance()->call("make_visible", p_visible); @@ -597,6 +601,7 @@ bool EditorPlugin::handles(Object *p_object) const { return false; } + Dictionary EditorPlugin::get_state() const { if (get_script_instance() && get_script_instance()->has_method("get_state")) { return get_script_instance()->call("get_state"); @@ -638,6 +643,7 @@ void EditorPlugin::get_breakpoints(List<String> *p_breakpoints) { p_breakpoints->push_back(arr[i]); } } + bool EditorPlugin::get_remove_list(List<Node *> *p_list) { return false; } diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 9bb20122c6..e5ca5d95e8 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -82,6 +82,7 @@ void EditorPropertyText::update_property() { void EditorPropertyText::set_string_name(bool p_enabled) { string_name = p_enabled; } + void EditorPropertyText::set_placeholder(const String &p_string) { text->set_placeholder(p_string); } @@ -209,12 +210,14 @@ EditorPropertyTextEnum::EditorPropertyTextEnum() { add_focusable(options); options->connect("item_selected", callable_mp(this, &EditorPropertyTextEnum::_option_selected)); } + ///////////////////// PATH ///////////////////////// void EditorPropertyPath::_path_selected(const String &p_path) { emit_changed(get_edited_property(), p_path); update_property(); } + void EditorPropertyPath::_path_pressed() { if (!dialog) { dialog = memnew(EditorFileDialog); @@ -1158,6 +1161,7 @@ void EditorPropertyRect2::update_property() { spin[3]->set_value(val.size.y); setting = false; } + void EditorPropertyRect2::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1168,6 +1172,7 @@ void EditorPropertyRect2::_notification(int p_what) { } } } + void EditorPropertyRect2::_bind_methods() { } @@ -1239,6 +1244,7 @@ void EditorPropertyVector3::update_property() { spin[2]->set_value(val.z); setting = false; } + void EditorPropertyVector3::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1249,6 +1255,7 @@ void EditorPropertyVector3::_notification(int p_what) { } } } + void EditorPropertyVector3::_bind_methods() { } @@ -1403,6 +1410,7 @@ void EditorPropertyRect2i::update_property() { spin[3]->set_value(val.size.y); setting = false; } + void EditorPropertyRect2i::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1413,6 +1421,7 @@ void EditorPropertyRect2i::_notification(int p_what) { } } } + void EditorPropertyRect2i::_bind_methods() { } @@ -1484,6 +1493,7 @@ void EditorPropertyVector3i::update_property() { spin[2]->set_value(val.z); setting = false; } + void EditorPropertyVector3i::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1494,6 +1504,7 @@ void EditorPropertyVector3i::_notification(int p_what) { } } } + void EditorPropertyVector3i::_bind_methods() { } @@ -1566,6 +1577,7 @@ void EditorPropertyPlane::update_property() { spin[3]->set_value(val.d); setting = false; } + void EditorPropertyPlane::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1576,6 +1588,7 @@ void EditorPropertyPlane::_notification(int p_what) { } } } + void EditorPropertyPlane::_bind_methods() { } @@ -1649,6 +1662,7 @@ void EditorPropertyQuat::update_property() { spin[3]->set_value(val.w); setting = false; } + void EditorPropertyQuat::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1659,6 +1673,7 @@ void EditorPropertyQuat::_notification(int p_what) { } } } + void EditorPropertyQuat::_bind_methods() { } @@ -1735,6 +1750,7 @@ void EditorPropertyAABB::update_property() { setting = false; } + void EditorPropertyAABB::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1745,6 +1761,7 @@ void EditorPropertyAABB::_notification(int p_what) { } } } + void EditorPropertyAABB::_bind_methods() { } @@ -1808,6 +1825,7 @@ void EditorPropertyTransform2D::update_property() { setting = false; } + void EditorPropertyTransform2D::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1818,6 +1836,7 @@ void EditorPropertyTransform2D::_notification(int p_what) { } } } + void EditorPropertyTransform2D::_bind_methods() { } @@ -1886,6 +1905,7 @@ void EditorPropertyBasis::update_property() { setting = false; } + void EditorPropertyBasis::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1896,6 +1916,7 @@ void EditorPropertyBasis::_notification(int p_what) { } } } + void EditorPropertyBasis::_bind_methods() { } @@ -1970,6 +1991,7 @@ void EditorPropertyTransform::update_property() { setting = false; } + void EditorPropertyTransform::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1980,6 +2002,7 @@ void EditorPropertyTransform::_notification(int p_what) { } } } + void EditorPropertyTransform::_bind_methods() { } @@ -2913,6 +2936,7 @@ bool EditorPropertyResource::_is_drop_valid(const Dictionary &p_drag_data) const bool EditorPropertyResource::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const { return _is_drop_valid(p_data); } + void EditorPropertyResource::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) { ERR_FAIL_COND(!_is_drop_valid(p_data)); diff --git a/editor/editor_scale.cpp b/editor/editor_scale.cpp index 6a26cc6401..450de75328 100644 --- a/editor/editor_scale.cpp +++ b/editor/editor_scale.cpp @@ -37,6 +37,7 @@ static float scale = 1.0; void editor_set_scale(float p_scale) { scale = p_scale; } + float editor_get_scale() { return scale; } diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index 61860d2376..fb12c15913 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -382,6 +382,7 @@ void ExportTemplateManager::_http_download_mirror_completed(int p_status, int p_ return; } } + void ExportTemplateManager::_http_download_templates_completed(int p_status, int p_code, const PackedStringArray &headers, const PackedByteArray &p_data) { switch (p_status) { case HTTPRequest::RESULT_CANT_RESOLVE: { diff --git a/editor/import/editor_import_collada.cpp b/editor/import/editor_import_collada.cpp index 0f3faf4189..54b4dc2972 100644 --- a/editor/import/editor_import_collada.cpp +++ b/editor/import/editor_import_collada.cpp @@ -1607,9 +1607,11 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones uint32_t EditorSceneImporterCollada::get_import_flags() const { return IMPORT_SCENE | IMPORT_ANIMATION; } + void EditorSceneImporterCollada::get_extensions(List<String> *r_extensions) const { r_extensions->push_back("dae"); } + Node *EditorSceneImporterCollada::import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { ColladaImport state; uint32_t flags = Collada::IMPORT_FLAG_SCENE; diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp index c4bf9189f1..3c9f04322e 100644 --- a/editor/import/editor_scene_importer_gltf.cpp +++ b/editor/import/editor_scene_importer_gltf.cpp @@ -46,6 +46,7 @@ uint32_t EditorSceneImporterGLTF::get_import_flags() const { return IMPORT_SCENE | IMPORT_ANIMATION; } + void EditorSceneImporterGLTF::get_extensions(List<String> *r_extensions) const { r_extensions->push_back("gltf"); r_extensions->push_back("glb"); @@ -874,6 +875,7 @@ Vector<Quat> EditorSceneImporterGLTF::_decode_accessor_as_quat(GLTFState &state, } return ret; } + Vector<Transform2D> EditorSceneImporterGLTF::_decode_accessor_as_xform2d(GLTFState &state, const GLTFAccessorIndex p_accessor, const bool p_for_vertex) { const Vector<double> attribs = _decode_accessor(state, p_accessor, p_for_vertex); Vector<Transform2D> ret; diff --git a/editor/import/resource_importer_bitmask.cpp b/editor/import/resource_importer_bitmask.cpp index 05a3bfc386..5e52a95e4e 100644 --- a/editor/import/resource_importer_bitmask.cpp +++ b/editor/import/resource_importer_bitmask.cpp @@ -44,9 +44,11 @@ String ResourceImporterBitMap::get_importer_name() const { String ResourceImporterBitMap::get_visible_name() const { return "BitMap"; } + void ResourceImporterBitMap::get_recognized_extensions(List<String> *p_extensions) const { ImageLoader::get_recognized_extensions(p_extensions); } + String ResourceImporterBitMap::get_save_extension() const { return "res"; } @@ -62,6 +64,7 @@ bool ResourceImporterBitMap::get_option_visibility(const String &p_option, const int ResourceImporterBitMap::get_preset_count() const { return 0; } + String ResourceImporterBitMap::get_preset_name(int p_idx) const { return String(); } diff --git a/editor/import/resource_importer_csv.cpp b/editor/import/resource_importer_csv.cpp index e56cb1d3a1..d29ba28a96 100644 --- a/editor/import/resource_importer_csv.cpp +++ b/editor/import/resource_importer_csv.cpp @@ -40,6 +40,7 @@ String ResourceImporterCSV::get_importer_name() const { String ResourceImporterCSV::get_visible_name() const { return "CSV"; } + void ResourceImporterCSV::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("csv"); } @@ -59,6 +60,7 @@ bool ResourceImporterCSV::get_option_visibility(const String &p_option, const Ma int ResourceImporterCSV::get_preset_count() const { return 0; } + String ResourceImporterCSV::get_preset_name(int p_idx) const { return ""; } diff --git a/editor/import/resource_importer_csv_translation.cpp b/editor/import/resource_importer_csv_translation.cpp index 09f2d691f0..04e20dee86 100644 --- a/editor/import/resource_importer_csv_translation.cpp +++ b/editor/import/resource_importer_csv_translation.cpp @@ -42,6 +42,7 @@ String ResourceImporterCSVTranslation::get_importer_name() const { String ResourceImporterCSVTranslation::get_visible_name() const { return "CSV Translation"; } + void ResourceImporterCSVTranslation::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("csv"); } @@ -61,6 +62,7 @@ bool ResourceImporterCSVTranslation::get_option_visibility(const String &p_optio int ResourceImporterCSVTranslation::get_preset_count() const { return 0; } + String ResourceImporterCSVTranslation::get_preset_name(int p_idx) const { return ""; } diff --git a/editor/import/resource_importer_image.cpp b/editor/import/resource_importer_image.cpp index 927d911e94..885b00865b 100644 --- a/editor/import/resource_importer_image.cpp +++ b/editor/import/resource_importer_image.cpp @@ -42,6 +42,7 @@ String ResourceImporterImage::get_importer_name() const { String ResourceImporterImage::get_visible_name() const { return "Image"; } + void ResourceImporterImage::get_recognized_extensions(List<String> *p_extensions) const { ImageLoader::get_recognized_extensions(p_extensions); } @@ -61,6 +62,7 @@ bool ResourceImporterImage::get_option_visibility(const String &p_option, const int ResourceImporterImage::get_preset_count() const { return 0; } + String ResourceImporterImage::get_preset_name(int p_idx) const { return String(); } diff --git a/editor/import/resource_importer_layered_texture.cpp b/editor/import/resource_importer_layered_texture.cpp index 18c6dc149b..2c9e7dcd3b 100644 --- a/editor/import/resource_importer_layered_texture.cpp +++ b/editor/import/resource_importer_layered_texture.cpp @@ -76,9 +76,11 @@ String ResourceImporterLayeredTexture::get_visible_name() const { ERR_FAIL_V(""); } + void ResourceImporterLayeredTexture::get_recognized_extensions(List<String> *p_extensions) const { ImageLoader::get_recognized_extensions(p_extensions); } + String ResourceImporterLayeredTexture::get_save_extension() const { switch (mode) { case MODE_CUBEMAP: { @@ -126,6 +128,7 @@ bool ResourceImporterLayeredTexture::get_option_visibility(const String &p_optio int ResourceImporterLayeredTexture::get_preset_count() const { return 0; } + String ResourceImporterLayeredTexture::get_preset_name(int p_idx) const { return ""; } diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp index 73150c8516..4316a9b512 100644 --- a/editor/import/resource_importer_obj.cpp +++ b/editor/import/resource_importer_obj.cpp @@ -435,6 +435,7 @@ Node *EditorOBJImporter::import_scene(const String &p_path, uint32_t p_flags, in return scene; } + Ref<Animation> EditorOBJImporter::import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) { return Ref<Animation>(); } @@ -445,20 +446,25 @@ void EditorOBJImporter::get_extensions(List<String> *r_extensions) const { EditorOBJImporter::EditorOBJImporter() { } + //////////////////////////////////////////////////// String ResourceImporterOBJ::get_importer_name() const { return "wavefront_obj"; } + String ResourceImporterOBJ::get_visible_name() const { return "OBJ As Mesh"; } + void ResourceImporterOBJ::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("obj"); } + String ResourceImporterOBJ::get_save_extension() const { return "mesh"; } + String ResourceImporterOBJ::get_resource_type() const { return "Mesh"; } @@ -466,6 +472,7 @@ String ResourceImporterOBJ::get_resource_type() const { int ResourceImporterOBJ::get_preset_count() const { return 0; } + String ResourceImporterOBJ::get_preset_name(int p_idx) const { return ""; } @@ -476,6 +483,7 @@ void ResourceImporterOBJ::get_import_options(List<ImportOption> *r_options, int r_options->push_back(ImportOption(PropertyInfo(Variant::VECTOR3, "offset_mesh"), Vector3(0, 0, 0))); r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "optimize_mesh"), true)); } + bool ResourceImporterOBJ::get_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const { return true; } diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index 012e3e95a7..f4fb0f9f0c 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -53,6 +53,7 @@ uint32_t EditorSceneImporter::get_import_flags() const { ERR_FAIL_V(0); } + void EditorSceneImporter::get_extensions(List<String> *r_extensions) const { if (get_script_instance()) { Array arr = get_script_instance()->call("_get_extensions"); @@ -64,6 +65,7 @@ void EditorSceneImporter::get_extensions(List<String> *r_extensions) const { ERR_FAIL(); } + Node *EditorSceneImporter::import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { if (get_script_instance()) { return get_script_instance()->call("_import_scene", p_path, p_flags, p_bake_fps); @@ -202,6 +204,7 @@ bool ResourceImporterScene::get_option_visibility(const String &p_option, const int ResourceImporterScene::get_preset_count() const { return PRESET_MAX; } + String ResourceImporterScene::get_preset_name(int p_idx) const { switch (p_idx) { case PRESET_SINGLE_SCENE: @@ -1520,14 +1523,17 @@ ResourceImporterScene *ResourceImporterScene::singleton = nullptr; ResourceImporterScene::ResourceImporterScene() { singleton = this; } + /////////////////////////////////////// uint32_t EditorSceneImporterESCN::get_import_flags() const { return IMPORT_SCENE; } + void EditorSceneImporterESCN::get_extensions(List<String> *r_extensions) const { r_extensions->push_back("escn"); } + Node *EditorSceneImporterESCN::import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { Error error; Ref<PackedScene> ps = ResourceFormatLoaderText::singleton->load(p_path, p_path, &error); @@ -1538,6 +1544,7 @@ Node *EditorSceneImporterESCN::import_scene(const String &p_path, uint32_t p_fla return scene; } + Ref<Animation> EditorSceneImporterESCN::import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) { ERR_FAIL_V(Ref<Animation>()); } diff --git a/editor/import/resource_importer_shader_file.cpp b/editor/import/resource_importer_shader_file.cpp index 0813bca6f1..a2e80dfa18 100644 --- a/editor/import/resource_importer_shader_file.cpp +++ b/editor/import/resource_importer_shader_file.cpp @@ -44,9 +44,11 @@ String ResourceImporterShaderFile::get_importer_name() const { String ResourceImporterShaderFile::get_visible_name() const { return "GLSL Shader File"; } + void ResourceImporterShaderFile::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("glsl"); } + String ResourceImporterShaderFile::get_save_extension() const { return "res"; } @@ -58,6 +60,7 @@ String ResourceImporterShaderFile::get_resource_type() const { int ResourceImporterShaderFile::get_preset_count() const { return 0; } + String ResourceImporterShaderFile::get_preset_name(int p_idx) const { return String(); } @@ -68,6 +71,7 @@ void ResourceImporterShaderFile::get_import_options(List<ImportOption> *r_option bool ResourceImporterShaderFile::get_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const { return true; } + static String _include_function(const String &p_path, void *userpointer) { Error err; diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp index aeeae36f5b..ab23ab6db6 100644 --- a/editor/import/resource_importer_texture.cpp +++ b/editor/import/resource_importer_texture.cpp @@ -140,9 +140,11 @@ String ResourceImporterTexture::get_importer_name() const { String ResourceImporterTexture::get_visible_name() const { return "Texture2D"; } + void ResourceImporterTexture::get_recognized_extensions(List<String> *p_extensions) const { ImageLoader::get_recognized_extensions(p_extensions); } + String ResourceImporterTexture::get_save_extension() const { return "stex"; } @@ -181,6 +183,7 @@ bool ResourceImporterTexture::get_option_visibility(const String &p_option, cons int ResourceImporterTexture::get_preset_count() const { return 4; } + String ResourceImporterTexture::get_preset_name(int p_idx) const { static const char *preset_names[] = { "2D, Detect 3D", diff --git a/editor/import/resource_importer_texture_atlas.cpp b/editor/import/resource_importer_texture_atlas.cpp index 314c27b8e4..0ef5d84eca 100644 --- a/editor/import/resource_importer_texture_atlas.cpp +++ b/editor/import/resource_importer_texture_atlas.cpp @@ -45,6 +45,7 @@ String ResourceImporterTextureAtlas::get_importer_name() const { String ResourceImporterTextureAtlas::get_visible_name() const { return "TextureAtlas"; } + void ResourceImporterTextureAtlas::get_recognized_extensions(List<String> *p_extensions) const { ImageLoader::get_recognized_extensions(p_extensions); } @@ -64,6 +65,7 @@ bool ResourceImporterTextureAtlas::get_option_visibility(const String &p_option, int ResourceImporterTextureAtlas::get_preset_count() const { return 0; } + String ResourceImporterTextureAtlas::get_preset_name(int p_idx) const { return String(); } diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp index 3ffc7b34af..eace84400a 100644 --- a/editor/import/resource_importer_wav.cpp +++ b/editor/import/resource_importer_wav.cpp @@ -45,9 +45,11 @@ String ResourceImporterWAV::get_importer_name() const { String ResourceImporterWAV::get_visible_name() const { return "Microsoft WAV"; } + void ResourceImporterWAV::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("wav"); } + String ResourceImporterWAV::get_save_extension() const { return "sample"; } @@ -67,6 +69,7 @@ bool ResourceImporterWAV::get_option_visibility(const String &p_option, const Ma int ResourceImporterWAV::get_preset_count() const { return 0; } + String ResourceImporterWAV::get_preset_name(int p_idx) const { return String(); } diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp index 2d8069acea..4a3011086f 100644 --- a/editor/import_dock.cpp +++ b/editor/import_dock.cpp @@ -384,6 +384,7 @@ static bool _find_owners(EditorFileSystemDirectory *efsd, const String &p_path) return false; } + void ImportDock::_reimport_attempt() { bool need_restart = false; bool used_in_resources = false; @@ -484,6 +485,7 @@ void ImportDock::_property_toggled(const StringName &p_prop, bool p_checked) { params->checked.erase(p_prop); } } + void ImportDock::_bind_methods() { ClassDB::bind_method(D_METHOD("_reimport"), &ImportDock::_reimport); } diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index ab425aab40..8ada7e9ba5 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -287,6 +287,7 @@ void InspectorDock::_edit_forward() { if (EditorNode::get_singleton()->get_editor_history()->next()) editor->edit_current(); } + void InspectorDock::_edit_back() { EditorHistory *editor_history = EditorNode::get_singleton()->get_editor_history(); if ((current && editor_history->previous()) || editor_history->get_path_size() == 1) diff --git a/editor/node_3d_editor_gizmos.cpp b/editor/node_3d_editor_gizmos.cpp index 2bdc0b12e9..20b84f9358 100644 --- a/editor/node_3d_editor_gizmos.cpp +++ b/editor/node_3d_editor_gizmos.cpp @@ -2117,6 +2117,7 @@ Variant VisibilityNotifier3DGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_g VisibilityNotifier3D *notifier = Object::cast_to<VisibilityNotifier3D>(p_gizmo->get_spatial_node()); return notifier->get_aabb(); } + void VisibilityNotifier3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { VisibilityNotifier3D *notifier = Object::cast_to<VisibilityNotifier3D>(p_gizmo->get_spatial_node()); @@ -2302,10 +2303,12 @@ String GPUParticles3DGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_giz return ""; } + Variant GPUParticles3DGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo, int p_idx) const { GPUParticles3D *particles = Object::cast_to<GPUParticles3D>(p_gizmo->get_spatial_node()); return particles->get_visibility_aabb(); } + void GPUParticles3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { GPUParticles3D *particles = Object::cast_to<GPUParticles3D>(p_gizmo->get_spatial_node()); @@ -2418,6 +2421,7 @@ void GPUParticles3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { p_gizmo->add_handles(handles, get_material("handles")); p_gizmo->add_unscaled_billboard(icon, 0.05); } + //// ReflectionProbeGizmoPlugin::ReflectionProbeGizmoPlugin() { @@ -2465,10 +2469,12 @@ String ReflectionProbeGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_gi return ""; } + Variant ReflectionProbeGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo, int p_idx) const { ReflectionProbe *probe = Object::cast_to<ReflectionProbe>(p_gizmo->get_spatial_node()); return AABB(probe->get_extents(), probe->get_origin_offset()); } + void ReflectionProbeGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { ReflectionProbe *probe = Object::cast_to<ReflectionProbe>(p_gizmo->get_spatial_node()); Transform gt = probe->get_global_transform(); @@ -2604,6 +2610,7 @@ void ReflectionProbeGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { p_gizmo->add_unscaled_billboard(icon, 0.05); p_gizmo->add_handles(handles, get_material("handles")); } + /////////////////////////////// //// @@ -2640,10 +2647,12 @@ String DecalGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_gizmo, int p return ""; } + Variant DecalGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo, int p_idx) const { Decal *decal = Object::cast_to<Decal>(p_gizmo->get_spatial_node()); return decal->get_extents(); } + void DecalGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { Decal *decal = Object::cast_to<Decal>(p_gizmo->get_spatial_node()); Transform gt = decal->get_global_transform(); @@ -2778,10 +2787,12 @@ String GIProbeGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_gizmo, int return ""; } + Variant GIProbeGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo, int p_idx) const { GIProbe *probe = Object::cast_to<GIProbe>(p_gizmo->get_spatial_node()); return probe->get_extents(); } + void GIProbeGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { GIProbe *probe = Object::cast_to<GIProbe>(p_gizmo->get_spatial_node()); @@ -2935,9 +2946,11 @@ BakedLightmapGizmoPlugin::BakedLightmapGizmoPlugin() { String BakedLightmapGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_idx) const { return ""; } + Variant BakedLightmapGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo, int p_idx) const { return Variant(); } + void BakedLightmapGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { } @@ -3102,6 +3115,7 @@ void BakedLightmapGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { p_gizmo->add_mesh(mesh); } + ///////// LightmapProbeGizmoPlugin::LightmapProbeGizmoPlugin() { @@ -3114,9 +3128,11 @@ LightmapProbeGizmoPlugin::LightmapProbeGizmoPlugin() { String LightmapProbeGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_idx) const { return ""; } + Variant LightmapProbeGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo, int p_idx) const { return Variant(); } + void LightmapProbeGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { } @@ -3195,6 +3211,7 @@ void LightmapProbeGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { p_gizmo->add_lines(lines, material_lines); } + //// CollisionShape3DGizmoPlugin::CollisionShape3DGizmoPlugin() { @@ -3282,6 +3299,7 @@ Variant CollisionShape3DGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo return Variant(); } + void CollisionShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { CollisionShape3D *cs = Object::cast_to<CollisionShape3D>(p_gizmo->get_spatial_node()); @@ -3389,6 +3407,7 @@ void CollisionShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_i cs2->set_height(d * 2.0); } } + void CollisionShape3DGizmoPlugin::commit_handle(EditorNode3DGizmo *p_gizmo, int p_idx, const Variant &p_restore, bool p_cancel) { CollisionShape3D *cs = Object::cast_to<CollisionShape3D>(p_gizmo->get_spatial_node()); @@ -3490,6 +3509,7 @@ void CollisionShape3DGizmoPlugin::commit_handle(EditorNode3DGizmo *p_gizmo, int ur->commit_action(); } } + void CollisionShape3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { CollisionShape3D *cs = Object::cast_to<CollisionShape3D>(p_gizmo->get_spatial_node()); diff --git a/editor/pane_drag.cpp b/editor/pane_drag.cpp index 0f21a2af88..8cadc3925e 100644 --- a/editor/pane_drag.cpp +++ b/editor/pane_drag.cpp @@ -55,6 +55,7 @@ void PaneDrag::_notification(int p_what) { break; } } + Size2 PaneDrag::get_minimum_size() const { Ref<Texture2D> icon = get_theme_icon("PaneDrag", "EditorIcons"); if (!icon.is_null()) diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index aba2d53eba..28d0e113d4 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -237,6 +237,7 @@ void AnimationPlayerEditor::_play_bw_from_pressed() { //unstop stop->set_pressed(false); } + void AnimationPlayerEditor::_stop_pressed() { if (!player) { return; @@ -305,6 +306,7 @@ void AnimationPlayerEditor::_animation_new() { name->select_all(); name->grab_focus(); } + void AnimationPlayerEditor::_animation_rename() { if (animation->get_item_count() == 0) return; @@ -318,6 +320,7 @@ void AnimationPlayerEditor::_animation_rename() { name->select_all(); name->grab_focus(); } + void AnimationPlayerEditor::_animation_load() { ERR_FAIL_COND(!player); file->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE); @@ -626,6 +629,7 @@ Dictionary AnimationPlayerEditor::get_state() const { return d; } + void AnimationPlayerEditor::set_state(const Dictionary &p_state) { if (!p_state.has("visible") || !p_state["visible"]) { return; diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp index ce41be7f28..bcd393957c 100644 --- a/editor/plugins/animation_state_machine_editor.cpp +++ b/editor/plugins/animation_state_machine_editor.cpp @@ -1166,6 +1166,7 @@ void AnimationNodeStateMachineEditor::_end_selected() { state_machine_draw->update(); } } + void AnimationNodeStateMachineEditor::_update_mode() { if (tool_select->is_pressed()) { tool_erase_hb->show(); diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index 5ec76d8471..ad2164b719 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -72,6 +72,7 @@ void EditorAssetLibraryItem::_asset_clicked() { void EditorAssetLibraryItem::_category_clicked() { emit_signal("category_selected", category_id); } + void EditorAssetLibraryItem::_author_clicked() { emit_signal("author_selected", author_id); } @@ -297,6 +298,7 @@ EditorAssetLibraryItemDescription::EditorAssetLibraryItemDescription() { get_ok()->set_text(TTR("Download")); get_cancel()->set_text(TTR("Close")); } + /////////////////////////////////////////////////////////////////////////////////// void EditorAssetLibraryItemDownload::_http_download_completed(int p_status, int p_code, const PackedStringArray &headers, const PackedByteArray &p_data) { @@ -437,6 +439,7 @@ void EditorAssetLibraryItemDownload::_notification(int p_what) { } break; } } + void EditorAssetLibraryItemDownload::_close() { // Clean up downloaded file. DirAccess::remove_file_or_error(download->get_download_file()); @@ -650,6 +653,7 @@ void EditorAssetLibrary::_select_category(int p_id) { } } } + void EditorAssetLibrary::_select_asset(int p_id) { _api_request("asset/" + itos(p_id), REQUESTING_ASSET); } diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 0f794d0f48..2d7198bec8 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -4334,6 +4334,7 @@ void CanvasItemEditor::_button_toggle_grid_snap(bool p_status) { grid_snap_active = p_status; viewport->update(); } + void CanvasItemEditor::_button_override_camera(bool p_pressed) { EditorDebuggerNode *debugger = EditorDebuggerNode::get_singleton(); @@ -5762,6 +5763,7 @@ void CanvasItemEditorPlugin::make_visible(bool p_visible) { Dictionary CanvasItemEditorPlugin::get_state() const { return canvas_item_editor->get_state(); } + void CanvasItemEditorPlugin::set_state(const Dictionary &p_state) { canvas_item_editor->set_state(p_state); } diff --git a/editor/plugins/collision_polygon_3d_editor_plugin.cpp b/editor/plugins/collision_polygon_3d_editor_plugin.cpp index 9619a97807..920a7f195a 100644 --- a/editor/plugins/collision_polygon_3d_editor_plugin.cpp +++ b/editor/plugins/collision_polygon_3d_editor_plugin.cpp @@ -60,6 +60,7 @@ void CollisionPolygon3DEditor::_notification(int p_what) { } break; } } + void CollisionPolygon3DEditor::_node_removed(Node *p_node) { if (p_node == node) { node = nullptr; diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp index 4895696f36..0c0f014af6 100644 --- a/editor/plugins/editor_preview_plugins.cpp +++ b/editor/plugins/editor_preview_plugins.cpp @@ -183,6 +183,7 @@ EditorImagePreviewPlugin::EditorImagePreviewPlugin() { bool EditorImagePreviewPlugin::generate_small_preview_automatically() const { return true; } + //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////// bool EditorBitmapPreviewPlugin::handles(const String &p_type) const { @@ -572,6 +573,7 @@ Ref<Texture2D> EditorScriptPreviewPlugin::generate(const RES &p_from, const Size EditorScriptPreviewPlugin::EditorScriptPreviewPlugin() { } + /////////////////////////////////////////////////////////////////// bool EditorAudioStreamPreviewPlugin::handles(const String &p_type) const { @@ -665,6 +667,7 @@ void EditorMeshPreviewPlugin::_preview_done(const Variant &p_udata) { void EditorMeshPreviewPlugin::_bind_methods() { ClassDB::bind_method("_preview_done", &EditorMeshPreviewPlugin::_preview_done); } + bool EditorMeshPreviewPlugin::handles(const String &p_type) const { return ClassDB::is_parent_class(p_type, "Mesh"); //any Mesh } diff --git a/editor/plugins/gradient_editor_plugin.cpp b/editor/plugins/gradient_editor_plugin.cpp index 6c0ce699ac..1ccfeccf7a 100644 --- a/editor/plugins/gradient_editor_plugin.cpp +++ b/editor/plugins/gradient_editor_plugin.cpp @@ -37,6 +37,7 @@ Size2 GradientEditor::get_minimum_size() const { return Size2(0, 60) * EDSCALE; } + void GradientEditor::_gradient_changed() { if (editing) return; diff --git a/editor/plugins/item_list_editor_plugin.cpp b/editor/plugins/item_list_editor_plugin.cpp index 77f60b6677..2829b9bd5b 100644 --- a/editor/plugins/item_list_editor_plugin.cpp +++ b/editor/plugins/item_list_editor_plugin.cpp @@ -96,6 +96,7 @@ bool ItemListPlugin::_get(const StringName &p_name, Variant &r_ret) const { return true; } + void ItemListPlugin::_get_property_list(List<PropertyInfo> *p_list) const { for (int i = 0; i < get_item_count(); i++) { String base = itos(i) + "/"; diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp index 2e61ff59fd..992f080cec 100644 --- a/editor/plugins/material_editor_plugin.cpp +++ b/editor/plugins/material_editor_plugin.cpp @@ -239,10 +239,12 @@ MaterialEditorPlugin::MaterialEditorPlugin(EditorNode *p_node) { String StandardMaterial3DConversionPlugin::converts_to() const { return "ShaderMaterial"; } + bool StandardMaterial3DConversionPlugin::handles(const Ref<Resource> &p_resource) const { Ref<StandardMaterial3D> mat = p_resource; return mat.is_valid(); } + Ref<Resource> StandardMaterial3DConversionPlugin::convert(const Ref<Resource> &p_resource) const { Ref<StandardMaterial3D> mat = p_resource; ERR_FAIL_COND_V(!mat.is_valid(), Ref<Resource>()); @@ -281,10 +283,12 @@ Ref<Resource> StandardMaterial3DConversionPlugin::convert(const Ref<Resource> &p String ParticlesMaterialConversionPlugin::converts_to() const { return "ShaderMaterial"; } + bool ParticlesMaterialConversionPlugin::handles(const Ref<Resource> &p_resource) const { Ref<ParticlesMaterial> mat = p_resource; return mat.is_valid(); } + Ref<Resource> ParticlesMaterialConversionPlugin::convert(const Ref<Resource> &p_resource) const { Ref<ParticlesMaterial> mat = p_resource; ERR_FAIL_COND_V(!mat.is_valid(), Ref<Resource>()); @@ -316,10 +320,12 @@ Ref<Resource> ParticlesMaterialConversionPlugin::convert(const Ref<Resource> &p_ String CanvasItemMaterialConversionPlugin::converts_to() const { return "ShaderMaterial"; } + bool CanvasItemMaterialConversionPlugin::handles(const Ref<Resource> &p_resource) const { Ref<CanvasItemMaterial> mat = p_resource; return mat.is_valid(); } + Ref<Resource> CanvasItemMaterialConversionPlugin::convert(const Ref<Resource> &p_resource) const { Ref<CanvasItemMaterial> mat = p_resource; ERR_FAIL_COND_V(!mat.is_valid(), Ref<Resource>()); @@ -351,10 +357,12 @@ Ref<Resource> CanvasItemMaterialConversionPlugin::convert(const Ref<Resource> &p String ProceduralSkyMaterialConversionPlugin::converts_to() const { return "ShaderMaterial"; } + bool ProceduralSkyMaterialConversionPlugin::handles(const Ref<Resource> &p_resource) const { Ref<ProceduralSkyMaterial> mat = p_resource; return mat.is_valid(); } + Ref<Resource> ProceduralSkyMaterialConversionPlugin::convert(const Ref<Resource> &p_resource) const { Ref<ProceduralSkyMaterial> mat = p_resource; ERR_FAIL_COND_V(!mat.is_valid(), Ref<Resource>()); @@ -386,10 +394,12 @@ Ref<Resource> ProceduralSkyMaterialConversionPlugin::convert(const Ref<Resource> String PanoramaSkyMaterialConversionPlugin::converts_to() const { return "ShaderMaterial"; } + bool PanoramaSkyMaterialConversionPlugin::handles(const Ref<Resource> &p_resource) const { Ref<PanoramaSkyMaterial> mat = p_resource; return mat.is_valid(); } + Ref<Resource> PanoramaSkyMaterialConversionPlugin::convert(const Ref<Resource> &p_resource) const { Ref<PanoramaSkyMaterial> mat = p_resource; ERR_FAIL_COND_V(!mat.is_valid(), Ref<Resource>()); @@ -421,10 +431,12 @@ Ref<Resource> PanoramaSkyMaterialConversionPlugin::convert(const Ref<Resource> & String PhysicalSkyMaterialConversionPlugin::converts_to() const { return "ShaderMaterial"; } + bool PhysicalSkyMaterialConversionPlugin::handles(const Ref<Resource> &p_resource) const { Ref<PhysicalSkyMaterial> mat = p_resource; return mat.is_valid(); } + Ref<Resource> PhysicalSkyMaterialConversionPlugin::convert(const Ref<Resource> &p_resource) const { Ref<PhysicalSkyMaterial> mat = p_resource; ERR_FAIL_COND_V(!mat.is_valid(), Ref<Resource>()); diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index fa600ad744..bfdd148e3f 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -395,9 +395,11 @@ int Node3DEditorViewport::get_selected_count() const { float Node3DEditorViewport::get_znear() const { return CLAMP(spatial_editor->get_znear(), MIN_Z, MAX_Z); } + float Node3DEditorViewport::get_zfar() const { return CLAMP(spatial_editor->get_zfar(), MIN_Z, MAX_Z); } + float Node3DEditorViewport::get_fov() const { return CLAMP(spatial_editor->get_fov(), MIN_FOV, MAX_FOV); } @@ -970,9 +972,11 @@ void Node3DEditorViewport::_surface_focus_enter() { void Node3DEditorViewport::_surface_focus_exit() { view_menu->set_disable_shortcuts(true); } + bool Node3DEditorViewport ::_is_node_locked(const Node *p_node) { return p_node->has_meta("_edit_lock_") && p_node->get_meta("_edit_lock_"); } + void Node3DEditorViewport::_list_select(Ref<InputEventMouseButton> b) { _find_items_at_pos(b->get_position(), clicked_includes_current, selection_results, b->get_shift()); @@ -3011,6 +3015,7 @@ void Node3DEditorViewport::_finish_gizmo_instances() { RS::get_singleton()->free(scale_plane_gizmo_instance[i]); } } + void Node3DEditorViewport::_toggle_camera_preview(bool p_activate) { ERR_FAIL_COND(p_activate && !preview); ERR_FAIL_COND(!p_activate && !previewing); @@ -4408,6 +4413,7 @@ Dictionary Node3DEditor::get_state() const { return d; } + void Node3DEditor::set_state(const Dictionary &p_state) { Dictionary d = p_state; @@ -5511,6 +5517,7 @@ void Node3DEditor::_unhandled_key_input(Ref<InputEvent> p_event) { snap_key_enabled = Input::get_singleton()->is_key_pressed(KEY_CONTROL); } + void Node3DEditor::_notification(int p_what) { if (p_what == NOTIFICATION_READY) { tool_button[Node3DEditor::TOOL_MODE_SELECT]->set_icon(get_theme_icon("ToolSelect", "EditorIcons")); @@ -6116,6 +6123,7 @@ void Node3DEditorPlugin::make_visible(bool p_visible) { spatial_editor->set_process(false); } } + void Node3DEditorPlugin::edit(Object *p_object) { spatial_editor->edit(Object::cast_to<Node3D>(p_object)); } diff --git a/editor/plugins/path_2d_editor_plugin.cpp b/editor/plugins/path_2d_editor_plugin.cpp index 41011343c8..d4f49100d6 100644 --- a/editor/plugins/path_2d_editor_plugin.cpp +++ b/editor/plugins/path_2d_editor_plugin.cpp @@ -49,6 +49,7 @@ void Path2DEditor::_notification(int p_what) { } break; } } + void Path2DEditor::_node_removed(Node *p_node) { if (p_node == node) { node = nullptr; diff --git a/editor/plugins/path_3d_editor_plugin.cpp b/editor/plugins/path_3d_editor_plugin.cpp index 0ed7995914..0aee064c41 100644 --- a/editor/plugins/path_3d_editor_plugin.cpp +++ b/editor/plugins/path_3d_editor_plugin.cpp @@ -55,6 +55,7 @@ String Path3DGizmo::get_handle_name(int p_idx) const { return n; } + Variant Path3DGizmo::get_handle_value(int p_idx) { Ref<Curve3D> c = path->get_curve(); if (c.is_null()) @@ -80,6 +81,7 @@ Variant Path3DGizmo::get_handle_value(int p_idx) { return ofs; } + void Path3DGizmo::set_handle(int p_idx, Camera3D *p_camera, const Point2 &p_point) { Ref<Curve3D> c = path->get_curve(); if (c.is_null()) diff --git a/editor/plugins/root_motion_editor_plugin.cpp b/editor/plugins/root_motion_editor_plugin.cpp index 12a2b4c2b7..37e779fbbb 100644 --- a/editor/plugins/root_motion_editor_plugin.cpp +++ b/editor/plugins/root_motion_editor_plugin.cpp @@ -268,6 +268,7 @@ EditorPropertyRootMotion::EditorPropertyRootMotion() { filters->connect("item_activated", callable_mp(this, &EditorPropertyRootMotion::_confirmed)); //filters->connect("item_edited", this, "_filter_edited"); } + ////////////////////////// bool EditorInspectorRootMotionPlugin::can_handle(Object *p_object) { diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index d1cadb6f67..e0748f5237 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -46,6 +46,7 @@ Ref<Shader> ShaderTextEditor::get_edited_shader() const { return shader; } + void ShaderTextEditor::set_edited_shader(const Ref<Shader> &p_shader) { if (shader == p_shader) { return; diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 4162778fb9..d869f9fcbc 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -98,6 +98,7 @@ void SpriteFramesEditor::_sheet_preview_draw() { split_sheet_dialog->get_ok()->set_disabled(false); split_sheet_dialog->get_ok()->set_text(vformat(TTR("Add %d Frame(s)"), frames_selected.size())); } + void SpriteFramesEditor::_sheet_preview_input(const Ref<InputEvent> &p_event) { Ref<InputEventMouseButton> mb = p_event; diff --git a/editor/plugins/style_box_editor_plugin.cpp b/editor/plugins/style_box_editor_plugin.cpp index 333d95196e..0d957bb101 100644 --- a/editor/plugins/style_box_editor_plugin.cpp +++ b/editor/plugins/style_box_editor_plugin.cpp @@ -43,9 +43,11 @@ void EditorInspectorPluginStyleBox::parse_begin(Object *p_object) { preview->edit(sb); add_custom_control(preview); } + bool EditorInspectorPluginStyleBox::parse_property(Object *p_object, Variant::Type p_type, const String &p_path, PropertyHint p_hint, const String &p_hint_text, int p_usage, bool p_wide) { return false; //do not want } + void EditorInspectorPluginStyleBox::parse_end() { } diff --git a/editor/plugins/texture_editor_plugin.cpp b/editor/plugins/texture_editor_plugin.cpp index 7c5a290537..bc4b97d40a 100644 --- a/editor/plugins/texture_editor_plugin.cpp +++ b/editor/plugins/texture_editor_plugin.cpp @@ -134,6 +134,7 @@ TextureEditor::~TextureEditor() { texture->remove_change_receptor(this); } } + // bool EditorInspectorPluginTexture::can_handle(Object *p_object) { return Object::cast_to<ImageTexture>(p_object) != nullptr || Object::cast_to<AtlasTexture>(p_object) != nullptr || Object::cast_to<StreamTexture2D>(p_object) != nullptr || Object::cast_to<LargeTexture>(p_object) != nullptr || Object::cast_to<AnimatedTexture>(p_object) != nullptr; diff --git a/editor/plugins/texture_layered_editor_plugin.cpp b/editor/plugins/texture_layered_editor_plugin.cpp index 24a6103450..e0e5bdb407 100644 --- a/editor/plugins/texture_layered_editor_plugin.cpp +++ b/editor/plugins/texture_layered_editor_plugin.cpp @@ -249,6 +249,7 @@ TextureLayeredEditor::~TextureLayeredEditor() { texture->remove_change_receptor(this); } } + // bool EditorInspectorPluginLayeredTexture::can_handle(Object *p_object) { return Object::cast_to<TextureLayered>(p_object) != nullptr; diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index e096ed933e..9ab7e7ae8a 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -2358,6 +2358,7 @@ void TileSetEditor::_zoom_in() { workspace_overlay->set_custom_minimum_size(workspace->get_rect().size * scale); } } + void TileSetEditor::_zoom_out() { float scale = workspace->get_scale().x; if (scale > min_scale) { @@ -2367,6 +2368,7 @@ void TileSetEditor::_zoom_out() { workspace_overlay->set_custom_minimum_size(workspace->get_rect().size * scale); } } + void TileSetEditor::_zoom_reset() { workspace->set_scale(Vector2(1, 1)); workspace_container->set_custom_minimum_size(workspace->get_rect().size); diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index 2cf18a4d13..223cc249e1 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -3221,6 +3221,7 @@ bool EditorInspectorShaderModePlugin::parse_property(Object *p_object, Variant:: void EditorInspectorShaderModePlugin::parse_end() { //do none } + ////////////////////////////////// void VisualShaderNodePortPreview::_shader_changed() { diff --git a/editor/progress_dialog.cpp b/editor/progress_dialog.cpp index 6060ef44bb..8487a3d1d2 100644 --- a/editor/progress_dialog.cpp +++ b/editor/progress_dialog.cpp @@ -83,6 +83,7 @@ void BackgroundProgress::_task_step(const String &p_task, int p_step) { else t.progress->set_value(p_step); } + void BackgroundProgress::_end_task(const String &p_task) { _THREAD_SAFE_METHOD_ @@ -103,6 +104,7 @@ void BackgroundProgress::_bind_methods() { void BackgroundProgress::add_task(const String &p_task, const String &p_label, int p_steps) { MessageQueue::get_singleton()->push_call(this, "_add_task", p_task, p_label, p_steps); } + void BackgroundProgress::task_step(const String &p_task, int p_step) { //this code is weird, but it prevents deadlock. bool no_updates = true; diff --git a/editor/project_export.cpp b/editor/project_export.cpp index 3b115d7427..bc4a1ee118 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -55,6 +55,7 @@ void ProjectExportDialog::_theme_changed() { if (panel) panel->add_theme_style_override("panel", patches->get_theme_stylebox("bg", "Tree")); } + void ProjectExportDialog::_notification(int p_what) { switch (p_what) { case NOTIFICATION_VISIBILITY_CHANGED: { diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 60b9902f68..4f9c6c2cf3 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -575,6 +575,7 @@ void ProjectSettingsEditor::_edit_item(Ref<InputEvent> p_exiting_event) { _add_item(ie_type, p_exiting_event); } + void ProjectSettingsEditor::_action_activated() { TreeItem *ti = input_editor->get_selected(); @@ -1259,6 +1260,7 @@ void ProjectSettingsEditor::_translation_res_add(const String &p_path) { void ProjectSettingsEditor::_translation_res_option_file_open() { translation_res_option_file_open->popup_centered_ratio(); } + void ProjectSettingsEditor::_translation_res_option_add(const String &p_path) { ERR_FAIL_COND(!ProjectSettings::get_singleton()->has_setting("locale/translation_remaps")); diff --git a/editor/property_selector.cpp b/editor/property_selector.cpp index 37de0b51d9..870bf52a91 100644 --- a/editor/property_selector.cpp +++ b/editor/property_selector.cpp @@ -413,6 +413,7 @@ void PropertySelector::select_method_from_script(const Ref<Script> &p_script, co search_box->grab_focus(); _update_search(); } + void PropertySelector::select_method_from_basic_type(Variant::Type p_type, const String &p_current) { ERR_FAIL_COND(p_type == Variant::NIL); base_type = ""; diff --git a/editor/reparent_dialog.cpp b/editor/reparent_dialog.cpp index cfcb5234dd..e5ae09f5ff 100644 --- a/editor/reparent_dialog.cpp +++ b/editor/reparent_dialog.cpp @@ -47,6 +47,7 @@ void ReparentDialog::_notification(int p_what) { void ReparentDialog::_cancel() { hide(); } + void ReparentDialog::_reparent() { if (tree->get_selected()) { emit_signal("reparent", tree->get_selected()->get_path(), keep_transform->is_pressed()); diff --git a/editor/run_settings_dialog.cpp b/editor/run_settings_dialog.cpp index c113abb86d..e8c3c2065c 100644 --- a/editor/run_settings_dialog.cpp +++ b/editor/run_settings_dialog.cpp @@ -37,6 +37,7 @@ void RunSettingsDialog::popup_run_settings() { void RunSettingsDialog::set_custom_arguments(const String &p_arguments) { arguments->set_text(p_arguments); } + String RunSettingsDialog::get_custom_arguments() const { return arguments->get_text(); } diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 7344c2b37e..757dff2552 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -144,6 +144,7 @@ void SceneTreeEditor::_cell_button_pressed(Object *p_item, int p_column, int p_i NodeDock::singleton->show_groups(); } } + void SceneTreeEditor::_toggle_visible(Node *p_node) { if (p_node->has_method("is_visible") && p_node->has_method("set_visible")) { bool v = bool(p_node->call("is_visible")); @@ -774,6 +775,7 @@ void SceneTreeEditor::set_display_foreign_nodes(bool p_display) { display_foreign = p_display; _update_tree(); } + bool SceneTreeEditor::get_display_foreign_nodes() const { return display_foreign; } @@ -961,6 +963,7 @@ bool SceneTreeEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_d return String(d["type"]) == "nodes"; } + void SceneTreeEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) { if (!can_drop_data_fw(p_point, p_data, p_from)) return; @@ -1145,6 +1148,7 @@ void SceneTreeDialog::_notification(int p_what) { void SceneTreeDialog::_cancel() { hide(); } + void SceneTreeDialog::_select() { if (tree->get_selected()) { emit_signal("selected", tree->get_selected()->get_path()); diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index 721384035f..d0346a6c3e 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -67,6 +67,7 @@ void ScriptCreateDialog::_theme_changed() { parent_search_button->set_icon(gc->get_theme_icon("ClassList", "EditorIcons")); status_panel->add_theme_style_override("panel", gc->get_theme_stylebox("bg", "Tree")); } + void ScriptCreateDialog::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: { diff --git a/editor/shader_globals_editor.cpp b/editor/shader_globals_editor.cpp index de7a98535f..aa88b0ef39 100644 --- a/editor/shader_globals_editor.cpp +++ b/editor/shader_globals_editor.cpp @@ -472,6 +472,7 @@ ShaderGlobalsEditor::ShaderGlobalsEditor() { interface = memnew(ShaderGlobalsEditorInterface); interface->connect("var_changed", Callable(this, "_changed")); } + ShaderGlobalsEditor::~ShaderGlobalsEditor() { inspector->edit(nullptr); memdelete(interface); diff --git a/main/tests/test_gdscript.cpp b/main/tests/test_gdscript.cpp index d95be7b218..ea6fcee1c0 100644 --- a/main/tests/test_gdscript.cpp +++ b/main/tests/test_gdscript.cpp @@ -991,6 +991,7 @@ MainLoop *test(TestType p_type) { return nullptr; } + } // namespace TestGDScript #else @@ -1001,6 +1002,7 @@ MainLoop *test(TestType p_type) { ERR_PRINT("The GDScript module is disabled, therefore GDScript tests cannot be used."); return nullptr; } + } // namespace TestGDScript #endif diff --git a/main/tests/test_gui.cpp b/main/tests/test_gui.cpp index 14bc13ff61..d46a13d2c0 100644 --- a/main/tests/test_gui.cpp +++ b/main/tests/test_gui.cpp @@ -265,6 +265,7 @@ public: MainLoop *test() { return memnew(TestMainLoop); } + } // namespace TestGUI #endif diff --git a/main/tests/test_math.cpp b/main/tests/test_math.cpp index 33589e37af..14ae81ad26 100644 --- a/main/tests/test_math.cpp +++ b/main/tests/test_math.cpp @@ -695,4 +695,5 @@ MainLoop *test() { return nullptr; } + } // namespace TestMath diff --git a/main/tests/test_oa_hash_map.cpp b/main/tests/test_oa_hash_map.cpp index b14fda15c4..27792c48e6 100644 --- a/main/tests/test_oa_hash_map.cpp +++ b/main/tests/test_oa_hash_map.cpp @@ -152,4 +152,5 @@ MainLoop *test() { return nullptr; } + } // namespace TestOAHashMap diff --git a/main/tests/test_ordered_hash_map.cpp b/main/tests/test_ordered_hash_map.cpp index 12d9e7906c..aba222fbba 100644 --- a/main/tests/test_ordered_hash_map.cpp +++ b/main/tests/test_ordered_hash_map.cpp @@ -169,4 +169,5 @@ MainLoop *test() { return nullptr; } + } // namespace TestOrderedHashMap diff --git a/main/tests/test_physics_2d.cpp b/main/tests/test_physics_2d.cpp index 7bb6dfedc9..9b37033354 100644 --- a/main/tests/test_physics_2d.cpp +++ b/main/tests/test_physics_2d.cpp @@ -402,4 +402,5 @@ namespace TestPhysics2D { MainLoop *test() { return memnew(TestPhysics2DMainLoop); } + } // namespace TestPhysics2D diff --git a/main/tests/test_physics_3d.cpp b/main/tests/test_physics_3d.cpp index 0552db86a2..fe54ece98e 100644 --- a/main/tests/test_physics_3d.cpp +++ b/main/tests/test_physics_3d.cpp @@ -409,4 +409,5 @@ namespace TestPhysics3D { MainLoop *test() { return memnew(TestPhysics3DMainLoop); } + } // namespace TestPhysics3D diff --git a/main/tests/test_render.cpp b/main/tests/test_render.cpp index b512a17e55..adae0283e5 100644 --- a/main/tests/test_render.cpp +++ b/main/tests/test_render.cpp @@ -235,4 +235,5 @@ public: MainLoop *test() { return memnew(TestMainLoop); } + } // namespace TestRender diff --git a/main/tests/test_shader_lang.cpp b/main/tests/test_shader_lang.cpp index 42d4841ecf..707a25699f 100644 --- a/main/tests/test_shader_lang.cpp +++ b/main/tests/test_shader_lang.cpp @@ -353,4 +353,5 @@ MainLoop *test() { return nullptr; } + } // namespace TestShaderLang diff --git a/main/tests/test_string.cpp b/main/tests/test_string.cpp index aa59b74371..ca66ef1cf7 100644 --- a/main/tests/test_string.cpp +++ b/main/tests/test_string.cpp @@ -1169,4 +1169,5 @@ MainLoop *test() { return nullptr; } + } // namespace TestString diff --git a/modules/assimp/editor_scene_importer_assimp.cpp b/modules/assimp/editor_scene_importer_assimp.cpp index a861b39537..7f0e27b0ee 100644 --- a/modules/assimp/editor_scene_importer_assimp.cpp +++ b/modules/assimp/editor_scene_importer_assimp.cpp @@ -817,6 +817,7 @@ void EditorSceneImporterAssimp::_import_animation(ImportState &state, int p_anim state.animation_player->add_animation(name, animation); } } + // // Mesh Generation from indices ? why do we need so much mesh code // [debt needs looked into] diff --git a/modules/bullet/rigid_body_bullet.cpp b/modules/bullet/rigid_body_bullet.cpp index 69a81f6f15..f263893287 100644 --- a/modules/bullet/rigid_body_bullet.cpp +++ b/modules/bullet/rigid_body_bullet.cpp @@ -555,6 +555,7 @@ void RigidBodyBullet::set_mode(PhysicsServer3D::BodyMode p_mode) { btBody->setAngularVelocity(btVector3(0, 0, 0)); btBody->setLinearVelocity(btVector3(0, 0, 0)); } + PhysicsServer3D::BodyMode RigidBodyBullet::get_mode() const { return mode; } diff --git a/modules/bullet/slider_joint_bullet.cpp b/modules/bullet/slider_joint_bullet.cpp index c248b78acf..6d5d95d07a 100644 --- a/modules/bullet/slider_joint_bullet.cpp +++ b/modules/bullet/slider_joint_bullet.cpp @@ -119,6 +119,7 @@ real_t SliderJointBullet::getLowerLinLimit() const { void SliderJointBullet::setLowerLinLimit(real_t lowerLimit) { sliderConstraint->setLowerLinLimit(lowerLimit); } + real_t SliderJointBullet::getUpperLinLimit() const { return sliderConstraint->getUpperLinLimit(); } diff --git a/modules/csg/csg_gizmos.cpp b/modules/csg/csg_gizmos.cpp index ad04d9941b..c9569a6d9c 100644 --- a/modules/csg/csg_gizmos.cpp +++ b/modules/csg/csg_gizmos.cpp @@ -70,6 +70,7 @@ String CSGShape3DGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_gizmo, return ""; } + Variant CSGShape3DGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo, int p_idx) const { CSGShape3D *cs = Object::cast_to<CSGShape3D>(p_gizmo->get_spatial_node()); @@ -102,6 +103,7 @@ Variant CSGShape3DGizmoPlugin::get_handle_value(EditorNode3DGizmo *p_gizmo, int return Variant(); } + void CSGShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) { CSGShape3D *cs = Object::cast_to<CSGShape3D>(p_gizmo->get_spatial_node()); @@ -200,6 +202,7 @@ void CSGShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Ca s->set_outer_radius(d); } } + void CSGShape3DGizmoPlugin::commit_handle(EditorNode3DGizmo *p_gizmo, int p_idx, const Variant &p_restore, bool p_cancel) { CSGShape3D *cs = Object::cast_to<CSGShape3D>(p_gizmo->get_spatial_node()); @@ -303,6 +306,7 @@ void CSGShape3DGizmoPlugin::commit_handle(EditorNode3DGizmo *p_gizmo, int p_idx, ur->commit_action(); } } + bool CSGShape3DGizmoPlugin::has_gizmo(Node3D *p_spatial) { return Object::cast_to<CSGSphere3D>(p_spatial) || Object::cast_to<CSGBox3D>(p_spatial) || Object::cast_to<CSGCylinder3D>(p_spatial) || Object::cast_to<CSGTorus3D>(p_spatial) || Object::cast_to<CSGMesh3D>(p_spatial) || Object::cast_to<CSGPolygon3D>(p_spatial); } diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp index 8a0e1097c2..a5ebb1f437 100644 --- a/modules/csg/csg_shape.cpp +++ b/modules/csg/csg_shape.cpp @@ -443,6 +443,7 @@ void CSGShape3D::_update_shape() { set_base(root_mesh->get_rid()); } + AABB CSGShape3D::get_aabb() const { return node_aabb; } @@ -564,6 +565,7 @@ Array CSGShape3D::get_meshes() const { return Array(); } + void CSGShape3D::_bind_methods() { ClassDB::bind_method(D_METHOD("_update_shape"), &CSGShape3D::_update_shape); ClassDB::bind_method(D_METHOD("is_root_shape"), &CSGShape3D::is_root_shape); @@ -627,6 +629,7 @@ CSGShape3D::~CSGShape3D() { brush = nullptr; } } + ////////////////////////////////// CSGBrush *CSGCombiner3D::_build_brush() { @@ -2335,6 +2338,7 @@ void CSGPolygon3D::set_path_interval(float p_interval) { _make_dirty(); update_gizmo(); } + float CSGPolygon3D::get_path_interval() const { return path_interval; } diff --git a/modules/enet/networked_multiplayer_enet.cpp b/modules/enet/networked_multiplayer_enet.cpp index 0ff747c6d8..a53c2a2364 100644 --- a/modules/enet/networked_multiplayer_enet.cpp +++ b/modules/enet/networked_multiplayer_enet.cpp @@ -36,6 +36,7 @@ void NetworkedMultiplayerENet::set_transfer_mode(TransferMode p_mode) { transfer_mode = p_mode; } + NetworkedMultiplayerPeer::TransferMode NetworkedMultiplayerENet::get_transfer_mode() const { return transfer_mode; } @@ -113,6 +114,7 @@ Error NetworkedMultiplayerENet::create_server(int p_port, int p_max_clients, int connection_status = CONNECTION_CONNECTED; return OK; } + Error NetworkedMultiplayerENet::create_client(const String &p_address, int p_port, int p_in_bandwidth, int p_out_bandwidth, int p_client_port) { ERR_FAIL_COND_V_MSG(active, ERR_ALREADY_IN_USE, "The multiplayer instance is already active."); ERR_FAIL_COND_V_MSG(p_port < 0 || p_port > 65535, ERR_INVALID_PARAMETER, "The server port number must be set between 0 and 65535 (inclusive)."); diff --git a/modules/gdnative/gdnative/string.cpp b/modules/gdnative/gdnative/string.cpp index 4cb55900b0..a22af89edc 100644 --- a/modules/gdnative/gdnative/string.cpp +++ b/modules/gdnative/gdnative/string.cpp @@ -137,6 +137,7 @@ signed char GDAPI godot_string_nocasecmp_to(const godot_string *p_self, const go return self->nocasecmp_to(*str); } + signed char GDAPI godot_string_naturalnocasecmp_to(const godot_string *p_self, const godot_string *p_str) { const String *self = (const String *)p_self; const String *str = (const String *)p_str; diff --git a/modules/gdnative/nativescript/nativescript.cpp b/modules/gdnative/nativescript/nativescript.cpp index 70a651be1e..fe9496702a 100644 --- a/modules/gdnative/nativescript/nativescript.cpp +++ b/modules/gdnative/nativescript/nativescript.cpp @@ -817,6 +817,7 @@ bool NativeScriptInstance::set(const StringName &p_name, const Variant &p_value) } return false; } + bool NativeScriptInstance::get(const StringName &p_name, Variant &r_ret) const { NativeScriptDesc *script_data = GET_SCRIPT_DESC(); @@ -1267,22 +1268,29 @@ void NativeScriptLanguage::init() { EditorNode::add_init_callback(&_add_reload_node); #endif } + String NativeScriptLanguage::get_type() const { return "NativeScript"; } + String NativeScriptLanguage::get_extension() const { return "gdns"; } + Error NativeScriptLanguage::execute_file(const String &p_path) { return OK; // Qué? } + void NativeScriptLanguage::finish() { _unload_stuff(); } + void NativeScriptLanguage::get_reserved_words(List<String> *p_words) const { } + void NativeScriptLanguage::get_comment_delimiters(List<String> *p_delimiters) const { } + void NativeScriptLanguage::get_string_delimiters(List<String> *p_delimiters) const { } @@ -1291,6 +1299,7 @@ Ref<Script> NativeScriptLanguage::get_template(const String &p_class_name, const s->set_class_name(p_class_name); return Ref<NativeScript>(s); } + bool NativeScriptLanguage::validate(const String &p_script, int &r_line_error, int &r_col_error, String &r_test_error, const String &p_path, List<String> *r_functions, List<ScriptLanguage::Warning> *r_warnings, Set<int> *r_safe_lines) const { return true; } @@ -1299,20 +1308,26 @@ Script *NativeScriptLanguage::create_script() const { NativeScript *script = memnew(NativeScript); return script; } + bool NativeScriptLanguage::has_named_classes() const { return true; } + bool NativeScriptLanguage::supports_builtin_mode() const { return true; } + int NativeScriptLanguage::find_function(const String &p_function, const String &p_code) const { return -1; } + String NativeScriptLanguage::make_function(const String &p_class, const String &p_name, const PackedStringArray &p_args) const { return ""; } + void NativeScriptLanguage::auto_indent_code(String &p_code, int p_from_line, int p_to_line) const { } + void NativeScriptLanguage::add_global_constant(const StringName &p_variable, const Variant &p_value) { } @@ -1320,27 +1335,36 @@ void NativeScriptLanguage::add_global_constant(const StringName &p_variable, con String NativeScriptLanguage::debug_get_error() const { return ""; } + int NativeScriptLanguage::debug_get_stack_level_count() const { return -1; } + int NativeScriptLanguage::debug_get_stack_level_line(int p_level) const { return -1; } + String NativeScriptLanguage::debug_get_stack_level_function(int p_level) const { return ""; } + String NativeScriptLanguage::debug_get_stack_level_source(int p_level) const { return ""; } + void NativeScriptLanguage::debug_get_stack_level_locals(int p_level, List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { } + void NativeScriptLanguage::debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { } + void NativeScriptLanguage::debug_get_globals(List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { } + String NativeScriptLanguage::debug_parse_stack_level_expression(int p_level, const String &p_expression, int p_max_subitems, int p_max_depth) { return ""; } + // Debugging stuff end. void NativeScriptLanguage::reload_all_scripts() { @@ -1348,6 +1372,7 @@ void NativeScriptLanguage::reload_all_scripts() { void NativeScriptLanguage::reload_tool_script(const Ref<Script> &p_script, bool p_soft_reload) { } + void NativeScriptLanguage::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("gdns"); } diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp index d42fdb1e04..1d26e2148e 100644 --- a/modules/gdscript/gdscript.cpp +++ b/modules/gdscript/gdscript.cpp @@ -321,9 +321,11 @@ bool GDScript::instance_has(const Object *p_this) const { bool GDScript::has_source_code() const { return source != ""; } + String GDScript::get_source_code() const { return source; } + void GDScript::set_source_code(const String &p_code) { if (source == p_code) return; @@ -708,6 +710,7 @@ bool GDScript::_get(const StringName &p_name, Variant &r_ret) const { return false; } + bool GDScript::_set(const StringName &p_name, const Variant &p_value) { if (p_name == GDScriptLanguage::get_singleton()->strings._script_source) { set_source_code(p_value); @@ -884,6 +887,7 @@ bool GDScript::has_script_signal(const StringName &p_signal) const { #endif return false; } + void GDScript::get_script_signal_list(List<MethodInfo> *r_signals) const { for (const Map<StringName, Vector<StringName>>::Element *E = _signals.front(); E; E = E->next()) { MethodInfo mi; @@ -1242,6 +1246,7 @@ bool GDScriptInstance::has_method(const StringName &p_method) const { return false; } + Variant GDScriptInstance::call(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error) { GDScript *sptr = script.ptr(); while (sptr) { @@ -1493,13 +1498,16 @@ void GDScriptLanguage::init() { String GDScriptLanguage::get_type() const { return "GDScript"; } + String GDScriptLanguage::get_extension() const { return "gd"; } + Error GDScriptLanguage::execute_file(const String &p_path) { // ?? return OK; } + void GDScriptLanguage::finish() { } @@ -2275,6 +2283,7 @@ void ResourceFormatSaverGDScript::get_recognized_extensions(const RES &p_resourc p_extensions->push_back("gd"); } } + bool ResourceFormatSaverGDScript::recognize(const RES &p_resource) const { return Object::cast_to<GDScript>(*p_resource) != nullptr; } diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index c227d4098c..deb725ea81 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -2115,9 +2115,11 @@ Error GDScriptCompiler::compile(const GDScriptParser *p_parser, GDScript *p_scri String GDScriptCompiler::get_error() const { return error; } + int GDScriptCompiler::get_error_line() const { return err_line; } + int GDScriptCompiler::get_error_column() const { return err_column; } diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index fc6f9b5419..8aa7809347 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -237,6 +237,7 @@ int GDScriptLanguage::debug_get_stack_level_count() const { return _debug_call_stack_pos; } + int GDScriptLanguage::debug_get_stack_level_line(int p_level) const { if (_debug_parse_err_line >= 0) return _debug_parse_err_line; @@ -247,6 +248,7 @@ int GDScriptLanguage::debug_get_stack_level_line(int p_level) const { return *(_call_stack[l].line); } + String GDScriptLanguage::debug_get_stack_level_function(int p_level) const { if (_debug_parse_err_line >= 0) return ""; @@ -255,6 +257,7 @@ String GDScriptLanguage::debug_get_stack_level_function(int p_level) const { int l = _debug_call_stack_pos - p_level - 1; return _call_stack[l].function->get_name(); } + String GDScriptLanguage::debug_get_stack_level_source(int p_level) const { if (_debug_parse_err_line >= 0) return _debug_parse_err_file; @@ -263,6 +266,7 @@ String GDScriptLanguage::debug_get_stack_level_source(int p_level) const { int l = _debug_call_stack_pos - p_level - 1; return _call_stack[l].function->get_source(); } + void GDScriptLanguage::debug_get_stack_level_locals(int p_level, List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { if (_debug_parse_err_line >= 0) return; @@ -280,6 +284,7 @@ void GDScriptLanguage::debug_get_stack_level_locals(int p_level, List<String> *p p_values->push_back(_call_stack[l].stack[E->get().second]); } } + void GDScriptLanguage::debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { if (_debug_parse_err_line >= 0) return; diff --git a/modules/gdscript/gdscript_function.cpp b/modules/gdscript/gdscript_function.cpp index 5ad8c2d367..aa2ea149f5 100644 --- a/modules/gdscript/gdscript_function.cpp +++ b/modules/gdscript/gdscript_function.cpp @@ -1566,6 +1566,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a const int *GDScriptFunction::get_code() const { return _code_ptr; } + int GDScriptFunction::get_code_size() const { return _code_size; } @@ -1583,6 +1584,7 @@ StringName GDScriptFunction::get_global_name(int p_idx) const { int GDScriptFunction::get_default_argument_count() const { return _default_arg_count; } + int GDScriptFunction::get_default_argument_addr(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, default_arguments.size(), -1); return default_arguments[p_idx]; diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index 1c07efaa3a..09f5b13e22 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -8466,6 +8466,7 @@ String GDScriptParser::get_error() const { int GDScriptParser::get_error_line() const { return error_line; } + int GDScriptParser::get_error_column() const { return error_column; } diff --git a/modules/gdscript/gdscript_tokenizer.cpp b/modules/gdscript/gdscript_tokenizer.cpp index f532a6b797..9854b8d185 100644 --- a/modules/gdscript/gdscript_tokenizer.cpp +++ b/modules/gdscript/gdscript_tokenizer.cpp @@ -387,6 +387,7 @@ void GDScriptTokenizerText::_make_token(Token p_type) { tk_rb_pos = (tk_rb_pos + 1) % TK_RB_SIZE; } + void GDScriptTokenizerText::_make_identifier(const StringName &p_identifier) { TokenData &tk = tk_rb[tk_rb_pos]; @@ -408,6 +409,7 @@ void GDScriptTokenizerText::_make_built_in_func(GDScriptFunctions::Function p_fu tk_rb_pos = (tk_rb_pos + 1) % TK_RB_SIZE; } + void GDScriptTokenizerText::_make_constant(const Variant &p_constant) { TokenData &tk = tk_rb[tk_rb_pos]; @@ -1445,6 +1447,7 @@ int GDScriptTokenizerBuffer::get_token_line(int p_offset) const { uint32_t l = lines.getv(pos); return l & TOKEN_LINE_MASK; } + int GDScriptTokenizerBuffer::get_token_column(int p_offset) const { int offset = token + p_offset; int pos = lines.find_nearest(offset); @@ -1456,11 +1459,13 @@ int GDScriptTokenizerBuffer::get_token_column(int p_offset) const { uint32_t l = lines.getv(pos); return l >> TOKEN_LINE_BITS; } + int GDScriptTokenizerBuffer::get_token_line_indent(int p_offset) const { int offset = token + p_offset; ERR_FAIL_INDEX_V(offset, tokens.size(), 0); return tokens[offset] >> TOKEN_BITS; } + const Variant &GDScriptTokenizerBuffer::get_token_constant(int p_offset) const { int offset = token + p_offset; ERR_FAIL_INDEX_V(offset, tokens.size(), nil); @@ -1468,6 +1473,7 @@ const Variant &GDScriptTokenizerBuffer::get_token_constant(int p_offset) const { ERR_FAIL_UNSIGNED_INDEX_V(constant, (uint32_t)constants.size(), nil); return constants[constant]; } + String GDScriptTokenizerBuffer::get_token_error(int p_offset) const { ERR_FAIL_V(String()); } @@ -1476,6 +1482,7 @@ void GDScriptTokenizerBuffer::advance(int p_amount) { ERR_FAIL_INDEX(p_amount + token, tokens.size()); token += p_amount; } + GDScriptTokenizerBuffer::GDScriptTokenizerBuffer() { token = 0; } diff --git a/modules/glslang/register_types.cpp b/modules/glslang/register_types.cpp index 736c85eb0b..dd28c4ad4a 100644 --- a/modules/glslang/register_types.cpp +++ b/modules/glslang/register_types.cpp @@ -238,6 +238,7 @@ void preregister_glslang_types() { void register_glslang_types() { } + void unregister_glslang_types() { glslang::FinalizeProcess(); } diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp index cf14447232..02258d706a 100644 --- a/modules/gridmap/grid_map.cpp +++ b/modules/gridmap/grid_map.cpp @@ -197,6 +197,7 @@ void GridMap::set_cell_size(const Vector3 &p_size) { _recreate_octant_data(); emit_signal("cell_size_changed", cell_size); } + Vector3 GridMap::get_cell_size() const { return cell_size; } @@ -206,6 +207,7 @@ void GridMap::set_octant_size(int p_size) { octant_size = p_size; _recreate_octant_data(); } + int GridMap::get_octant_size() const { return octant_size; } diff --git a/modules/lightmapper_rd/lightmapper_rd.cpp b/modules/lightmapper_rd/lightmapper_rd.cpp index cf54754a16..b55c73e9bc 100644 --- a/modules/lightmapper_rd/lightmapper_rd.cpp +++ b/modules/lightmapper_rd/lightmapper_rd.cpp @@ -64,6 +64,7 @@ void LightmapperRD::add_directional_light(bool p_static, const Vector3 &p_direct l.size = p_angular_distance; lights.push_back(l); } + void LightmapperRD::add_omni_light(bool p_static, const Vector3 &p_position, const Color &p_color, float p_energy, float p_range, float p_attenuation, float p_size) { Light l; l.type = LIGHT_TYPE_OMNI; @@ -80,6 +81,7 @@ void LightmapperRD::add_omni_light(bool p_static, const Vector3 &p_position, con l.size = p_size; lights.push_back(l); } + void LightmapperRD::add_spot_light(bool p_static, const Vector3 &p_position, const Vector3 p_direction, const Color &p_color, float p_energy, float p_range, float p_attenuation, float p_spot_angle, float p_spot_attenuation, float p_size) { Light l; l.type = LIGHT_TYPE_SPOT; @@ -1700,17 +1702,21 @@ LightmapperRD::BakeError LightmapperRD::bake(BakeQuality p_quality, bool p_use_d int LightmapperRD::get_bake_texture_count() const { return bake_textures.size(); } + Ref<Image> LightmapperRD::get_bake_texture(int p_index) const { ERR_FAIL_INDEX_V(p_index, bake_textures.size(), Ref<Image>()); return bake_textures[p_index]; } + int LightmapperRD::get_bake_mesh_count() const { return mesh_instances.size(); } + Variant LightmapperRD::get_bake_mesh_userdata(int p_index) const { ERR_FAIL_INDEX_V(p_index, mesh_instances.size(), Variant()); return mesh_instances[p_index].data.userdata; } + Rect2 LightmapperRD::get_bake_mesh_uv_scale(int p_index) const { ERR_FAIL_COND_V(bake_textures.size() == 0, Rect2()); Rect2 uv_ofs; @@ -1719,6 +1725,7 @@ Rect2 LightmapperRD::get_bake_mesh_uv_scale(int p_index) const { uv_ofs.size = Vector2(mesh_instances[p_index].data.albedo_on_uv2->get_width(), mesh_instances[p_index].data.albedo_on_uv2->get_height()) / atlas_size; return uv_ofs; } + int LightmapperRD::get_bake_mesh_texture_slice(int p_index) const { ERR_FAIL_INDEX_V(p_index, mesh_instances.size(), Variant()); return mesh_instances[p_index].slice; diff --git a/modules/lightmapper_rd/lm_common_inc.glsl b/modules/lightmapper_rd/lm_common_inc.glsl index 0ff455936e..15946d5327 100644 --- a/modules/lightmapper_rd/lm_common_inc.glsl +++ b/modules/lightmapper_rd/lm_common_inc.glsl @@ -11,6 +11,7 @@ struct Vertex { layout(set = 0, binding = 1, std430) restrict readonly buffer Vertices { Vertex data[]; } + vertices; struct Triangle { @@ -21,6 +22,7 @@ struct Triangle { layout(set = 0, binding = 2, std430) restrict readonly buffer Triangles { Triangle data[]; } + triangles; struct Box { @@ -33,11 +35,13 @@ struct Box { layout(set = 0, binding = 3, std430) restrict readonly buffer Boxes { Box data[]; } + boxes; layout(set = 0, binding = 4, std430) restrict readonly buffer GridIndices { uint data[]; } + grid_indices; #define LIGHT_TYPE_DIRECTIONAL 0 @@ -66,6 +70,7 @@ struct Light { layout(set = 0, binding = 5, std430) restrict readonly buffer Lights { Light data[]; } + lights; struct Seam { @@ -76,11 +81,13 @@ struct Seam { layout(set = 0, binding = 6, std430) restrict readonly buffer Seams { Seam data[]; } + seams; layout(set = 0, binding = 7, std430) restrict readonly buffer Probes { vec4 data[]; } + probe_positions; layout(set = 0, binding = 8) uniform utexture3D grid; diff --git a/modules/lightmapper_rd/lm_compute.glsl b/modules/lightmapper_rd/lm_compute.glsl index 5a1f1ceda3..a442016969 100644 --- a/modules/lightmapper_rd/lm_compute.glsl +++ b/modules/lightmapper_rd/lm_compute.glsl @@ -36,6 +36,7 @@ layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in; layout(set = 1, binding = 0, std430) restrict buffer LightProbeData { vec4 data[]; } + light_probes; layout(set = 1, binding = 1) uniform texture2DArray source_light; @@ -93,6 +94,7 @@ layout(push_constant, binding = 0, std430) uniform Params { mat3x4 env_transform; } + params; //check it, but also return distance and barycentric coords (for uv lookup) diff --git a/modules/lightmapper_rd/lm_raster.glsl b/modules/lightmapper_rd/lm_raster.glsl index 41b3e89a3f..36b706bcd5 100644 --- a/modules/lightmapper_rd/lm_raster.glsl +++ b/modules/lightmapper_rd/lm_raster.glsl @@ -26,6 +26,7 @@ layout(push_constant, binding = 0, std430) uniform Params { ivec3 grid_size; uint pad2; } + params; /* clang-format on */ diff --git a/modules/mbedtls/stream_peer_mbedtls.cpp b/modules/mbedtls/stream_peer_mbedtls.cpp index 0be473b97e..c6b0846716 100644 --- a/modules/mbedtls/stream_peer_mbedtls.cpp +++ b/modules/mbedtls/stream_peer_mbedtls.cpp @@ -141,6 +141,7 @@ Error StreamPeerMbedTLS::accept_stream(Ref<StreamPeer> p_base, Ref<CryptoKey> p_ status = STATUS_CONNECTED; return OK; } + Error StreamPeerMbedTLS::put_data(const uint8_t *p_data, int p_bytes) { ERR_FAIL_COND_V(status != STATUS_CONNECTED, ERR_UNCONFIGURED); @@ -267,6 +268,7 @@ int StreamPeerMbedTLS::get_available_bytes() const { return mbedtls_ssl_get_bytes_avail(&(ssl_ctx->ssl)); } + StreamPeerMbedTLS::StreamPeerMbedTLS() { ssl_ctx.instance(); status = STATUS_DISCONNECTED; diff --git a/modules/mono/mono_gd/gd_mono.cpp b/modules/mono/mono_gd/gd_mono.cpp index a9c6ec19e0..080f366692 100644 --- a/modules/mono/mono_gd/gd_mono.cpp +++ b/modules/mono/mono_gd/gd_mono.cpp @@ -467,6 +467,7 @@ uint64_t get_editor_api_hash() { uint32_t get_bindings_version() { GD_UNREACHABLE(); } + uint32_t get_cs_glue_version() { GD_UNREACHABLE(); } diff --git a/modules/mono/mono_gd/gd_mono_utils.h b/modules/mono/mono_gd/gd_mono_utils.h index caf0c792b7..a7ca46f012 100644 --- a/modules/mono/mono_gd/gd_mono_utils.h +++ b/modules/mono/mono_gd/gd_mono_utils.h @@ -134,6 +134,7 @@ extern thread_local int current_invoke_count; _FORCE_INLINE_ int get_runtime_invoke_count() { return current_invoke_count; } + _FORCE_INLINE_ int &get_runtime_invoke_count_ref() { return current_invoke_count; } diff --git a/modules/mono/mono_gd/support/android_support.cpp b/modules/mono/mono_gd/support/android_support.cpp index 8bcdeec9dd..8bcdeec9dd 100755..100644 --- a/modules/mono/mono_gd/support/android_support.cpp +++ b/modules/mono/mono_gd/support/android_support.cpp diff --git a/modules/mono/mono_gd/support/ios_support.mm b/modules/mono/mono_gd/support/ios_support.mm index e3d1a647fd..e3d1a647fd 100755..100644 --- a/modules/mono/mono_gd/support/ios_support.mm +++ b/modules/mono/mono_gd/support/ios_support.mm diff --git a/modules/mono/utils/mono_reg_utils.cpp b/modules/mono/utils/mono_reg_utils.cpp index eff2c7335d..1b4fe68582 100644 --- a/modules/mono/utils/mono_reg_utils.cpp +++ b/modules/mono/utils/mono_reg_utils.cpp @@ -226,6 +226,7 @@ cleanup: return msbuild_tools_path; } + } // namespace MonoRegUtils #endif // WINDOWS_ENABLED diff --git a/modules/mono/utils/string_utils.cpp b/modules/mono/utils/string_utils.cpp index 76d0b9bc9b..da1b719d99 100644 --- a/modules/mono/utils/string_utils.cpp +++ b/modules/mono/utils/string_utils.cpp @@ -81,6 +81,7 @@ int sfind(const String &p_text, int p_from) { return -1; } + } // namespace String sformat(const String &p_text, const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4, const Variant &p5) { diff --git a/modules/pvr/texture_loader_pvr.cpp b/modules/pvr/texture_loader_pvr.cpp index 6e5cc04f6d..20f46e1f7a 100644 --- a/modules/pvr/texture_loader_pvr.cpp +++ b/modules/pvr/texture_loader_pvr.cpp @@ -169,9 +169,11 @@ RES ResourceFormatPVR::load(const String &p_path, const String &p_original_path, void ResourceFormatPVR::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("pvr"); } + bool ResourceFormatPVR::handles_type(const String &p_type) const { return ClassDB::is_parent_class(p_type, "Texture2D"); } + String ResourceFormatPVR::get_resource_type(const String &p_path) const { if (p_path.get_extension().to_lower() == "pvr") return "Texture2D"; diff --git a/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp b/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp index 40dc24e317..775a2f23c7 100644 --- a/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp +++ b/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp @@ -88,6 +88,7 @@ void AudioStreamPlaybackOGGVorbis::start(float p_from_pos) { void AudioStreamPlaybackOGGVorbis::stop() { active = false; } + bool AudioStreamPlaybackOGGVorbis::is_playing() const { return active; } @@ -99,6 +100,7 @@ int AudioStreamPlaybackOGGVorbis::get_loop_count() const { float AudioStreamPlaybackOGGVorbis::get_playback_position() const { return float(frames_mixed) / vorbis_stream->sample_rate; } + void AudioStreamPlaybackOGGVorbis::seek(float p_time) { if (!active) return; diff --git a/modules/stb_vorbis/resource_importer_ogg_vorbis.cpp b/modules/stb_vorbis/resource_importer_ogg_vorbis.cpp index 269b7a9d33..d68d050d34 100644 --- a/modules/stb_vorbis/resource_importer_ogg_vorbis.cpp +++ b/modules/stb_vorbis/resource_importer_ogg_vorbis.cpp @@ -41,6 +41,7 @@ String ResourceImporterOGGVorbis::get_importer_name() const { String ResourceImporterOGGVorbis::get_visible_name() const { return "OGGVorbis"; } + void ResourceImporterOGGVorbis::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("ogg"); } @@ -60,6 +61,7 @@ bool ResourceImporterOGGVorbis::get_option_visibility(const String &p_option, co int ResourceImporterOGGVorbis::get_preset_count() const { return 0; } + String ResourceImporterOGGVorbis::get_preset_name(int p_idx) const { return String(); } diff --git a/modules/svg/image_loader_svg.cpp b/modules/svg/image_loader_svg.cpp index db3622ef96..8ca4452ac9 100644 --- a/modules/svg/image_loader_svg.cpp +++ b/modules/svg/image_loader_svg.cpp @@ -40,6 +40,7 @@ void SVGRasterizer::rasterize(NSVGimage *p_image, float p_tx, float p_ty, float SVGRasterizer::SVGRasterizer() { rasterizer = nsvgCreateRasterizer(); } + SVGRasterizer::~SVGRasterizer() { nsvgDeleteRasterizer(rasterizer); } diff --git a/modules/visual_script/visual_script.cpp b/modules/visual_script/visual_script.cpp index 79516fa1ba..4d5e5200b6 100644 --- a/modules/visual_script/visual_script.cpp +++ b/modules/visual_script/visual_script.cpp @@ -178,6 +178,7 @@ void VisualScript::add_function(const StringName &p_name) { bool VisualScript::has_function(const StringName &p_name) const { return functions.has(p_name); } + void VisualScript::remove_function(const StringName &p_name) { ERR_FAIL_COND(instances.size()); ERR_FAIL_COND(!functions.has(p_name)); @@ -581,10 +582,12 @@ void VisualScript::set_variable_default_value(const StringName &p_name, const Va _update_placeholders(); #endif } + Variant VisualScript::get_variable_default_value(const StringName &p_name) const { ERR_FAIL_COND_V(!variables.has(p_name), Variant()); return variables[p_name].default_value; } + void VisualScript::set_variable_info(const StringName &p_name, const PropertyInfo &p_info) { ERR_FAIL_COND(instances.size()); ERR_FAIL_COND(!variables.has(p_name)); @@ -595,6 +598,7 @@ void VisualScript::set_variable_info(const StringName &p_name, const PropertyInf _update_placeholders(); #endif } + PropertyInfo VisualScript::get_variable_info(const StringName &p_name) const { ERR_FAIL_COND_V(!variables.has(p_name), PropertyInfo()); return variables[p_name].info; @@ -702,6 +706,7 @@ void VisualScript::add_custom_signal(const StringName &p_name) { bool VisualScript::has_custom_signal(const StringName &p_name) const { return custom_signals.has(p_name); } + void VisualScript::custom_signal_add_argument(const StringName &p_func, Variant::Type p_type, const String &p_name, int p_index) { ERR_FAIL_COND(instances.size()); ERR_FAIL_COND(!custom_signals.has(p_func)); @@ -713,28 +718,33 @@ void VisualScript::custom_signal_add_argument(const StringName &p_func, Variant: else custom_signals[p_func].insert(0, arg); } + void VisualScript::custom_signal_set_argument_type(const StringName &p_func, int p_argidx, Variant::Type p_type) { ERR_FAIL_COND(instances.size()); ERR_FAIL_COND(!custom_signals.has(p_func)); ERR_FAIL_INDEX(p_argidx, custom_signals[p_func].size()); custom_signals[p_func].write[p_argidx].type = p_type; } + Variant::Type VisualScript::custom_signal_get_argument_type(const StringName &p_func, int p_argidx) const { ERR_FAIL_COND_V(!custom_signals.has(p_func), Variant::NIL); ERR_FAIL_INDEX_V(p_argidx, custom_signals[p_func].size(), Variant::NIL); return custom_signals[p_func][p_argidx].type; } + void VisualScript::custom_signal_set_argument_name(const StringName &p_func, int p_argidx, const String &p_name) { ERR_FAIL_COND(instances.size()); ERR_FAIL_COND(!custom_signals.has(p_func)); ERR_FAIL_INDEX(p_argidx, custom_signals[p_func].size()); custom_signals[p_func].write[p_argidx].name = p_name; } + String VisualScript::custom_signal_get_argument_name(const StringName &p_func, int p_argidx) const { ERR_FAIL_COND_V(!custom_signals.has(p_func), String()); ERR_FAIL_INDEX_V(p_argidx, custom_signals[p_func].size(), String()); return custom_signals[p_func][p_argidx].name; } + void VisualScript::custom_signal_remove_argument(const StringName &p_func, int p_argidx) { ERR_FAIL_COND(instances.size()); ERR_FAIL_COND(!custom_signals.has(p_func)); @@ -746,6 +756,7 @@ int VisualScript::custom_signal_get_argument_count(const StringName &p_func) con ERR_FAIL_COND_V(!custom_signals.has(p_func), 0); return custom_signals[p_func].size(); } + void VisualScript::custom_signal_swap_argument(const StringName &p_func, int p_argidx, int p_with_argidx) { ERR_FAIL_COND(instances.size()); ERR_FAIL_COND(!custom_signals.has(p_func)); @@ -754,6 +765,7 @@ void VisualScript::custom_signal_swap_argument(const StringName &p_func, int p_a SWAP(custom_signals[p_func].write[p_argidx], custom_signals[p_func].write[p_with_argidx]); } + void VisualScript::remove_custom_signal(const StringName &p_name) { ERR_FAIL_COND(instances.size()); ERR_FAIL_COND(!custom_signals.has(p_name)); @@ -934,6 +946,7 @@ bool VisualScript::get_property_default_value(const StringName &p_property, Vari r_value = variables[p_property].default_value; return true; } + void VisualScript::get_script_method_list(List<MethodInfo> *p_list) const { for (Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) { MethodInfo mi; @@ -957,6 +970,7 @@ void VisualScript::get_script_method_list(List<MethodInfo> *p_list) const { bool VisualScript::has_method(const StringName &p_method) const { return functions.has(p_method); } + MethodInfo VisualScript::get_method_info(const StringName &p_method) const { const Map<StringName, Function>::Element *E = functions.find(p_method); if (!E) @@ -1392,6 +1406,7 @@ bool VisualScriptInstance::get(const StringName &p_name, Variant &r_ret) const { r_ret = E->get(); return true; } + void VisualScriptInstance::get_property_list(List<PropertyInfo> *p_properties) const { for (const Map<StringName, VisualScript::Variable>::Element *E = script->variables.front(); E; E = E->next()) { if (!E->get()._export) @@ -1402,6 +1417,7 @@ void VisualScriptInstance::get_property_list(List<PropertyInfo> *p_properties) c p_properties->push_back(p); } } + Variant::Type VisualScriptInstance::get_property_type(const StringName &p_name, bool *r_is_valid) const { const Map<StringName, VisualScript::Variable>::Element *E = script->variables.find(p_name); if (!E) { @@ -1444,6 +1460,7 @@ void VisualScriptInstance::get_method_list(List<MethodInfo> *p_list) const { p_list->push_back(mi); } } + bool VisualScriptInstance::has_method(const StringName &p_method) const { if (p_method == script->get_default_func()) return false; @@ -2369,25 +2386,32 @@ String VisualScriptLanguage::get_name() const { /* LANGUAGE FUNCTIONS */ void VisualScriptLanguage::init() { } + String VisualScriptLanguage::get_type() const { return "VisualScript"; } + String VisualScriptLanguage::get_extension() const { return "vs"; } + Error VisualScriptLanguage::execute_file(const String &p_path) { return OK; } + void VisualScriptLanguage::finish() { } /* EDITOR FUNCTIONS */ void VisualScriptLanguage::get_reserved_words(List<String> *p_words) const { } + void VisualScriptLanguage::get_comment_delimiters(List<String> *p_delimiters) const { } + void VisualScriptLanguage::get_string_delimiters(List<String> *p_delimiters) const { } + Ref<Script> VisualScriptLanguage::get_template(const String &p_class_name, const String &p_base_class_name) const { Ref<VisualScript> script; script.instance(); @@ -2407,24 +2431,30 @@ void VisualScriptLanguage::make_template(const String &p_class_name, const Strin bool VisualScriptLanguage::validate(const String &p_script, int &r_line_error, int &r_col_error, String &r_test_error, const String &p_path, List<String> *r_functions, List<ScriptLanguage::Warning> *r_warnings, Set<int> *r_safe_lines) const { return false; } + Script *VisualScriptLanguage::create_script() const { return memnew(VisualScript); } + bool VisualScriptLanguage::has_named_classes() const { return false; } + bool VisualScriptLanguage::supports_builtin_mode() const { return true; } + int VisualScriptLanguage::find_function(const String &p_function, const String &p_code) const { return -1; } + String VisualScriptLanguage::make_function(const String &p_class, const String &p_name, const PackedStringArray &p_args) const { return String(); } void VisualScriptLanguage::auto_indent_code(String &p_code, int p_from_line, int p_to_line) const { } + void VisualScriptLanguage::add_global_constant(const StringName &p_variable, const Variant &p_value) { } @@ -2466,6 +2496,7 @@ int VisualScriptLanguage::debug_get_stack_level_count() const { return _debug_call_stack_pos; } + int VisualScriptLanguage::debug_get_stack_level_line(int p_level) const { if (_debug_parse_err_node >= 0) return _debug_parse_err_node; @@ -2476,6 +2507,7 @@ int VisualScriptLanguage::debug_get_stack_level_line(int p_level) const { return *(_call_stack[l].current_id); } + String VisualScriptLanguage::debug_get_stack_level_function(int p_level) const { if (_debug_parse_err_node >= 0) return ""; @@ -2484,6 +2516,7 @@ String VisualScriptLanguage::debug_get_stack_level_function(int p_level) const { int l = _debug_call_stack_pos - p_level - 1; return *_call_stack[l].function; } + String VisualScriptLanguage::debug_get_stack_level_source(int p_level) const { if (_debug_parse_err_node >= 0) return _debug_parse_err_file; @@ -2492,6 +2525,7 @@ String VisualScriptLanguage::debug_get_stack_level_source(int p_level) const { int l = _debug_call_stack_pos - p_level - 1; return _call_stack[l].instance->get_script_ptr()->get_path(); } + void VisualScriptLanguage::debug_get_stack_level_locals(int p_level, List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { if (_debug_parse_err_node >= 0) return; @@ -2565,6 +2599,7 @@ void VisualScriptLanguage::debug_get_stack_level_locals(int p_level, List<String } */ } + void VisualScriptLanguage::debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { if (_debug_parse_err_node >= 0) return; @@ -2590,26 +2625,32 @@ void VisualScriptLanguage::debug_get_stack_level_members(int p_level, List<Strin void VisualScriptLanguage::debug_get_globals(List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { //no globals are really reachable in gdscript } + String VisualScriptLanguage::debug_parse_stack_level_expression(int p_level, const String &p_expression, int p_max_subitems, int p_max_depth) { return ""; } void VisualScriptLanguage::reload_all_scripts() { } + void VisualScriptLanguage::reload_tool_script(const Ref<Script> &p_script, bool p_soft_reload) { } + /* LOADER FUNCTIONS */ void VisualScriptLanguage::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("vs"); } + void VisualScriptLanguage::get_public_functions(List<MethodInfo> *p_functions) const { } + void VisualScriptLanguage::get_public_constants(List<Pair<String, Variant>> *p_constants) const { } void VisualScriptLanguage::profiling_start() { } + void VisualScriptLanguage::profiling_stop() { } diff --git a/modules/visual_script/visual_script_builtin_funcs.cpp b/modules/visual_script/visual_script_builtin_funcs.cpp index d4218318d3..953d9a5fed 100644 --- a/modules/visual_script/visual_script_builtin_funcs.cpp +++ b/modules/visual_script/visual_script_builtin_funcs.cpp @@ -223,6 +223,7 @@ int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) { int VisualScriptBuiltinFunc::get_input_value_port_count() const { return get_func_argument_count(func); } + int VisualScriptBuiltinFunc::get_output_value_port_count() const { switch (func) { case MATH_RANDOMIZE: @@ -627,6 +628,7 @@ String VisualScriptBuiltinFunc::get_caption() const { return "BuiltinFunc"; } + */ String VisualScriptBuiltinFunc::get_caption() const { diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp index f7e9e30ed6..fb8aac9a01 100644 --- a/modules/visual_script/visual_script_editor.cpp +++ b/modules/visual_script/visual_script_editor.cpp @@ -1002,6 +1002,7 @@ void VisualScriptEditor::_update_node_size(int p_id) { if (Object::cast_to<Control>(node)) Object::cast_to<Control>(node)->set_size(Vector2(1, 1)); //shrink if text is smaller } + void VisualScriptEditor::_port_name_focus_out(const Node *p_name_box, int p_id, int p_port, bool is_input) { StringName func = _get_function_of_node(p_id); diff --git a/modules/visual_script/visual_script_expression.cpp b/modules/visual_script/visual_script_expression.cpp index e8fd3ef681..ee166082bd 100644 --- a/modules/visual_script/visual_script_expression.cpp +++ b/modules/visual_script/visual_script_expression.cpp @@ -129,6 +129,7 @@ bool VisualScriptExpression::_get(const StringName &p_name, Variant &r_ret) cons return false; } + void VisualScriptExpression::_get_property_list(List<PropertyInfo> *p_list) const { String argt = "Any"; for (int i = 1; i < Variant::VARIANT_MAX; i++) { @@ -149,6 +150,7 @@ void VisualScriptExpression::_get_property_list(List<PropertyInfo> *p_list) cons int VisualScriptExpression::get_output_sequence_port_count() const { return sequenced ? 1 : 0; } + bool VisualScriptExpression::has_input_sequence_port() const { return sequenced; } @@ -160,6 +162,7 @@ String VisualScriptExpression::get_output_sequence_port_text(int p_port) const { int VisualScriptExpression::get_input_value_port_count() const { return inputs.size(); } + int VisualScriptExpression::get_output_value_port_count() const { return 1; } @@ -167,6 +170,7 @@ int VisualScriptExpression::get_output_value_port_count() const { PropertyInfo VisualScriptExpression::get_input_value_port_info(int p_idx) const { return PropertyInfo(inputs[p_idx].type, inputs[p_idx].name); } + PropertyInfo VisualScriptExpression::get_output_value_port_info(int p_idx) const { return PropertyInfo(output_type, "result"); } @@ -174,6 +178,7 @@ PropertyInfo VisualScriptExpression::get_output_value_port_info(int p_idx) const String VisualScriptExpression::get_caption() const { return "Expression"; } + String VisualScriptExpression::get_text() const { return expression; } diff --git a/modules/visual_script/visual_script_flow_control.cpp b/modules/visual_script/visual_script_flow_control.cpp index 1f04ea8301..96616c281e 100644 --- a/modules/visual_script/visual_script_flow_control.cpp +++ b/modules/visual_script/visual_script_flow_control.cpp @@ -49,6 +49,7 @@ bool VisualScriptReturn::has_input_sequence_port() const { int VisualScriptReturn::get_input_value_port_count() const { return with_value ? 1 : 0; } + int VisualScriptReturn::get_output_value_port_count() const { return 0; } @@ -63,6 +64,7 @@ PropertyInfo VisualScriptReturn::get_input_value_port_info(int p_idx) const { pinfo.type = type; return pinfo; } + PropertyInfo VisualScriptReturn::get_output_value_port_info(int p_idx) const { return PropertyInfo(); } @@ -170,6 +172,7 @@ bool VisualScriptCondition::has_input_sequence_port() const { int VisualScriptCondition::get_input_value_port_count() const { return 1; } + int VisualScriptCondition::get_output_value_port_count() const { return 0; } @@ -189,6 +192,7 @@ PropertyInfo VisualScriptCondition::get_input_value_port_info(int p_idx) const { pinfo.type = Variant::BOOL; return pinfo; } + PropertyInfo VisualScriptCondition::get_output_value_port_info(int p_idx) const { return PropertyInfo(); } @@ -248,6 +252,7 @@ bool VisualScriptWhile::has_input_sequence_port() const { int VisualScriptWhile::get_input_value_port_count() const { return 1; } + int VisualScriptWhile::get_output_value_port_count() const { return 0; } @@ -265,6 +270,7 @@ PropertyInfo VisualScriptWhile::get_input_value_port_info(int p_idx) const { pinfo.type = Variant::BOOL; return pinfo; } + PropertyInfo VisualScriptWhile::get_output_value_port_info(int p_idx) const { return PropertyInfo(); } @@ -305,6 +311,7 @@ VisualScriptNodeInstance *VisualScriptWhile::instance(VisualScriptInstance *p_in instance->instance = p_instance; return instance; } + VisualScriptWhile::VisualScriptWhile() { } @@ -323,6 +330,7 @@ bool VisualScriptIterator::has_input_sequence_port() const { int VisualScriptIterator::get_input_value_port_count() const { return 1; } + int VisualScriptIterator::get_output_value_port_count() const { return 1; } @@ -340,12 +348,14 @@ PropertyInfo VisualScriptIterator::get_input_value_port_info(int p_idx) const { pinfo.type = Variant::NIL; return pinfo; } + PropertyInfo VisualScriptIterator::get_output_value_port_info(int p_idx) const { PropertyInfo pinfo; pinfo.name = "elem"; pinfo.type = Variant::NIL; return pinfo; } + String VisualScriptIterator::get_caption() const { return "Iterator"; } @@ -441,6 +451,7 @@ bool VisualScriptSequence::has_input_sequence_port() const { int VisualScriptSequence::get_input_value_port_count() const { return 0; } + int VisualScriptSequence::get_output_value_port_count() const { return 1; } @@ -452,9 +463,11 @@ String VisualScriptSequence::get_output_sequence_port_text(int p_port) const { PropertyInfo VisualScriptSequence::get_input_value_port_info(int p_idx) const { return PropertyInfo(); } + PropertyInfo VisualScriptSequence::get_output_value_port_info(int p_idx) const { return PropertyInfo(Variant::INT, "current"); } + String VisualScriptSequence::get_caption() const { return "Sequence"; } @@ -518,6 +531,7 @@ VisualScriptNodeInstance *VisualScriptSequence::instance(VisualScriptInstance *p instance->steps = steps; return instance; } + VisualScriptSequence::VisualScriptSequence() { steps = 1; } @@ -537,6 +551,7 @@ bool VisualScriptSwitch::has_input_sequence_port() const { int VisualScriptSwitch::get_input_value_port_count() const { return case_values.size() + 1; } + int VisualScriptSwitch::get_output_value_port_count() const { return 0; } @@ -636,6 +651,7 @@ bool VisualScriptSwitch::_get(const StringName &p_name, Variant &r_ret) const { return false; } + void VisualScriptSwitch::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::INT, "case_count", PROPERTY_HINT_RANGE, "0,128")); @@ -670,6 +686,7 @@ bool VisualScriptTypeCast::has_input_sequence_port() const { int VisualScriptTypeCast::get_input_value_port_count() const { return 1; } + int VisualScriptTypeCast::get_output_value_port_count() const { return 1; } @@ -718,6 +735,7 @@ void VisualScriptTypeCast::set_base_script(const String &p_path) { _change_notify(); ports_changed_notify(); } + String VisualScriptTypeCast::get_base_script() const { return script; } diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp index 4ba0c27ec0..e7cb2f5473 100644 --- a/modules/visual_script/visual_script_func_nodes.cpp +++ b/modules/visual_script/visual_script_func_nodes.cpp @@ -134,6 +134,7 @@ int VisualScriptFunctionCall::get_input_value_port_count() const { return method_cache.arguments.size() + (call_mode == CALL_MODE_INSTANCE ? 1 : 0) + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) - defaulted_args; } } + int VisualScriptFunctionCall::get_output_value_port_count() const { if (call_mode == CALL_MODE_BASIC_TYPE) { bool returns = false; @@ -410,6 +411,7 @@ void VisualScriptFunctionCall::set_function(const StringName &p_type) { _change_notify(); ports_changed_notify(); } + StringName VisualScriptFunctionCall::get_function() const { return function; } @@ -435,6 +437,7 @@ void VisualScriptFunctionCall::set_call_mode(CallMode p_mode) { _change_notify(); ports_changed_notify(); } + VisualScriptFunctionCall::CallMode VisualScriptFunctionCall::get_call_mode() const { return call_mode; } @@ -927,6 +930,7 @@ int VisualScriptPropertySet::get_input_value_port_count() const { return pc; } + int VisualScriptPropertySet::get_output_value_port_count() const { return (call_mode == CALL_MODE_BASIC_TYPE || call_mode == CALL_MODE_INSTANCE) ? 1 : 0; } @@ -1022,6 +1026,7 @@ void VisualScriptPropertySet::_update_base_type() { } } } + void VisualScriptPropertySet::set_basic_type(Variant::Type p_type) { if (basic_type == p_type) return; @@ -1149,6 +1154,7 @@ void VisualScriptPropertySet::set_property(const StringName &p_type) { _change_notify(); ports_changed_notify(); } + StringName VisualScriptPropertySet::get_property() const { return property; } @@ -1176,6 +1182,7 @@ void VisualScriptPropertySet::set_call_mode(CallMode p_mode) { _change_notify(); ports_changed_notify(); } + VisualScriptPropertySet::CallMode VisualScriptPropertySet::get_call_mode() const { return call_mode; } @@ -1550,6 +1557,7 @@ VisualScriptPropertySet::TypeGuess VisualScriptPropertySet::guess_output_type(Ty return VisualScriptNode::guess_output_type(p_inputs, p_output); } + VisualScriptPropertySet::VisualScriptPropertySet() { assign_op = ASSIGN_OP_NONE; call_mode = CALL_MODE_SELF; @@ -1576,6 +1584,7 @@ int VisualScriptPropertyGet::get_output_sequence_port_count() const { bool VisualScriptPropertyGet::has_input_sequence_port() const { return false; //(call_mode==CALL_MODE_SELF || call_mode==CALL_MODE_NODE_PATH)?false:true; } + void VisualScriptPropertyGet::_update_base_type() { //cache it because this information may not be available on load if (call_mode == CALL_MODE_NODE_PATH) { @@ -1589,6 +1598,7 @@ void VisualScriptPropertyGet::_update_base_type() { } } } + Node *VisualScriptPropertyGet::_get_base_node() const { #ifdef TOOLS_ENABLED Ref<Script> script = get_visual_script(); @@ -1639,6 +1649,7 @@ StringName VisualScriptPropertyGet::_get_base_type() const { int VisualScriptPropertyGet::get_input_value_port_count() const { return (call_mode == CALL_MODE_BASIC_TYPE || call_mode == CALL_MODE_INSTANCE) ? 1 : 0; } + int VisualScriptPropertyGet::get_output_value_port_count() const { return 1; } @@ -1806,6 +1817,7 @@ void VisualScriptPropertyGet::set_property(const StringName &p_type) { _change_notify(); ports_changed_notify(); } + StringName VisualScriptPropertyGet::get_property() const { return property; } @@ -1833,6 +1845,7 @@ void VisualScriptPropertyGet::set_call_mode(CallMode p_mode) { _update_base_type(); ports_changed_notify(); } + VisualScriptPropertyGet::CallMode VisualScriptPropertyGet::get_call_mode() const { return call_mode; } @@ -2144,6 +2157,7 @@ int VisualScriptEmitSignal::get_input_value_port_count() const { return 0; } + int VisualScriptEmitSignal::get_output_value_port_count() const { return 0; } @@ -2181,6 +2195,7 @@ void VisualScriptEmitSignal::set_signal(const StringName &p_type) { _change_notify(); ports_changed_notify(); } + StringName VisualScriptEmitSignal::get_signal() const { return name; } diff --git a/modules/visual_script/visual_script_nodes.cpp b/modules/visual_script/visual_script_nodes.cpp index 8ae50c3b48..8d35da2685 100644 --- a/modules/visual_script/visual_script_nodes.cpp +++ b/modules/visual_script/visual_script_nodes.cpp @@ -143,6 +143,7 @@ bool VisualScriptFunction::_get(const StringName &p_name, Variant &r_ret) const return false; } + void VisualScriptFunction::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::INT, "argument_count", PROPERTY_HINT_RANGE, "0,256")); String argt = "Any"; @@ -175,6 +176,7 @@ bool VisualScriptFunction::has_input_sequence_port() const { int VisualScriptFunction::get_input_value_port_count() const { return 0; } + int VisualScriptFunction::get_output_value_port_count() const { return arguments.size(); } @@ -186,6 +188,7 @@ String VisualScriptFunction::get_output_sequence_port_text(int p_port) const { PropertyInfo VisualScriptFunction::get_input_value_port_info(int p_idx) const { ERR_FAIL_V(PropertyInfo()); } + PropertyInfo VisualScriptFunction::get_output_value_port_info(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, arguments.size(), PropertyInfo()); PropertyInfo out; @@ -217,26 +220,31 @@ void VisualScriptFunction::add_argument(Variant::Type p_type, const String &p_na ports_changed_notify(); } + void VisualScriptFunction::set_argument_type(int p_argidx, Variant::Type p_type) { ERR_FAIL_INDEX(p_argidx, arguments.size()); arguments.write[p_argidx].type = p_type; ports_changed_notify(); } + Variant::Type VisualScriptFunction::get_argument_type(int p_argidx) const { ERR_FAIL_INDEX_V(p_argidx, arguments.size(), Variant::NIL); return arguments[p_argidx].type; } + void VisualScriptFunction::set_argument_name(int p_argidx, const String &p_name) { ERR_FAIL_INDEX(p_argidx, arguments.size()); arguments.write[p_argidx].name = p_name; ports_changed_notify(); } + String VisualScriptFunction::get_argument_name(int p_argidx) const { ERR_FAIL_INDEX_V(p_argidx, arguments.size(), String()); return arguments[p_argidx].name; } + void VisualScriptFunction::remove_argument(int p_argidx) { ERR_FAIL_INDEX(p_argidx, arguments.size()); @@ -335,6 +343,7 @@ int VisualScriptLists::get_output_sequence_port_count() const { return 1; return 0; } + bool VisualScriptLists::has_input_sequence_port() const { return sequenced; } @@ -346,6 +355,7 @@ String VisualScriptLists::get_output_sequence_port_text(int p_port) const { int VisualScriptLists::get_input_value_port_count() const { return inputports.size(); } + int VisualScriptLists::get_output_value_port_count() const { return outputports.size(); } @@ -358,6 +368,7 @@ PropertyInfo VisualScriptLists::get_input_value_port_info(int p_idx) const { pi.type = inputports[p_idx].type; return pi; } + PropertyInfo VisualScriptLists::get_output_value_port_info(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, outputports.size(), PropertyInfo()); @@ -370,9 +381,11 @@ PropertyInfo VisualScriptLists::get_output_value_port_info(int p_idx) const { bool VisualScriptLists::is_input_port_editable() const { return ((flags & INPUT_EDITABLE) == INPUT_EDITABLE); } + bool VisualScriptLists::is_input_port_name_editable() const { return ((flags & INPUT_NAME_EDITABLE) == INPUT_NAME_EDITABLE); } + bool VisualScriptLists::is_input_port_type_editable() const { return ((flags & INPUT_TYPE_EDITABLE) == INPUT_TYPE_EDITABLE); } @@ -380,9 +393,11 @@ bool VisualScriptLists::is_input_port_type_editable() const { bool VisualScriptLists::is_output_port_editable() const { return ((flags & OUTPUT_EDITABLE) == OUTPUT_EDITABLE); } + bool VisualScriptLists::is_output_port_name_editable() const { return ((flags & INPUT_NAME_EDITABLE) == INPUT_NAME_EDITABLE); } + bool VisualScriptLists::is_output_port_type_editable() const { return ((flags & INPUT_TYPE_EDITABLE) == INPUT_TYPE_EDITABLE); } @@ -467,6 +482,7 @@ bool VisualScriptLists::_set(const StringName &p_name, const Variant &p_value) { return false; } + bool VisualScriptLists::_get(const StringName &p_name, Variant &r_ret) const { if (p_name == "input_count" && is_input_port_editable()) { r_ret = inputports.size(); @@ -511,6 +527,7 @@ bool VisualScriptLists::_get(const StringName &p_name, Variant &r_ret) const { return false; } + void VisualScriptLists::_get_property_list(List<PropertyInfo> *p_list) const { if (is_input_port_editable()) { p_list->push_back(PropertyInfo(Variant::INT, "input_count", PROPERTY_HINT_RANGE, "0,256")); @@ -556,6 +573,7 @@ void VisualScriptLists::add_input_data_port(Variant::Type p_type, const String & ports_changed_notify(); _change_notify(); } + void VisualScriptLists::set_input_data_port_type(int p_idx, Variant::Type p_type) { if (!is_input_port_type_editable()) return; @@ -566,6 +584,7 @@ void VisualScriptLists::set_input_data_port_type(int p_idx, Variant::Type p_type ports_changed_notify(); _change_notify(); } + void VisualScriptLists::set_input_data_port_name(int p_idx, const String &p_name) { if (!is_input_port_name_editable()) return; @@ -576,6 +595,7 @@ void VisualScriptLists::set_input_data_port_name(int p_idx, const String &p_name ports_changed_notify(); _change_notify(); } + void VisualScriptLists::remove_input_data_port(int p_argidx) { if (!is_input_port_editable()) return; @@ -604,6 +624,7 @@ void VisualScriptLists::add_output_data_port(Variant::Type p_type, const String ports_changed_notify(); _change_notify(); } + void VisualScriptLists::set_output_data_port_type(int p_idx, Variant::Type p_type) { if (!is_output_port_type_editable()) return; @@ -614,6 +635,7 @@ void VisualScriptLists::set_output_data_port_type(int p_idx, Variant::Type p_typ ports_changed_notify(); _change_notify(); } + void VisualScriptLists::set_output_data_port_name(int p_idx, const String &p_name) { if (!is_output_port_name_editable()) return; @@ -624,6 +646,7 @@ void VisualScriptLists::set_output_data_port_name(int p_idx, const String &p_nam ports_changed_notify(); _change_notify(); } + void VisualScriptLists::remove_output_data_port(int p_argidx) { if (!is_output_port_editable()) return; @@ -643,6 +666,7 @@ void VisualScriptLists::set_sequenced(bool p_enable) { sequenced = p_enable; ports_changed_notify(); } + bool VisualScriptLists::is_sequenced() const { return sequenced; } @@ -674,6 +698,7 @@ int VisualScriptComposeArray::get_output_sequence_port_count() const { return 1; return 0; } + bool VisualScriptComposeArray::has_input_sequence_port() const { return sequenced; } @@ -685,6 +710,7 @@ String VisualScriptComposeArray::get_output_sequence_port_text(int p_port) const int VisualScriptComposeArray::get_input_value_port_count() const { return inputports.size(); } + int VisualScriptComposeArray::get_output_value_port_count() const { return 1; } @@ -697,6 +723,7 @@ PropertyInfo VisualScriptComposeArray::get_input_value_port_info(int p_idx) cons pi.type = inputports[p_idx].type; return pi; } + PropertyInfo VisualScriptComposeArray::get_output_value_port_info(int p_idx) const { PropertyInfo pi; pi.name = "out"; @@ -707,6 +734,7 @@ PropertyInfo VisualScriptComposeArray::get_output_value_port_info(int p_idx) con String VisualScriptComposeArray::get_caption() const { return "Compose Array"; } + String VisualScriptComposeArray::get_text() const { return ""; } @@ -757,6 +785,7 @@ bool VisualScriptOperator::has_input_sequence_port() const { int VisualScriptOperator::get_input_value_port_count() const { return (op == Variant::OP_BIT_NEGATE || op == Variant::OP_NOT || op == Variant::OP_NEGATE || op == Variant::OP_POSITIVE) ? 1 : 2; } + int VisualScriptOperator::get_output_value_port_count() const { return 1; } @@ -807,6 +836,7 @@ PropertyInfo VisualScriptOperator::get_input_value_port_info(int p_idx) const { pinfo.type = typed; return pinfo; } + PropertyInfo VisualScriptOperator::get_output_value_port_info(int p_idx) const { static const Variant::Type port_types[Variant::OP_MAX] = { //comparison @@ -1030,6 +1060,7 @@ bool VisualScriptSelect::has_input_sequence_port() const { int VisualScriptSelect::get_input_value_port_count() const { return 3; } + int VisualScriptSelect::get_output_value_port_count() const { return 1; } @@ -1047,6 +1078,7 @@ PropertyInfo VisualScriptSelect::get_input_value_port_info(int p_idx) const { return PropertyInfo(typed, "b"); } } + PropertyInfo VisualScriptSelect::get_output_value_port_info(int p_idx) const { return PropertyInfo(typed, "out"); } @@ -1122,6 +1154,7 @@ bool VisualScriptVariableGet::has_input_sequence_port() const { int VisualScriptVariableGet::get_input_value_port_count() const { return 0; } + int VisualScriptVariableGet::get_output_value_port_count() const { return 1; } @@ -1149,6 +1182,7 @@ PropertyInfo VisualScriptVariableGet::get_output_value_port_info(int p_idx) cons String VisualScriptVariableGet::get_caption() const { return "Get " + variable; } + void VisualScriptVariableGet::set_variable(StringName p_variable) { if (variable == p_variable) return; @@ -1209,6 +1243,7 @@ VisualScriptNodeInstance *VisualScriptVariableGet::instance(VisualScriptInstance instance->variable = variable; return instance; } + VisualScriptVariableGet::VisualScriptVariableGet() { } @@ -1227,6 +1262,7 @@ bool VisualScriptVariableSet::has_input_sequence_port() const { int VisualScriptVariableSet::get_input_value_port_count() const { return 1; } + int VisualScriptVariableSet::get_output_value_port_count() const { return 0; } @@ -1317,6 +1353,7 @@ VisualScriptNodeInstance *VisualScriptVariableSet::instance(VisualScriptInstance instance->variable = variable; return instance; } + VisualScriptVariableSet::VisualScriptVariableSet() { } @@ -1335,6 +1372,7 @@ bool VisualScriptConstant::has_input_sequence_port() const { int VisualScriptConstant::get_input_value_port_count() const { return 0; } + int VisualScriptConstant::get_output_value_port_count() const { return 1; } @@ -1380,6 +1418,7 @@ void VisualScriptConstant::set_constant_value(Variant p_value) { value = p_value; ports_changed_notify(); } + Variant VisualScriptConstant::get_constant_value() const { return value; } @@ -1444,6 +1483,7 @@ bool VisualScriptPreload::has_input_sequence_port() const { int VisualScriptPreload::get_input_value_port_count() const { return 0; } + int VisualScriptPreload::get_output_value_port_count() const { return 1; } @@ -1534,6 +1574,7 @@ bool VisualScriptIndexGet::has_input_sequence_port() const { int VisualScriptIndexGet::get_input_value_port_count() const { return 2; } + int VisualScriptIndexGet::get_output_value_port_count() const { return 1; } @@ -1578,6 +1619,7 @@ VisualScriptNodeInstance *VisualScriptIndexGet::instance(VisualScriptInstance *p VisualScriptNodeInstanceIndexGet *instance = memnew(VisualScriptNodeInstanceIndexGet); return instance; } + VisualScriptIndexGet::VisualScriptIndexGet() { } @@ -1596,6 +1638,7 @@ bool VisualScriptIndexSet::has_input_sequence_port() const { int VisualScriptIndexSet::get_input_value_port_count() const { return 3; } + int VisualScriptIndexSet::get_output_value_port_count() const { return 0; } @@ -1644,6 +1687,7 @@ VisualScriptNodeInstance *VisualScriptIndexSet::instance(VisualScriptInstance *p VisualScriptNodeInstanceIndexSet *instance = memnew(VisualScriptNodeInstanceIndexSet); return instance; } + VisualScriptIndexSet::VisualScriptIndexSet() { } @@ -1662,6 +1706,7 @@ bool VisualScriptGlobalConstant::has_input_sequence_port() const { int VisualScriptGlobalConstant::get_input_value_port_count() const { return 0; } + int VisualScriptGlobalConstant::get_output_value_port_count() const { return 1; } @@ -1743,6 +1788,7 @@ bool VisualScriptClassConstant::has_input_sequence_port() const { int VisualScriptClassConstant::get_input_value_port_count() const { return 0; } + int VisualScriptClassConstant::get_output_value_port_count() const { return 1; } @@ -1871,6 +1917,7 @@ bool VisualScriptBasicTypeConstant::has_input_sequence_port() const { int VisualScriptBasicTypeConstant::get_input_value_port_count() const { return 0; } + int VisualScriptBasicTypeConstant::get_output_value_port_count() const { return 1; } @@ -2035,6 +2082,7 @@ bool VisualScriptMathConstant::has_input_sequence_port() const { int VisualScriptMathConstant::get_input_value_port_count() const { return 0; } + int VisualScriptMathConstant::get_output_value_port_count() const { return 1; } @@ -2125,6 +2173,7 @@ bool VisualScriptEngineSingleton::has_input_sequence_port() const { int VisualScriptEngineSingleton::get_input_value_port_count() const { return 0; } + int VisualScriptEngineSingleton::get_output_value_port_count() const { return 1; } @@ -2232,6 +2281,7 @@ bool VisualScriptSceneNode::has_input_sequence_port() const { int VisualScriptSceneNode::get_input_value_port_count() const { return 0; } + int VisualScriptSceneNode::get_output_value_port_count() const { return 1; } @@ -2411,6 +2461,7 @@ bool VisualScriptSceneTree::has_input_sequence_port() const { int VisualScriptSceneTree::get_input_value_port_count() const { return 0; } + int VisualScriptSceneTree::get_output_value_port_count() const { return 1; } @@ -2497,6 +2548,7 @@ bool VisualScriptResourcePath::has_input_sequence_port() const { int VisualScriptResourcePath::get_input_value_port_count() const { return 0; } + int VisualScriptResourcePath::get_output_value_port_count() const { return 1; } @@ -2571,6 +2623,7 @@ bool VisualScriptSelf::has_input_sequence_port() const { int VisualScriptSelf::get_input_value_port_count() const { return 0; } + int VisualScriptSelf::get_output_value_port_count() const { return 1; } @@ -2660,6 +2713,7 @@ int VisualScriptCustomNode::get_input_value_port_count() const { } return 0; } + int VisualScriptCustomNode::get_output_value_port_count() const { if (get_script_instance() && get_script_instance()->has_method("_get_output_value_port_count")) { return get_script_instance()->call("_get_output_value_port_count"); @@ -2869,6 +2923,7 @@ int VisualScriptSubCall::get_input_value_port_count() const { return 0; } + int VisualScriptSubCall::get_output_value_port_count() const { return 1; } @@ -2973,6 +3028,7 @@ bool VisualScriptComment::has_input_sequence_port() const { int VisualScriptComment::get_input_value_port_count() const { return 0; } + int VisualScriptComment::get_output_value_port_count() const { return 0; } @@ -3014,6 +3070,7 @@ void VisualScriptComment::set_description(const String &p_description) { description = p_description; ports_changed_notify(); } + String VisualScriptComment::get_description() const { return description; } @@ -3024,6 +3081,7 @@ void VisualScriptComment::set_size(const Size2 &p_size) { size = p_size; ports_changed_notify(); } + Size2 VisualScriptComment::get_size() const { return size; } @@ -3084,6 +3142,7 @@ bool VisualScriptConstructor::has_input_sequence_port() const { int VisualScriptConstructor::get_input_value_port_count() const { return constructor.arguments.size(); } + int VisualScriptConstructor::get_output_value_port_count() const { return 1; } @@ -3199,6 +3258,7 @@ bool VisualScriptLocalVar::has_input_sequence_port() const { int VisualScriptLocalVar::get_input_value_port_count() const { return 0; } + int VisualScriptLocalVar::get_output_value_port_count() const { return 1; } @@ -3210,6 +3270,7 @@ String VisualScriptLocalVar::get_output_sequence_port_text(int p_port) const { PropertyInfo VisualScriptLocalVar::get_input_value_port_info(int p_idx) const { return PropertyInfo(); } + PropertyInfo VisualScriptLocalVar::get_output_value_port_info(int p_idx) const { return PropertyInfo(type, name); } @@ -3299,6 +3360,7 @@ bool VisualScriptLocalVarSet::has_input_sequence_port() const { int VisualScriptLocalVarSet::get_input_value_port_count() const { return 1; } + int VisualScriptLocalVarSet::get_output_value_port_count() const { return 1; } @@ -3310,6 +3372,7 @@ String VisualScriptLocalVarSet::get_output_sequence_port_text(int p_port) const PropertyInfo VisualScriptLocalVarSet::get_input_value_port_info(int p_idx) const { return PropertyInfo(type, "set"); } + PropertyInfo VisualScriptLocalVarSet::get_output_value_port_info(int p_idx) const { return PropertyInfo(type, "get"); } @@ -3404,6 +3467,7 @@ bool VisualScriptInputAction::has_input_sequence_port() const { int VisualScriptInputAction::get_input_value_port_count() const { return 0; } + int VisualScriptInputAction::get_output_value_port_count() const { return 1; } @@ -3415,6 +3479,7 @@ String VisualScriptInputAction::get_output_sequence_port_text(int p_port) const PropertyInfo VisualScriptInputAction::get_input_value_port_info(int p_idx) const { return PropertyInfo(); } + PropertyInfo VisualScriptInputAction::get_output_value_port_info(int p_idx) const { String mstr; switch (mode) { @@ -3462,6 +3527,7 @@ void VisualScriptInputAction::set_action_mode(Mode p_mode) { mode = p_mode; ports_changed_notify(); } + VisualScriptInputAction::Mode VisualScriptInputAction::get_action_mode() const { return mode; } @@ -3569,6 +3635,7 @@ bool VisualScriptDeconstruct::has_input_sequence_port() const { int VisualScriptDeconstruct::get_input_value_port_count() const { return 1; } + int VisualScriptDeconstruct::get_output_value_port_count() const { return elements.size(); } diff --git a/modules/visual_script/visual_script_yield_nodes.cpp b/modules/visual_script/visual_script_yield_nodes.cpp index e87f42c6e9..a035efd25d 100644 --- a/modules/visual_script/visual_script_yield_nodes.cpp +++ b/modules/visual_script/visual_script_yield_nodes.cpp @@ -50,6 +50,7 @@ bool VisualScriptYield::has_input_sequence_port() const { int VisualScriptYield::get_input_value_port_count() const { return 0; } + int VisualScriptYield::get_output_value_port_count() const { return 0; } @@ -288,6 +289,7 @@ int VisualScriptYieldSignal::get_input_value_port_count() const { else return 0; } + int VisualScriptYieldSignal::get_output_value_port_count() const { MethodInfo sr; @@ -357,6 +359,7 @@ void VisualScriptYieldSignal::set_signal(const StringName &p_type) { _change_notify(); ports_changed_notify(); } + StringName VisualScriptYieldSignal::get_signal() const { return signal; } @@ -543,6 +546,7 @@ VisualScriptNodeInstance *VisualScriptYieldSignal::instance(VisualScriptInstance instance->output_args = get_output_value_port_count(); return instance; } + VisualScriptYieldSignal::VisualScriptYieldSignal() { call_mode = CALL_MODE_SELF; base_type = "Object"; diff --git a/modules/webm/video_stream_webm.cpp b/modules/webm/video_stream_webm.cpp index 897900249e..47c54b61e9 100644 --- a/modules/webm/video_stream_webm.cpp +++ b/modules/webm/video_stream_webm.cpp @@ -147,6 +147,7 @@ void VideoStreamPlaybackWebm::stop() { time = 0.0; playing = false; } + void VideoStreamPlaybackWebm::play() { stop(); @@ -163,6 +164,7 @@ bool VideoStreamPlaybackWebm::is_playing() const { void VideoStreamPlaybackWebm::set_paused(bool p_paused) { paused = p_paused; } + bool VideoStreamPlaybackWebm::is_paused() const { return paused; } @@ -170,6 +172,7 @@ bool VideoStreamPlaybackWebm::is_paused() const { void VideoStreamPlaybackWebm::set_loop(bool p_enable) { //Empty } + bool VideoStreamPlaybackWebm::has_loop() const { return false; } @@ -183,6 +186,7 @@ float VideoStreamPlaybackWebm::get_length() const { float VideoStreamPlaybackWebm::get_playback_position() const { return video_pos; } + void VideoStreamPlaybackWebm::seek(float p_time) { //Not implemented } @@ -319,11 +323,13 @@ void VideoStreamPlaybackWebm::set_mix_callback(VideoStreamPlayback::AudioMixCall mix_callback = p_callback; mix_udata = p_userdata; } + int VideoStreamPlaybackWebm::get_channels() const { if (audio) return webm->getChannels(); return 0; } + int VideoStreamPlaybackWebm::get_mix_rate() const { if (audio) return webm->getSampleRate(); @@ -386,6 +392,7 @@ Ref<VideoStreamPlayback> VideoStreamWebm::instance_playback() { void VideoStreamWebm::set_file(const String &p_file) { file = p_file; } + String VideoStreamWebm::get_file() { return file; } diff --git a/modules/websocket/websocket_multiplayer_peer.cpp b/modules/websocket/websocket_multiplayer_peer.cpp index 57f577dca1..e0462c74a1 100644 --- a/modules/websocket/websocket_multiplayer_peer.cpp +++ b/modules/websocket/websocket_multiplayer_peer.cpp @@ -67,6 +67,7 @@ int WebSocketMultiplayerPeer::_gen_unique_id() const { return hash; } + void WebSocketMultiplayerPeer::_clear() { _peer_map.clear(); if (_current_packet.data != nullptr) diff --git a/platform/android/file_access_jandroid.cpp b/platform/android/file_access_jandroid.cpp index 4095be00ab..df8b57fd3a 100644 --- a/platform/android/file_access_jandroid.cpp +++ b/platform/android/file_access_jandroid.cpp @@ -123,6 +123,7 @@ uint8_t FileAccessJAndroid::get_8() const { get_buffer(&byte, 1); return byte; } + int FileAccessJAndroid::get_buffer(uint8_t *p_dst, int p_length) const { ERR_FAIL_COND_V_MSG(!is_open(), 0, "File must be opened before use."); if (p_length == 0) diff --git a/platform/iphone/icloud.mm b/platform/iphone/icloud.mm index 343af744d5..c768274b1f 100644 --- a/platform/iphone/icloud.mm +++ b/platform/iphone/icloud.mm @@ -282,6 +282,7 @@ Error ICloud::synchronize_key_values() { return FAILED; } } + /* Error ICloud::initial_sync() { //you sometimes have to write something to the store to get it to download new data. go apple! @@ -296,6 +297,7 @@ Error ICloud::initial_sync() { } return synchronize(); } + */ ICloud::ICloud() { ERR_FAIL_COND(instance != NULL); diff --git a/platform/iphone/in_app_store.mm b/platform/iphone/in_app_store.mm index f3e8ff141b..a2efd6691b 100644 --- a/platform/iphone/in_app_store.mm +++ b/platform/iphone/in_app_store.mm @@ -57,6 +57,7 @@ NSMutableDictionary *pending_transactions = [NSMutableDictionary dictionary]; [numberFormatter release]; return formattedString; } + @end InAppStore *InAppStore::instance = NULL; diff --git a/platform/javascript/display_server_javascript.cpp b/platform/javascript/display_server_javascript.cpp index 758e48ce81..b95674efc3 100644 --- a/platform/javascript/display_server_javascript.cpp +++ b/platform/javascript/display_server_javascript.cpp @@ -673,6 +673,7 @@ bool DisplayServerJavaScript::is_joy_known(int p_device) { return Input::get_singleton()->is_joy_mapped(p_device); } + String DisplayServerJavaScript::get_joy_guid(int p_device) const { return Input::get_singleton()->get_joy_guid_remapped(p_device); @@ -1076,6 +1077,7 @@ void DisplayServerJavaScript::window_set_current_screen(int p_screen, WindowID p Point2i DisplayServerJavaScript::window_get_position(WindowID p_window) const { return Point2i(); // TODO Does this need implementation? } + void DisplayServerJavaScript::window_set_position(const Point2i &p_position, WindowID p_window) { // Not supported. } diff --git a/platform/linuxbsd/context_gl_x11.cpp b/platform/linuxbsd/context_gl_x11.cpp index c9b95b41a3..71dc9602b3 100644 --- a/platform/linuxbsd/context_gl_x11.cpp +++ b/platform/linuxbsd/context_gl_x11.cpp @@ -227,6 +227,7 @@ void ContextGL_X11::set_use_vsync(bool p_use) { return; use_vsync = p_use; } + bool ContextGL_X11::is_using_vsync() const { return use_vsync; } diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp index e2f0a53f0f..813acc5b0e 100644 --- a/platform/linuxbsd/display_server_x11.cpp +++ b/platform/linuxbsd/display_server_x11.cpp @@ -127,6 +127,7 @@ bool DisplayServerX11::has_feature(Feature p_feature) const { return false; } + String DisplayServerX11::get_name() const { return "X11"; } @@ -400,6 +401,7 @@ void DisplayServerX11::mouse_set_mode(MouseMode p_mode) { XFlush(x11_display); } + DisplayServerX11::MouseMode DisplayServerX11::mouse_get_mode() const { return mouse_mode; } @@ -547,6 +549,7 @@ int DisplayServerX11::get_screen_count() const { XFree(xsi); return count; } + Point2i DisplayServerX11::screen_get_position(int p_screen) const { _THREAD_SAFE_METHOD_ @@ -644,6 +647,7 @@ int DisplayServerX11::screen_get_dpi(int p_screen) const { //could not get dpi return 96; } + bool DisplayServerX11::screen_is_touchscreen(int p_screen) const { _THREAD_SAFE_METHOD_ @@ -760,6 +764,7 @@ void DisplayServerX11::window_set_input_event_callback(const Callable &p_callabl WindowData &wd = windows[p_window]; wd.input_event_callback = p_callable; } + void DisplayServerX11::window_set_input_text_callback(const Callable &p_callable, WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -795,6 +800,7 @@ int DisplayServerX11::window_get_current_screen(WindowID p_window) const { } return 0; } + void DisplayServerX11::window_set_current_screen(int p_screen, WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -926,6 +932,7 @@ void DisplayServerX11::window_set_max_size(const Size2i p_size, WindowID p_windo XFlush(x11_display); } } + Size2i DisplayServerX11::window_get_max_size(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -967,6 +974,7 @@ void DisplayServerX11::window_set_min_size(const Size2i p_size, WindowID p_windo XFlush(x11_display); } } + Size2i DisplayServerX11::window_get_min_size(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -1037,6 +1045,7 @@ void DisplayServerX11::window_set_size(const Size2i p_size, WindowID p_window) { usleep(10000); } } + Size2i DisplayServerX11::window_get_size(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -1044,6 +1053,7 @@ Size2i DisplayServerX11::window_get_size(WindowID p_window) const { const WindowData &wd = windows[p_window]; return wd.size; } + Size2i DisplayServerX11::window_get_real_size(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -1533,6 +1543,7 @@ void DisplayServerX11::window_set_flag(WindowFlags p_flag, bool p_enabled, Windo } } } + bool DisplayServerX11::window_get_flag(WindowFlags p_flag, WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -1627,6 +1638,7 @@ bool DisplayServerX11::window_can_draw(WindowID p_window) const { //this seems to be all that is provided by X11 return window_get_mode(p_window) != WINDOW_MODE_MINIMIZED; } + bool DisplayServerX11::can_any_window_draw() const { _THREAD_SAFE_METHOD_ @@ -1657,6 +1669,7 @@ void DisplayServerX11::window_set_ime_active(const bool p_active, WindowID p_win XUnsetICFocus(wd.xic); } } + void DisplayServerX11::window_set_ime_position(const Point2i &p_pos, WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -1699,9 +1712,11 @@ void DisplayServerX11::cursor_set_shape(CursorShape p_shape) { current_cursor = p_shape; } + DisplayServerX11::CursorShape DisplayServerX11::cursor_get_shape() const { return current_cursor; } + void DisplayServerX11::cursor_set_custom_image(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { _THREAD_SAFE_METHOD_ @@ -2277,6 +2292,7 @@ void DisplayServerX11::_send_window_event(const WindowData &wd, WindowEvent p_ev wd.event_callback.call((const Variant **)&eventp, 1, ret, ce); } } + void DisplayServerX11::process_events() { _THREAD_SAFE_METHOD_ @@ -2958,6 +2974,7 @@ void DisplayServerX11::_update_context(WindowData &wd) { XFree(classHint); } } + void DisplayServerX11::set_context(Context p_context) { _THREAD_SAFE_METHOD_ @@ -2967,6 +2984,7 @@ void DisplayServerX11::set_context(Context p_context) { _update_context(E->get()); } } + void DisplayServerX11::set_native_icon(const String &p_filename) { WARN_PRINT("Native icon not supported by this display server."); } @@ -3712,6 +3730,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode r_error = OK; } + DisplayServerX11::~DisplayServerX11() { //destroy all windows for (Map<WindowID, WindowData>::Element *E = windows.front(); E; E = E->next()) { diff --git a/platform/osx/display_server_osx.mm b/platform/osx/display_server_osx.mm index 46ddc23d8a..1cdcdbcaf5 100644 --- a/platform/osx/display_server_osx.mm +++ b/platform/osx/display_server_osx.mm @@ -149,6 +149,7 @@ static NSCursor *_cursorFromSelector(SEL selector, SEL fallback = nil) { Variant meta; bool checkable; } + @end @implementation GlobalMenuItem @@ -1422,6 +1423,7 @@ inline void sendPanEvent(DisplayServer::WindowID window_id, double dx, double dy @interface GodotWindow : NSWindow { } + @end @implementation GodotWindow diff --git a/platform/osx/joypad_osx.cpp b/platform/osx/joypad_osx.cpp index 52cceae3fd..d342d30097 100644 --- a/platform/osx/joypad_osx.cpp +++ b/platform/osx/joypad_osx.cpp @@ -98,6 +98,7 @@ int joypad::get_hid_element_state(rec_element *p_element) const { } return value; } + void joypad::add_hid_element(IOHIDElementRef p_element) { const CFTypeID elementTypeID = p_element ? CFGetTypeID(p_element) : 0; diff --git a/platform/server/os_server.cpp b/platform/server/os_server.cpp index bcf0deeba9..fbe526ef6d 100644 --- a/platform/server/os_server.cpp +++ b/platform/server/os_server.cpp @@ -44,6 +44,7 @@ int OS_Server::get_video_driver_count() const { return 1; } + const char *OS_Server::get_video_driver_name(int p_driver) const { return "Dummy"; } diff --git a/platform/uwp/app.cpp b/platform/uwp/app.cpp index c99ce5ee16..6090d13854 100644 --- a/platform/uwp/app.cpp +++ b/platform/uwp/app.cpp @@ -396,6 +396,7 @@ void App::key_event(Windows::UI::Core::CoreWindow ^ sender, bool p_pressed, Wind os->queue_key_event(ke); } + void App::OnKeyDown(CoreWindow ^ sender, KeyEventArgs ^ args) { key_event(sender, true, args); } diff --git a/platform/uwp/os_uwp.cpp b/platform/uwp/os_uwp.cpp index 2104cacb6e..7e4d17f5e7 100644 --- a/platform/uwp/os_uwp.cpp +++ b/platform/uwp/os_uwp.cpp @@ -444,9 +444,11 @@ void OS_UWP::set_window_title(const String &p_title) { void OS_UWP::set_video_mode(const VideoMode &p_video_mode, int p_screen) { video_mode = p_video_mode; } + OS::VideoMode OS_UWP::get_video_mode(int p_screen) const { return video_mode; } + void OS_UWP::get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen) const { } @@ -469,6 +471,7 @@ OS::Date OS_UWP::get_date(bool utc) const { date.dst = false; return date; } + OS::Time OS_UWP::get_time(bool utc) const { SYSTEMTIME systemtime; if (utc) @@ -529,6 +532,7 @@ void OS_UWP::delay_usec(uint32_t p_usec) const { // no Sleep() WaitForSingleObjectEx(GetCurrentThread(), msec, false); } + uint64_t OS_UWP::get_ticks_usec() const { uint64_t ticks; uint64_t time; diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp index 2637702fab..114b64855e 100644 --- a/platform/windows/display_server_windows.cpp +++ b/platform/windows/display_server_windows.cpp @@ -110,6 +110,7 @@ void DisplayServerWindows::_set_mouse_mode_impl(MouseMode p_mode) { cursor_set_shape(c); } } + void DisplayServerWindows::mouse_set_mode(MouseMode p_mode) { _THREAD_SAFE_METHOD_ @@ -120,6 +121,7 @@ void DisplayServerWindows::mouse_set_mode(MouseMode p_mode) { mouse_mode = p_mode; } + DisplayServer::MouseMode DisplayServerWindows::mouse_get_mode() const { return mouse_mode; } @@ -143,12 +145,14 @@ void DisplayServerWindows::mouse_warp_to_position(const Point2i &p_to) { SetCursorPos(p.x, p.y); } } + Point2i DisplayServerWindows::mouse_get_position() const { POINT p; GetCursorPos(&p); return Point2i(p.x, p.y); //return Point2(old_x, old_y); } + int DisplayServerWindows::mouse_get_button_state() const { return last_button_state; } @@ -192,6 +196,7 @@ void DisplayServerWindows::clipboard_set(const String &p_text) { CloseClipboard(); } + String DisplayServerWindows::clipboard_get() const { _THREAD_SAFE_METHOD_ @@ -276,6 +281,7 @@ static BOOL CALLBACK _MonitorEnumProcPos(HMONITOR hMonitor, HDC hdcMonitor, LPRE data->count++; return TRUE; } + Point2i DisplayServerWindows::screen_get_position(int p_screen) const { _THREAD_SAFE_METHOD_ @@ -416,6 +422,7 @@ int DisplayServerWindows::screen_get_dpi(int p_screen) const { EnumDisplayMonitors(nullptr, nullptr, _MonitorEnumProcDpi, (LPARAM)&data); return data.dpi; } + bool DisplayServerWindows::screen_is_touchscreen(int p_screen) const { #ifndef _MSC_VER #warning touchscreen not working @@ -425,12 +432,14 @@ bool DisplayServerWindows::screen_is_touchscreen(int p_screen) const { void DisplayServerWindows::screen_set_orientation(ScreenOrientation p_orientation, int p_screen) { } + DisplayServer::ScreenOrientation DisplayServerWindows::screen_get_orientation(int p_screen) const { return SCREEN_LANDSCAPE; } void DisplayServerWindows::screen_set_keep_on(bool p_enable) { } + bool DisplayServerWindows::screen_is_kept_on() const { return false; } @@ -489,6 +498,7 @@ DisplayServer::WindowID DisplayServerWindows::create_sub_window(WindowMode p_mod return window_id; } + void DisplayServerWindows::delete_sub_window(WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -546,12 +556,14 @@ void DisplayServerWindows::window_set_window_event_callback(const Callable &p_ca ERR_FAIL_COND(!windows.has(p_window)); windows[p_window].event_callback = p_callable; } + void DisplayServerWindows::window_set_input_event_callback(const Callable &p_callable, WindowID p_window) { _THREAD_SAFE_METHOD_ ERR_FAIL_COND(!windows.has(p_window)); windows[p_window].input_event_callback = p_callable; } + void DisplayServerWindows::window_set_input_text_callback(const Callable &p_callable, WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -582,6 +594,7 @@ int DisplayServerWindows::window_get_current_screen(WindowID p_window) const { EnumDisplayMonitors(nullptr, nullptr, _MonitorEnumProcScreen, (LPARAM)&data); return data.screen; } + void DisplayServerWindows::window_set_current_screen(int p_screen, WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -617,6 +630,7 @@ Point2i DisplayServerWindows::window_get_position(WindowID p_window) const { return Point2(r.left, r.top); #endif } + void DisplayServerWindows::_update_real_mouse_position(WindowID p_window) { POINT mouse_pos; if (GetCursorPos(&mouse_pos) && ScreenToClient(windows[p_window].hWnd, &mouse_pos)) { @@ -628,6 +642,7 @@ void DisplayServerWindows::_update_real_mouse_position(WindowID p_window) { } } } + void DisplayServerWindows::window_set_position(const Point2i &p_position, WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -716,6 +731,7 @@ void DisplayServerWindows::window_set_max_size(const Size2i p_size, WindowID p_w } wd.max_size = p_size; } + Size2i DisplayServerWindows::window_get_max_size(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -736,6 +752,7 @@ void DisplayServerWindows::window_set_min_size(const Size2i p_size, WindowID p_w } wd.min_size = p_size; } + Size2i DisplayServerWindows::window_get_min_size(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -788,6 +805,7 @@ void DisplayServerWindows::window_set_size(const Size2i p_size, WindowID p_windo ClipCursor(&crect); } } + Size2i DisplayServerWindows::window_get_size(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -804,6 +822,7 @@ Size2i DisplayServerWindows::window_get_size(WindowID p_window) const { } return Size2(); } + Size2i DisplayServerWindows::window_get_real_size(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -938,6 +957,7 @@ void DisplayServerWindows::window_set_mode(WindowMode p_mode, WindowID p_window) MoveWindow(wd.hWnd, pos.x, pos.y, size.width, size.height, TRUE); } } + DisplayServer::WindowMode DisplayServerWindows::window_get_mode(WindowID p_window) const { _THREAD_SAFE_METHOD_ @@ -1038,6 +1058,7 @@ void DisplayServerWindows::window_request_attention(WindowID p_window) { info.uCount = 2; FlashWindowEx(&info); } + void DisplayServerWindows::window_move_to_foreground(WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -1081,6 +1102,7 @@ void DisplayServerWindows::window_set_ime_active(const bool p_active, WindowID p ImmAssociateContext(wd.hWnd, (HIMC)0); } } + void DisplayServerWindows::window_set_ime_position(const Point2i &p_pos, WindowID p_window) { _THREAD_SAFE_METHOD_ @@ -1109,6 +1131,7 @@ void DisplayServerWindows::console_set_visible(bool p_enabled) { ShowWindow(GetConsoleWindow(), p_enabled ? SW_SHOW : SW_HIDE); console_visible = p_enabled; } + bool DisplayServerWindows::is_console_visible() const { return console_visible; } @@ -1154,6 +1177,7 @@ void DisplayServerWindows::cursor_set_shape(CursorShape p_shape) { cursor_shape = p_shape; } + DisplayServer::CursorShape DisplayServerWindows::cursor_get_shape() const { return cursor_shape; } @@ -1444,8 +1468,10 @@ void DisplayServerWindows::force_process_and_drop_events() { void DisplayServerWindows::release_rendering_thread() { } + void DisplayServerWindows::make_rendering_thread() { } + void DisplayServerWindows::swap_buffers() { } @@ -1542,6 +1568,7 @@ void DisplayServerWindows::set_native_icon(const String &p_filename) { memdelete(f); memdelete(icon_dir); } + void DisplayServerWindows::set_icon(const Ref<Image> &p_icon) { _THREAD_SAFE_METHOD_ @@ -1595,6 +1622,7 @@ void DisplayServerWindows::set_icon(const Ref<Image> &p_icon) { void DisplayServerWindows::vsync_set_use_via_compositor(bool p_enable) { } + bool DisplayServerWindows::vsync_is_using_via_compositor() const { return false; } diff --git a/platform/windows/joypad_windows.cpp b/platform/windows/joypad_windows.cpp index 38a4065ef9..0cff12ca8c 100644 --- a/platform/windows/joypad_windows.cpp +++ b/platform/windows/joypad_windows.cpp @@ -45,6 +45,7 @@ DWORD WINAPI _xinput_get_state(DWORD dwUserIndex, XINPUT_STATE *pState) { return ERROR_DEVICE_NOT_CONNECTED; } + DWORD WINAPI _xinput_set_state(DWORD dwUserIndex, XINPUT_VIBRATION *pVibration) { return ERROR_DEVICE_NOT_CONNECTED; } diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 76e23820aa..7c06e93a8a 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -309,6 +309,7 @@ OS::Date OS_Windows::get_date(bool utc) const { date.dst = false; return date; } + OS::Time OS_Windows::get_time(bool utc) const { SYSTEMTIME systemtime; if (utc) @@ -399,6 +400,7 @@ void OS_Windows::delay_usec(uint32_t p_usec) const { else Sleep(p_usec / 1000); } + uint64_t OS_Windows::get_ticks_usec() const { uint64_t ticks; uint64_t time; diff --git a/scene/2d/animated_sprite_2d.cpp b/scene/2d/animated_sprite_2d.cpp index 842740aa5e..54477758f4 100644 --- a/scene/2d/animated_sprite_2d.cpp +++ b/scene/2d/animated_sprite_2d.cpp @@ -128,6 +128,7 @@ void SpriteFrames::remove_frame(const StringName &p_anim, int p_idx) { E->get().frames.remove(p_idx); emit_changed(); } + void SpriteFrames::clear(const StringName &p_anim) { Map<StringName, Anim>::Element *E = animations.find(p_anim); ERR_FAIL_COND_MSG(!E, "Animation '" + String(p_anim) + "' doesn't exist."); @@ -152,6 +153,7 @@ void SpriteFrames::add_animation(const StringName &p_anim) { bool SpriteFrames::has_animation(const StringName &p_anim) const { return animations.has(p_anim); } + void SpriteFrames::remove_animation(const StringName &p_anim) { animations.erase(p_anim); } @@ -199,6 +201,7 @@ void SpriteFrames::set_animation_speed(const StringName &p_anim, float p_fps) { ERR_FAIL_COND_MSG(!E, "Animation '" + String(p_anim) + "' doesn't exist."); E->get().speed = p_fps; } + float SpriteFrames::get_animation_speed(const StringName &p_anim) const { const Map<StringName, Anim>::Element *E = animations.find(p_anim); ERR_FAIL_COND_V_MSG(!E, 0, "Animation '" + String(p_anim) + "' doesn't exist."); @@ -210,6 +213,7 @@ void SpriteFrames::set_animation_loop(const StringName &p_anim, bool p_loop) { ERR_FAIL_COND_MSG(!E, "Animation '" + String(p_anim) + "' doesn't exist."); E->get().loop = p_loop; } + bool SpriteFrames::get_animation_loop(const StringName &p_anim) const { const Map<StringName, Anim>::Element *E = animations.find(p_anim); ERR_FAIL_COND_V_MSG(!E, false, "Animation '" + String(p_anim) + "' doesn't exist."); @@ -225,6 +229,7 @@ void SpriteFrames::_set_frames(const Array &p_frames) { for (int i = 0; i < E->get().frames.size(); i++) E->get().frames.write[i] = p_frames[i]; } + Array SpriteFrames::_get_frames() const { return Array(); } @@ -246,6 +251,7 @@ Array SpriteFrames::_get_animations() const { return anims; } + void SpriteFrames::_set_animations(const Array &p_animations) { animations.clear(); for (int i = 0; i < p_animations.size(); i++) { @@ -489,6 +495,7 @@ void AnimatedSprite2D::set_frame(int p_frame) { _change_notify("frame"); emit_signal(SceneStringNames::get_singleton()->frame_changed); } + int AnimatedSprite2D::get_frame() const { return frame; } @@ -523,6 +530,7 @@ void AnimatedSprite2D::set_offset(const Point2 &p_offset) { item_rect_changed(); _change_notify("offset"); } + Point2 AnimatedSprite2D::get_offset() const { return offset; } @@ -531,6 +539,7 @@ void AnimatedSprite2D::set_flip_h(bool p_flip) { hflip = p_flip; update(); } + bool AnimatedSprite2D::is_flipped_h() const { return hflip; } @@ -539,6 +548,7 @@ void AnimatedSprite2D::set_flip_v(bool p_flip) { vflip = p_flip; update(); } + bool AnimatedSprite2D::is_flipped_v() const { return vflip; } @@ -613,6 +623,7 @@ void AnimatedSprite2D::set_animation(const StringName &p_animation) { _change_notify(); update(); } + StringName AnimatedSprite2D::get_animation() const { return animation; } diff --git a/scene/2d/area_2d.cpp b/scene/2d/area_2d.cpp index 90af1ff274..9a3b6c2611 100644 --- a/scene/2d/area_2d.cpp +++ b/scene/2d/area_2d.cpp @@ -38,6 +38,7 @@ void Area2D::set_space_override_mode(SpaceOverride p_mode) { space_override = p_mode; PhysicsServer2D::get_singleton()->area_set_space_override_mode(get_rid(), PhysicsServer2D::AreaSpaceOverrideMode(p_mode)); } + Area2D::SpaceOverride Area2D::get_space_override_mode() const { return space_override; } @@ -46,6 +47,7 @@ void Area2D::set_gravity_is_point(bool p_enabled) { gravity_is_point = p_enabled; PhysicsServer2D::get_singleton()->area_set_param(get_rid(), PhysicsServer2D::AREA_PARAM_GRAVITY_IS_POINT, p_enabled); } + bool Area2D::is_gravity_a_point() const { return gravity_is_point; } @@ -63,6 +65,7 @@ void Area2D::set_gravity_vector(const Vector2 &p_vec) { gravity_vec = p_vec; PhysicsServer2D::get_singleton()->area_set_param(get_rid(), PhysicsServer2D::AREA_PARAM_GRAVITY_VECTOR, p_vec); } + Vector2 Area2D::get_gravity_vector() const { return gravity_vec; } @@ -71,6 +74,7 @@ void Area2D::set_gravity(real_t p_gravity) { gravity = p_gravity; PhysicsServer2D::get_singleton()->area_set_param(get_rid(), PhysicsServer2D::AREA_PARAM_GRAVITY, p_gravity); } + real_t Area2D::get_gravity() const { return gravity; } @@ -79,6 +83,7 @@ void Area2D::set_linear_damp(real_t p_linear_damp) { linear_damp = p_linear_damp; PhysicsServer2D::get_singleton()->area_set_param(get_rid(), PhysicsServer2D::AREA_PARAM_LINEAR_DAMP, p_linear_damp); } + real_t Area2D::get_linear_damp() const { return linear_damp; } @@ -96,6 +101,7 @@ void Area2D::set_priority(real_t p_priority) { priority = p_priority; PhysicsServer2D::get_singleton()->area_set_param(get_rid(), PhysicsServer2D::AREA_PARAM_PRIORITY, p_priority); } + real_t Area2D::get_priority() const { return priority; } diff --git a/scene/2d/audio_stream_player_2d.cpp b/scene/2d/audio_stream_player_2d.cpp index b1ca2912e9..eca48406ce 100644 --- a/scene/2d/audio_stream_player_2d.cpp +++ b/scene/2d/audio_stream_player_2d.cpp @@ -288,6 +288,7 @@ Ref<AudioStream> AudioStreamPlayer2D::get_stream() const { void AudioStreamPlayer2D::set_volume_db(float p_volume) { volume_db = p_volume; } + float AudioStreamPlayer2D::get_volume_db() const { return volume_db; } @@ -296,6 +297,7 @@ void AudioStreamPlayer2D::set_pitch_scale(float p_pitch_scale) { ERR_FAIL_COND(p_pitch_scale <= 0.0); pitch_scale = p_pitch_scale; } + float AudioStreamPlayer2D::get_pitch_scale() const { return pitch_scale; } @@ -350,6 +352,7 @@ void AudioStreamPlayer2D::set_bus(const StringName &p_bus) { bus = p_bus; AudioServer::get_singleton()->unlock(); } + StringName AudioStreamPlayer2D::get_bus() const { for (int i = 0; i < AudioServer::get_singleton()->get_bus_count(); i++) { if (AudioServer::get_singleton()->get_bus_name(i) == bus) { @@ -362,6 +365,7 @@ StringName AudioStreamPlayer2D::get_bus() const { void AudioStreamPlayer2D::set_autoplay(bool p_enable) { autoplay = p_enable; } + bool AudioStreamPlayer2D::is_autoplay_enabled() { return autoplay; } @@ -372,6 +376,7 @@ void AudioStreamPlayer2D::_set_playing(bool p_enable) { else stop(); } + bool AudioStreamPlayer2D::_is_active() const { return active; } @@ -406,6 +411,7 @@ float AudioStreamPlayer2D::get_max_distance() const { void AudioStreamPlayer2D::set_attenuation(float p_curve) { attenuation = p_curve; } + float AudioStreamPlayer2D::get_attenuation() const { return attenuation; } diff --git a/scene/2d/back_buffer_copy.cpp b/scene/2d/back_buffer_copy.cpp index 0bcb42e563..a36e0a86e1 100644 --- a/scene/2d/back_buffer_copy.cpp +++ b/scene/2d/back_buffer_copy.cpp @@ -72,6 +72,7 @@ void BackBufferCopy::set_copy_mode(CopyMode p_mode) { copy_mode = p_mode; _update_copy_mode(); } + BackBufferCopy::CopyMode BackBufferCopy::get_copy_mode() const { return copy_mode; } @@ -96,5 +97,6 @@ BackBufferCopy::BackBufferCopy() { copy_mode = COPY_MODE_RECT; _update_copy_mode(); } + BackBufferCopy::~BackBufferCopy() { } diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp index eeb87a7396..fc691c9ca6 100644 --- a/scene/2d/camera_2d.cpp +++ b/scene/2d/camera_2d.cpp @@ -517,6 +517,7 @@ void Camera2D::set_h_offset(float p_offset) { h_offset_changed = true; _update_scroll(); } + float Camera2D::get_h_offset() const { return h_ofs; } diff --git a/scene/2d/canvas_modulate.cpp b/scene/2d/canvas_modulate.cpp index 2ed2eaef42..41db3f771a 100644 --- a/scene/2d/canvas_modulate.cpp +++ b/scene/2d/canvas_modulate.cpp @@ -68,6 +68,7 @@ void CanvasModulate::set_color(const Color &p_color) { RS::get_singleton()->canvas_set_modulate(get_canvas(), color); } } + Color CanvasModulate::get_color() const { return color; } diff --git a/scene/2d/collision_object_2d.cpp b/scene/2d/collision_object_2d.cpp index 2f20a48139..aa1c107dea 100644 --- a/scene/2d/collision_object_2d.cpp +++ b/scene/2d/collision_object_2d.cpp @@ -206,6 +206,7 @@ void CollisionObject2D::shape_owner_set_transform(uint32_t p_owner, const Transf } } } + Transform2D CollisionObject2D::shape_owner_get_transform(uint32_t p_owner) const { ERR_FAIL_COND_V(!shapes.has(p_owner), Transform2D()); @@ -235,17 +236,20 @@ void CollisionObject2D::shape_owner_add_shape(uint32_t p_owner, const Ref<Shape2 total_subshapes++; } + int CollisionObject2D::shape_owner_get_shape_count(uint32_t p_owner) const { ERR_FAIL_COND_V(!shapes.has(p_owner), 0); return shapes[p_owner].shapes.size(); } + Ref<Shape2D> CollisionObject2D::shape_owner_get_shape(uint32_t p_owner, int p_shape) const { ERR_FAIL_COND_V(!shapes.has(p_owner), Ref<Shape2D>()); ERR_FAIL_INDEX_V(p_shape, shapes[p_owner].shapes.size(), Ref<Shape2D>()); return shapes[p_owner].shapes[p_shape].shape; } + int CollisionObject2D::shape_owner_get_shape_index(uint32_t p_owner, int p_shape) const { ERR_FAIL_COND_V(!shapes.has(p_owner), -1); ERR_FAIL_INDEX_V(p_shape, shapes[p_owner].shapes.size(), -1); diff --git a/scene/2d/collision_polygon_2d.cpp b/scene/2d/collision_polygon_2d.cpp index e5acfafa21..ebbda63e7b 100644 --- a/scene/2d/collision_polygon_2d.cpp +++ b/scene/2d/collision_polygon_2d.cpp @@ -270,6 +270,7 @@ void CollisionPolygon2D::set_one_way_collision_margin(float p_margin) { float CollisionPolygon2D::get_one_way_collision_margin() const { return one_way_collision_margin; } + void CollisionPolygon2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_polygon", "polygon"), &CollisionPolygon2D::set_polygon); ClassDB::bind_method(D_METHOD("get_polygon"), &CollisionPolygon2D::get_polygon); diff --git a/scene/2d/cpu_particles_2d.cpp b/scene/2d/cpu_particles_2d.cpp index ecc78809e7..e7129f39e7 100644 --- a/scene/2d/cpu_particles_2d.cpp +++ b/scene/2d/cpu_particles_2d.cpp @@ -62,6 +62,7 @@ void CPUParticles2D::set_amount(int p_amount) { particle_order.resize(p_amount); } + void CPUParticles2D::set_lifetime(float p_lifetime) { ERR_FAIL_COND_MSG(p_lifetime <= 0, "Particles lifetime must be greater than 0."); lifetime = p_lifetime; @@ -74,15 +75,19 @@ void CPUParticles2D::set_one_shot(bool p_one_shot) { void CPUParticles2D::set_pre_process_time(float p_time) { pre_process_time = p_time; } + void CPUParticles2D::set_explosiveness_ratio(float p_ratio) { explosiveness_ratio = p_ratio; } + void CPUParticles2D::set_randomness_ratio(float p_ratio) { randomness_ratio = p_ratio; } + void CPUParticles2D::set_lifetime_randomness(float p_random) { lifetime_randomness = p_random; } + void CPUParticles2D::set_use_local_coordinates(bool p_enable) { local_coords = p_enable; set_notify_transform(!p_enable); @@ -95,12 +100,15 @@ void CPUParticles2D::set_speed_scale(float p_scale) { bool CPUParticles2D::is_emitting() const { return emitting; } + int CPUParticles2D::get_amount() const { return particles.size(); } + float CPUParticles2D::get_lifetime() const { return lifetime; } + bool CPUParticles2D::get_one_shot() const { return one_shot; } @@ -108,12 +116,15 @@ bool CPUParticles2D::get_one_shot() const { float CPUParticles2D::get_pre_process_time() const { return pre_process_time; } + float CPUParticles2D::get_explosiveness_ratio() const { return explosiveness_ratio; } + float CPUParticles2D::get_randomness_ratio() const { return randomness_ratio; } + float CPUParticles2D::get_lifetime_randomness() const { return lifetime_randomness; } @@ -294,6 +305,7 @@ void CPUParticles2D::set_param(Parameter p_param, float p_value) { parameters[p_param] = p_value; } + float CPUParticles2D::get_param(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); @@ -305,6 +317,7 @@ void CPUParticles2D::set_param_randomness(Parameter p_param, float p_value) { randomness[p_param] = p_value; } + float CPUParticles2D::get_param_randomness(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); @@ -363,6 +376,7 @@ void CPUParticles2D::set_param_curve(Parameter p_param, const Ref<Curve> &p_curv } } } + Ref<Curve> CPUParticles2D::get_param_curve(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, Ref<Curve>()); @@ -424,12 +438,15 @@ void CPUParticles2D::set_emission_colors(const Vector<Color> &p_colors) { float CPUParticles2D::get_emission_sphere_radius() const { return emission_sphere_radius; } + Vector2 CPUParticles2D::get_emission_rect_extents() const { return emission_rect_extents; } + Vector<Vector2> CPUParticles2D::get_emission_points() const { return emission_points; } + Vector<Vector2> CPUParticles2D::get_emission_normals() const { return emission_normals; } @@ -441,6 +458,7 @@ Vector<Color> CPUParticles2D::get_emission_colors() const { CPUParticles2D::EmissionShape CPUParticles2D::get_emission_shape() const { return emission_shape; } + void CPUParticles2D::set_gravity(const Vector2 &p_gravity) { gravity = p_gravity; } diff --git a/scene/2d/gpu_particles_2d.cpp b/scene/2d/gpu_particles_2d.cpp index a76114a6c3..dc50ea8f19 100644 --- a/scene/2d/gpu_particles_2d.cpp +++ b/scene/2d/gpu_particles_2d.cpp @@ -53,6 +53,7 @@ void GPUParticles2D::set_amount(int p_amount) { amount = p_amount; RS::get_singleton()->particles_set_amount(particles, amount); } + void GPUParticles2D::set_lifetime(float p_lifetime) { ERR_FAIL_COND_MSG(p_lifetime <= 0, "Particles lifetime must be greater than 0."); lifetime = p_lifetime; @@ -72,18 +73,22 @@ void GPUParticles2D::set_one_shot(bool p_enable) { if (!one_shot) set_process_internal(false); } + void GPUParticles2D::set_pre_process_time(float p_time) { pre_process_time = p_time; RS::get_singleton()->particles_set_pre_process_time(particles, pre_process_time); } + void GPUParticles2D::set_explosiveness_ratio(float p_ratio) { explosiveness_ratio = p_ratio; RS::get_singleton()->particles_set_explosiveness_ratio(particles, explosiveness_ratio); } + void GPUParticles2D::set_randomness_ratio(float p_ratio) { randomness_ratio = p_ratio; RS::get_singleton()->particles_set_randomness_ratio(particles, randomness_ratio); } + void GPUParticles2D::set_visibility_rect(const Rect2 &p_visibility_rect) { visibility_rect = p_visibility_rect; AABB aabb; @@ -97,6 +102,7 @@ void GPUParticles2D::set_visibility_rect(const Rect2 &p_visibility_rect) { _change_notify("visibility_rect"); update(); } + void GPUParticles2D::set_use_local_coordinates(bool p_enable) { local_coords = p_enable; RS::get_singleton()->particles_set_use_local_coordinates(particles, local_coords); @@ -140,9 +146,11 @@ void GPUParticles2D::set_speed_scale(float p_scale) { bool GPUParticles2D::is_emitting() const { return RS::get_singleton()->particles_get_emitting(particles); } + int GPUParticles2D::get_amount() const { return amount; } + float GPUParticles2D::get_lifetime() const { return lifetime; } @@ -150,21 +158,27 @@ float GPUParticles2D::get_lifetime() const { bool GPUParticles2D::get_one_shot() const { return one_shot; } + float GPUParticles2D::get_pre_process_time() const { return pre_process_time; } + float GPUParticles2D::get_explosiveness_ratio() const { return explosiveness_ratio; } + float GPUParticles2D::get_randomness_ratio() const { return randomness_ratio; } + Rect2 GPUParticles2D::get_visibility_rect() const { return visibility_rect; } + bool GPUParticles2D::get_use_local_coordinates() const { return local_coords; } + Ref<Material> GPUParticles2D::get_process_material() const { return process_material; } diff --git a/scene/2d/joints_2d.cpp b/scene/2d/joints_2d.cpp index 07a6926d4f..a67b951155 100644 --- a/scene/2d/joints_2d.cpp +++ b/scene/2d/joints_2d.cpp @@ -91,6 +91,7 @@ void Joint2D::set_node_b(const NodePath &p_node_b) { b = p_node_b; _update_joint(); } + NodePath Joint2D::get_node_b() const { return b; } diff --git a/scene/2d/light_2d.cpp b/scene/2d/light_2d.cpp index ed69a4544e..2bae6bbd48 100644 --- a/scene/2d/light_2d.cpp +++ b/scene/2d/light_2d.cpp @@ -149,6 +149,7 @@ void Light2D::set_color(const Color &p_color) { color = p_color; RS::get_singleton()->canvas_light_set_color(canvas_light, color); } + Color Light2D::get_color() const { return color; } @@ -189,6 +190,7 @@ void Light2D::set_z_range_min(int p_min_z) { z_min = p_min_z; RS::get_singleton()->canvas_light_set_z_range(canvas_light, z_min, z_max); } + int Light2D::get_z_range_min() const { return z_min; } @@ -197,6 +199,7 @@ void Light2D::set_z_range_max(int p_max_z) { z_max = p_max_z; RS::get_singleton()->canvas_light_set_z_range(canvas_light, z_min, z_max); } + int Light2D::get_z_range_max() const { return z_max; } @@ -205,6 +208,7 @@ void Light2D::set_layer_range_min(int p_min_layer) { layer_min = p_min_layer; RS::get_singleton()->canvas_light_set_layer_range(canvas_light, layer_min, layer_max); } + int Light2D::get_layer_range_min() const { return layer_min; } @@ -213,6 +217,7 @@ void Light2D::set_layer_range_max(int p_max_layer) { layer_max = p_max_layer; RS::get_singleton()->canvas_light_set_layer_range(canvas_light, layer_min, layer_max); } + int Light2D::get_layer_range_max() const { return layer_max; } @@ -248,6 +253,7 @@ void Light2D::set_shadow_enabled(bool p_enabled) { shadow = p_enabled; RS::get_singleton()->canvas_light_set_shadow_enabled(canvas_light, shadow); } + bool Light2D::is_shadow_enabled() const { return shadow; } diff --git a/scene/2d/navigation_region_2d.cpp b/scene/2d/navigation_region_2d.cpp index 29f23050da..1ab414c7ea 100644 --- a/scene/2d/navigation_region_2d.cpp +++ b/scene/2d/navigation_region_2d.cpp @@ -148,10 +148,12 @@ void NavigationPolygon::add_outline_at_index(const Vector<Vector2> &p_outline, i int NavigationPolygon::get_polygon_count() const { return polygons.size(); } + Vector<int> NavigationPolygon::get_polygon(int p_idx) { ERR_FAIL_INDEX_V(p_idx, polygons.size(), Vector<int>()); return polygons[p_idx].indices; } + void NavigationPolygon::clear_polygons() { polygons.clear(); { @@ -216,6 +218,7 @@ void NavigationPolygon::clear_outlines() { outlines.clear(); rect_cache_dirty = true; } + void NavigationPolygon::make_polygons_from_outlines() { { MutexLock lock(navmesh_generation); diff --git a/scene/2d/node_2d.cpp b/scene/2d/node_2d.cpp index b500266620..388d64334d 100644 --- a/scene/2d/node_2d.cpp +++ b/scene/2d/node_2d.cpp @@ -219,6 +219,7 @@ float Node2D::get_rotation_degrees() const { float Node2D::get_skew_degrees() const { return Math::rad2deg(get_skew()); } + Size2 Node2D::get_scale() const { if (_xform_dirty) ((Node2D *)this)->_update_xform_values(); diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp index 23da6ced5b..0225fd55c2 100644 --- a/scene/2d/physics_body_2d.cpp +++ b/scene/2d/physics_body_2d.cpp @@ -102,6 +102,7 @@ void PhysicsBody2D::set_collision_mask_bit(int p_bit, bool p_value) { mask &= ~(1 << p_bit); set_collision_mask(mask); } + bool PhysicsBody2D::get_collision_mask_bit(int p_bit) const { return get_collision_mask() & (1 << p_bit); } @@ -168,6 +169,7 @@ void StaticBody2D::set_constant_angular_velocity(real_t p_vel) { Vector2 StaticBody2D::get_constant_linear_velocity() const { return constant_linear_velocity; } + real_t StaticBody2D::get_constant_angular_velocity() const { return constant_angular_velocity; } @@ -468,6 +470,7 @@ void RigidBody2D::set_mass(real_t p_mass) { _change_notify("weight"); PhysicsServer2D::get_singleton()->body_set_param(get_rid(), PhysicsServer2D::BODY_PARAM_MASS, mass); } + real_t RigidBody2D::get_mass() const { return mass; } @@ -512,6 +515,7 @@ void RigidBody2D::set_gravity_scale(real_t p_gravity_scale) { gravity_scale = p_gravity_scale; PhysicsServer2D::get_singleton()->body_set_param(get_rid(), PhysicsServer2D::BODY_PARAM_GRAVITY_SCALE, gravity_scale); } + real_t RigidBody2D::get_gravity_scale() const { return gravity_scale; } @@ -521,6 +525,7 @@ void RigidBody2D::set_linear_damp(real_t p_linear_damp) { linear_damp = p_linear_damp; PhysicsServer2D::get_singleton()->body_set_param(get_rid(), PhysicsServer2D::BODY_PARAM_LINEAR_DAMP, linear_damp); } + real_t RigidBody2D::get_linear_damp() const { return linear_damp; } @@ -530,6 +535,7 @@ void RigidBody2D::set_angular_damp(real_t p_angular_damp) { angular_damp = p_angular_damp; PhysicsServer2D::get_singleton()->body_set_param(get_rid(), PhysicsServer2D::BODY_PARAM_ANGULAR_DAMP, angular_damp); } + real_t RigidBody2D::get_angular_damp() const { return angular_damp; } @@ -567,6 +573,7 @@ void RigidBody2D::set_angular_velocity(real_t p_velocity) { else PhysicsServer2D::get_singleton()->body_set_state(get_rid(), PhysicsServer2D::BODY_STATE_ANGULAR_VELOCITY, angular_velocity); } + real_t RigidBody2D::get_angular_velocity() const { return angular_velocity; } @@ -578,6 +585,7 @@ void RigidBody2D::set_use_custom_integrator(bool p_enable) { custom_integrator = p_enable; PhysicsServer2D::get_singleton()->body_set_omit_force_integration(get_rid(), p_enable); } + bool RigidBody2D::is_using_custom_integrator() { return custom_integrator; } @@ -1105,9 +1113,11 @@ Vector2 KinematicBody2D::move_and_slide_with_snap(const Vector2 &p_linear_veloci bool KinematicBody2D::is_on_floor() const { return on_floor; } + bool KinematicBody2D::is_on_wall() const { return on_wall; } + bool KinematicBody2D::is_on_ceiling() const { return on_ceiling; } @@ -1217,6 +1227,7 @@ void KinematicBody2D::_notification(int p_what) { set_notify_local_transform(true); } } + void KinematicBody2D::_bind_methods() { ClassDB::bind_method(D_METHOD("move_and_collide", "rel_vec", "infinite_inertia", "exclude_raycast_shapes", "test_only"), &KinematicBody2D::_move, DEFVAL(true), DEFVAL(true), DEFVAL(false)); ClassDB::bind_method(D_METHOD("move_and_slide", "linear_velocity", "up_direction", "stop_on_slope", "max_slides", "floor_max_angle", "infinite_inertia"), &KinematicBody2D::move_and_slide, DEFVAL(Vector2(0, 0)), DEFVAL(false), DEFVAL(4), DEFVAL(Math::deg2rad((float)45)), DEFVAL(true)); @@ -1254,6 +1265,7 @@ KinematicBody2D::KinematicBody2D() : on_wall = false; sync_to_physics = false; } + KinematicBody2D::~KinematicBody2D() { if (motion_cache.is_valid()) { motion_cache->owner = nullptr; @@ -1271,15 +1283,19 @@ KinematicBody2D::~KinematicBody2D() { Vector2 KinematicCollision2D::get_position() const { return collision.collision; } + Vector2 KinematicCollision2D::get_normal() const { return collision.normal; } + Vector2 KinematicCollision2D::get_travel() const { return collision.travel; } + Vector2 KinematicCollision2D::get_remainder() const { return collision.remainder; } + Object *KinematicCollision2D::get_local_shape() const { if (!owner) return nullptr; @@ -1294,9 +1310,11 @@ Object *KinematicCollision2D::get_collider() const { return nullptr; } + ObjectID KinematicCollision2D::get_collider_id() const { return collision.collider; } + Object *KinematicCollision2D::get_collider_shape() const { Object *collider = get_collider(); if (collider) { @@ -1309,12 +1327,15 @@ Object *KinematicCollision2D::get_collider_shape() const { return nullptr; } + int KinematicCollision2D::get_collider_shape_index() const { return collision.collider_shape; } + Vector2 KinematicCollision2D::get_collider_velocity() const { return collision.collider_vel; } + Variant KinematicCollision2D::get_collider_metadata() const { return Variant(); } diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp index c05bbb3cd4..b4e3b9bc40 100644 --- a/scene/2d/polygon_2d.cpp +++ b/scene/2d/polygon_2d.cpp @@ -379,6 +379,7 @@ void Polygon2D::set_color(const Color &p_color) { color = p_color; update(); } + Color Polygon2D::get_color() const { return color; } @@ -387,6 +388,7 @@ void Polygon2D::set_vertex_colors(const Vector<Color> &p_colors) { vertex_colors = p_colors; update(); } + Vector<Color> Polygon2D::get_vertex_colors() const { return vertex_colors; } @@ -404,6 +406,7 @@ void Polygon2D::set_texture(const Ref<Texture2D> &p_texture) { }*/ update(); } + Ref<Texture2D> Polygon2D::get_texture() const { return texture; } @@ -448,6 +451,7 @@ void Polygon2D::set_texture_offset(const Vector2 &p_offset) { tex_ofs = p_offset; update(); } + Vector2 Polygon2D::get_texture_offset() const { return tex_ofs; } @@ -456,6 +460,7 @@ void Polygon2D::set_texture_rotation(float p_rot) { tex_rot = p_rot; update(); } + float Polygon2D::get_texture_rotation() const { return tex_rot; } @@ -463,6 +468,7 @@ float Polygon2D::get_texture_rotation() const { void Polygon2D::set_texture_rotation_degrees(float p_rot) { set_texture_rotation(Math::deg2rad(p_rot)); } + float Polygon2D::get_texture_rotation_degrees() const { return Math::rad2deg(get_texture_rotation()); } @@ -471,6 +477,7 @@ void Polygon2D::set_texture_scale(const Size2 &p_scale) { tex_scale = p_scale; update(); } + Size2 Polygon2D::get_texture_scale() const { return tex_scale; } @@ -479,6 +486,7 @@ void Polygon2D::set_invert(bool p_invert) { invert = p_invert; update(); } + bool Polygon2D::get_invert() const { return invert; } @@ -487,6 +495,7 @@ void Polygon2D::set_antialiased(bool p_antialiased) { antialiased = p_antialiased; update(); } + bool Polygon2D::get_antialiased() const { return antialiased; } @@ -495,6 +504,7 @@ void Polygon2D::set_invert_border(float p_invert_border) { invert_border = p_invert_border; update(); } + float Polygon2D::get_invert_border() const { return invert_border; } @@ -516,17 +526,21 @@ void Polygon2D::add_bone(const NodePath &p_path, const Vector<float> &p_weights) bone.weights = p_weights; bone_weights.push_back(bone); } + int Polygon2D::get_bone_count() const { return bone_weights.size(); } + NodePath Polygon2D::get_bone_path(int p_index) const { ERR_FAIL_INDEX_V(p_index, bone_weights.size(), NodePath()); return bone_weights[p_index].path; } + Vector<float> Polygon2D::get_bone_weights(int p_index) const { ERR_FAIL_INDEX_V(p_index, bone_weights.size(), Vector<float>()); return bone_weights[p_index].weights; } + void Polygon2D::erase_bone(int p_idx) { ERR_FAIL_INDEX(p_idx, bone_weights.size()); bone_weights.remove(p_idx); @@ -541,6 +555,7 @@ void Polygon2D::set_bone_weights(int p_index, const Vector<float> &p_weights) { bone_weights.write[p_index].weights = p_weights; update(); } + void Polygon2D::set_bone_path(int p_index, const NodePath &p_path) { ERR_FAIL_INDEX(p_index, bone_weights.size()); bone_weights.write[p_index].path = p_path; @@ -555,6 +570,7 @@ Array Polygon2D::_get_bones() const { } return bones; } + void Polygon2D::_set_bones(const Array &p_bones) { ERR_FAIL_COND(p_bones.size() & 1); clear_bones(); diff --git a/scene/2d/ray_cast_2d.cpp b/scene/2d/ray_cast_2d.cpp index 707b6da67d..50d437f78b 100644 --- a/scene/2d/ray_cast_2d.cpp +++ b/scene/2d/ray_cast_2d.cpp @@ -69,6 +69,7 @@ bool RayCast2D::get_collision_mask_bit(int p_bit) const { bool RayCast2D::is_colliding() const { return collided; } + Object *RayCast2D::get_collider() const { if (against.is_null()) return nullptr; @@ -79,9 +80,11 @@ Object *RayCast2D::get_collider() const { int RayCast2D::get_collider_shape() const { return against_shape; } + Vector2 RayCast2D::get_collision_point() const { return collision_point; } + Vector2 RayCast2D::get_collision_normal() const { return collision_normal; } diff --git a/scene/2d/skeleton_2d.cpp b/scene/2d/skeleton_2d.cpp index e21f7ff836..2c041f7449 100644 --- a/scene/2d/skeleton_2d.cpp +++ b/scene/2d/skeleton_2d.cpp @@ -77,6 +77,7 @@ void Bone2D::_notification(int p_what) { parent_bone = nullptr; } } + void Bone2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_rest", "rest"), &Bone2D::set_rest); ClassDB::bind_method(D_METHOD("get_rest"), &Bone2D::get_rest); @@ -128,6 +129,7 @@ int Bone2D::get_index_in_skeleton() const { skeleton->_update_bone_setup(); return skeleton_index; } + String Bone2D::get_configuration_warning() const { String warning = Node2D::get_configuration_warning(); if (!skeleton) { @@ -268,6 +270,7 @@ void Skeleton2D::_notification(int p_what) { RID Skeleton2D::get_skeleton() const { return skeleton; } + void Skeleton2D::_bind_methods() { ClassDB::bind_method(D_METHOD("_update_bone_setup"), &Skeleton2D::_update_bone_setup); ClassDB::bind_method(D_METHOD("_update_transform"), &Skeleton2D::_update_transform); diff --git a/scene/2d/sprite_2d.cpp b/scene/2d/sprite_2d.cpp index 4df66057f0..ce350f167e 100644 --- a/scene/2d/sprite_2d.cpp +++ b/scene/2d/sprite_2d.cpp @@ -206,6 +206,7 @@ void Sprite2D::set_offset(const Point2 &p_offset) { item_rect_changed(); _change_notify("offset"); } + Point2 Sprite2D::get_offset() const { return offset; } @@ -214,6 +215,7 @@ void Sprite2D::set_flip_h(bool p_flip) { hflip = p_flip; update(); } + bool Sprite2D::is_flipped_h() const { return hflip; } @@ -222,6 +224,7 @@ void Sprite2D::set_flip_v(bool p_flip) { vflip = p_flip; update(); } + bool Sprite2D::is_flipped_v() const { return vflip; } @@ -298,6 +301,7 @@ void Sprite2D::set_vframes(int p_amount) { item_rect_changed(); _change_notify(); } + int Sprite2D::get_vframes() const { return vframes; } @@ -309,6 +313,7 @@ void Sprite2D::set_hframes(int p_amount) { item_rect_changed(); _change_notify(); } + int Sprite2D::get_hframes() const { return hframes; } diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index fa66a2af22..7af3acd83e 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -1014,6 +1014,7 @@ int TileMap::get_cell(int p_x, int p_y) const { return E->get().id; } + bool TileMap::is_cell_x_flipped(int p_x, int p_y) const { PosKey pk(p_x, p_y); @@ -1024,6 +1025,7 @@ bool TileMap::is_cell_x_flipped(int p_x, int p_y) const { return E->get().flip_h; } + bool TileMap::is_cell_y_flipped(int p_x, int p_y) const { PosKey pk(p_x, p_y); @@ -1034,6 +1036,7 @@ bool TileMap::is_cell_y_flipped(int p_x, int p_y) const { return E->get().flip_v; } + bool TileMap::is_cell_transposed(int p_x, int p_y) const { PosKey pk(p_x, p_y); @@ -1311,6 +1314,7 @@ void TileMap::set_collision_bounce(float p_bounce) { } } } + float TileMap::get_collision_bounce() const { return bounce; } diff --git a/scene/2d/visibility_notifier_2d.cpp b/scene/2d/visibility_notifier_2d.cpp index 6b03d86e8b..1f250bbdf6 100644 --- a/scene/2d/visibility_notifier_2d.cpp +++ b/scene/2d/visibility_notifier_2d.cpp @@ -333,6 +333,7 @@ void VisibilityEnabler2D::set_enabler(Enabler p_enabler, bool p_enable) { ERR_FAIL_INDEX(p_enabler, ENABLER_MAX); enabler[p_enabler] = p_enable; } + bool VisibilityEnabler2D::is_enabler_enabled(Enabler p_enabler) const { ERR_FAIL_INDEX_V(p_enabler, ENABLER_MAX, false); return enabler[p_enabler]; diff --git a/scene/3d/area_3d.cpp b/scene/3d/area_3d.cpp index 4592b12bf8..3b5b6c0dd6 100644 --- a/scene/3d/area_3d.cpp +++ b/scene/3d/area_3d.cpp @@ -38,6 +38,7 @@ void Area3D::set_space_override_mode(SpaceOverride p_mode) { space_override = p_mode; PhysicsServer3D::get_singleton()->area_set_space_override_mode(get_rid(), PhysicsServer3D::AreaSpaceOverrideMode(p_mode)); } + Area3D::SpaceOverride Area3D::get_space_override_mode() const { return space_override; } @@ -46,6 +47,7 @@ void Area3D::set_gravity_is_point(bool p_enabled) { gravity_is_point = p_enabled; PhysicsServer3D::get_singleton()->area_set_param(get_rid(), PhysicsServer3D::AREA_PARAM_GRAVITY_IS_POINT, p_enabled); } + bool Area3D::is_gravity_a_point() const { return gravity_is_point; } @@ -63,6 +65,7 @@ void Area3D::set_gravity_vector(const Vector3 &p_vec) { gravity_vec = p_vec; PhysicsServer3D::get_singleton()->area_set_param(get_rid(), PhysicsServer3D::AREA_PARAM_GRAVITY_VECTOR, p_vec); } + Vector3 Area3D::get_gravity_vector() const { return gravity_vec; } @@ -71,13 +74,16 @@ void Area3D::set_gravity(real_t p_gravity) { gravity = p_gravity; PhysicsServer3D::get_singleton()->area_set_param(get_rid(), PhysicsServer3D::AREA_PARAM_GRAVITY, p_gravity); } + real_t Area3D::get_gravity() const { return gravity; } + void Area3D::set_linear_damp(real_t p_linear_damp) { linear_damp = p_linear_damp; PhysicsServer3D::get_singleton()->area_set_param(get_rid(), PhysicsServer3D::AREA_PARAM_LINEAR_DAMP, p_linear_damp); } + real_t Area3D::get_linear_damp() const { return linear_damp; } @@ -95,6 +101,7 @@ void Area3D::set_priority(real_t p_priority) { priority = p_priority; PhysicsServer3D::get_singleton()->area_set_param(get_rid(), PhysicsServer3D::AREA_PARAM_PRIORITY, p_priority); } + real_t Area3D::get_priority() const { return priority; } @@ -251,6 +258,7 @@ void Area3D::_clear_monitoring() { } } } + void Area3D::_notification(int p_what) { if (p_what == NOTIFICATION_EXIT_TREE) { _clear_monitoring(); @@ -439,6 +447,7 @@ bool Area3D::overlaps_body(Node *p_body) const { return false; return E->get().in_tree; } + void Area3D::set_collision_mask(uint32_t p_mask) { collision_mask = p_mask; PhysicsServer3D::get_singleton()->area_set_collision_mask(get_rid(), p_mask); @@ -447,6 +456,7 @@ void Area3D::set_collision_mask(uint32_t p_mask) { uint32_t Area3D::get_collision_mask() const { return collision_mask; } + void Area3D::set_collision_layer(uint32_t p_layer) { collision_layer = p_layer; PhysicsServer3D::get_singleton()->area_set_collision_layer(get_rid(), p_layer); @@ -493,6 +503,7 @@ bool Area3D::is_overriding_audio_bus() const { void Area3D::set_audio_bus(const StringName &p_audio_bus) { audio_bus = p_audio_bus; } + StringName Area3D::get_audio_bus() const { for (int i = 0; i < AudioServer::get_singleton()->get_bus_count(); i++) { if (AudioServer::get_singleton()->get_bus_name(i) == audio_bus) { @@ -505,6 +516,7 @@ StringName Area3D::get_audio_bus() const { void Area3D::set_use_reverb_bus(bool p_enable) { use_reverb_bus = p_enable; } + bool Area3D::is_using_reverb_bus() const { return use_reverb_bus; } @@ -512,6 +524,7 @@ bool Area3D::is_using_reverb_bus() const { void Area3D::set_reverb_bus(const StringName &p_audio_bus) { reverb_bus = p_audio_bus; } + StringName Area3D::get_reverb_bus() const { for (int i = 0; i < AudioServer::get_singleton()->get_bus_count(); i++) { if (AudioServer::get_singleton()->get_bus_name(i) == reverb_bus) { @@ -524,6 +537,7 @@ StringName Area3D::get_reverb_bus() const { void Area3D::set_reverb_amount(float p_amount) { reverb_amount = p_amount; } + float Area3D::get_reverb_amount() const { return reverb_amount; } @@ -531,6 +545,7 @@ float Area3D::get_reverb_amount() const { void Area3D::set_reverb_uniformity(float p_uniformity) { reverb_uniformity = p_uniformity; } + float Area3D::get_reverb_uniformity() const { return reverb_uniformity; } diff --git a/scene/3d/audio_stream_player_3d.cpp b/scene/3d/audio_stream_player_3d.cpp index 83cf5b0142..4f37087d7e 100644 --- a/scene/3d/audio_stream_player_3d.cpp +++ b/scene/3d/audio_stream_player_3d.cpp @@ -645,6 +645,7 @@ Ref<AudioStream> AudioStreamPlayer3D::get_stream() const { void AudioStreamPlayer3D::set_unit_db(float p_volume) { unit_db = p_volume; } + float AudioStreamPlayer3D::get_unit_db() const { return unit_db; } @@ -652,6 +653,7 @@ float AudioStreamPlayer3D::get_unit_db() const { void AudioStreamPlayer3D::set_unit_size(float p_volume) { unit_size = p_volume; } + float AudioStreamPlayer3D::get_unit_size() const { return unit_size; } @@ -659,6 +661,7 @@ float AudioStreamPlayer3D::get_unit_size() const { void AudioStreamPlayer3D::set_max_db(float p_boost) { max_db = p_boost; } + float AudioStreamPlayer3D::get_max_db() const { return max_db; } @@ -667,6 +670,7 @@ void AudioStreamPlayer3D::set_pitch_scale(float p_pitch_scale) { ERR_FAIL_COND(p_pitch_scale <= 0.0); pitch_scale = p_pitch_scale; } + float AudioStreamPlayer3D::get_pitch_scale() const { return pitch_scale; } @@ -721,6 +725,7 @@ void AudioStreamPlayer3D::set_bus(const StringName &p_bus) { bus = p_bus; AudioServer::get_singleton()->unlock(); } + StringName AudioStreamPlayer3D::get_bus() const { for (int i = 0; i < AudioServer::get_singleton()->get_bus_count(); i++) { if (AudioServer::get_singleton()->get_bus_name(i) == bus) { @@ -733,6 +738,7 @@ StringName AudioStreamPlayer3D::get_bus() const { void AudioStreamPlayer3D::set_autoplay(bool p_enable) { autoplay = p_enable; } + bool AudioStreamPlayer3D::is_autoplay_enabled() { return autoplay; } @@ -743,6 +749,7 @@ void AudioStreamPlayer3D::_set_playing(bool p_enable) { else stop(); } + bool AudioStreamPlayer3D::_is_active() const { return active; } @@ -813,6 +820,7 @@ float AudioStreamPlayer3D::get_emission_angle_filter_attenuation_db() const { void AudioStreamPlayer3D::set_attenuation_filter_cutoff_hz(float p_hz) { attenuation_filter_cutoff_hz = p_hz; } + float AudioStreamPlayer3D::get_attenuation_filter_cutoff_hz() const { return attenuation_filter_cutoff_hz; } @@ -820,6 +828,7 @@ float AudioStreamPlayer3D::get_attenuation_filter_cutoff_hz() const { void AudioStreamPlayer3D::set_attenuation_filter_db(float p_db) { attenuation_filter_db = p_db; } + float AudioStreamPlayer3D::get_attenuation_filter_db() const { return attenuation_filter_db; } @@ -1014,5 +1023,6 @@ AudioStreamPlayer3D::AudioStreamPlayer3D() { AudioServer::get_singleton()->connect("bus_layout_changed", callable_mp(this, &AudioStreamPlayer3D::_bus_layout_changed)); set_disable_scale(true); } + AudioStreamPlayer3D::~AudioStreamPlayer3D() { } diff --git a/scene/3d/baked_lightmap.cpp b/scene/3d/baked_lightmap.cpp index 8838295e93..33db919d49 100644 --- a/scene/3d/baked_lightmap.cpp +++ b/scene/3d/baked_lightmap.cpp @@ -52,6 +52,7 @@ void BakedLightmapData::add_user(const NodePath &p_path, const Rect2 &p_uv_scale int BakedLightmapData::get_user_count() const { return users.size(); } + NodePath BakedLightmapData::get_user_path(int p_user) const { ERR_FAIL_INDEX_V(p_user, users.size(), NodePath()); return users[p_user].path; @@ -142,9 +143,11 @@ void BakedLightmapData::set_capture_data(const AABB &p_bounds, bool p_interior, PackedVector3Array BakedLightmapData::get_capture_points() const { return RS::get_singleton()->lightmap_get_probe_capture_points(lightmap); } + PackedColorArray BakedLightmapData::get_capture_sh() const { return RS::get_singleton()->lightmap_get_probe_capture_sh(lightmap); } + PackedInt32Array BakedLightmapData::get_capture_tetrahedra() const { return RS::get_singleton()->lightmap_get_probe_capture_tetrahedra(lightmap); } @@ -181,6 +184,7 @@ Dictionary BakedLightmapData::_get_probe_data() const { d["interior"] = is_interior(); return d; } + void BakedLightmapData::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_user_data", "data"), &BakedLightmapData::_set_user_data); ClassDB::bind_method(D_METHOD("_get_user_data"), &BakedLightmapData::_get_user_data); @@ -569,6 +573,7 @@ void BakedLightmap::_plot_triangle_into_octree(GenProbesOctree *p_cell, float p_ } } } + void BakedLightmap::_gen_new_positions_from_octree(const GenProbesOctree *p_cell, float p_cell_size, const Vector<Vector3> &probe_positions, LocalVector<Vector3> &new_probe_positions, HashMap<Vector3i, bool, Vector3iHash> &positions_used, const AABB &p_bounds) { for (int i = 0; i < 8; i++) { Vector3i pos = p_cell->offset; @@ -608,6 +613,7 @@ void BakedLightmap::_gen_new_positions_from_octree(const GenProbesOctree *p_cell } } } + BakedLightmap::BakeError BakedLightmap::bake(Node *p_from_node, String p_image_data_path, Lightmapper::BakeStepFunc p_bake_step, void *p_bake_userdata) { if (p_image_data_path == "" && (get_light_data().is_null() || !get_light_data()->get_path().is_resource_file())) { return BAKE_ERROR_NO_SAVE_PATH; @@ -1262,6 +1268,7 @@ BakedLightmap::BakeQuality BakedLightmap::get_bake_quality() const { AABB BakedLightmap::get_aabb() const { return AABB(); } + Vector<Face3> BakedLightmap::get_faces(uint32_t p_usage_flags) const { return Vector<Face3>(); } @@ -1285,6 +1292,7 @@ bool BakedLightmap::is_directional() const { void BakedLightmap::set_interior(bool p_enable) { interior = p_enable; } + bool BakedLightmap::is_interior() const { return interior; } @@ -1309,6 +1317,7 @@ Ref<Sky> BakedLightmap::get_environment_custom_sky() const { void BakedLightmap::set_environment_custom_color(const Color &p_color) { environment_custom_color = p_color; } + Color BakedLightmap::get_environment_custom_color() const { return environment_custom_color; } @@ -1316,6 +1325,7 @@ Color BakedLightmap::get_environment_custom_color() const { void BakedLightmap::set_environment_custom_energy(float p_energy) { environment_custom_energy = p_energy; } + float BakedLightmap::get_environment_custom_energy() const { return environment_custom_energy; } diff --git a/scene/3d/camera_3d.cpp b/scene/3d/camera_3d.cpp index 0f7aa28bf3..99d3b68996 100644 --- a/scene/3d/camera_3d.cpp +++ b/scene/3d/camera_3d.cpp @@ -166,6 +166,7 @@ void Camera3D::set_perspective(float p_fovy_degrees, float p_z_near, float p_z_f update_gizmo(); force_change = false; } + void Camera3D::set_orthogonal(float p_size, float p_z_near, float p_z_far) { if (!force_change && size == p_size && p_z_near == near && p_z_far == far && mode == PROJECTION_ORTHOGONAL) return; @@ -632,6 +633,7 @@ Vector3 Camera3D::get_doppler_tracked_velocity() const { return Vector3(); } } + Camera3D::Camera3D() { camera = RenderingServer::get_singleton()->camera_create(); size = 1; @@ -665,9 +667,11 @@ Camera3D::~Camera3D() { void ClippedCamera3D::set_margin(float p_margin) { margin = p_margin; } + float ClippedCamera3D::get_margin() const { return margin; } + void ClippedCamera3D::set_process_mode(ProcessMode p_mode) { if (process_mode == p_mode) { return; @@ -676,6 +680,7 @@ void ClippedCamera3D::set_process_mode(ProcessMode p_mode) { set_process_internal(process_mode == CLIP_PROCESS_IDLE); set_physics_process_internal(process_mode == CLIP_PROCESS_PHYSICS); } + ClippedCamera3D::ProcessMode ClippedCamera3D::get_process_mode() const { return process_mode; } @@ -855,6 +860,7 @@ void ClippedCamera3D::_bind_methods() { BIND_ENUM_CONSTANT(CLIP_PROCESS_PHYSICS); BIND_ENUM_CONSTANT(CLIP_PROCESS_IDLE); } + ClippedCamera3D::ClippedCamera3D() { margin = 0; clip_offset = 0; @@ -867,6 +873,7 @@ ClippedCamera3D::ClippedCamera3D() { clip_to_areas = false; clip_to_bodies = true; } + ClippedCamera3D::~ClippedCamera3D() { PhysicsServer3D::get_singleton()->free(pyramid_shape); } diff --git a/scene/3d/collision_object_3d.cpp b/scene/3d/collision_object_3d.cpp index 9aaa182a13..f1ca3770e0 100644 --- a/scene/3d/collision_object_3d.cpp +++ b/scene/3d/collision_object_3d.cpp @@ -218,6 +218,7 @@ void CollisionObject3D::shape_owner_set_transform(uint32_t p_owner, const Transf } } } + Transform CollisionObject3D::shape_owner_get_transform(uint32_t p_owner) const { ERR_FAIL_COND_V(!shapes.has(p_owner), Transform()); @@ -247,17 +248,20 @@ void CollisionObject3D::shape_owner_add_shape(uint32_t p_owner, const Ref<Shape3 total_subshapes++; } + int CollisionObject3D::shape_owner_get_shape_count(uint32_t p_owner) const { ERR_FAIL_COND_V(!shapes.has(p_owner), 0); return shapes[p_owner].shapes.size(); } + Ref<Shape3D> CollisionObject3D::shape_owner_get_shape(uint32_t p_owner, int p_shape) const { ERR_FAIL_COND_V(!shapes.has(p_owner), Ref<Shape3D>()); ERR_FAIL_INDEX_V(p_shape, shapes[p_owner].shapes.size(), Ref<Shape3D>()); return shapes[p_owner].shapes[p_shape].shape; } + int CollisionObject3D::shape_owner_get_shape_index(uint32_t p_owner, int p_shape) const { ERR_FAIL_COND_V(!shapes.has(p_owner), -1); ERR_FAIL_INDEX_V(p_shape, shapes[p_owner].shapes.size(), -1); diff --git a/scene/3d/collision_polygon_3d.cpp b/scene/3d/collision_polygon_3d.cpp index bf123fa417..4a87ce0def 100644 --- a/scene/3d/collision_polygon_3d.cpp +++ b/scene/3d/collision_polygon_3d.cpp @@ -165,6 +165,7 @@ String CollisionPolygon3D::get_configuration_warning() const { bool CollisionPolygon3D::_is_editable_3d_polygon() const { return true; } + void CollisionPolygon3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_depth", "depth"), &CollisionPolygon3D::set_depth); ClassDB::bind_method(D_METHOD("get_depth"), &CollisionPolygon3D::get_depth); diff --git a/scene/3d/cpu_particles_3d.cpp b/scene/3d/cpu_particles_3d.cpp index 631ab4e0f7..cd80607692 100644 --- a/scene/3d/cpu_particles_3d.cpp +++ b/scene/3d/cpu_particles_3d.cpp @@ -38,6 +38,7 @@ AABB CPUParticles3D::get_aabb() const { return AABB(); } + Vector<Face3> CPUParticles3D::get_faces(uint32_t p_usage_flags) const { return Vector<Face3>(); } @@ -74,6 +75,7 @@ void CPUParticles3D::set_amount(int p_amount) { particle_order.resize(p_amount); } + void CPUParticles3D::set_lifetime(float p_lifetime) { ERR_FAIL_COND_MSG(p_lifetime <= 0, "Particles lifetime must be greater than 0."); lifetime = p_lifetime; @@ -86,18 +88,23 @@ void CPUParticles3D::set_one_shot(bool p_one_shot) { void CPUParticles3D::set_pre_process_time(float p_time) { pre_process_time = p_time; } + void CPUParticles3D::set_explosiveness_ratio(float p_ratio) { explosiveness_ratio = p_ratio; } + void CPUParticles3D::set_randomness_ratio(float p_ratio) { randomness_ratio = p_ratio; } + void CPUParticles3D::set_lifetime_randomness(float p_random) { lifetime_randomness = p_random; } + void CPUParticles3D::set_use_local_coordinates(bool p_enable) { local_coords = p_enable; } + void CPUParticles3D::set_speed_scale(float p_scale) { speed_scale = p_scale; } @@ -105,12 +112,15 @@ void CPUParticles3D::set_speed_scale(float p_scale) { bool CPUParticles3D::is_emitting() const { return emitting; } + int CPUParticles3D::get_amount() const { return particles.size(); } + float CPUParticles3D::get_lifetime() const { return lifetime; } + bool CPUParticles3D::get_one_shot() const { return one_shot; } @@ -118,12 +128,15 @@ bool CPUParticles3D::get_one_shot() const { float CPUParticles3D::get_pre_process_time() const { return pre_process_time; } + float CPUParticles3D::get_explosiveness_ratio() const { return explosiveness_ratio; } + float CPUParticles3D::get_randomness_ratio() const { return randomness_ratio; } + float CPUParticles3D::get_lifetime_randomness() const { return lifetime_randomness; } @@ -246,6 +259,7 @@ float CPUParticles3D::get_spread() const { void CPUParticles3D::set_flatness(float p_flatness) { flatness = p_flatness; } + float CPUParticles3D::get_flatness() const { return flatness; } @@ -255,6 +269,7 @@ void CPUParticles3D::set_param(Parameter p_param, float p_value) { parameters[p_param] = p_value; } + float CPUParticles3D::get_param(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); @@ -266,6 +281,7 @@ void CPUParticles3D::set_param_randomness(Parameter p_param, float p_value) { randomness[p_param] = p_value; } + float CPUParticles3D::get_param_randomness(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); @@ -324,6 +340,7 @@ void CPUParticles3D::set_param_curve(Parameter p_param, const Ref<Curve> &p_curv } } } + Ref<Curve> CPUParticles3D::get_param_curve(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, Ref<Curve>()); @@ -387,12 +404,15 @@ void CPUParticles3D::set_emission_colors(const Vector<Color> &p_colors) { float CPUParticles3D::get_emission_sphere_radius() const { return emission_sphere_radius; } + Vector3 CPUParticles3D::get_emission_box_extents() const { return emission_box_extents; } + Vector<Vector3> CPUParticles3D::get_emission_points() const { return emission_points; } + Vector<Vector3> CPUParticles3D::get_emission_normals() const { return emission_normals; } @@ -404,6 +424,7 @@ Vector<Color> CPUParticles3D::get_emission_colors() const { CPUParticles3D::EmissionShape CPUParticles3D::get_emission_shape() const { return emission_shape; } + void CPUParticles3D::set_gravity(const Vector3 &p_gravity) { gravity = p_gravity; } diff --git a/scene/3d/decal.cpp b/scene/3d/decal.cpp index b97859f44a..fb72e10171 100644 --- a/scene/3d/decal.cpp +++ b/scene/3d/decal.cpp @@ -47,6 +47,7 @@ void Decal::set_texture(DecalTexture p_type, const Ref<Texture2D> &p_texture) { RID texture_rid = p_texture.is_valid() ? p_texture->get_rid() : RID(); RS::get_singleton()->decal_set_texture(decal, RS::DecalTexture(p_type), texture_rid); } + Ref<Texture2D> Decal::get_texture(DecalTexture p_type) const { ERR_FAIL_INDEX_V(p_type, TEXTURE_MAX, Ref<Texture2D>()); return textures[p_type]; @@ -56,6 +57,7 @@ void Decal::set_emission_energy(float p_energy) { emission_energy = p_energy; RS::get_singleton()->decal_set_emission_energy(decal, emission_energy); } + float Decal::get_emission_energy() const { return emission_energy; } @@ -64,6 +66,7 @@ void Decal::set_albedo_mix(float p_mix) { albedo_mix = p_mix; RS::get_singleton()->decal_set_albedo_mix(decal, albedo_mix); } + float Decal::get_albedo_mix() const { return albedo_mix; } @@ -72,6 +75,7 @@ void Decal::set_upper_fade(float p_fade) { upper_fade = p_fade; RS::get_singleton()->decal_set_fade(decal, upper_fade, lower_fade); } + float Decal::get_upper_fade() const { return upper_fade; } @@ -80,6 +84,7 @@ void Decal::set_lower_fade(float p_fade) { lower_fade = p_fade; RS::get_singleton()->decal_set_fade(decal, upper_fade, lower_fade); } + float Decal::get_lower_fade() const { return lower_fade; } @@ -88,6 +93,7 @@ void Decal::set_normal_fade(float p_fade) { normal_fade = p_fade; RS::get_singleton()->decal_set_normal_fade(decal, normal_fade); } + float Decal::get_normal_fade() const { return normal_fade; } @@ -105,6 +111,7 @@ void Decal::set_enable_distance_fade(bool p_enable) { distance_fade_enabled = p_enable; RS::get_singleton()->decal_set_distance_fade(decal, distance_fade_enabled, distance_fade_begin, distance_fade_length); } + bool Decal::is_distance_fade_enabled() const { return distance_fade_enabled; } @@ -113,6 +120,7 @@ void Decal::set_distance_fade_begin(float p_distance) { distance_fade_begin = p_distance; RS::get_singleton()->decal_set_distance_fade(decal, distance_fade_enabled, distance_fade_begin, distance_fade_length); } + float Decal::get_distance_fade_begin() const { return distance_fade_begin; } @@ -121,6 +129,7 @@ void Decal::set_distance_fade_length(float p_length) { distance_fade_length = p_length; RS::get_singleton()->decal_set_distance_fade(decal, distance_fade_enabled, distance_fade_begin, distance_fade_length); } + float Decal::get_distance_fade_length() const { return distance_fade_length; } @@ -129,6 +138,7 @@ void Decal::set_cull_mask(uint32_t p_layers) { cull_mask = p_layers; RS::get_singleton()->decal_set_cull_mask(decal, cull_mask); } + uint32_t Decal::get_cull_mask() const { return cull_mask; } @@ -139,6 +149,7 @@ AABB Decal::get_aabb() const { aabb.size = extents * 2.0; return aabb; } + Vector<Face3> Decal::get_faces(uint32_t p_usage_flags) const { return Vector<Face3>(); } diff --git a/scene/3d/gi_probe.cpp b/scene/3d/gi_probe.cpp index 0ba1b3d984..97040f55ef 100644 --- a/scene/3d/gi_probe.cpp +++ b/scene/3d/gi_probe.cpp @@ -101,15 +101,19 @@ void GIProbeData::allocate(const Transform &p_to_cell_xform, const AABB &p_aabb, AABB GIProbeData::get_bounds() const { return bounds; } + Vector3 GIProbeData::get_octree_size() const { return octree_size; } + Vector<uint8_t> GIProbeData::get_octree_cells() const { return RS::get_singleton()->gi_probe_get_octree_cells(probe); } + Vector<uint8_t> GIProbeData::get_data_cells() const { return RS::get_singleton()->gi_probe_get_data_cells(probe); } + Vector<uint8_t> GIProbeData::get_distance_field() const { return RS::get_singleton()->gi_probe_get_distance_field(probe); } @@ -117,6 +121,7 @@ Vector<uint8_t> GIProbeData::get_distance_field() const { Vector<int> GIProbeData::get_level_counts() const { return RS::get_singleton()->gi_probe_get_level_counts(probe); } + Transform GIProbeData::get_to_cell_xform() const { return to_cell_xform; } @@ -417,6 +422,7 @@ Vector3i GIProbe::get_estimated_cell_size() const { return Vector3i(axis_cell_size[0], axis_cell_size[1], axis_cell_size[2]); } + void GIProbe::bake(Node *p_from_node, bool p_create_visual_debug) { static const int subdiv_value[SUBDIV_MAX] = { 6, 7, 8, 9 }; diff --git a/scene/3d/gpu_particles_3d.cpp b/scene/3d/gpu_particles_3d.cpp index 1ce25f1e6e..a87b57bd4d 100644 --- a/scene/3d/gpu_particles_3d.cpp +++ b/scene/3d/gpu_particles_3d.cpp @@ -38,6 +38,7 @@ AABB GPUParticles3D::get_aabb() const { return AABB(); } + Vector<Face3> GPUParticles3D::get_faces(uint32_t p_usage_flags) const { return Vector<Face3>(); } @@ -57,6 +58,7 @@ void GPUParticles3D::set_amount(int p_amount) { amount = p_amount; RS::get_singleton()->particles_set_amount(particles, amount); } + void GPUParticles3D::set_lifetime(float p_lifetime) { ERR_FAIL_COND_MSG(p_lifetime <= 0, "Particles lifetime must be greater than 0."); lifetime = p_lifetime; @@ -81,24 +83,29 @@ void GPUParticles3D::set_pre_process_time(float p_time) { pre_process_time = p_time; RS::get_singleton()->particles_set_pre_process_time(particles, pre_process_time); } + void GPUParticles3D::set_explosiveness_ratio(float p_ratio) { explosiveness_ratio = p_ratio; RS::get_singleton()->particles_set_explosiveness_ratio(particles, explosiveness_ratio); } + void GPUParticles3D::set_randomness_ratio(float p_ratio) { randomness_ratio = p_ratio; RS::get_singleton()->particles_set_randomness_ratio(particles, randomness_ratio); } + void GPUParticles3D::set_visibility_aabb(const AABB &p_aabb) { visibility_aabb = p_aabb; RS::get_singleton()->particles_set_custom_aabb(particles, visibility_aabb); update_gizmo(); _change_notify("visibility_aabb"); } + void GPUParticles3D::set_use_local_coordinates(bool p_enable) { local_coords = p_enable; RS::get_singleton()->particles_set_use_local_coordinates(particles, local_coords); } + void GPUParticles3D::set_process_material(const Ref<Material> &p_material) { process_material = p_material; RID material_rid; @@ -117,12 +124,15 @@ void GPUParticles3D::set_speed_scale(float p_scale) { bool GPUParticles3D::is_emitting() const { return RS::get_singleton()->particles_get_emitting(particles); } + int GPUParticles3D::get_amount() const { return amount; } + float GPUParticles3D::get_lifetime() const { return lifetime; } + bool GPUParticles3D::get_one_shot() const { return one_shot; } @@ -130,18 +140,23 @@ bool GPUParticles3D::get_one_shot() const { float GPUParticles3D::get_pre_process_time() const { return pre_process_time; } + float GPUParticles3D::get_explosiveness_ratio() const { return explosiveness_ratio; } + float GPUParticles3D::get_randomness_ratio() const { return randomness_ratio; } + AABB GPUParticles3D::get_visibility_aabb() const { return visibility_aabb; } + bool GPUParticles3D::get_use_local_coordinates() const { return local_coords; } + Ref<Material> GPUParticles3D::get_process_material() const { return process_material; } @@ -165,6 +180,7 @@ void GPUParticles3D::set_draw_passes(int p_count) { RS::get_singleton()->particles_set_draw_passes(particles, p_count); _change_notify(); } + int GPUParticles3D::get_draw_passes() const { return draw_passes.size(); } diff --git a/scene/3d/immediate_geometry_3d.cpp b/scene/3d/immediate_geometry_3d.cpp index 0d0ce1505f..7f90176271 100644 --- a/scene/3d/immediate_geometry_3d.cpp +++ b/scene/3d/immediate_geometry_3d.cpp @@ -80,6 +80,7 @@ void ImmediateGeometry3D::clear() { AABB ImmediateGeometry3D::get_aabb() const { return aabb; } + Vector<Face3> ImmediateGeometry3D::get_faces(uint32_t p_usage_flags) const { return Vector<Face3>(); } diff --git a/scene/3d/light_3d.cpp b/scene/3d/light_3d.cpp index 1fa50b6872..e1ac562e94 100644 --- a/scene/3d/light_3d.cpp +++ b/scene/3d/light_3d.cpp @@ -70,6 +70,7 @@ void Light3D::set_shadow(bool p_enable) { update_configuration_warning(); } } + bool Light3D::has_shadow() const { return shadow; } @@ -78,6 +79,7 @@ void Light3D::set_negative(bool p_enable) { negative = p_enable; RS::get_singleton()->light_set_negative(light, p_enable); } + bool Light3D::is_negative() const { return negative; } @@ -86,6 +88,7 @@ void Light3D::set_cull_mask(uint32_t p_cull_mask) { cull_mask = p_cull_mask; RS::get_singleton()->light_set_cull_mask(light, p_cull_mask); } + uint32_t Light3D::get_cull_mask() const { return cull_mask; } @@ -96,6 +99,7 @@ void Light3D::set_color(const Color &p_color) { // The gizmo color depends on the light color, so update it. update_gizmo(); } + Color Light3D::get_color() const { return color; } @@ -355,6 +359,7 @@ Light3D::~Light3D() { if (light.is_valid()) RenderingServer::get_singleton()->free(light); } + ///////////////////////////////////////// void DirectionalLight3D::set_shadow_mode(ShadowMode p_mode) { diff --git a/scene/3d/listener_3d.cpp b/scene/3d/listener_3d.cpp index 6a5307565b..2015662401 100644 --- a/scene/3d/listener_3d.cpp +++ b/scene/3d/listener_3d.cpp @@ -51,6 +51,7 @@ bool Listener3D::_set(const StringName &p_name, const Variant &p_value) { return true; } + bool Listener3D::_get(const StringName &p_name, Variant &r_ret) const { if (p_name == "current") { if (is_inside_tree() && get_tree()->is_node_being_edited(this)) { diff --git a/scene/3d/mesh_instance_3d.cpp b/scene/3d/mesh_instance_3d.cpp index 08a2426e1c..2e79f08bcd 100644 --- a/scene/3d/mesh_instance_3d.cpp +++ b/scene/3d/mesh_instance_3d.cpp @@ -133,6 +133,7 @@ void MeshInstance3D::set_mesh(const Ref<Mesh> &p_mesh) { _change_notify(); } + Ref<Mesh> MeshInstance3D::get_mesh() const { return mesh; } diff --git a/scene/3d/node_3d.cpp b/scene/3d/node_3d.cpp index c823e7e532..2a1b35ae39 100644 --- a/scene/3d/node_3d.cpp +++ b/scene/3d/node_3d.cpp @@ -89,6 +89,7 @@ void Node3D::_update_local_transform() const { data.dirty &= ~DIRTY_LOCAL; } + void Node3D::_propagate_transform_changed(Node3D *p_origin) { if (!is_inside_tree()) { return; @@ -246,6 +247,7 @@ Transform Node3D::get_transform() const { return data.local_transform; } + Transform Node3D::get_global_transform() const { ERR_FAIL_COND_V(!is_inside_tree(), Transform()); @@ -560,6 +562,7 @@ void Node3D::rotate_y(float p_angle) { t.basis.rotate(Vector3(0, 1, 0), p_angle); set_transform(t); } + void Node3D::rotate_z(float p_angle) { Transform t = get_transform(); t.basis.rotate(Vector3(0, 0, 1), p_angle); diff --git a/scene/3d/physics_body_3d.cpp b/scene/3d/physics_body_3d.cpp index 01e456debc..68a13f5612 100644 --- a/scene/3d/physics_body_3d.cpp +++ b/scene/3d/physics_body_3d.cpp @@ -47,6 +47,7 @@ Vector3 PhysicsBody3D::get_linear_velocity() const { return Vector3(); } + Vector3 PhysicsBody3D::get_angular_velocity() const { return Vector3(); } @@ -195,6 +196,7 @@ void StaticBody3D::set_constant_angular_velocity(const Vector3 &p_vel) { Vector3 StaticBody3D::get_constant_linear_velocity() const { return constant_linear_velocity; } + Vector3 StaticBody3D::get_constant_angular_velocity() const { return constant_angular_velocity; } @@ -486,6 +488,7 @@ void RigidBody3D::set_mass(real_t p_mass) { _change_notify("weight"); PhysicsServer3D::get_singleton()->body_set_param(get_rid(), PhysicsServer3D::BODY_PARAM_MASS, mass); } + real_t RigidBody3D::get_mass() const { return mass; } @@ -493,6 +496,7 @@ real_t RigidBody3D::get_mass() const { void RigidBody3D::set_weight(real_t p_weight) { set_mass(p_weight / real_t(GLOBAL_DEF("physics/3d/default_gravity", 9.8))); } + real_t RigidBody3D::get_weight() const { return mass * real_t(GLOBAL_DEF("physics/3d/default_gravity", 9.8)); } @@ -520,6 +524,7 @@ void RigidBody3D::set_gravity_scale(real_t p_gravity_scale) { gravity_scale = p_gravity_scale; PhysicsServer3D::get_singleton()->body_set_param(get_rid(), PhysicsServer3D::BODY_PARAM_GRAVITY_SCALE, gravity_scale); } + real_t RigidBody3D::get_gravity_scale() const { return gravity_scale; } @@ -529,6 +534,7 @@ void RigidBody3D::set_linear_damp(real_t p_linear_damp) { linear_damp = p_linear_damp; PhysicsServer3D::get_singleton()->body_set_param(get_rid(), PhysicsServer3D::BODY_PARAM_LINEAR_DAMP, linear_damp); } + real_t RigidBody3D::get_linear_damp() const { return linear_damp; } @@ -538,6 +544,7 @@ void RigidBody3D::set_angular_damp(real_t p_angular_damp) { angular_damp = p_angular_damp; PhysicsServer3D::get_singleton()->body_set_param(get_rid(), PhysicsServer3D::BODY_PARAM_ANGULAR_DAMP, angular_damp); } + real_t RigidBody3D::get_angular_damp() const { return angular_damp; } @@ -574,6 +581,7 @@ void RigidBody3D::set_angular_velocity(const Vector3 &p_velocity) { else PhysicsServer3D::get_singleton()->body_set_state(get_rid(), PhysicsServer3D::BODY_STATE_ANGULAR_VELOCITY, angular_velocity); } + Vector3 RigidBody3D::get_angular_velocity() const { return angular_velocity; } @@ -585,6 +593,7 @@ void RigidBody3D::set_use_custom_integrator(bool p_enable) { custom_integrator = p_enable; PhysicsServer3D::get_singleton()->body_set_omit_force_integration(get_rid(), p_enable); } + bool RigidBody3D::is_using_custom_integrator() { return custom_integrator; } @@ -1058,6 +1067,7 @@ bool KinematicBody3D::is_on_floor() const { bool KinematicBody3D::is_on_wall() const { return on_wall; } + bool KinematicBody3D::is_on_ceiling() const { return on_ceiling; } @@ -1128,6 +1138,7 @@ void KinematicBody3D::set_safe_margin(float p_margin) { float KinematicBody3D::get_safe_margin() const { return margin; } + int KinematicBody3D::get_slide_count() const { return colliders.size(); } @@ -1216,6 +1227,7 @@ KinematicBody3D::KinematicBody3D() : PhysicsServer3D::get_singleton()->body_set_force_integration_callback(get_rid(), this, "_direct_state_changed"); } + KinematicBody3D::~KinematicBody3D() { if (motion_cache.is_valid()) { motion_cache->owner = nullptr; @@ -1227,20 +1239,25 @@ KinematicBody3D::~KinematicBody3D() { } } } + /////////////////////////////////////// Vector3 KinematicCollision3D::get_position() const { return collision.collision; } + Vector3 KinematicCollision3D::get_normal() const { return collision.normal; } + Vector3 KinematicCollision3D::get_travel() const { return collision.travel; } + Vector3 KinematicCollision3D::get_remainder() const { return collision.remainder; } + Object *KinematicCollision3D::get_local_shape() const { if (!owner) return nullptr; @@ -1255,9 +1272,11 @@ Object *KinematicCollision3D::get_collider() const { return nullptr; } + ObjectID KinematicCollision3D::get_collider_id() const { return collision.collider; } + Object *KinematicCollision3D::get_collider_shape() const { Object *collider = get_collider(); if (collider) { @@ -1270,12 +1289,15 @@ Object *KinematicCollision3D::get_collider_shape() const { return nullptr; } + int KinematicCollision3D::get_collider_shape_index() const { return collision.collider_shape; } + Vector3 KinematicCollision3D::get_collider_velocity() const { return collision.collider_vel; } + Variant KinematicCollision3D::get_collider_metadata() const { return Variant(); } diff --git a/scene/3d/physics_joint_3d.cpp b/scene/3d/physics_joint_3d.cpp index d1a26f33bf..99d0473d9b 100644 --- a/scene/3d/physics_joint_3d.cpp +++ b/scene/3d/physics_joint_3d.cpp @@ -88,6 +88,7 @@ void Joint3D::set_node_b(const NodePath &p_node_b) { b = p_node_b; _update_joint(); } + NodePath Joint3D::get_node_b() const { return b; } @@ -173,6 +174,7 @@ void PinJoint3D::set_param(Param p_param, float p_value) { if (get_joint().is_valid()) PhysicsServer3D::get_singleton()->pin_joint_set_param(get_joint(), PhysicsServer3D::PinJointParam(p_param), p_value); } + float PinJoint3D::get_param(Param p_param) const { ERR_FAIL_INDEX_V(p_param, 3, 0); return params[p_param]; @@ -270,6 +272,7 @@ void HingeJoint3D::set_param(Param p_param, float p_value) { update_gizmo(); } + float HingeJoint3D::get_param(Param p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); return params[p_param]; @@ -283,6 +286,7 @@ void HingeJoint3D::set_flag(Flag p_flag, bool p_value) { update_gizmo(); } + bool HingeJoint3D::get_flag(Flag p_flag) const { ERR_FAIL_INDEX_V(p_flag, FLAG_MAX, false); return flags[p_flag]; @@ -416,6 +420,7 @@ void SliderJoint3D::set_param(Param p_param, float p_value) { PhysicsServer3D::get_singleton()->slider_joint_set_param(get_joint(), PhysicsServer3D::SliderJointParam(p_param), p_value); update_gizmo(); } + float SliderJoint3D::get_param(Param p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); return params[p_param]; @@ -521,6 +526,7 @@ void ConeTwistJoint3D::set_param(Param p_param, float p_value) { update_gizmo(); } + float ConeTwistJoint3D::get_param(Param p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); return params[p_param]; @@ -781,6 +787,7 @@ void Generic6DOFJoint3D::set_param_x(Param p_param, float p_value) { update_gizmo(); } + float Generic6DOFJoint3D::get_param_x(Param p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); return params_x[p_param]; @@ -793,6 +800,7 @@ void Generic6DOFJoint3D::set_param_y(Param p_param, float p_value) { PhysicsServer3D::get_singleton()->generic_6dof_joint_set_param(get_joint(), Vector3::AXIS_Y, PhysicsServer3D::G6DOFJointAxisParam(p_param), p_value); update_gizmo(); } + float Generic6DOFJoint3D::get_param_y(Param p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); return params_y[p_param]; @@ -805,6 +813,7 @@ void Generic6DOFJoint3D::set_param_z(Param p_param, float p_value) { PhysicsServer3D::get_singleton()->generic_6dof_joint_set_param(get_joint(), Vector3::AXIS_Z, PhysicsServer3D::G6DOFJointAxisParam(p_param), p_value); update_gizmo(); } + float Generic6DOFJoint3D::get_param_z(Param p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); return params_z[p_param]; @@ -817,6 +826,7 @@ void Generic6DOFJoint3D::set_flag_x(Flag p_flag, bool p_enabled) { PhysicsServer3D::get_singleton()->generic_6dof_joint_set_flag(get_joint(), Vector3::AXIS_X, PhysicsServer3D::G6DOFJointAxisFlag(p_flag), p_enabled); update_gizmo(); } + bool Generic6DOFJoint3D::get_flag_x(Flag p_flag) const { ERR_FAIL_INDEX_V(p_flag, FLAG_MAX, false); return flags_x[p_flag]; @@ -829,6 +839,7 @@ void Generic6DOFJoint3D::set_flag_y(Flag p_flag, bool p_enabled) { PhysicsServer3D::get_singleton()->generic_6dof_joint_set_flag(get_joint(), Vector3::AXIS_Y, PhysicsServer3D::G6DOFJointAxisFlag(p_flag), p_enabled); update_gizmo(); } + bool Generic6DOFJoint3D::get_flag_y(Flag p_flag) const { ERR_FAIL_INDEX_V(p_flag, FLAG_MAX, false); return flags_y[p_flag]; @@ -841,6 +852,7 @@ void Generic6DOFJoint3D::set_flag_z(Flag p_flag, bool p_enabled) { PhysicsServer3D::get_singleton()->generic_6dof_joint_set_flag(get_joint(), Vector3::AXIS_Z, PhysicsServer3D::G6DOFJointAxisFlag(p_flag), p_enabled); update_gizmo(); } + bool Generic6DOFJoint3D::get_flag_z(Flag p_flag) const { ERR_FAIL_INDEX_V(p_flag, FLAG_MAX, false); return flags_z[p_flag]; diff --git a/scene/3d/ray_cast_3d.cpp b/scene/3d/ray_cast_3d.cpp index 7693906f6f..1b91e58f8f 100644 --- a/scene/3d/ray_cast_3d.cpp +++ b/scene/3d/ray_cast_3d.cpp @@ -71,6 +71,7 @@ bool RayCast3D::get_collision_mask_bit(int p_bit) const { bool RayCast3D::is_colliding() const { return collided; } + Object *RayCast3D::get_collider() const { if (against.is_null()) return nullptr; @@ -81,9 +82,11 @@ Object *RayCast3D::get_collider() const { int RayCast3D::get_collider_shape() const { return against_shape; } + Vector3 RayCast3D::get_collision_point() const { return collision_point; } + Vector3 RayCast3D::get_collision_normal() const { return collision_normal; } diff --git a/scene/3d/reflection_probe.cpp b/scene/3d/reflection_probe.cpp index 2cc7913d1c..b1f19053d9 100644 --- a/scene/3d/reflection_probe.cpp +++ b/scene/3d/reflection_probe.cpp @@ -70,6 +70,7 @@ void ReflectionProbe::set_max_distance(float p_distance) { max_distance = p_distance; RS::get_singleton()->reflection_probe_set_max_distance(probe, p_distance); } + float ReflectionProbe::get_max_distance() const { return max_distance; } @@ -93,6 +94,7 @@ void ReflectionProbe::set_extents(const Vector3 &p_extents) { _change_notify("extents"); update_gizmo(); } + Vector3 ReflectionProbe::get_extents() const { return extents; } @@ -111,6 +113,7 @@ void ReflectionProbe::set_origin_offset(const Vector3 &p_extents) { _change_notify("origin_offset"); update_gizmo(); } + Vector3 ReflectionProbe::get_origin_offset() const { return origin_offset; } @@ -119,6 +122,7 @@ void ReflectionProbe::set_enable_box_projection(bool p_enable) { box_projection = p_enable; RS::get_singleton()->reflection_probe_set_enable_box_projection(probe, p_enable); } + bool ReflectionProbe::is_box_projection_enabled() const { return box_projection; } @@ -137,6 +141,7 @@ void ReflectionProbe::set_enable_shadows(bool p_enable) { enable_shadows = p_enable; RS::get_singleton()->reflection_probe_set_enable_shadows(probe, p_enable); } + bool ReflectionProbe::are_shadows_enabled() const { return enable_shadows; } @@ -145,6 +150,7 @@ void ReflectionProbe::set_cull_mask(uint32_t p_layers) { cull_mask = p_layers; RS::get_singleton()->reflection_probe_set_cull_mask(probe, p_layers); } + uint32_t ReflectionProbe::get_cull_mask() const { return cull_mask; } @@ -164,6 +170,7 @@ AABB ReflectionProbe::get_aabb() const { aabb.size = origin_offset + extents; return aabb; } + Vector<Face3> ReflectionProbe::get_faces(uint32_t p_usage_flags) const { return Vector<Face3>(); } diff --git a/scene/3d/skeleton_3d.cpp b/scene/3d/skeleton_3d.cpp index c834dad2d0..899579fdbc 100644 --- a/scene/3d/skeleton_3d.cpp +++ b/scene/3d/skeleton_3d.cpp @@ -150,6 +150,7 @@ bool Skeleton3D::_get(const StringName &p_path, Variant &r_ret) const { return true; } + void Skeleton3D::_get_property_list(List<PropertyInfo> *p_list) const { for (int i = 0; i < bones.size(); i++) { String prep = "bones/" + itos(i) + "/"; @@ -407,6 +408,7 @@ void Skeleton3D::add_bone(const String &p_name) { _make_dirty(); update_gizmo(); } + int Skeleton3D::find_bone(const String &p_name) const { for (int i = 0; i < bones.size(); i++) { if (bones[i].name == p_name) @@ -415,6 +417,7 @@ int Skeleton3D::find_bone(const String &p_name) const { return -1; } + String Skeleton3D::get_bone_name(int p_bone) const { ERR_FAIL_INDEX_V(p_bone, bones.size(), ""); @@ -485,6 +488,7 @@ void Skeleton3D::set_bone_rest(int p_bone, const Transform &p_rest) { bones.write[p_bone].rest = p_rest; _make_dirty(); } + Transform Skeleton3D::get_bone_rest(int p_bone) const { ERR_FAIL_INDEX_V(p_bone, bones.size(), Transform()); @@ -497,6 +501,7 @@ void Skeleton3D::set_bone_enabled(int p_bone, bool p_enabled) { bones.write[p_bone].enabled = p_enabled; _make_dirty(); } + bool Skeleton3D::is_bone_enabled(int p_bone) const { ERR_FAIL_INDEX_V(p_bone, bones.size(), false); return bones[p_bone].enabled; @@ -515,6 +520,7 @@ void Skeleton3D::bind_child_node_to_bone(int p_bone, Node *p_node) { bones.write[p_bone].nodes_bound.push_back(id); } + void Skeleton3D::unbind_child_node_from_bone(int p_bone, Node *p_node) { ERR_FAIL_NULL(p_node); ERR_FAIL_INDEX(p_bone, bones.size()); @@ -522,6 +528,7 @@ void Skeleton3D::unbind_child_node_from_bone(int p_bone, Node *p_node) { ObjectID id = p_node->get_instance_id(); bones.write[p_bone].nodes_bound.erase(id); } + void Skeleton3D::get_bound_child_nodes_to_bone(int p_bone, List<Node *> *p_bound) const { ERR_FAIL_INDEX(p_bone, bones.size()); @@ -549,6 +556,7 @@ void Skeleton3D::set_bone_pose(int p_bone, const Transform &p_pose) { _make_dirty(); } } + Transform Skeleton3D::get_bone_pose(int p_bone) const { ERR_FAIL_INDEX_V(p_bone, bones.size(), Transform()); return bones[p_bone].pose; diff --git a/scene/3d/soft_body_3d.cpp b/scene/3d/soft_body_3d.cpp index ea89f07266..47c568e9b4 100644 --- a/scene/3d/soft_body_3d.cpp +++ b/scene/3d/soft_body_3d.cpp @@ -495,6 +495,7 @@ void SoftBody3D::set_collision_mask(uint32_t p_mask) { uint32_t SoftBody3D::get_collision_mask() const { return collision_mask; } + void SoftBody3D::set_collision_layer(uint32_t p_layer) { collision_layer = p_layer; PhysicsServer3D::get_singleton()->soft_body_set_collision_layer(physics_rid, p_layer); diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp index 9764bf77c5..b6f71fcbf8 100644 --- a/scene/3d/sprite_3d.cpp +++ b/scene/3d/sprite_3d.cpp @@ -95,6 +95,7 @@ void SpriteBase3D::set_offset(const Point2 &p_offset) { offset = p_offset; _queue_update(); } + Point2 SpriteBase3D::get_offset() const { return offset; } @@ -103,6 +104,7 @@ void SpriteBase3D::set_flip_h(bool p_flip) { hflip = p_flip; _queue_update(); } + bool SpriteBase3D::is_flipped_h() const { return hflip; } @@ -111,6 +113,7 @@ void SpriteBase3D::set_flip_v(bool p_flip) { vflip = p_flip; _queue_update(); } + bool SpriteBase3D::is_flipped_v() const { return vflip; } @@ -129,6 +132,7 @@ void SpriteBase3D::set_pixel_size(float p_amount) { pixel_size = p_amount; _queue_update(); } + float SpriteBase3D::get_pixel_size() const { return pixel_size; } @@ -137,6 +141,7 @@ void SpriteBase3D::set_opacity(float p_amount) { opacity = p_amount; _queue_update(); } + float SpriteBase3D::get_opacity() const { return opacity; } @@ -146,6 +151,7 @@ void SpriteBase3D::set_axis(Vector3::Axis p_axis) { axis = p_axis; _queue_update(); } + Vector3::Axis SpriteBase3D::get_axis() const { return axis; } @@ -170,6 +176,7 @@ void SpriteBase3D::_queue_update() { AABB SpriteBase3D::get_aabb() const { return aabb; } + Vector<Face3> SpriteBase3D::get_faces(uint32_t p_usage_flags) const { return Vector<Face3>(); } @@ -562,6 +569,7 @@ void Sprite3D::set_vframes(int p_amount) { _queue_update(); _change_notify(); } + int Sprite3D::get_vframes() const { return vframes; } @@ -572,6 +580,7 @@ void Sprite3D::set_hframes(int p_amount) { _queue_update(); _change_notify(); } + int Sprite3D::get_hframes() const { return hframes; } @@ -931,6 +940,7 @@ void AnimatedSprite3D::set_frame(int p_frame) { _change_notify("frame"); emit_signal(SceneStringNames::get_singleton()->frame_changed); } + int AnimatedSprite3D::get_frame() const { return frame; } @@ -1016,6 +1026,7 @@ void AnimatedSprite3D::set_animation(const StringName &p_animation) { _change_notify(); _queue_update(); } + StringName AnimatedSprite3D::get_animation() const { return animation; } diff --git a/scene/3d/vehicle_body_3d.cpp b/scene/3d/vehicle_body_3d.cpp index 186bb48744..1e70b30d66 100644 --- a/scene/3d/vehicle_body_3d.cpp +++ b/scene/3d/vehicle_body_3d.cpp @@ -153,6 +153,7 @@ void VehicleWheel3D::set_suspension_rest_length(float p_length) { m_suspensionRestLength = p_length; update_gizmo(); } + float VehicleWheel3D::get_suspension_rest_length() const { return m_suspensionRestLength; } @@ -160,6 +161,7 @@ float VehicleWheel3D::get_suspension_rest_length() const { void VehicleWheel3D::set_suspension_travel(float p_length) { m_maxSuspensionTravelCm = p_length / 0.01; } + float VehicleWheel3D::get_suspension_travel() const { return m_maxSuspensionTravelCm * 0.01; } @@ -167,6 +169,7 @@ float VehicleWheel3D::get_suspension_travel() const { void VehicleWheel3D::set_suspension_stiffness(float p_value) { m_suspensionStiffness = p_value; } + float VehicleWheel3D::get_suspension_stiffness() const { return m_suspensionStiffness; } @@ -174,6 +177,7 @@ float VehicleWheel3D::get_suspension_stiffness() const { void VehicleWheel3D::set_suspension_max_force(float p_value) { m_maxSuspensionForce = p_value; } + float VehicleWheel3D::get_suspension_max_force() const { return m_maxSuspensionForce; } @@ -181,6 +185,7 @@ float VehicleWheel3D::get_suspension_max_force() const { void VehicleWheel3D::set_damping_compression(float p_value) { m_wheelsDampingCompression = p_value; } + float VehicleWheel3D::get_damping_compression() const { return m_wheelsDampingCompression; } @@ -188,6 +193,7 @@ float VehicleWheel3D::get_damping_compression() const { void VehicleWheel3D::set_damping_relaxation(float p_value) { m_wheelsDampingRelaxation = p_value; } + float VehicleWheel3D::get_damping_relaxation() const { return m_wheelsDampingRelaxation; } @@ -195,6 +201,7 @@ float VehicleWheel3D::get_damping_relaxation() const { void VehicleWheel3D::set_friction_slip(float p_value) { m_frictionSlip = p_value; } + float VehicleWheel3D::get_friction_slip() const { return m_frictionSlip; } @@ -292,6 +299,7 @@ float VehicleWheel3D::get_engine_force() const { void VehicleWheel3D::set_brake(float p_brake) { m_brake = p_brake; } + float VehicleWheel3D::get_brake() const { return m_brake; } @@ -299,6 +307,7 @@ float VehicleWheel3D::get_brake() const { void VehicleWheel3D::set_steering(float p_steering) { m_steering = p_steering; } + float VehicleWheel3D::get_steering() const { return m_steering; } @@ -892,6 +901,7 @@ void VehicleBody3D::set_brake(float p_brake) { wheelInfo.m_brake = p_brake; } } + float VehicleBody3D::get_brake() const { return brake; } @@ -904,6 +914,7 @@ void VehicleBody3D::set_steering(float p_steering) { wheelInfo.m_steering = p_steering; } } + float VehicleBody3D::get_steering() const { return m_steeringValue; } diff --git a/scene/3d/velocity_tracker_3d.cpp b/scene/3d/velocity_tracker_3d.cpp index f4f3c7a200..216330939a 100644 --- a/scene/3d/velocity_tracker_3d.cpp +++ b/scene/3d/velocity_tracker_3d.cpp @@ -38,6 +38,7 @@ void VelocityTracker3D::set_track_physics_step(bool p_track_physics_step) { bool VelocityTracker3D::is_tracking_physics_step() const { return physics_step; } + void VelocityTracker3D::update_position(const Vector3 &p_position) { PositionHistory ph; ph.position = p_position; @@ -56,6 +57,7 @@ void VelocityTracker3D::update_position(const Vector3 &p_position) { position_history.write[0] = ph; } + Vector3 VelocityTracker3D::get_tracked_linear_velocity() const { Vector3 linear_velocity; diff --git a/scene/3d/visibility_notifier_3d.cpp b/scene/3d/visibility_notifier_3d.cpp index 9c2035f1d8..afc7293b13 100644 --- a/scene/3d/visibility_notifier_3d.cpp +++ b/scene/3d/visibility_notifier_3d.cpp @@ -232,6 +232,7 @@ void VisibilityEnabler3D::set_enabler(Enabler p_enabler, bool p_enable) { ERR_FAIL_INDEX(p_enabler, ENABLER_MAX); enabler[p_enabler] = p_enable; } + bool VisibilityEnabler3D::is_enabler_enabled(Enabler p_enabler) const { ERR_FAIL_INDEX_V(p_enabler, ENABLER_MAX, false); return enabler[p_enabler]; diff --git a/scene/3d/visual_instance_3d.cpp b/scene/3d/visual_instance_3d.cpp index 3af0c0dff0..cf67ba71c9 100644 --- a/scene/3d/visual_instance_3d.cpp +++ b/scene/3d/visual_instance_3d.cpp @@ -235,6 +235,7 @@ bool GeometryInstance3D::_get(const StringName &p_name, Variant &r_ret) const { return false; } + void GeometryInstance3D::_get_property_list(List<PropertyInfo> *p_list) const { List<PropertyInfo> pinfo; RS::get_singleton()->instance_geometry_get_shader_parameter_list(get_instance(), &pinfo); @@ -290,6 +291,7 @@ void GeometryInstance3D::set_shader_instance_uniform(const StringName &p_uniform Variant GeometryInstance3D::get_shader_instance_uniform(const StringName &p_uniform) const { return RS::get_singleton()->instance_geometry_get_shader_parameter(get_instance(), p_uniform); } + void GeometryInstance3D::set_custom_aabb(AABB aabb) { RS::get_singleton()->instance_set_custom_aabb(get_instance(), aabb); } diff --git a/scene/3d/voxelizer.cpp b/scene/3d/voxelizer.cpp index 333c486165..886ec89c28 100644 --- a/scene/3d/voxelizer.cpp +++ b/scene/3d/voxelizer.cpp @@ -664,9 +664,11 @@ void Voxelizer::end_bake() { int Voxelizer::get_gi_probe_octree_depth() const { return cell_subdiv; } + Vector3i Voxelizer::get_giprobe_octree_size() const { return Vector3i(axis_cell_size[0], axis_cell_size[1], axis_cell_size[2]); } + int Voxelizer::get_giprobe_cell_count() const { return bake_cells.size(); } @@ -690,6 +692,7 @@ Vector<uint8_t> Voxelizer::get_giprobe_octree_cells() const { return data; } + Vector<uint8_t> Voxelizer::get_giprobe_data_cells() const { Vector<uint8_t> data; data.resize((4 * 4) * bake_cells.size()); //8 uint32t values @@ -989,6 +992,7 @@ Ref<MultiMesh> Voxelizer::create_debug_multimesh() { Transform Voxelizer::get_to_cell_space_xform() const { return to_cell_space; } + Voxelizer::Voxelizer() { sorted = false; color_scan_cell_width = 4; diff --git a/scene/animation/animation_blend_space_1d.cpp b/scene/animation/animation_blend_space_1d.cpp index 22477f452c..e426e98def 100644 --- a/scene/animation/animation_blend_space_1d.cpp +++ b/scene/animation/animation_blend_space_1d.cpp @@ -33,6 +33,7 @@ void AnimationNodeBlendSpace1D::get_parameter_list(List<PropertyInfo> *r_list) const { r_list->push_back(PropertyInfo(Variant::FLOAT, blend_position)); } + Variant AnimationNodeBlendSpace1D::get_parameter_default_value(const StringName &p_parameter) const { return 0; } diff --git a/scene/animation/animation_blend_space_2d.cpp b/scene/animation/animation_blend_space_2d.cpp index a43619b9f3..436ff553ec 100644 --- a/scene/animation/animation_blend_space_2d.cpp +++ b/scene/animation/animation_blend_space_2d.cpp @@ -37,6 +37,7 @@ void AnimationNodeBlendSpace2D::get_parameter_list(List<PropertyInfo> *r_list) c r_list->push_back(PropertyInfo(Variant::INT, closest, PROPERTY_HINT_NONE, "", 0)); r_list->push_back(PropertyInfo(Variant::FLOAT, length_internal, PROPERTY_HINT_NONE, "", 0)); } + Variant AnimationNodeBlendSpace2D::get_parameter_default_value(const StringName &p_parameter) const { if (p_parameter == closest) { return -1; @@ -91,6 +92,7 @@ void AnimationNodeBlendSpace2D::set_blend_point_position(int p_point, const Vect blend_points[p_point].position = p_position; _queue_auto_triangles(); } + void AnimationNodeBlendSpace2D::set_blend_point_node(int p_point, const Ref<AnimationRootNode> &p_node) { ERR_FAIL_INDEX(p_point, blend_points_used); ERR_FAIL_COND(p_node.is_null()); @@ -103,14 +105,17 @@ void AnimationNodeBlendSpace2D::set_blend_point_node(int p_point, const Ref<Anim emit_signal("tree_changed"); } + Vector2 AnimationNodeBlendSpace2D::get_blend_point_position(int p_point) const { ERR_FAIL_INDEX_V(p_point, blend_points_used, Vector2()); return blend_points[p_point].position; } + Ref<AnimationRootNode> AnimationNodeBlendSpace2D::get_blend_point_node(int p_point) const { ERR_FAIL_INDEX_V(p_point, blend_points_used, Ref<AnimationRootNode>()); return blend_points[p_point].node; } + void AnimationNodeBlendSpace2D::remove_blend_point(int p_point) { ERR_FAIL_INDEX(p_point, blend_points_used); @@ -205,6 +210,7 @@ void AnimationNodeBlendSpace2D::add_triangle(int p_x, int p_y, int p_z, int p_at triangles.insert(p_at_index, t); } } + int AnimationNodeBlendSpace2D::get_triangle_point(int p_triangle, int p_point) { _update_triangles(); @@ -212,6 +218,7 @@ int AnimationNodeBlendSpace2D::get_triangle_point(int p_triangle, int p_point) { ERR_FAIL_INDEX_V(p_triangle, triangles.size(), -1); return triangles[p_triangle].points[p_point]; } + void AnimationNodeBlendSpace2D::remove_triangle(int p_triangle) { ERR_FAIL_INDEX(p_triangle, triangles.size()); @@ -231,6 +238,7 @@ void AnimationNodeBlendSpace2D::set_min_space(const Vector2 &p_min) { min_space.y = max_space.y - 1; } } + Vector2 AnimationNodeBlendSpace2D::get_min_space() const { return min_space; } @@ -244,6 +252,7 @@ void AnimationNodeBlendSpace2D::set_max_space(const Vector2 &p_max) { max_space.y = min_space.y + 1; } } + Vector2 AnimationNodeBlendSpace2D::get_max_space() const { return max_space; } @@ -251,6 +260,7 @@ Vector2 AnimationNodeBlendSpace2D::get_max_space() const { void AnimationNodeBlendSpace2D::set_snap(const Vector2 &p_snap) { snap = p_snap; } + Vector2 AnimationNodeBlendSpace2D::get_snap() const { return snap; } @@ -258,6 +268,7 @@ Vector2 AnimationNodeBlendSpace2D::get_snap() const { void AnimationNodeBlendSpace2D::set_x_label(const String &p_label) { x_label = p_label; } + String AnimationNodeBlendSpace2D::get_x_label() const { return x_label; } @@ -265,6 +276,7 @@ String AnimationNodeBlendSpace2D::get_x_label() const { void AnimationNodeBlendSpace2D::set_y_label(const String &p_label) { y_label = p_label; } + String AnimationNodeBlendSpace2D::get_y_label() const { return y_label; } diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp index 671e86ab3b..2fa9aaa4da 100644 --- a/scene/animation/animation_blend_tree.cpp +++ b/scene/animation/animation_blend_tree.cpp @@ -46,6 +46,7 @@ Vector<String> (*AnimationNodeAnimation::get_editable_animation_list)() = nullpt void AnimationNodeAnimation::get_parameter_list(List<PropertyInfo> *r_list) const { r_list->push_back(PropertyInfo(Variant::FLOAT, time, PROPERTY_HINT_NONE, "", 0)); } + void AnimationNodeAnimation::_validate_property(PropertyInfo &property) const { if (property.name == "animation" && get_editable_animation_list) { Vector<String> names = get_editable_animation_list(); @@ -160,6 +161,7 @@ void AnimationNodeOneShot::set_fadeout_time(float p_time) { float AnimationNodeOneShot::get_fadein_time() const { return fade_in; } + float AnimationNodeOneShot::get_fadeout_time() const { return fade_out; } @@ -167,9 +169,11 @@ float AnimationNodeOneShot::get_fadeout_time() const { void AnimationNodeOneShot::set_autorestart(bool p_active) { autorestart = p_active; } + void AnimationNodeOneShot::set_autorestart_delay(float p_time) { autorestart_delay = p_time; } + void AnimationNodeOneShot::set_autorestart_random_delay(float p_time) { autorestart_random_delay = p_time; } @@ -177,9 +181,11 @@ void AnimationNodeOneShot::set_autorestart_random_delay(float p_time) { bool AnimationNodeOneShot::has_autorestart() const { return autorestart; } + float AnimationNodeOneShot::get_autorestart_delay() const { return autorestart_delay; } + float AnimationNodeOneShot::get_autorestart_random_delay() const { return autorestart_random_delay; } @@ -187,6 +193,7 @@ float AnimationNodeOneShot::get_autorestart_random_delay() const { void AnimationNodeOneShot::set_mix_mode(MixMode p_mix) { mix = p_mix; } + AnimationNodeOneShot::MixMode AnimationNodeOneShot::get_mix_mode() const { return mix; } @@ -285,6 +292,7 @@ float AnimationNodeOneShot::process(float p_time, bool p_seek) { return MAX(main_rem, remaining); } + void AnimationNodeOneShot::set_use_sync(bool p_sync) { sync = p_sync; } @@ -356,6 +364,7 @@ AnimationNodeOneShot::AnimationNodeOneShot() { void AnimationNodeAdd2::get_parameter_list(List<PropertyInfo> *r_list) const { r_list->push_back(PropertyInfo(Variant::FLOAT, add_amount, PROPERTY_HINT_RANGE, "0,1,0.01")); } + Variant AnimationNodeAdd2::get_parameter_default_value(const StringName &p_parameter) const { return 0; } @@ -363,6 +372,7 @@ Variant AnimationNodeAdd2::get_parameter_default_value(const StringName &p_param String AnimationNodeAdd2::get_caption() const { return "Add2"; } + void AnimationNodeAdd2::set_use_sync(bool p_sync) { sync = p_sync; } @@ -402,6 +412,7 @@ AnimationNodeAdd2::AnimationNodeAdd2() { void AnimationNodeAdd3::get_parameter_list(List<PropertyInfo> *r_list) const { r_list->push_back(PropertyInfo(Variant::FLOAT, add_amount, PROPERTY_HINT_RANGE, "-1,1,0.01")); } + Variant AnimationNodeAdd3::get_parameter_default_value(const StringName &p_parameter) const { return 0; } @@ -409,6 +420,7 @@ Variant AnimationNodeAdd3::get_parameter_default_value(const StringName &p_param String AnimationNodeAdd3::get_caption() const { return "Add3"; } + void AnimationNodeAdd3::set_use_sync(bool p_sync) { sync = p_sync; } @@ -444,11 +456,13 @@ AnimationNodeAdd3::AnimationNodeAdd3() { add_input("+add"); sync = false; } + ///////////////////////////////////////////// void AnimationNodeBlend2::get_parameter_list(List<PropertyInfo> *r_list) const { r_list->push_back(PropertyInfo(Variant::FLOAT, blend_amount, PROPERTY_HINT_RANGE, "0,1,0.01")); } + Variant AnimationNodeBlend2::get_parameter_default_value(const StringName &p_parameter) const { return 0; //for blend amount } @@ -477,12 +491,14 @@ bool AnimationNodeBlend2::is_using_sync() const { bool AnimationNodeBlend2::has_filter() const { return true; } + void AnimationNodeBlend2::_bind_methods() { ClassDB::bind_method(D_METHOD("set_use_sync", "enable"), &AnimationNodeBlend2::set_use_sync); ClassDB::bind_method(D_METHOD("is_using_sync"), &AnimationNodeBlend2::is_using_sync); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync"); } + AnimationNodeBlend2::AnimationNodeBlend2() { blend_amount = "blend_amount"; add_input("in"); @@ -495,6 +511,7 @@ AnimationNodeBlend2::AnimationNodeBlend2() { void AnimationNodeBlend3::get_parameter_list(List<PropertyInfo> *r_list) const { r_list->push_back(PropertyInfo(Variant::FLOAT, blend_amount, PROPERTY_HINT_RANGE, "-1,1,0.01")); } + Variant AnimationNodeBlend3::get_parameter_default_value(const StringName &p_parameter) const { return 0; //for blend amount } @@ -526,6 +543,7 @@ void AnimationNodeBlend3::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync"); } + AnimationNodeBlend3::AnimationNodeBlend3() { blend_amount = "blend_amount"; add_input("-blend"); @@ -539,6 +557,7 @@ AnimationNodeBlend3::AnimationNodeBlend3() { void AnimationNodeTimeScale::get_parameter_list(List<PropertyInfo> *r_list) const { r_list->push_back(PropertyInfo(Variant::FLOAT, scale, PROPERTY_HINT_RANGE, "0,32,0.01,or_greater")); } + Variant AnimationNodeTimeScale::get_parameter_default_value(const StringName &p_parameter) const { return 1.0; //initial timescale } @@ -558,6 +577,7 @@ float AnimationNodeTimeScale::process(float p_time, bool p_seek) { void AnimationNodeTimeScale::_bind_methods() { } + AnimationNodeTimeScale::AnimationNodeTimeScale() { scale = "scale"; add_input("in"); @@ -568,6 +588,7 @@ AnimationNodeTimeScale::AnimationNodeTimeScale() { void AnimationNodeTimeSeek::get_parameter_list(List<PropertyInfo> *r_list) const { r_list->push_back(PropertyInfo(Variant::FLOAT, seek_pos, PROPERTY_HINT_RANGE, "-1,3600,0.01,or_greater")); } + Variant AnimationNodeTimeSeek::get_parameter_default_value(const StringName &p_parameter) const { return 1.0; //initial timescale } @@ -615,6 +636,7 @@ void AnimationNodeTransition::get_parameter_list(List<PropertyInfo> *r_list) con r_list->push_back(PropertyInfo(Variant::FLOAT, time, PROPERTY_HINT_NONE, "", 0)); r_list->push_back(PropertyInfo(Variant::FLOAT, prev_xfading, PROPERTY_HINT_NONE, "", 0)); } + Variant AnimationNodeTransition::get_parameter_default_value(const StringName &p_parameter) const { if (p_parameter == time || p_parameter == prev_xfading) { return 0.0; @@ -878,10 +900,12 @@ void AnimationNodeBlendTree::get_child_nodes(List<ChildNode> *r_child_nodes) { bool AnimationNodeBlendTree::has_node(const StringName &p_name) const { return nodes.has(p_name); } + Vector<StringName> AnimationNodeBlendTree::get_node_connection_array(const StringName &p_name) const { ERR_FAIL_COND_V(!nodes.has(p_name), Vector<StringName>()); return nodes[p_name].connections; } + void AnimationNodeBlendTree::remove_node(const StringName &p_name) { ERR_FAIL_COND(!nodes.has(p_name)); ERR_FAIL_COND(p_name == SceneStringNames::get_singleton()->output); //can't delete output @@ -1110,6 +1134,7 @@ bool AnimationNodeBlendTree::_get(const StringName &p_name, Variant &r_ret) cons return false; } + void AnimationNodeBlendTree::_get_property_list(List<PropertyInfo> *p_list) const { List<StringName> names; for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) { diff --git a/scene/animation/animation_node_state_machine.cpp b/scene/animation/animation_node_state_machine.cpp index 4a387772a8..7c4f84b373 100644 --- a/scene/animation/animation_node_state_machine.cpp +++ b/scene/animation/animation_node_state_machine.cpp @@ -150,24 +150,31 @@ void AnimationNodeStateMachinePlayback::start(const StringName &p_state) { start_request = p_state; stop_request = false; } + void AnimationNodeStateMachinePlayback::stop() { stop_request = true; } + bool AnimationNodeStateMachinePlayback::is_playing() const { return playing; } + StringName AnimationNodeStateMachinePlayback::get_current_node() const { return current; } + StringName AnimationNodeStateMachinePlayback::get_blend_from_node() const { return fading_from; } + Vector<StringName> AnimationNodeStateMachinePlayback::get_travel_path() const { return path; } + float AnimationNodeStateMachinePlayback::get_current_play_pos() const { return pos_current; } + float AnimationNodeStateMachinePlayback::get_current_length() const { return len_current; } @@ -605,6 +612,7 @@ void AnimationNodeStateMachine::get_child_nodes(List<ChildNode> *r_child_nodes) bool AnimationNodeStateMachine::has_node(const StringName &p_name) const { return states.has(p_name); } + void AnimationNodeStateMachine::remove_node(const StringName &p_name) { ERR_FAIL_COND(!states.has(p_name)); @@ -728,10 +736,12 @@ Ref<AnimationNodeStateMachineTransition> AnimationNodeStateMachine::get_transiti ERR_FAIL_INDEX_V(p_transition, transitions.size(), Ref<AnimationNodeStateMachineTransition>()); return transitions[p_transition].transition; } + StringName AnimationNodeStateMachine::get_transition_from(int p_transition) const { ERR_FAIL_INDEX_V(p_transition, transitions.size(), StringName()); return transitions[p_transition].from; } + StringName AnimationNodeStateMachine::get_transition_to(int p_transition) const { ERR_FAIL_INDEX_V(p_transition, transitions.size(), StringName()); return transitions[p_transition].to; @@ -740,6 +750,7 @@ StringName AnimationNodeStateMachine::get_transition_to(int p_transition) const int AnimationNodeStateMachine::get_transition_count() const { return transitions.size(); } + void AnimationNodeStateMachine::remove_transition(const StringName &p_from, const StringName &p_to) { for (int i = 0; i < transitions.size(); i++) { if (transitions[i].from == p_from && transitions[i].to == p_to) { @@ -893,6 +904,7 @@ bool AnimationNodeStateMachine::_get(const StringName &p_name, Variant &r_ret) c return false; } + void AnimationNodeStateMachine::_get_property_list(List<PropertyInfo> *p_list) const { List<StringName> names; for (Map<StringName, State>::Element *E = states.front(); E; E = E->next()) { diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index c6bd1fc531..b8d7cbc823 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -766,6 +766,7 @@ void AnimationPlayer::_animation_process_data(PlaybackData &cd, float p_delta, f _animation_process_animation(cd.from, cd.pos, delta, p_blend, &cd == &playback.current, p_seeked, p_started); } + void AnimationPlayer::_animation_process2(float p_delta, bool p_started) { Playback &c = playback; @@ -997,6 +998,7 @@ void AnimationPlayer::rename_animation(const StringName &p_name, const StringNam bool AnimationPlayer::has_animation(const StringName &p_name) const { return animation_set.has(p_name); } + Ref<Animation> AnimationPlayer::get_animation(const StringName &p_name) const { ERR_FAIL_COND_V(!animation_set.has(p_name), Ref<Animation>()); @@ -1004,6 +1006,7 @@ Ref<Animation> AnimationPlayer::get_animation(const StringName &p_name) const { return data.animation; } + void AnimationPlayer::get_animation_list(List<StringName> *p_animations) const { List<String> anims; @@ -1199,9 +1202,11 @@ void AnimationPlayer::stop(bool p_reset) { void AnimationPlayer::set_speed_scale(float p_speed) { speed_scale = p_speed; } + float AnimationPlayer::get_speed_scale() const { return speed_scale; } + float AnimationPlayer::get_playing_speed() const { if (!playing) { return 0; diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp index 81575b7f48..671c87eb58 100644 --- a/scene/animation/animation_tree.cpp +++ b/scene/animation/animation_tree.cpp @@ -289,6 +289,7 @@ float AnimationNode::_blend_node(const StringName &p_subpath, const Vector<Strin int AnimationNode::get_input_count() const { return inputs.size(); } + String AnimationNode::get_input_name(int p_input) { ERR_FAIL_INDEX_V(p_input, inputs.size(), String()); return inputs[p_input].name; @@ -368,6 +369,7 @@ Array AnimationNode::_get_filters() const { return paths; } + void AnimationNode::_set_filters(const Array &p_filters) { filter.clear(); for (int i = 0; i < p_filters.size(); i++) { @@ -1260,6 +1262,7 @@ NodePath AnimationTree::get_animation_player() const { bool AnimationTree::is_state_invalid() const { return !state.valid; } + String AnimationTree::get_invalid_state_reason() const { return state.invalid_reasons; } @@ -1420,6 +1423,7 @@ bool AnimationTree::_get(const StringName &p_name, Variant &r_ret) const { return false; } + void AnimationTree::_get_property_list(List<PropertyInfo> *p_list) const { if (properties_dirty) { const_cast<AnimationTree *>(this)->_update_properties(); diff --git a/scene/animation/root_motion_view.cpp b/scene/animation/root_motion_view.cpp index bbfec588f4..cbf2e4a6ff 100644 --- a/scene/animation/root_motion_view.cpp +++ b/scene/animation/root_motion_view.cpp @@ -159,6 +159,7 @@ void RootMotionView::_notification(int p_what) { AABB RootMotionView::get_aabb() const { return AABB(Vector3(-radius, 0, -radius), Vector3(radius * 2, 0.001, radius * 2)); } + Vector<Face3> RootMotionView::get_faces(uint32_t p_usage_flags) const { return Vector<Face3>(); } diff --git a/scene/audio/audio_stream_player.cpp b/scene/audio/audio_stream_player.cpp index 6cd4914519..660d148516 100644 --- a/scene/audio/audio_stream_player.cpp +++ b/scene/audio/audio_stream_player.cpp @@ -219,6 +219,7 @@ Ref<AudioStream> AudioStreamPlayer::get_stream() const { void AudioStreamPlayer::set_volume_db(float p_volume) { volume_db = p_volume; } + float AudioStreamPlayer::get_volume_db() const { return volume_db; } @@ -227,6 +228,7 @@ void AudioStreamPlayer::set_pitch_scale(float p_pitch_scale) { ERR_FAIL_COND(p_pitch_scale <= 0.0); pitch_scale = p_pitch_scale; } + float AudioStreamPlayer::get_pitch_scale() const { return pitch_scale; } @@ -276,6 +278,7 @@ void AudioStreamPlayer::set_bus(const StringName &p_bus) { bus = p_bus; AudioServer::get_singleton()->unlock(); } + StringName AudioStreamPlayer::get_bus() const { for (int i = 0; i < AudioServer::get_singleton()->get_bus_count(); i++) { if (AudioServer::get_singleton()->get_bus_name(i) == bus) { @@ -288,6 +291,7 @@ StringName AudioStreamPlayer::get_bus() const { void AudioStreamPlayer::set_autoplay(bool p_enable) { autoplay = p_enable; } + bool AudioStreamPlayer::is_autoplay_enabled() { return autoplay; } @@ -306,6 +310,7 @@ void AudioStreamPlayer::_set_playing(bool p_enable) { else stop(); } + bool AudioStreamPlayer::_is_active() const { return active; } diff --git a/scene/debugger/scene_debugger.cpp b/scene/debugger/scene_debugger.cpp index 965dd2c8a3..879f891cc9 100644 --- a/scene/debugger/scene_debugger.cpp +++ b/scene/debugger/scene_debugger.cpp @@ -224,6 +224,7 @@ void SceneDebugger::add_to_cache(const String &p_filename, Node *p_node) { debugger->live_scene_edit_cache[p_filename].insert(p_node); } } + void SceneDebugger::remove_from_cache(const String &p_filename, Node *p_node) { LiveEditor *debugger = LiveEditor::get_singleton(); if (!debugger) @@ -537,6 +538,7 @@ void LiveEditor::_node_set_res_func(int p_id, const StringName &p_prop, const St return; _node_set_func(p_id, p_prop, r); } + void LiveEditor::_node_call_func(int p_id, const StringName &p_method, VARIANT_ARG_DECLARE) { SceneTree *scene_tree = SceneTree::get_singleton(); if (!scene_tree) @@ -566,6 +568,7 @@ void LiveEditor::_node_call_func(int p_id, const StringName &p_method, VARIANT_A n2->call(p_method, VARIANT_ARG_PASS); } } + void LiveEditor::_res_set_func(int p_id, const StringName &p_prop, const Variant &p_value) { if (!live_edit_resource_cache.has(p_id)) return; @@ -581,12 +584,14 @@ void LiveEditor::_res_set_func(int p_id, const StringName &p_prop, const Variant r->set(p_prop, p_value); } + void LiveEditor::_res_set_res_func(int p_id, const StringName &p_prop, const String &p_value) { RES r = ResourceLoader::load(p_value); if (!r.is_valid()) return; _res_set_func(p_id, p_prop, r); } + void LiveEditor::_res_call_func(int p_id, const StringName &p_method, VARIANT_ARG_DECLARE) { if (!live_edit_resource_cache.has(p_id)) return; @@ -640,6 +645,7 @@ void LiveEditor::_create_node_func(const NodePath &p_parent, const String &p_typ n2->add_child(no); } } + void LiveEditor::_instance_node_func(const NodePath &p_parent, const String &p_path, const String &p_name) { SceneTree *scene_tree = SceneTree::get_singleton(); if (!scene_tree) @@ -677,6 +683,7 @@ void LiveEditor::_instance_node_func(const NodePath &p_parent, const String &p_p n2->add_child(no); } } + void LiveEditor::_remove_node_func(const NodePath &p_at) { SceneTree *scene_tree = SceneTree::get_singleton(); if (!scene_tree) @@ -707,6 +714,7 @@ void LiveEditor::_remove_node_func(const NodePath &p_at) { F = N; } } + void LiveEditor::_remove_and_keep_node_func(const NodePath &p_at, ObjectID p_keep_id) { SceneTree *scene_tree = SceneTree::get_singleton(); if (!scene_tree) @@ -740,6 +748,7 @@ void LiveEditor::_remove_and_keep_node_func(const NodePath &p_at, ObjectID p_kee F = N; } } + void LiveEditor::_restore_node_func(ObjectID p_id, const NodePath &p_at, int p_at_pos) { SceneTree *scene_tree = SceneTree::get_singleton(); if (!scene_tree) @@ -785,6 +794,7 @@ void LiveEditor::_restore_node_func(ObjectID p_id, const NodePath &p_at, int p_a F = N; } } + void LiveEditor::_duplicate_node_func(const NodePath &p_at, const String &p_new_name) { SceneTree *scene_tree = SceneTree::get_singleton(); if (!scene_tree) @@ -817,6 +827,7 @@ void LiveEditor::_duplicate_node_func(const NodePath &p_at, const String &p_new_ n2->get_parent()->add_child(dup); } } + void LiveEditor::_reparent_node_func(const NodePath &p_at, const NodePath &p_new_place, const String &p_new_name, int p_at_pos) { SceneTree *scene_tree = SceneTree::get_singleton(); if (!scene_tree) diff --git a/scene/gui/button.cpp b/scene/gui/button.cpp index cf1ff059bf..e761b2bf40 100644 --- a/scene/gui/button.cpp +++ b/scene/gui/button.cpp @@ -230,6 +230,7 @@ void Button::set_text(const String &p_text) { _change_notify("text"); minimum_size_changed(); } + String Button::get_text() const { return text; } diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index 1730df6bb3..f150028c47 100644 --- a/scene/gui/color_picker.cpp +++ b/scene/gui/color_picker.cpp @@ -909,6 +909,7 @@ void ColorPickerButton::set_pick_color(const Color &p_color) { update(); } + Color ColorPickerButton::get_pick_color() const { return color; } diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index 3dbdd4dfab..02be8f23fb 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -326,6 +326,7 @@ bool Control::_get(const StringName &p_name, Variant &r_ret) const { return true; } + void Control::_get_property_list(List<PropertyInfo> *p_list) const { Ref<Theme> theme = Theme::get_default(); /* Using the default theme since the properties below are meant for editor only @@ -593,6 +594,7 @@ bool Control::clips_input() const { } return false; } + bool Control::has_point(const Point2 &p_point) const { if (get_script_instance()) { Variant v = p_point; @@ -658,6 +660,7 @@ bool Control::can_drop_data(const Point2 &p_point, const Variant &p_data) const return Variant(); } + void Control::drop_data(const Point2 &p_point, const Variant &p_data) { if (data.drag_owner.is_valid()) { Object *obj = ObjectDB::get_instance(data.drag_owner); @@ -1017,6 +1020,7 @@ bool Control::has_theme_shader(const StringName &p_name, const StringName &p_typ return has_shaders(data.theme_owner, data.theme_owner_window, p_name, type); } + bool Control::has_shaders(Control *p_theme_owner, Window *p_theme_owner_window, const StringName &p_name, const StringName &p_type) { if (_has_theme_item(p_theme_owner, p_theme_owner_window, &Theme::has_shader, p_name, p_type)) { return true; @@ -1064,6 +1068,7 @@ bool Control::has_theme_font(const StringName &p_name, const StringName &p_type) return has_fonts(data.theme_owner, data.theme_owner_window, p_name, type); } + bool Control::has_fonts(Control *p_theme_owner, Window *p_theme_owner_window, const StringName &p_name, const StringName &p_type) { if (_has_theme_item(p_theme_owner, p_theme_owner_window, &Theme::has_font, p_name, p_type)) { return true; @@ -1087,6 +1092,7 @@ bool Control::has_theme_color(const StringName &p_name, const StringName &p_type return has_colors(data.theme_owner, data.theme_owner_window, p_name, type); } + bool Control::has_colors(Control *p_theme_owner, Window *p_theme_owner_window, const StringName &p_name, const StringName &p_type) { if (_has_theme_item(p_theme_owner, p_theme_owner_window, &Theme::has_color, p_name, p_type)) { return true; @@ -1540,6 +1546,7 @@ float Control::get_margin(Margin p_margin) const { Size2 Control::get_begin() const { return Size2(data.margin[0], data.margin[1]); } + Size2 Control::get_end() const { return Size2(data.margin[2], data.margin[3]); } @@ -1706,6 +1713,7 @@ void Control::add_theme_shader_override(const StringName &p_name, const Ref<Shad } notification(NOTIFICATION_THEME_CHANGED); } + void Control::add_theme_style_override(const StringName &p_name, const Ref<StyleBox> &p_style) { if (data.style_override.has(p_name)) { data.style_override[p_name]->disconnect("changed", callable_mp(this, &Control::_override_changed)); @@ -1739,10 +1747,12 @@ void Control::add_theme_font_override(const StringName &p_name, const Ref<Font> } notification(NOTIFICATION_THEME_CHANGED); } + void Control::add_theme_color_override(const StringName &p_name, const Color &p_color) { data.color_override[p_name] = p_color; notification(NOTIFICATION_THEME_CHANGED); } + void Control::add_theme_constant_override(const StringName &p_name, int p_constant) { data.constant_override[p_name] = p_constant; notification(NOTIFICATION_THEME_CHANGED); @@ -1926,6 +1936,7 @@ Control *Control::find_prev_valid_focus() const { Control::FocusMode Control::get_focus_mode() const { return data.focus_mode; } + bool Control::has_focus() const { return is_inside_tree() && get_viewport()->_gui_control_has_focus(this); } @@ -2051,6 +2062,7 @@ void Control::set_tooltip(const String &p_tooltip) { String Control::get_tooltip(const Point2 &p_pos) const { return data.tooltip; } + Control *Control::make_custom_tooltip(const String &p_text) const { if (get_script_instance()) { return const_cast<Control *>(this)->call("_make_custom_tooltip", p_text); @@ -2067,6 +2079,7 @@ void Control::set_default_cursor_shape(CursorShape p_shape) { Control::CursorShape Control::get_default_cursor_shape() const { return data.default_cursor; } + Control::CursorShape Control::get_cursor_shape(const Point2 &p_pos) const { return data.default_cursor; } @@ -2247,6 +2260,7 @@ void Control::set_h_size_flags(int p_flags) { int Control::get_h_size_flags() const { return data.h_size_flags; } + void Control::set_v_size_flags(int p_flags) { if (data.v_size_flags == p_flags) return; @@ -2387,6 +2401,7 @@ void Control::set_scale(const Vector2 &p_scale) { update(); _notify_transform(); } + Vector2 Control::get_scale() const { return data.scale; } @@ -2495,6 +2510,7 @@ void Control::set_v_grow_direction(GrowDirection p_direction) { data.v_grow = p_direction; _size_changed(); } + Control::GrowDirection Control::get_v_grow_direction() const { return data.v_grow; } @@ -2772,6 +2788,7 @@ void Control::_bind_methods() { BIND_VMETHOD(MethodInfo(Variant::BOOL, "has_point", PropertyInfo(Variant::VECTOR2, "point"))); } + Control::Control() { data.parent = nullptr; diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index 3e1a72beb7..37d6784e35 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -127,6 +127,7 @@ void AcceptDialog::_cancel_pressed() { String AcceptDialog::get_text() const { return label->get_text(); } + void AcceptDialog::set_text(String p_text) { label->set_text(p_text); child_controls_changed(); @@ -138,6 +139,7 @@ void AcceptDialog::set_text(String p_text) { void AcceptDialog::set_hide_on_ok(bool p_hide) { hide_on_ok = p_hide; } + bool AcceptDialog::get_hide_on_ok() const { return hide_on_ok; } @@ -145,6 +147,7 @@ bool AcceptDialog::get_hide_on_ok() const { void AcceptDialog::set_autowrap(bool p_autowrap) { label->set_autowrap(p_autowrap); } + bool AcceptDialog::has_autowrap() { return label->has_autowrap(); } diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index adf67bc7df..158662e0fc 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -541,6 +541,7 @@ void FileDialog::clear_filters() { update_filters(); invalidate(); } + void FileDialog::add_filter(const String &p_filter) { filters.push_back(p_filter); update_filters(); @@ -560,17 +561,21 @@ Vector<String> FileDialog::get_filters() const { String FileDialog::get_current_dir() const { return dir->get_text(); } + String FileDialog::get_current_file() const { return file->get_text(); } + String FileDialog::get_current_path() const { return dir->get_text().plus_file(file->get_text()); } + void FileDialog::set_current_dir(const String &p_dir) { dir_access->change_dir(p_dir); update_dir(); invalidate(); } + void FileDialog::set_current_file(const String &p_file) { file->set_text(p_file); update_dir(); @@ -582,6 +587,7 @@ void FileDialog::set_current_file(const String &p_file) { file->grab_focus(); } } + void FileDialog::set_current_path(const String &p_path) { if (!p_path.size()) return; diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index 2129ae6126..02363e909c 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -1105,6 +1105,7 @@ Array GraphEdit::_get_connection_list() const { void GraphEdit::_zoom_minus() { set_zoom(zoom / ZOOM_SCALE); } + void GraphEdit::_zoom_reset() { set_zoom(1); } @@ -1155,6 +1156,7 @@ void GraphEdit::set_snap(int p_snap) { snap_amount->set_value(p_snap); update(); } + void GraphEdit::_snap_toggled() { update(); } diff --git a/scene/gui/graph_node.cpp b/scene/gui/graph_node.cpp index efac874462..c2203364d0 100644 --- a/scene/gui/graph_node.cpp +++ b/scene/gui/graph_node.cpp @@ -92,6 +92,7 @@ bool GraphNode::_get(const StringName &p_name, Variant &r_ret) const { return true; } + void GraphNode::_get_property_list(List<PropertyInfo> *p_list) const { int idx = 0; for (int i = 0; i < get_child_count(); i++) { @@ -305,11 +306,13 @@ void GraphNode::clear_slot(int p_idx) { update(); connpos_dirty = true; } + void GraphNode::clear_all_slots() { slot_info.clear(); update(); connpos_dirty = true; } + bool GraphNode::is_slot_enabled_left(int p_idx) const { if (!slot_info.has(p_idx)) return false; @@ -428,6 +431,7 @@ void GraphNode::set_show_close_button(bool p_enable) { show_close = p_enable; update(); } + bool GraphNode::is_close_button_visible() const { return show_close; } @@ -487,6 +491,7 @@ int GraphNode::get_connection_input_count() { return conn_input_cache.size(); } + int GraphNode::get_connection_output_count() { if (connpos_dirty) _connpos_update(); diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp index 86daa47c36..06a4534e22 100644 --- a/scene/gui/item_list.cpp +++ b/scene/gui/item_list.cpp @@ -190,6 +190,7 @@ void ItemList::set_item_tag_icon(int p_idx, const Ref<Texture2D> &p_tag_icon) { update(); shape_changed = true; } + Ref<Texture2D> ItemList::get_item_tag_icon(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, items.size(), Ref<Texture2D>()); @@ -231,6 +232,7 @@ Variant ItemList::get_item_metadata(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, items.size(), Variant()); return items[p_idx].metadata; } + void ItemList::select(int p_idx, bool p_single) { ERR_FAIL_INDEX(p_idx, items.size()); @@ -252,6 +254,7 @@ void ItemList::select(int p_idx, bool p_single) { } update(); } + void ItemList::unselect(int p_idx) { ERR_FAIL_INDEX(p_idx, items.size()); @@ -315,6 +318,7 @@ void ItemList::move_item(int p_from_idx, int p_to_idx) { int ItemList::get_item_count() const { return items.size(); } + void ItemList::remove_item(int p_idx) { ERR_FAIL_INDEX(p_idx, items.size()); @@ -339,6 +343,7 @@ void ItemList::set_fixed_column_width(int p_size) { update(); shape_changed = true; } + int ItemList::get_fixed_column_width() const { return fixed_column_width; } @@ -348,6 +353,7 @@ void ItemList::set_same_column_width(bool p_enable) { update(); shape_changed = true; } + bool ItemList::is_same_column_width() const { return same_column_width; } @@ -358,6 +364,7 @@ void ItemList::set_max_text_lines(int p_lines) { update(); shape_changed = true; } + int ItemList::get_max_text_lines() const { return max_text_lines; } @@ -368,6 +375,7 @@ void ItemList::set_max_columns(int p_amount) { update(); shape_changed = true; } + int ItemList::get_max_columns() const { return max_columns; } @@ -400,6 +408,7 @@ void ItemList::set_fixed_icon_size(const Size2 &p_size) { Size2 ItemList::get_fixed_icon_size() const { return fixed_icon_size; } + Size2 ItemList::Item::get_icon_size() const { if (icon.is_null()) return Size2(); diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp index 5f84dbe34b..f5487a49be 100644 --- a/scene/gui/label.cpp +++ b/scene/gui/label.cpp @@ -47,6 +47,7 @@ void Label::set_autowrap(bool p_autowrap) { minimum_size_changed(); } } + bool Label::has_autowrap() const { return autowrap; } @@ -56,6 +57,7 @@ void Label::set_uppercase(bool p_uppercase) { word_cache_dirty = true; update(); } + bool Label::is_uppercase() const { return uppercase; } diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index c1cfef0381..fa08f6f512 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -590,9 +590,11 @@ Variant LineEdit::get_drag_data(const Point2 &p_point) { return Variant(); } + bool LineEdit::can_drop_data(const Point2 &p_point, const Variant &p_data) const { return p_data.get_type() == Variant::STRING; } + void LineEdit::drop_data(const Point2 &p_point, const Variant &p_data) { if (p_data.get_type() == Variant::STRING) { set_cursor_at_pixel_pos(p_point.x); diff --git a/scene/gui/nine_patch_rect.cpp b/scene/gui/nine_patch_rect.cpp index a65edefa5f..4d94bbf5d9 100644 --- a/scene/gui/nine_patch_rect.cpp +++ b/scene/gui/nine_patch_rect.cpp @@ -50,6 +50,7 @@ void NinePatchRect::_notification(int p_what) { Size2 NinePatchRect::get_minimum_size() const { return Size2(margin[MARGIN_LEFT] + margin[MARGIN_RIGHT], margin[MARGIN_TOP] + margin[MARGIN_BOTTOM]); } + void NinePatchRect::_bind_methods() { ClassDB::bind_method(D_METHOD("set_texture", "texture"), &NinePatchRect::set_texture); ClassDB::bind_method(D_METHOD("get_texture"), &NinePatchRect::get_texture); diff --git a/scene/gui/option_button.cpp b/scene/gui/option_button.cpp index b3c024bd1d..bc4eec5ba3 100644 --- a/scene/gui/option_button.cpp +++ b/scene/gui/option_button.cpp @@ -112,6 +112,7 @@ void OptionButton::add_icon_item(const Ref<Texture2D> &p_icon, const String &p_l if (popup->get_item_count() == 1) select(0); } + void OptionButton::add_item(const String &p_label, int p_id) { popup->add_radio_check_item(p_label, p_id); if (popup->get_item_count() == 1) @@ -124,12 +125,14 @@ void OptionButton::set_item_text(int p_idx, const String &p_text) { if (current == p_idx) set_text(p_text); } + void OptionButton::set_item_icon(int p_idx, const Ref<Texture2D> &p_icon) { popup->set_item_icon(p_idx, p_icon); if (current == p_idx) set_icon(p_icon); } + void OptionButton::set_item_id(int p_idx, int p_id) { popup->set_item_id(p_idx, p_id); } @@ -220,6 +223,7 @@ int OptionButton::get_selected_id() const { return 0; return get_item_id(current); } + Variant OptionButton::get_selected_metadata() const { int idx = get_selected(); if (idx < 0) @@ -247,6 +251,7 @@ Array OptionButton::_get_items() const { return items; } + void OptionButton::_set_items(const Array &p_items) { ERR_FAIL_COND(p_items.size() % 5); clear(); diff --git a/scene/gui/panel.cpp b/scene/gui/panel.cpp index a13d8a0cdd..d8d9beca2b 100644 --- a/scene/gui/panel.cpp +++ b/scene/gui/panel.cpp @@ -44,6 +44,7 @@ void Panel::set_mode(Mode p_mode) { mode = p_mode; update(); } + Panel::Mode Panel::get_mode() const { return mode; } diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp index 7068e2e1e2..e1fcb8c2fc 100644 --- a/scene/gui/popup.cpp +++ b/scene/gui/popup.cpp @@ -44,6 +44,7 @@ void Popup::_input_from_window(const Ref<InputEvent> &p_event) { void Popup::_parent_focused() { _close_pressed(); } + void Popup::_notification(int p_what) { switch (p_what) { case NOTIFICATION_VISIBILITY_CHANGED: { @@ -94,6 +95,7 @@ void Popup::_close_pressed() { void Popup::set_as_minsize() { set_size(get_contents_minimum_size()); } + void Popup::_bind_methods() { ADD_SIGNAL(MethodInfo("popup_hide")); } diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp index 52fe991f83..c5c6305315 100644 --- a/scene/gui/popup_menu.cpp +++ b/scene/gui/popup_menu.cpp @@ -757,6 +757,7 @@ void PopupMenu::set_item_text(int p_idx, const String &p_text) { control->update(); child_controls_changed(); } + void PopupMenu::set_item_icon(int p_idx, const Ref<Texture2D> &p_icon) { ERR_FAIL_INDEX(p_idx, items.size()); items.write[p_idx].icon = p_icon; @@ -764,6 +765,7 @@ void PopupMenu::set_item_icon(int p_idx, const Ref<Texture2D> &p_icon) { control->update(); child_controls_changed(); } + void PopupMenu::set_item_checked(int p_idx, bool p_checked) { ERR_FAIL_INDEX(p_idx, items.size()); @@ -772,6 +774,7 @@ void PopupMenu::set_item_checked(int p_idx, bool p_checked) { control->update(); child_controls_changed(); } + void PopupMenu::set_item_id(int p_idx, int p_id) { ERR_FAIL_INDEX(p_idx, items.size()); items.write[p_idx].id = p_id; diff --git a/scene/gui/range.cpp b/scene/gui/range.cpp index 2260a5a97c..9e30063c5b 100644 --- a/scene/gui/range.cpp +++ b/scene/gui/range.cpp @@ -94,6 +94,7 @@ void Range::set_value(double p_val) { shared->emit_value_changed(); } + void Range::set_min(double p_min) { shared->min = p_min; set_value(shared->val); @@ -102,16 +103,19 @@ void Range::set_min(double p_min) { update_configuration_warning(); } + void Range::set_max(double p_max) { shared->max = p_max; set_value(shared->val); shared->emit_changed("max"); } + void Range::set_step(double p_step) { shared->step = p_step; shared->emit_changed("step"); } + void Range::set_page(double p_page) { shared->page = p_page; set_value(shared->val); @@ -122,15 +126,19 @@ void Range::set_page(double p_page) { double Range::get_value() const { return shared->val; } + double Range::get_min() const { return shared->min; } + double Range::get_max() const { return shared->max; } + double Range::get_step() const { return shared->step; } + double Range::get_page() const { return shared->page; } @@ -154,6 +162,7 @@ void Range::set_as_ratio(double p_value) { v = CLAMP(v, get_min(), get_max()); set_value(v); } + double Range::get_as_ratio() const { ERR_FAIL_COND_V_MSG(Math::is_equal_approx(get_max(), get_min()), 0.0, "Cannot get ratio when minimum and maximum value are equal."); diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index baf8c53fef..d73c61f0f2 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -2684,6 +2684,7 @@ void RichTextLabel::set_visible_characters(int p_visible) { int RichTextLabel::get_visible_characters() const { return visible_characters; } + int RichTextLabel::get_total_character_count() const { int tc = 0; for (int i = 0; i < current_frame->lines.size(); i++) diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp index 2f54ece449..0b00883a71 100644 --- a/scene/gui/scroll_container.cpp +++ b/scene/gui/scroll_container.cpp @@ -470,6 +470,7 @@ bool ScrollContainer::is_v_scroll_enabled() const { int ScrollContainer::get_v_scroll() const { return v_scroll->get_value(); } + void ScrollContainer::set_v_scroll(int p_pos) { v_scroll->set_value(p_pos); _cancel_drag(); @@ -478,6 +479,7 @@ void ScrollContainer::set_v_scroll(int p_pos) { int ScrollContainer::get_h_scroll() const { return h_scroll->get_value(); } + void ScrollContainer::set_h_scroll(int p_pos) { h_scroll->set_value(p_pos); _cancel_drag(); diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp index 501e50e7f7..4d861f380d 100644 --- a/scene/gui/tab_container.cpp +++ b/scene/gui/tab_container.cpp @@ -796,6 +796,7 @@ void TabContainer::set_tab_icon(int p_tab, const Ref<Texture2D> &p_icon) { child->set_meta("_tab_icon", p_icon); update(); } + Ref<Texture2D> TabContainer::get_tab_icon(int p_tab) const { Control *child = _get_tab(p_tab); ERR_FAIL_COND_V(!child, Ref<Texture2D>()); @@ -912,6 +913,7 @@ void TabContainer::set_drag_to_rearrange_enabled(bool p_enabled) { bool TabContainer::get_drag_to_rearrange_enabled() const { return drag_to_rearrange_enabled; } + void TabContainer::set_tabs_rearrange_group(int p_group_id) { tabs_rearrange_group = p_group_id; } diff --git a/scene/gui/tabs.cpp b/scene/gui/tabs.cpp index 2dce34daf0..4c3fa2f038 100644 --- a/scene/gui/tabs.cpp +++ b/scene/gui/tabs.cpp @@ -435,6 +435,7 @@ void Tabs::set_tab_disabled(int p_tab, bool p_disabled) { tabs.write[p_tab].disabled = p_disabled; update(); } + bool Tabs::get_tab_disabled(int p_tab) const { ERR_FAIL_INDEX_V(p_tab, tabs.size(), false); return tabs[p_tab].disabled; @@ -447,6 +448,7 @@ void Tabs::set_tab_right_button(int p_tab, const Ref<Texture2D> &p_right_button) update(); minimum_size_changed(); } + Ref<Texture2D> Tabs::get_tab_right_button(int p_tab) const { ERR_FAIL_INDEX_V(p_tab, tabs.size(), Ref<Texture2D>()); return tabs[p_tab].right_button; @@ -866,6 +868,7 @@ void Tabs::set_drag_to_rearrange_enabled(bool p_enabled) { bool Tabs::get_drag_to_rearrange_enabled() const { return drag_to_rearrange_enabled; } + void Tabs::set_tabs_rearrange_group(int p_group_id) { tabs_rearrange_group = p_group_id; } diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index ee1391806e..c5067c9efd 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -296,6 +296,7 @@ void TextEdit::Text::insert(int p_at, const String &p_text) { line.data = p_text; text.insert(p_at, line); } + void TextEdit::Text::remove(int p_at) { text.remove(p_at); } @@ -5166,27 +5167,33 @@ void TextEdit::select(int p_from_line, int p_from_column, int p_to_line, int p_t update(); } + void TextEdit::swap_lines(int line1, int line2) { String tmp = get_line(line1); String tmp2 = get_line(line2); set_line(line2, tmp); set_line(line1, tmp2); } + bool TextEdit::is_selection_active() const { return selection.active; } + int TextEdit::get_selection_from_line() const { ERR_FAIL_COND_V(!selection.active, -1); return selection.from_line; } + int TextEdit::get_selection_from_column() const { ERR_FAIL_COND_V(!selection.active, -1); return selection.from_column; } + int TextEdit::get_selection_to_line() const { ERR_FAIL_COND_V(!selection.active, -1); return selection.to_line; } + int TextEdit::get_selection_to_column() const { ERR_FAIL_COND_V(!selection.active, -1); return selection.to_column; diff --git a/scene/gui/texture_button.cpp b/scene/gui/texture_button.cpp index 325b9d00ed..0cc0e50a00 100644 --- a/scene/gui/texture_button.cpp +++ b/scene/gui/texture_button.cpp @@ -270,14 +270,17 @@ void TextureButton::set_pressed_texture(const Ref<Texture2D> &p_pressed) { pressed = p_pressed; update(); } + void TextureButton::set_hover_texture(const Ref<Texture2D> &p_hover) { hover = p_hover; update(); } + void TextureButton::set_disabled_texture(const Ref<Texture2D> &p_disabled) { disabled = p_disabled; update(); } + void TextureButton::set_click_mask(const Ref<BitMap> &p_click_mask) { click_mask = p_click_mask; update(); @@ -286,15 +289,19 @@ void TextureButton::set_click_mask(const Ref<BitMap> &p_click_mask) { Ref<Texture2D> TextureButton::get_normal_texture() const { return normal; } + Ref<Texture2D> TextureButton::get_pressed_texture() const { return pressed; } + Ref<Texture2D> TextureButton::get_hover_texture() const { return hover; } + Ref<Texture2D> TextureButton::get_disabled_texture() const { return disabled; } + Ref<BitMap> TextureButton::get_click_mask() const { return click_mask; } diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index c0bdc3923b..df4420ca8c 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -249,6 +249,7 @@ bool TreeItem::is_range_exponential(int p_column) const { ERR_FAIL_INDEX_V(p_column, cells.size(), false); return cells[p_column].expr; } + void TreeItem::set_range_config(int p_column, double p_min, double p_max, double p_step, bool p_exp) { ERR_FAIL_INDEX(p_column, cells.size()); cells.write[p_column].min = p_min; @@ -481,21 +482,25 @@ int TreeItem::get_button_count(int p_column) const { ERR_FAIL_INDEX_V(p_column, cells.size(), -1); return cells[p_column].buttons.size(); } + Ref<Texture2D> TreeItem::get_button(int p_column, int p_idx) const { ERR_FAIL_INDEX_V(p_column, cells.size(), Ref<Texture2D>()); ERR_FAIL_INDEX_V(p_idx, cells[p_column].buttons.size(), Ref<Texture2D>()); return cells[p_column].buttons[p_idx].texture; } + String TreeItem::get_button_tooltip(int p_column, int p_idx) const { ERR_FAIL_INDEX_V(p_column, cells.size(), String()); ERR_FAIL_INDEX_V(p_idx, cells[p_column].buttons.size(), String()); return cells[p_column].buttons[p_idx].tooltip; } + int TreeItem::get_button_id(int p_column, int p_idx) const { ERR_FAIL_INDEX_V(p_column, cells.size(), -1); ERR_FAIL_INDEX_V(p_idx, cells[p_column].buttons.size(), -1); return cells[p_column].buttons[p_idx].id; } + void TreeItem::erase_button(int p_column, int p_idx) { ERR_FAIL_INDEX(p_column, cells.size()); ERR_FAIL_INDEX(p_idx, cells[p_column].buttons.size()); @@ -560,12 +565,14 @@ void TreeItem::set_custom_color(int p_column, const Color &p_color) { cells.write[p_column].color = p_color; _changed_notify(p_column); } + Color TreeItem::get_custom_color(int p_column) const { ERR_FAIL_INDEX_V(p_column, cells.size(), Color()); if (!cells[p_column].custom_color) return Color(); return cells[p_column].color; } + void TreeItem::clear_custom_color(int p_column) { ERR_FAIL_INDEX(p_column, cells.size()); cells.write[p_column].custom_color = false; @@ -1435,6 +1442,7 @@ int Tree::_count_selected_items(TreeItem *p_from) const { return count; } + void Tree::select_single_item(TreeItem *p_selected, TreeItem *p_current, int p_col, TreeItem *p_prev, bool *r_in_range, bool p_force_deselect) { TreeItem::Cell &selected_cell = p_selected->cells.write[p_col]; @@ -2891,6 +2899,7 @@ TreeItem *Tree::create_item(TreeItem *p_parent, int p_idx) { TreeItem *Tree::get_root() { return root; } + TreeItem *Tree::get_last_item() { TreeItem *last = root; @@ -3009,6 +3018,7 @@ void Tree::set_column_min_width(int p_column, int p_min_width) { columns.write[p_column].min_width = p_min_width; update(); } + void Tree::set_column_expand(int p_column, bool p_expand) { ERR_FAIL_INDEX(p_column, columns.size()); @@ -3457,6 +3467,7 @@ int Tree::get_drop_section_at_position(const Point2 &p_pos) const { return -100; } + TreeItem *Tree::get_item_at_position(const Point2 &p_pos) const { if (root) { Point2 pos = p_pos; diff --git a/scene/main/canvas_item.cpp b/scene/main/canvas_item.cpp index 8ca33eaf96..24a9d24e0e 100644 --- a/scene/main/canvas_item.cpp +++ b/scene/main/canvas_item.cpp @@ -180,6 +180,7 @@ bool CanvasItemMaterial::_is_shader_dirty() const { return element.in_list(); } + void CanvasItemMaterial::set_blend_mode(BlendMode p_blend_mode) { blend_mode = p_blend_mode; _queue_shader_change(); @@ -216,6 +217,7 @@ void CanvasItemMaterial::set_particles_anim_h_frames(int p_frames) { int CanvasItemMaterial::get_particles_anim_h_frames() const { return particles_anim_h_frames; } + void CanvasItemMaterial::set_particles_anim_v_frames(int p_frames) { particles_anim_v_frames = p_frames; RS::get_singleton()->material_set_param(_get_material(), shader_names->particles_anim_v_frames, p_frames); @@ -645,6 +647,7 @@ void CanvasItem::set_modulate(const Color &p_modulate) { modulate = p_modulate; RenderingServer::get_singleton()->canvas_item_set_modulate(canvas_item, modulate); } + Color CanvasItem::get_modulate() const { return modulate; } @@ -681,6 +684,7 @@ void CanvasItem::set_self_modulate(const Color &p_self_modulate) { self_modulate = p_self_modulate; RenderingServer::get_singleton()->canvas_item_set_self_modulate(canvas_item, self_modulate); } + Color CanvasItem::get_self_modulate() const { return self_modulate; } @@ -815,6 +819,7 @@ void CanvasItem::draw_texture_rect(const Ref<Texture2D> &p_texture, const Rect2 ERR_FAIL_COND(p_texture.is_null()); p_texture->draw_rect(canvas_item, p_rect, p_tile, p_modulate, p_transpose, p_normal_map, p_specular_map, p_specular_color_shininess, RS::CanvasItemTextureFilter(p_texture_filter), RS::CanvasItemTextureRepeat(p_texture_repeat)); } + void CanvasItem::draw_texture_rect_region(const Ref<Texture2D> &p_texture, const Rect2 &p_rect, const Rect2 &p_src_rect, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, bool p_clip_uv, TextureFilter p_texture_filter, TextureRepeat p_texture_repeat) { ERR_FAIL_COND_MSG(!drawing, "Drawing is only allowed inside NOTIFICATION_DRAW, _draw() function or 'draw' signal."); ERR_FAIL_COND(p_texture.is_null()); @@ -828,6 +833,7 @@ void CanvasItem::draw_style_box(const Ref<StyleBox> &p_style_box, const Rect2 &p p_style_box->draw(canvas_item, p_rect); } + void CanvasItem::draw_primitive(const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs, Ref<Texture2D> p_texture, float p_width, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, TextureFilter p_texture_filter, TextureRepeat p_texture_repeat) { ERR_FAIL_COND_MSG(!drawing, "Drawing is only allowed inside NOTIFICATION_DRAW, _draw() function or 'draw' signal."); @@ -837,6 +843,7 @@ void CanvasItem::draw_primitive(const Vector<Point2> &p_points, const Vector<Col RenderingServer::get_singleton()->canvas_item_add_primitive(canvas_item, p_points, p_colors, p_uvs, rid, p_width, rid_normal, rid_specular, p_specular_color_shininess, RS::CanvasItemTextureFilter(p_texture_filter), RS::CanvasItemTextureRepeat(p_texture_repeat)); } + void CanvasItem::draw_set_transform(const Point2 &p_offset, float p_rot, const Size2 &p_scale) { ERR_FAIL_COND_MSG(!drawing, "Drawing is only allowed inside NOTIFICATION_DRAW, _draw() function or 'draw' signal."); @@ -881,6 +888,7 @@ void CanvasItem::draw_mesh(const Ref<Mesh> &p_mesh, const Ref<Texture2D> &p_text RenderingServer::get_singleton()->canvas_item_add_mesh(canvas_item, p_mesh->get_rid(), p_transform, p_modulate, texture_rid, normal_map_rid, specular_map_rid, p_specular_color_shininess, RS::CanvasItemTextureFilter(p_texture_filter), RS::CanvasItemTextureRepeat(p_texture_repeat)); } + void CanvasItem::draw_multimesh(const Ref<MultiMesh> &p_multimesh, const Ref<Texture2D> &p_texture, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, TextureFilter p_texture_filter, TextureRepeat p_texture_repeat) { ERR_FAIL_COND(p_multimesh.is_null()); RID texture_rid = p_texture.is_valid() ? p_texture->get_rid() : RID(); diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp index d9280a96d2..1603ad66be 100644 --- a/scene/main/http_request.cpp +++ b/scene/main/http_request.cpp @@ -454,6 +454,7 @@ int HTTPRequest::get_max_redirects() const { int HTTPRequest::get_downloaded_bytes() const { return downloaded; } + int HTTPRequest::get_body_size() const { return body_len; } diff --git a/scene/main/node.cpp b/scene/main/node.cpp index 0f71606c0e..4e08057577 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -1276,6 +1276,7 @@ void Node::remove_child(Node *p_child) { int Node::get_child_count() const { return data.children.size(); } + Node *Node::get_child(int p_index) const { ERR_FAIL_INDEX_V(p_index, data.children.size(), nullptr); @@ -1516,6 +1517,7 @@ void Node::set_owner(Node *p_owner) { _set_owner_nocheck(p_owner); } + Node *Node::get_owner() const { return data.owner; } @@ -1685,6 +1687,7 @@ int Node::get_persistent_group_count() const { return count; } + void Node::_print_tree_pretty(const String &prefix, const bool last) { String new_prefix = last ? String::utf8(" ┖╴") : String::utf8(" ┠╴"); print_line(prefix + new_prefix + String(get_name())); @@ -1814,6 +1817,7 @@ void Node::remove_and_skip() { void Node::set_filename(const String &p_filename) { data.filename = p_filename; } + String Node::get_filename() const { return data.filename; } @@ -1821,6 +1825,7 @@ String Node::get_filename() const { void Node::set_editor_description(const String &p_editor_description) { set_meta("_editor_description_", p_editor_description); } + String Node::get_editor_description() const { if (has_meta("_editor_description_")) { return get_meta("_editor_description_"); diff --git a/scene/main/resource_preloader.cpp b/scene/main/resource_preloader.cpp index 758523caf6..c1d4435687 100644 --- a/scene/main/resource_preloader.cpp +++ b/scene/main/resource_preloader.cpp @@ -100,6 +100,7 @@ void ResourcePreloader::remove_resource(const StringName &p_name) { ERR_FAIL_COND(!resources.has(p_name)); resources.erase(p_name); } + void ResourcePreloader::rename_resource(const StringName &p_from_name, const StringName &p_to_name) { ERR_FAIL_COND(!resources.has(p_from_name)); @@ -112,6 +113,7 @@ void ResourcePreloader::rename_resource(const StringName &p_from_name, const Str bool ResourcePreloader::has_resource(const StringName &p_name) const { return resources.has(p_name); } + RES ResourcePreloader::get_resource(const StringName &p_name) const { ERR_FAIL_COND_V(!resources.has(p_name), RES()); return resources[p_name]; diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index 018d08d9fc..41fc830f48 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -530,6 +530,7 @@ void SceneTree::_main_window_close() { _quit = true; } } + void SceneTree::_main_window_go_back() { if (quit_on_go_back) { _quit = true; @@ -660,6 +661,7 @@ Ref<Material> SceneTree::get_debug_navigation_disabled_material() { return navigation_disabled_material; } + Ref<Material> SceneTree::get_debug_collision_material() { if (collision_material.is_valid()) return collision_material; @@ -792,6 +794,7 @@ void SceneMainLoop::_update_listener_2d() { } } + */ void SceneTree::_call_input_pause(const StringName &p_group, const StringName &p_method, const Ref<InputEvent> &p_input, Viewport *p_viewport) { @@ -835,6 +838,7 @@ void SceneTree::_call_input_pause(const StringName &p_group, const StringName &p if (call_lock == 0) call_skip.clear(); } + Variant SceneTree::_call_group_flags(const Variant **p_args, int p_argcount, Callable::CallError &r_error) { r_error.error = Callable::CallError::CALL_OK; @@ -878,6 +882,7 @@ Variant SceneTree::_call_group(const Variant **p_args, int p_argcount, Callable: int64_t SceneTree::get_frame() const { return current_frame; } + int64_t SceneTree::get_event_count() const { return current_event; } @@ -906,6 +911,7 @@ Array SceneTree::_get_nodes_in_group(const StringName &p_group) { bool SceneTree::has_group(const StringName &p_identifier) const { return group_map.has(p_identifier); } + void SceneTree::get_nodes_in_group(const StringName &p_group, List<Node *> *p_list) { Map<StringName, Group>::Element *E = group_map.find(p_group); if (!E) diff --git a/scene/main/shader_globals_override.cpp b/scene/main/shader_globals_override.cpp index ebfc34b9c7..726dcb58de 100644 --- a/scene/main/shader_globals_override.cpp +++ b/scene/main/shader_globals_override.cpp @@ -48,6 +48,7 @@ StringName *ShaderGlobalsOverride::_remap(const StringName &p_name) const { return r; } + bool ShaderGlobalsOverride::_set(const StringName &p_name, const Variant &p_value) { StringName *r = _remap(p_name); diff --git a/scene/main/timer.cpp b/scene/main/timer.cpp index 81ab7e3391..286f332ba5 100644 --- a/scene/main/timer.cpp +++ b/scene/main/timer.cpp @@ -80,6 +80,7 @@ void Timer::set_wait_time(float p_time) { ERR_FAIL_COND_MSG(p_time <= 0, "Time should be greater than zero."); wait_time = p_time; } + float Timer::get_wait_time() const { return wait_time; } @@ -87,6 +88,7 @@ float Timer::get_wait_time() const { void Timer::set_one_shot(bool p_one_shot) { one_shot = p_one_shot; } + bool Timer::is_one_shot() const { return one_shot; } @@ -94,6 +96,7 @@ bool Timer::is_one_shot() const { void Timer::set_autostart(bool p_start) { autostart = p_start; } + bool Timer::has_autostart() const { return autostart; } diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 6fcf0ace7a..8d22ebb7ae 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -104,14 +104,17 @@ int ViewportTexture::get_width() const { ERR_FAIL_COND_V_MSG(!vp, 0, "Viewport Texture must be set to use it."); return vp->size.width; } + int ViewportTexture::get_height() const { ERR_FAIL_COND_V_MSG(!vp, 0, "Viewport Texture must be set to use it."); return vp->size.height; } + Size2 ViewportTexture::get_size() const { ERR_FAIL_COND_V_MSG(!vp, Size2(), "Viewport Texture must be set to use it."); return vp->size; } + RID ViewportTexture::get_rid() const { //ERR_FAIL_COND_V_MSG(!vp, RID(), "Viewport Texture must be set to use it."); if (proxy.is_null()) { @@ -124,6 +127,7 @@ RID ViewportTexture::get_rid() const { bool ViewportTexture::has_alpha() const { return false; } + Ref<Image> ViewportTexture::get_data() const { ERR_FAIL_COND_V_MSG(!vp, Ref<Image>(), "Viewport Texture must be set to use it."); return RS::get_singleton()->texture_2d_get(vp->texture_rid); @@ -852,9 +856,11 @@ void Viewport::_set_size(const Size2i &p_size, const Size2i &p_size_2d_override, Size2i Viewport::_get_size() const { return size; } + Size2i Viewport::_get_size_2d_override() const { return size_2d_override; } + bool Viewport::_is_size_allocated() const { return size_allocated; } @@ -1382,6 +1388,7 @@ void Viewport::set_shadow_atlas_quadrant_subdiv(int p_quadrant, ShadowAtlasQuadr RS::get_singleton()->viewport_set_shadow_atlas_quadrant_subdivision(viewport, p_quadrant, subdiv[p_subdiv]); } + Viewport::ShadowAtlasQuadrantSubdiv Viewport::get_shadow_atlas_quadrant_subdiv(int p_quadrant) const { ERR_FAIL_INDEX_V(p_quadrant, 4, SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED); return shadow_atlas_quadrant_subdiv[p_quadrant]; @@ -1604,6 +1611,7 @@ void Viewport::_gui_call_notification(Control *p_control, int p_what) { //_unblock(); } + Control *Viewport::_gui_find_control(const Point2 &p_global) { //aca va subwindows _gui_sort_roots(); @@ -2507,6 +2515,7 @@ void Viewport::input_text(const String &p_text) { gui.key_focus->call("set_text", p_text); } } + Viewport::SubWindowResize Viewport::_sub_window_get_resize_margin(Window *p_subwindow, const Point2 &p_point) { if (p_subwindow->get_flag(Window::FLAG_BORDERLESS)) { return SUB_WINDOW_RESIZE_DISABLED; @@ -2570,6 +2579,7 @@ Viewport::SubWindowResize Viewport::_sub_window_get_resize_margin(Window *p_subw return SUB_WINDOW_RESIZE_DISABLED; } + bool Viewport::_sub_windows_forward_input(const Ref<InputEvent> &p_event) { if (gui.subwindow_drag != SUB_WINDOW_DRAG_DISABLED) { ERR_FAIL_COND_V(gui.subwindow_focused == nullptr, false); @@ -2950,6 +2960,7 @@ String Viewport::get_configuration_warning() const { void Viewport::gui_reset_canvas_sort_index() { gui.canvas_sort_index = 0; } + int Viewport::gui_get_canvas_sort_index() { return gui.canvas_sort_index++; } @@ -2977,6 +2988,7 @@ void Viewport::set_screen_space_aa(ScreenSpaceAA p_screen_space_aa) { Viewport::ScreenSpaceAA Viewport::get_screen_space_aa() const { return screen_space_aa; } + void Viewport::set_debug_draw(DebugDraw p_debug_draw) { debug_draw = p_debug_draw; RS::get_singleton()->viewport_set_debug_draw(viewport, RS::ViewportDebugDraw(p_debug_draw)); @@ -3070,6 +3082,7 @@ void Viewport::set_default_canvas_item_texture_repeat(DefaultCanvasItemTextureRe default_canvas_item_texture_repeat = p_repeat; _propagate_update_default_repeat(this); } + Viewport::DefaultCanvasItemTextureRepeat Viewport::get_default_canvas_item_texture_repeat() const { return default_canvas_item_texture_repeat; } @@ -3112,9 +3125,11 @@ Viewport *Viewport::get_parent_viewport() const { void Viewport::set_embed_subwindows_hint(bool p_embed) { gui.embed_subwindows_hint = p_embed; } + bool Viewport::get_embed_subwindows_hint() const { return gui.embed_subwindows_hint; } + bool Viewport::is_embedding_subwindows() const { return gui.embed_subwindows_hint; } @@ -3423,6 +3438,7 @@ bool SubViewport::is_using_xr() { void SubViewport::set_size(const Size2i &p_size) { _set_size(p_size, _get_size_2d_override(), Rect2i(), _stretch_transform(), true); } + Size2i SubViewport::get_size() const { return _get_size(); } @@ -3430,6 +3446,7 @@ Size2i SubViewport::get_size() const { void SubViewport::set_size_2d_override(const Size2i &p_size) { _set_size(_get_size(), p_size, Rect2i(), _stretch_transform(), true); } + Size2i SubViewport::get_size_2d_override() const { return _get_size_2d_override(); } @@ -3442,6 +3459,7 @@ void SubViewport::set_size_2d_override_stretch(bool p_enable) { size_2d_override_stretch = p_enable; _set_size(_get_size(), _get_size_2d_override(), Rect2i(), _stretch_transform(), true); } + bool SubViewport::is_size_2d_override_stretch_enabled() const { return size_2d_override_stretch; } @@ -3450,6 +3468,7 @@ void SubViewport::set_update_mode(UpdateMode p_mode) { update_mode = p_mode; RS::get_singleton()->viewport_set_update_mode(get_viewport_rid(), RS::ViewportUpdateMode(p_mode)); } + SubViewport::UpdateMode SubViewport::get_update_mode() const { return update_mode; } @@ -3458,6 +3477,7 @@ void SubViewport::set_clear_mode(ClearMode p_mode) { clear_mode = p_mode; RS::get_singleton()->viewport_set_clear_mode(get_viewport_rid(), RS::ViewportClearMode(p_mode)); } + SubViewport::ClearMode SubViewport::get_clear_mode() const { return clear_mode; } diff --git a/scene/main/window.cpp b/scene/main/window.cpp index ea2a2083be..0a38df5769 100644 --- a/scene/main/window.cpp +++ b/scene/main/window.cpp @@ -46,6 +46,7 @@ void Window::set_title(const String &p_title) { DisplayServer::get_singleton()->window_set_title(p_title, window_id); } } + String Window::get_title() const { return title; } @@ -56,6 +57,7 @@ void Window::set_current_screen(int p_screen) { return; DisplayServer::get_singleton()->window_set_current_screen(p_screen, window_id); } + int Window::get_current_screen() const { if (window_id != DisplayServer::INVALID_WINDOW_ID) { current_screen = DisplayServer::get_singleton()->window_get_current_screen(window_id); @@ -73,6 +75,7 @@ void Window::set_position(const Point2i &p_position) { DisplayServer::get_singleton()->window_set_position(p_position, window_id); } } + Point2i Window::get_position() const { return position; } @@ -81,6 +84,7 @@ void Window::set_size(const Size2i &p_size) { size = p_size; _update_window_size(); } + Size2i Window::get_size() const { return size; } @@ -172,6 +176,7 @@ void Window::request_attention() { DisplayServer::get_singleton()->window_request_attention(window_id); } } + void Window::move_to_foreground() { if (embedder) { embedder->_sub_window_grab_focus(this); @@ -197,6 +202,7 @@ void Window::set_ime_active(bool p_active) { DisplayServer::get_singleton()->window_set_ime_active(p_active, window_id); } } + void Window::set_ime_position(const Point2i &p_pos) { if (window_id != DisplayServer::INVALID_WINDOW_ID) { DisplayServer::get_singleton()->window_set_ime_position(p_pos, window_id); @@ -241,6 +247,7 @@ void Window::_make_window() { RS::get_singleton()->viewport_set_update_mode(get_viewport_rid(), RS::VIEWPORT_UPDATE_WHEN_VISIBLE); } + void Window::_update_from_window() { ERR_FAIL_COND(window_id == DisplayServer::INVALID_WINDOW_ID); mode = (Mode)DisplayServer::get_singleton()->window_get_mode(window_id); @@ -338,6 +345,7 @@ void Window::_event_callback(DisplayServer::WindowEvent p_event) { void Window::show() { set_visible(true); } + void Window::hide() { set_visible(false); } @@ -459,6 +467,7 @@ void Window::set_transient(bool p_transient) { _clear_transient(); } } + bool Window::is_transient() const { return transient; } @@ -519,6 +528,7 @@ void Window::_update_window_size() { //update the viewport _update_viewport_size(); } + void Window::_update_viewport_size() { //update the viewport part @@ -774,6 +784,7 @@ void Window::set_content_scale_mode(ContentScaleMode p_mode) { content_scale_mode = p_mode; _update_viewport_size(); } + Window::ContentScaleMode Window::get_content_scale_mode() const { return content_scale_mode; } @@ -782,6 +793,7 @@ void Window::set_content_scale_aspect(ContentScaleAspect p_aspect) { content_scale_aspect = p_aspect; _update_viewport_size(); } + Window::ContentScaleAspect Window::get_content_scale_aspect() const { return content_scale_aspect; } @@ -793,6 +805,7 @@ void Window::set_use_font_oversampling(bool p_oversampling) { use_font_oversampling = p_oversampling; _update_viewport_size(); } + bool Window::is_using_font_oversampling() const { return use_font_oversampling; } @@ -828,6 +841,7 @@ Size2 Window::_get_contents_minimum_size() const { return max; } + void Window::_update_child_controls() { if (!updating_child_controls) { return; @@ -837,6 +851,7 @@ void Window::_update_child_controls() { updating_child_controls = false; } + void Window::child_controls_changed() { if (!is_inside_tree() || !visible || updating_child_controls) { return; @@ -870,9 +885,11 @@ void Window::_window_input(const Ref<InputEvent> &p_ev) { unhandled_input(p_ev); } } + void Window::_window_input_text(const String &p_text) { input_text(p_text); } + void Window::_window_drop_files(const Vector<String> &p_files) { emit_signal("files_dropped", p_files, current_screen); } @@ -1102,6 +1119,7 @@ void Window::set_theme(const Ref<Theme> &p_theme) { } } } + Ref<Theme> Window::get_theme() const { return theme; } @@ -1110,22 +1128,27 @@ Ref<Texture2D> Window::get_theme_icon(const StringName &p_name, const StringName StringName type = p_type ? p_type : get_class_name(); return Control::get_icons(theme_owner, theme_owner_window, p_name, type); } + Ref<Shader> Window::get_theme_shader(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::get_shaders(theme_owner, theme_owner_window, p_name, type); } + Ref<StyleBox> Window::get_theme_stylebox(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::get_styleboxs(theme_owner, theme_owner_window, p_name, type); } + Ref<Font> Window::get_theme_font(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::get_fonts(theme_owner, theme_owner_window, p_name, type); } + Color Window::get_theme_color(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::get_colors(theme_owner, theme_owner_window, p_name, type); } + int Window::get_theme_constant(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::get_constants(theme_owner, theme_owner_window, p_name, type); @@ -1135,22 +1158,27 @@ bool Window::has_theme_icon(const StringName &p_name, const StringName &p_type) StringName type = p_type ? p_type : get_class_name(); return Control::has_icons(theme_owner, theme_owner_window, p_name, type); } + bool Window::has_theme_shader(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::has_shaders(theme_owner, theme_owner_window, p_name, type); } + bool Window::has_theme_stylebox(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::has_styleboxs(theme_owner, theme_owner_window, p_name, type); } + bool Window::has_theme_font(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::has_fonts(theme_owner, theme_owner_window, p_name, type); } + bool Window::has_theme_color(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::has_colors(theme_owner, theme_owner_window, p_name, type); } + bool Window::has_theme_constant(const StringName &p_name, const StringName &p_type) const { StringName type = p_type ? p_type : get_class_name(); return Control::has_constants(theme_owner, theme_owner_window, p_name, type); @@ -1354,5 +1382,6 @@ Window::Window() { content_scale_aspect = CONTENT_SCALE_ASPECT_IGNORE; RS::get_singleton()->viewport_set_update_mode(get_viewport_rid(), RS::VIEWPORT_UPDATE_DISABLED); } + Window::~Window() { } diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp index 44aa3f8319..fb22b99b26 100644 --- a/scene/resources/animation.cpp +++ b/scene/resources/animation.cpp @@ -732,6 +732,7 @@ int Animation::_insert_pos(float p_time, T& p_keys) { } } + */ template <class T, class V> int Animation::_insert(float p_time, T &p_keys, const V &p_value) { @@ -1421,9 +1422,11 @@ Animation::TransformKey Animation::_interpolate(const Animation::TransformKey &p Vector3 Animation::_interpolate(const Vector3 &p_a, const Vector3 &p_b, float p_c) const { return p_a.lerp(p_b, p_c); } + Quat Animation::_interpolate(const Quat &p_a, const Quat &p_b, float p_c) const { return p_a.slerp(p_b, p_c); } + Variant Animation::_interpolate(const Variant &p_a, const Variant &p_b, float p_c) const { Variant dst; Variant::interpolate(p_a, p_b, p_c, dst); @@ -1443,12 +1446,15 @@ Animation::TransformKey Animation::_cubic_interpolate(const Animation::Transform return tk; } + Vector3 Animation::_cubic_interpolate(const Vector3 &p_pre_a, const Vector3 &p_a, const Vector3 &p_b, const Vector3 &p_post_b, float p_c) const { return p_a.cubic_interpolate(p_b, p_pre_a, p_post_b, p_c); } + Quat Animation::_cubic_interpolate(const Quat &p_pre_a, const Quat &p_a, const Quat &p_b, const Quat &p_post_b, float p_c) const { return p_a.cubic_slerp(p_b, p_pre_a, p_post_b, p_c); } + Variant Animation::_cubic_interpolate(const Variant &p_pre_a, const Variant &p_a, const Variant &p_b, const Variant &p_post_b, float p_c) const { Variant::Type type_a = p_a.get_type(); Variant::Type type_b = p_b.get_type(); @@ -1533,6 +1539,7 @@ Variant Animation::_cubic_interpolate(const Variant &p_pre_a, const Variant &p_a } } } + float Animation::_cubic_interpolate(const float &p_pre_a, const float &p_a, const float &p_b, const float &p_post_b, float p_c) const { return _interpolate(p_a, p_b, p_c); } @@ -2008,6 +2015,7 @@ void Animation::method_track_get_key_indices(int p_track, float p_time, float p_ _method_track_get_key_indices_in_range(mt, from_time, to_time, p_indices); } + Vector<Variant> Animation::method_track_get_params(int p_track, int p_key_idx) const { ERR_FAIL_INDEX_V(p_track, tracks.size(), Vector<Variant>()); Track *t = tracks[p_track]; @@ -2021,6 +2029,7 @@ Vector<Variant> Animation::method_track_get_params(int p_track, int p_key_idx) c return mk.params; } + StringName Animation::method_track_get_name(int p_track, int p_key_idx) const { ERR_FAIL_INDEX_V(p_track, tracks.size(), StringName()); Track *t = tracks[p_track]; @@ -2087,6 +2096,7 @@ void Animation::bezier_track_set_key_in_handle(int p_track, int p_index, const V } emit_changed(); } + void Animation::bezier_track_set_key_out_handle(int p_track, int p_index, const Vector2 &p_handle) { ERR_FAIL_INDEX(p_track, tracks.size()); Track *t = tracks[p_track]; @@ -2102,6 +2112,7 @@ void Animation::bezier_track_set_key_out_handle(int p_track, int p_index, const } emit_changed(); } + float Animation::bezier_track_get_key_value(int p_track, int p_index) const { ERR_FAIL_INDEX_V(p_track, tracks.size(), 0); Track *t = tracks[p_track]; @@ -2113,6 +2124,7 @@ float Animation::bezier_track_get_key_value(int p_track, int p_index) const { return bt->values[p_index].value.value; } + Vector2 Animation::bezier_track_get_key_in_handle(int p_track, int p_index) const { ERR_FAIL_INDEX_V(p_track, tracks.size(), Vector2()); Track *t = tracks[p_track]; @@ -2124,6 +2136,7 @@ Vector2 Animation::bezier_track_get_key_in_handle(int p_track, int p_index) cons return bt->values[p_index].value.in_handle; } + Vector2 Animation::bezier_track_get_key_out_handle(int p_track, int p_index) const { ERR_FAIL_INDEX_V(p_track, tracks.size(), Vector2()); Track *t = tracks[p_track]; @@ -2296,6 +2309,7 @@ RES Animation::audio_track_get_key_stream(int p_track, int p_key) const { return at->values[p_key].value.stream; } + float Animation::audio_track_get_key_start_offset(int p_track, int p_key) const { ERR_FAIL_INDEX_V(p_track, tracks.size(), 0); const Track *t = tracks[p_track]; @@ -2307,6 +2321,7 @@ float Animation::audio_track_get_key_start_offset(int p_track, int p_key) const return at->values[p_key].value.start_offset; } + float Animation::audio_track_get_key_end_offset(int p_track, int p_key) const { ERR_FAIL_INDEX_V(p_track, tracks.size(), 0); const Track *t = tracks[p_track]; @@ -2372,6 +2387,7 @@ void Animation::set_length(float p_length) { length = p_length; emit_changed(); } + float Animation::get_length() const { return length; } @@ -2380,6 +2396,7 @@ void Animation::set_loop(bool p_enabled) { loop = p_enabled; emit_changed(); } + bool Animation::has_loop() const { return loop; } diff --git a/scene/resources/audio_stream_sample.cpp b/scene/resources/audio_stream_sample.cpp index b6608b47d0..dafcf12183 100644 --- a/scene/resources/audio_stream_sample.cpp +++ b/scene/resources/audio_stream_sample.cpp @@ -70,6 +70,7 @@ int AudioStreamPlaybackSample::get_loop_count() const { float AudioStreamPlaybackSample::get_playback_position() const { return float(offset >> MIX_FRAC_BITS) / base->mix_rate; } + void AudioStreamPlaybackSample::seek(float p_time) { if (base->format == AudioStreamSample::FORMAT_IMA_ADPCM) return; //no seeking in ima-adpcm @@ -404,6 +405,7 @@ AudioStreamSample::Format AudioStreamSample::get_format() const { void AudioStreamSample::set_loop_mode(LoopMode p_loop_mode) { loop_mode = p_loop_mode; } + AudioStreamSample::LoopMode AudioStreamSample::get_loop_mode() const { return loop_mode; } @@ -411,6 +413,7 @@ AudioStreamSample::LoopMode AudioStreamSample::get_loop_mode() const { void AudioStreamSample::set_loop_begin(int p_frame) { loop_begin = p_frame; } + int AudioStreamSample::get_loop_begin() const { return loop_begin; } @@ -418,6 +421,7 @@ int AudioStreamSample::get_loop_begin() const { void AudioStreamSample::set_loop_end(int p_frame) { loop_end = p_frame; } + int AudioStreamSample::get_loop_end() const { return loop_end; } @@ -426,12 +430,15 @@ void AudioStreamSample::set_mix_rate(int p_hz) { ERR_FAIL_COND(p_hz == 0); mix_rate = p_hz; } + int AudioStreamSample::get_mix_rate() const { return mix_rate; } + void AudioStreamSample::set_stereo(bool p_enable) { stereo = p_enable; } + bool AudioStreamSample::is_stereo() const { return stereo; } @@ -478,6 +485,7 @@ void AudioStreamSample::set_data(const Vector<uint8_t> &p_data) { AudioServer::get_singleton()->unlock(); } + Vector<uint8_t> AudioStreamSample::get_data() const { Vector<uint8_t> pv; diff --git a/scene/resources/bit_map.cpp b/scene/resources/bit_map.cpp index 27a5fee934..e23e3f4c4d 100644 --- a/scene/resources/bit_map.cpp +++ b/scene/resources/bit_map.cpp @@ -623,6 +623,7 @@ Ref<Image> BitMap::convert_to_image() const { return image; } + void BitMap::blit(const Vector2 &p_pos, const Ref<BitMap> &p_bitmap) { int x = p_pos.x; int y = p_pos.y; diff --git a/scene/resources/curve.cpp b/scene/resources/curve.cpp index d8f0640242..9c3e5ad437 100644 --- a/scene/resources/curve.cpp +++ b/scene/resources/curve.cpp @@ -529,6 +529,7 @@ void Curve::_bind_methods() { int Curve2D::get_point_count() const { return points.size(); } + void Curve2D::add_point(const Vector2 &p_pos, const Vector2 &p_in, const Vector2 &p_out, int p_atpos) { Point n; n.pos = p_pos; @@ -550,6 +551,7 @@ void Curve2D::set_point_position(int p_index, const Vector2 &p_pos) { baked_cache_dirty = true; emit_signal(CoreStringNames::get_singleton()->changed); } + Vector2 Curve2D::get_point_position(int p_index) const { ERR_FAIL_INDEX_V(p_index, points.size(), Vector2()); return points[p_index].pos; @@ -562,6 +564,7 @@ void Curve2D::set_point_in(int p_index, const Vector2 &p_in) { baked_cache_dirty = true; emit_signal(CoreStringNames::get_singleton()->changed); } + Vector2 Curve2D::get_point_in(int p_index) const { ERR_FAIL_INDEX_V(p_index, points.size(), Vector2()); return points[p_index].in; @@ -727,6 +730,7 @@ float Curve2D::get_baked_length() const { return baked_max_ofs; } + Vector2 Curve2D::interpolate_baked(float p_offset, bool p_cubic) const { if (baked_cache_dirty) _bake(); @@ -876,6 +880,7 @@ Dictionary Curve2D::_get_data() const { return dc; } + void Curve2D::_set_data(const Dictionary &p_data) { ERR_FAIL_COND(!p_data.has("points")); @@ -979,6 +984,7 @@ Curve2D::Curve2D() { int Curve3D::get_point_count() const { return points.size(); } + void Curve3D::add_point(const Vector3 &p_pos, const Vector3 &p_in, const Vector3 &p_out, int p_atpos) { Point n; n.pos = p_pos; @@ -992,6 +998,7 @@ void Curve3D::add_point(const Vector3 &p_pos, const Vector3 &p_in, const Vector3 baked_cache_dirty = true; emit_signal(CoreStringNames::get_singleton()->changed); } + void Curve3D::set_point_position(int p_index, const Vector3 &p_pos) { ERR_FAIL_INDEX(p_index, points.size()); @@ -999,6 +1006,7 @@ void Curve3D::set_point_position(int p_index, const Vector3 &p_pos) { baked_cache_dirty = true; emit_signal(CoreStringNames::get_singleton()->changed); } + Vector3 Curve3D::get_point_position(int p_index) const { ERR_FAIL_INDEX_V(p_index, points.size(), Vector3()); return points[p_index].pos; @@ -1011,6 +1019,7 @@ void Curve3D::set_point_tilt(int p_index, float p_tilt) { baked_cache_dirty = true; emit_signal(CoreStringNames::get_singleton()->changed); } + float Curve3D::get_point_tilt(int p_index) const { ERR_FAIL_INDEX_V(p_index, points.size(), 0); return points[p_index].tilt; @@ -1023,6 +1032,7 @@ void Curve3D::set_point_in(int p_index, const Vector3 &p_in) { baked_cache_dirty = true; emit_signal(CoreStringNames::get_singleton()->changed); } + Vector3 Curve3D::get_point_in(int p_index) const { ERR_FAIL_INDEX_V(p_index, points.size(), Vector3()); return points[p_index].in; @@ -1246,6 +1256,7 @@ float Curve3D::get_baked_length() const { return baked_max_ofs; } + Vector3 Curve3D::interpolate_baked(float p_offset, bool p_cubic) const { if (baked_cache_dirty) _bake(); @@ -1501,6 +1512,7 @@ Dictionary Curve3D::_get_data() const { return dc; } + void Curve3D::_set_data(const Dictionary &p_data) { ERR_FAIL_COND(!p_data.has("points")); ERR_FAIL_COND(!p_data.has("tilts")); diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp index 5d2d690084..3581fffdba 100644 --- a/scene/resources/dynamic_font.cpp +++ b/scene/resources/dynamic_font.cpp @@ -226,6 +226,7 @@ float DynamicFontAtSize::get_height() const { float DynamicFontAtSize::get_ascent() const { return ascent; } + float DynamicFontAtSize::get_descent() const { return descent; } @@ -348,6 +349,7 @@ unsigned long DynamicFontAtSize::_ft_stream_io(FT_Stream stream, unsigned long o return f->get_buffer(buffer, count); } + void DynamicFontAtSize::_ft_stream_close(FT_Stream stream) { FileAccess *f = (FileAccess *)stream->descriptor.pointer; f->close(); @@ -859,11 +861,13 @@ void DynamicFont::add_fallback(const Ref<DynamicFontData> &p_data) { int DynamicFont::get_fallback_count() const { return fallbacks.size(); } + Ref<DynamicFontData> DynamicFont::get_fallback(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, fallbacks.size(), Ref<DynamicFontData>()); return fallbacks[p_idx]; } + void DynamicFont::remove_fallback(int p_idx) { ERR_FAIL_INDEX(p_idx, fallbacks.size()); fallbacks.remove(p_idx); @@ -913,6 +917,7 @@ bool DynamicFont::_get(const StringName &p_name, Variant &r_ret) const { return false; } + void DynamicFont::_get_property_list(List<PropertyInfo> *p_list) const { for (int i = 0; i < fallbacks.size(); i++) { p_list->push_back(PropertyInfo(Variant::OBJECT, "fallback/" + itos(i), PROPERTY_HINT_RESOURCE_TYPE, "DynamicFontData")); diff --git a/scene/resources/environment.cpp b/scene/resources/environment.cpp index 87d070db6f..5356b5bea2 100644 --- a/scene/resources/environment.cpp +++ b/scene/resources/environment.cpp @@ -57,26 +57,32 @@ void Environment::set_sky_custom_fov(float p_scale) { bg_sky_custom_fov = p_scale; RS::get_singleton()->environment_set_sky_custom_fov(environment, p_scale); } + void Environment::set_bg_color(const Color &p_color) { bg_color = p_color; RS::get_singleton()->environment_set_bg_color(environment, p_color); } + void Environment::set_bg_energy(float p_energy) { bg_energy = p_energy; RS::get_singleton()->environment_set_bg_energy(environment, p_energy); } + void Environment::set_canvas_max_layer(int p_max_layer) { bg_canvas_max_layer = p_max_layer; RS::get_singleton()->environment_set_canvas_max_layer(environment, p_max_layer); } + void Environment::set_ambient_light_color(const Color &p_color) { ambient_color = p_color; RS::get_singleton()->environment_set_ambient_light(environment, ambient_color, RS::EnvironmentAmbientSource(ambient_source), ambient_energy, ambient_sky_contribution, RS::EnvironmentReflectionSource(reflection_source), ao_color); } + void Environment::set_ambient_light_energy(float p_energy) { ambient_energy = p_energy; RS::get_singleton()->environment_set_ambient_light(environment, ambient_color, RS::EnvironmentAmbientSource(ambient_source), ambient_energy, ambient_sky_contribution, RS::EnvironmentReflectionSource(reflection_source), ao_color); } + void Environment::set_ambient_light_sky_contribution(float p_energy) { ambient_sky_contribution = p_energy; RS::get_singleton()->environment_set_ambient_light(environment, ambient_color, RS::EnvironmentAmbientSource(ambient_source), ambient_energy, ambient_sky_contribution, RS::EnvironmentReflectionSource(reflection_source), ao_color); @@ -98,10 +104,12 @@ void Environment::set_ambient_source(AmbientSource p_source) { Environment::AmbientSource Environment::get_ambient_source() const { return ambient_source; } + void Environment::set_reflection_source(ReflectionSource p_source) { reflection_source = p_source; RS::get_singleton()->environment_set_ambient_light(environment, ambient_color, RS::EnvironmentAmbientSource(ambient_source), ambient_energy, ambient_sky_contribution, RS::EnvironmentReflectionSource(reflection_source), ao_color); } + Environment::ReflectionSource Environment::get_reflection_source() const { return reflection_source; } @@ -109,6 +117,7 @@ Environment::ReflectionSource Environment::get_reflection_source() const { Environment::BGMode Environment::get_background() const { return bg_mode; } + Ref<Sky> Environment::get_sky() const { return bg_sky; } @@ -129,21 +138,27 @@ Vector3 Environment::get_sky_rotation() const { Color Environment::get_bg_color() const { return bg_color; } + float Environment::get_bg_energy() const { return bg_energy; } + int Environment::get_canvas_max_layer() const { return bg_canvas_max_layer; } + Color Environment::get_ambient_light_color() const { return ambient_color; } + float Environment::get_ambient_light_energy() const { return ambient_energy; } + float Environment::get_ambient_light_sky_contribution() const { return ambient_sky_contribution; } + int Environment::get_camera_feed_id() const { return camera_feed_id; } @@ -170,6 +185,7 @@ void Environment::set_tonemap_white(float p_white) { tonemap_white = p_white; RS::get_singleton()->environment_set_tonemap(environment, RS::EnvironmentToneMapper(tone_mapper), tonemap_exposure, tonemap_white, tonemap_auto_exposure, tonemap_auto_exposure_min, tonemap_auto_exposure_max, tonemap_auto_exposure_speed, tonemap_auto_exposure_grey); } + float Environment::get_tonemap_white() const { return tonemap_white; } @@ -179,6 +195,7 @@ void Environment::set_tonemap_auto_exposure(bool p_enabled) { RS::get_singleton()->environment_set_tonemap(environment, RS::EnvironmentToneMapper(tone_mapper), tonemap_exposure, tonemap_white, tonemap_auto_exposure, tonemap_auto_exposure_min, tonemap_auto_exposure_max, tonemap_auto_exposure_speed, tonemap_auto_exposure_grey); _change_notify(); } + bool Environment::get_tonemap_auto_exposure() const { return tonemap_auto_exposure; } @@ -187,6 +204,7 @@ void Environment::set_tonemap_auto_exposure_max(float p_auto_exposure_max) { tonemap_auto_exposure_max = p_auto_exposure_max; RS::get_singleton()->environment_set_tonemap(environment, RS::EnvironmentToneMapper(tone_mapper), tonemap_exposure, tonemap_white, tonemap_auto_exposure, tonemap_auto_exposure_min, tonemap_auto_exposure_max, tonemap_auto_exposure_speed, tonemap_auto_exposure_grey); } + float Environment::get_tonemap_auto_exposure_max() const { return tonemap_auto_exposure_max; } @@ -195,6 +213,7 @@ void Environment::set_tonemap_auto_exposure_min(float p_auto_exposure_min) { tonemap_auto_exposure_min = p_auto_exposure_min; RS::get_singleton()->environment_set_tonemap(environment, RS::EnvironmentToneMapper(tone_mapper), tonemap_exposure, tonemap_white, tonemap_auto_exposure, tonemap_auto_exposure_min, tonemap_auto_exposure_max, tonemap_auto_exposure_speed, tonemap_auto_exposure_grey); } + float Environment::get_tonemap_auto_exposure_min() const { return tonemap_auto_exposure_min; } @@ -203,6 +222,7 @@ void Environment::set_tonemap_auto_exposure_speed(float p_auto_exposure_speed) { tonemap_auto_exposure_speed = p_auto_exposure_speed; RS::get_singleton()->environment_set_tonemap(environment, RS::EnvironmentToneMapper(tone_mapper), tonemap_exposure, tonemap_white, tonemap_auto_exposure, tonemap_auto_exposure_min, tonemap_auto_exposure_max, tonemap_auto_exposure_speed, tonemap_auto_exposure_grey); } + float Environment::get_tonemap_auto_exposure_speed() const { return tonemap_auto_exposure_speed; } @@ -211,6 +231,7 @@ void Environment::set_tonemap_auto_exposure_grey(float p_auto_exposure_grey) { tonemap_auto_exposure_grey = p_auto_exposure_grey; RS::get_singleton()->environment_set_tonemap(environment, RS::EnvironmentToneMapper(tone_mapper), tonemap_exposure, tonemap_white, tonemap_auto_exposure, tonemap_auto_exposure_min, tonemap_auto_exposure_max, tonemap_auto_exposure_speed, tonemap_auto_exposure_grey); } + float Environment::get_tonemap_auto_exposure_grey() const { return tonemap_auto_exposure_grey; } @@ -229,6 +250,7 @@ void Environment::set_adjustment_brightness(float p_brightness) { adjustment_brightness = p_brightness; RS::get_singleton()->environment_set_adjustment(environment, adjustment_enabled, adjustment_brightness, adjustment_contrast, adjustment_saturation, adjustment_color_correction.is_valid() ? adjustment_color_correction->get_rid() : RID()); } + float Environment::get_adjustment_brightness() const { return adjustment_brightness; } @@ -237,6 +259,7 @@ void Environment::set_adjustment_contrast(float p_contrast) { adjustment_contrast = p_contrast; RS::get_singleton()->environment_set_adjustment(environment, adjustment_enabled, adjustment_brightness, adjustment_contrast, adjustment_saturation, adjustment_color_correction.is_valid() ? adjustment_color_correction->get_rid() : RID()); } + float Environment::get_adjustment_contrast() const { return adjustment_contrast; } @@ -245,6 +268,7 @@ void Environment::set_adjustment_saturation(float p_saturation) { adjustment_saturation = p_saturation; RS::get_singleton()->environment_set_adjustment(environment, adjustment_enabled, adjustment_brightness, adjustment_contrast, adjustment_saturation, adjustment_color_correction.is_valid() ? adjustment_color_correction->get_rid() : RID()); } + float Environment::get_adjustment_saturation() const { return adjustment_saturation; } @@ -253,6 +277,7 @@ void Environment::set_adjustment_color_correction(const Ref<Texture2D> &p_ramp) adjustment_color_correction = p_ramp; RS::get_singleton()->environment_set_adjustment(environment, adjustment_enabled, adjustment_brightness, adjustment_contrast, adjustment_saturation, adjustment_color_correction.is_valid() ? adjustment_color_correction->get_rid() : RID()); } + Ref<Texture2D> Environment::get_adjustment_color_correction() const { return adjustment_color_correction; } @@ -352,6 +377,7 @@ void Environment::set_ssr_max_steps(int p_steps) { ssr_max_steps = p_steps; RS::get_singleton()->environment_set_ssr(environment, ssr_enabled, ssr_max_steps, ssr_fade_in, ssr_fade_out, ssr_depth_tolerance); } + int Environment::get_ssr_max_steps() const { return ssr_max_steps; } @@ -360,6 +386,7 @@ void Environment::set_ssr_fade_in(float p_fade_in) { ssr_fade_in = p_fade_in; RS::get_singleton()->environment_set_ssr(environment, ssr_enabled, ssr_max_steps, ssr_fade_in, ssr_fade_out, ssr_depth_tolerance); } + float Environment::get_ssr_fade_in() const { return ssr_fade_in; } @@ -368,6 +395,7 @@ void Environment::set_ssr_fade_out(float p_fade_out) { ssr_fade_out = p_fade_out; RS::get_singleton()->environment_set_ssr(environment, ssr_enabled, ssr_max_steps, ssr_fade_in, ssr_fade_out, ssr_depth_tolerance); } + float Environment::get_ssr_fade_out() const { return ssr_fade_out; } @@ -376,6 +404,7 @@ void Environment::set_ssr_depth_tolerance(float p_depth_tolerance) { ssr_depth_tolerance = p_depth_tolerance; RS::get_singleton()->environment_set_ssr(environment, ssr_enabled, ssr_max_steps, ssr_fade_in, ssr_fade_out, ssr_depth_tolerance); } + float Environment::get_ssr_depth_tolerance() const { return ssr_depth_tolerance; } @@ -394,6 +423,7 @@ void Environment::set_ssao_radius(float p_radius) { ssao_radius = p_radius; RS::get_singleton()->environment_set_ssao(environment, ssao_enabled, ssao_radius, ssao_intensity, ssao_bias, ssao_direct_light_affect, ssao_ao_channel_affect, RS::EnvironmentSSAOBlur(ssao_blur), ssao_edge_sharpness); } + float Environment::get_ssao_radius() const { return ssao_radius; } @@ -411,6 +441,7 @@ void Environment::set_ssao_bias(float p_bias) { ssao_bias = p_bias; RS::get_singleton()->environment_set_ssao(environment, ssao_enabled, ssao_radius, ssao_intensity, ssao_bias, ssao_direct_light_affect, ssao_ao_channel_affect, RS::EnvironmentSSAOBlur(ssao_blur), ssao_edge_sharpness); } + float Environment::get_ssao_bias() const { return ssao_bias; } @@ -419,6 +450,7 @@ void Environment::set_ssao_direct_light_affect(float p_direct_light_affect) { ssao_direct_light_affect = p_direct_light_affect; RS::get_singleton()->environment_set_ssao(environment, ssao_enabled, ssao_radius, ssao_intensity, ssao_bias, ssao_direct_light_affect, ssao_ao_channel_affect, RS::EnvironmentSSAOBlur(ssao_blur), ssao_edge_sharpness); } + float Environment::get_ssao_direct_light_affect() const { return ssao_direct_light_affect; } @@ -427,6 +459,7 @@ void Environment::set_ssao_ao_channel_affect(float p_ao_channel_affect) { ssao_ao_channel_affect = p_ao_channel_affect; RS::get_singleton()->environment_set_ssao(environment, ssao_enabled, ssao_radius, ssao_intensity, ssao_bias, ssao_direct_light_affect, ssao_ao_channel_affect, RS::EnvironmentSSAOBlur(ssao_blur), ssao_edge_sharpness); } + float Environment::get_ssao_ao_channel_affect() const { return ssao_ao_channel_affect; } @@ -444,6 +477,7 @@ void Environment::set_ssao_blur(SSAOBlur p_blur) { ssao_blur = p_blur; RS::get_singleton()->environment_set_ssao(environment, ssao_enabled, ssao_radius, ssao_intensity, ssao_bias, ssao_direct_light_affect, ssao_ao_channel_affect, RS::EnvironmentSSAOBlur(ssao_blur), ssao_edge_sharpness); } + Environment::SSAOBlur Environment::get_ssao_blur() const { return ssao_blur; } @@ -477,6 +511,7 @@ void Environment::set_glow_level(int p_level, bool p_enabled) { RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); } + bool Environment::is_glow_level_enabled(int p_level) const { ERR_FAIL_INDEX_V(p_level, RS::MAX_GLOW_LEVELS, false); @@ -488,6 +523,7 @@ void Environment::set_glow_intensity(float p_intensity) { RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); } + float Environment::get_glow_intensity() const { return glow_intensity; } @@ -496,6 +532,7 @@ void Environment::set_glow_strength(float p_strength) { glow_strength = p_strength; RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); } + float Environment::get_glow_strength() const { return glow_strength; } @@ -504,6 +541,7 @@ void Environment::set_glow_mix(float p_mix) { glow_mix = p_mix; RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); } + float Environment::get_glow_mix() const { return glow_mix; } @@ -513,6 +551,7 @@ void Environment::set_glow_bloom(float p_threshold) { RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); } + float Environment::get_glow_bloom() const { return glow_bloom; } @@ -523,6 +562,7 @@ void Environment::set_glow_blend_mode(GlowBlendMode p_mode) { RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); _change_notify(); } + Environment::GlowBlendMode Environment::get_glow_blend_mode() const { return glow_blend_mode; } @@ -532,6 +572,7 @@ void Environment::set_glow_hdr_bleed_threshold(float p_threshold) { RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); } + float Environment::get_glow_hdr_bleed_threshold() const { return glow_hdr_bleed_threshold; } @@ -541,6 +582,7 @@ void Environment::set_glow_hdr_luminance_cap(float p_amount) { RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); } + float Environment::get_glow_hdr_luminance_cap() const { return glow_hdr_luminance_cap; } @@ -550,6 +592,7 @@ void Environment::set_glow_hdr_bleed_scale(float p_scale) { RS::get_singleton()->environment_set_glow(environment, glow_enabled, glow_levels, glow_intensity, glow_strength, glow_mix, glow_bloom, RS::EnvironmentGlowBlendMode(glow_blend_mode), glow_hdr_bleed_threshold, glow_hdr_bleed_threshold, glow_hdr_luminance_cap); } + float Environment::get_glow_hdr_bleed_scale() const { return glow_hdr_bleed_scale; } @@ -568,6 +611,7 @@ void Environment::set_fog_color(const Color &p_color) { fog_color = p_color; RS::get_singleton()->environment_set_fog(environment, fog_enabled, fog_color, fog_sun_color, fog_sun_amount); } + Color Environment::get_fog_color() const { return fog_color; } @@ -576,6 +620,7 @@ void Environment::set_fog_sun_color(const Color &p_color) { fog_sun_color = p_color; RS::get_singleton()->environment_set_fog(environment, fog_enabled, fog_color, fog_sun_color, fog_sun_amount); } + Color Environment::get_fog_sun_color() const { return fog_sun_color; } @@ -584,6 +629,7 @@ void Environment::set_fog_sun_amount(float p_amount) { fog_sun_amount = p_amount; RS::get_singleton()->environment_set_fog(environment, fog_enabled, fog_color, fog_sun_color, fog_sun_amount); } + float Environment::get_fog_sun_amount() const { return fog_sun_amount; } @@ -592,6 +638,7 @@ void Environment::set_fog_depth_enabled(bool p_enabled) { fog_depth_enabled = p_enabled; RS::get_singleton()->environment_set_fog_depth(environment, fog_depth_enabled, fog_depth_begin, fog_depth_end, fog_depth_curve, fog_transmit_enabled, fog_transmit_curve); } + bool Environment::is_fog_depth_enabled() const { return fog_depth_enabled; } @@ -600,6 +647,7 @@ void Environment::set_fog_depth_begin(float p_distance) { fog_depth_begin = p_distance; RS::get_singleton()->environment_set_fog_depth(environment, fog_depth_enabled, fog_depth_begin, fog_depth_end, fog_depth_curve, fog_transmit_enabled, fog_transmit_curve); } + float Environment::get_fog_depth_begin() const { return fog_depth_begin; } @@ -617,6 +665,7 @@ void Environment::set_fog_depth_curve(float p_curve) { fog_depth_curve = p_curve; RS::get_singleton()->environment_set_fog_depth(environment, fog_depth_enabled, fog_depth_begin, fog_depth_end, fog_depth_curve, fog_transmit_enabled, fog_transmit_curve); } + float Environment::get_fog_depth_curve() const { return fog_depth_curve; } @@ -625,6 +674,7 @@ void Environment::set_fog_transmit_enabled(bool p_enabled) { fog_transmit_enabled = p_enabled; RS::get_singleton()->environment_set_fog_depth(environment, fog_depth_enabled, fog_depth_begin, fog_depth_end, fog_depth_curve, fog_transmit_enabled, fog_transmit_curve); } + bool Environment::is_fog_transmit_enabled() const { return fog_transmit_enabled; } @@ -633,6 +683,7 @@ void Environment::set_fog_transmit_curve(float p_curve) { fog_transmit_curve = p_curve; RS::get_singleton()->environment_set_fog_depth(environment, fog_depth_enabled, fog_depth_begin, fog_depth_end, fog_depth_curve, fog_transmit_enabled, fog_transmit_curve); } + float Environment::get_fog_transmit_curve() const { return fog_transmit_curve; } @@ -641,6 +692,7 @@ void Environment::set_fog_height_enabled(bool p_enabled) { fog_height_enabled = p_enabled; RS::get_singleton()->environment_set_fog_height(environment, fog_height_enabled, fog_height_min, fog_height_max, fog_height_curve); } + bool Environment::is_fog_height_enabled() const { return fog_height_enabled; } @@ -649,6 +701,7 @@ void Environment::set_fog_height_min(float p_distance) { fog_height_min = p_distance; RS::get_singleton()->environment_set_fog_height(environment, fog_height_enabled, fog_height_min, fog_height_max, fog_height_curve); } + float Environment::get_fog_height_min() const { return fog_height_min; } @@ -657,6 +710,7 @@ void Environment::set_fog_height_max(float p_distance) { fog_height_max = p_distance; RS::get_singleton()->environment_set_fog_height(environment, fog_height_enabled, fog_height_min, fog_height_max, fog_height_curve); } + float Environment::get_fog_height_max() const { return fog_height_max; } @@ -665,6 +719,7 @@ void Environment::set_fog_height_curve(float p_distance) { fog_height_curve = p_distance; RS::get_singleton()->environment_set_fog_height(environment, fog_height_enabled, fog_height_min, fog_height_max, fog_height_curve); } + float Environment::get_fog_height_curve() const { return fog_height_curve; } @@ -1092,6 +1147,7 @@ void CameraEffects::set_dof_blur_far_distance(float p_distance) { dof_blur_far_distance = p_distance; RS::get_singleton()->camera_effects_set_dof_blur(camera_effects, dof_blur_far_enabled, dof_blur_far_distance, dof_blur_far_transition, dof_blur_near_enabled, dof_blur_near_distance, dof_blur_near_transition, dof_blur_amount); } + float CameraEffects::get_dof_blur_far_distance() const { return dof_blur_far_distance; } @@ -1100,6 +1156,7 @@ void CameraEffects::set_dof_blur_far_transition(float p_distance) { dof_blur_far_transition = p_distance; RS::get_singleton()->camera_effects_set_dof_blur(camera_effects, dof_blur_far_enabled, dof_blur_far_distance, dof_blur_far_transition, dof_blur_near_enabled, dof_blur_near_distance, dof_blur_near_transition, dof_blur_amount); } + float CameraEffects::get_dof_blur_far_transition() const { return dof_blur_far_transition; } @@ -1136,6 +1193,7 @@ void CameraEffects::set_dof_blur_amount(float p_amount) { dof_blur_amount = p_amount; RS::get_singleton()->camera_effects_set_dof_blur(camera_effects, dof_blur_far_enabled, dof_blur_far_distance, dof_blur_far_transition, dof_blur_near_enabled, dof_blur_near_distance, dof_blur_near_transition, dof_blur_amount); } + float CameraEffects::get_dof_blur_amount() const { return dof_blur_amount; } diff --git a/scene/resources/font.cpp b/scene/resources/font.cpp index c67a300580..e0cd1be456 100644 --- a/scene/resources/font.cpp +++ b/scene/resources/font.cpp @@ -316,6 +316,7 @@ Error BitmapFont::create_from_fnt(const String &p_file) { void BitmapFont::set_height(float p_height) { height = p_height; } + float BitmapFont::get_height() const { return height; } @@ -323,9 +324,11 @@ float BitmapFont::get_height() const { void BitmapFont::set_ascent(float p_ascent) { ascent = p_ascent; } + float BitmapFont::get_ascent() const { return ascent; } + float BitmapFont::get_descent() const { return height - ascent; } diff --git a/scene/resources/line_shape_2d.cpp b/scene/resources/line_shape_2d.cpp index cc7108e92e..22dd426295 100644 --- a/scene/resources/line_shape_2d.cpp +++ b/scene/resources/line_shape_2d.cpp @@ -67,6 +67,7 @@ void LineShape2D::set_distance(real_t p_distance) { Vector2 LineShape2D::get_normal() const { return normal; } + real_t LineShape2D::get_distance() const { return distance; } @@ -79,6 +80,7 @@ void LineShape2D::draw(const RID &p_to_rid, const Color &p_color) { Vector2 l2[2] = { point, point + get_normal() * 30 }; RS::get_singleton()->canvas_item_add_line(p_to_rid, l2[0], l2[1], p_color, 3); } + Rect2 LineShape2D::get_rect() const { Vector2 point = get_distance() * get_normal(); diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index aa5f7677c7..3a3fb77f02 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -71,6 +71,7 @@ int Material::get_render_priority() const { RID Material::get_rid() const { return material; } + void Material::_validate_property(PropertyInfo &property) const { if (!_can_do_next_pass() && property.name == "next_pass") { property.usage = 0; @@ -1179,6 +1180,7 @@ bool BaseMaterial3D::_is_shader_dirty() const { return element.in_list(); } + void BaseMaterial3D::set_albedo(const Color &p_albedo) { albedo = p_albedo; @@ -1220,6 +1222,7 @@ void BaseMaterial3D::set_emission(const Color &p_emission) { emission = p_emission; RS::get_singleton()->material_set_param(_get_material(), shader_names->emission, p_emission); } + Color BaseMaterial3D::get_emission() const { return emission; } @@ -1228,6 +1231,7 @@ void BaseMaterial3D::set_emission_energy(float p_emission_energy) { emission_energy = p_emission_energy; RS::get_singleton()->material_set_param(_get_material(), shader_names->emission_energy, p_emission_energy); } + float BaseMaterial3D::get_emission_energy() const { return emission_energy; } @@ -1236,6 +1240,7 @@ void BaseMaterial3D::set_normal_scale(float p_normal_scale) { normal_scale = p_normal_scale; RS::get_singleton()->material_set_param(_get_material(), shader_names->normal_scale, p_normal_scale); } + float BaseMaterial3D::get_normal_scale() const { return normal_scale; } @@ -1244,6 +1249,7 @@ void BaseMaterial3D::set_rim(float p_rim) { rim = p_rim; RS::get_singleton()->material_set_param(_get_material(), shader_names->rim, p_rim); } + float BaseMaterial3D::get_rim() const { return rim; } @@ -1252,6 +1258,7 @@ void BaseMaterial3D::set_rim_tint(float p_rim_tint) { rim_tint = p_rim_tint; RS::get_singleton()->material_set_param(_get_material(), shader_names->rim_tint, p_rim_tint); } + float BaseMaterial3D::get_rim_tint() const { return rim_tint; } @@ -1260,6 +1267,7 @@ void BaseMaterial3D::set_ao_light_affect(float p_ao_light_affect) { ao_light_affect = p_ao_light_affect; RS::get_singleton()->material_set_param(_get_material(), shader_names->ao_light_affect, p_ao_light_affect); } + float BaseMaterial3D::get_ao_light_affect() const { return ao_light_affect; } @@ -1286,6 +1294,7 @@ void BaseMaterial3D::set_anisotropy(float p_anisotropy) { anisotropy = p_anisotropy; RS::get_singleton()->material_set_param(_get_material(), shader_names->anisotropy, p_anisotropy); } + float BaseMaterial3D::get_anisotropy() const { return anisotropy; } @@ -1321,6 +1330,7 @@ void BaseMaterial3D::set_transmittance_depth(float p_depth) { transmittance_depth = p_depth; RS::get_singleton()->material_set_param(_get_material(), shader_names->transmittance_depth, p_depth); } + float BaseMaterial3D::get_transmittance_depth() const { return transmittance_depth; } @@ -1329,6 +1339,7 @@ void BaseMaterial3D::set_transmittance_curve(float p_curve) { transmittance_curve = p_curve; RS::get_singleton()->material_set_param(_get_material(), shader_names->transmittance_curve, p_curve); } + float BaseMaterial3D::get_transmittance_curve() const { return transmittance_curve; } @@ -1337,6 +1348,7 @@ void BaseMaterial3D::set_transmittance_boost(float p_boost) { transmittance_boost = p_boost; RS::get_singleton()->material_set_param(_get_material(), shader_names->transmittance_boost, p_boost); } + float BaseMaterial3D::get_transmittance_boost() const { return transmittance_boost; } @@ -1366,6 +1378,7 @@ void BaseMaterial3D::set_detail_uv(DetailUV p_detail_uv) { detail_uv = p_detail_uv; _queue_shader_change(); } + BaseMaterial3D::DetailUV BaseMaterial3D::get_detail_uv() const { return detail_uv; } @@ -1377,6 +1390,7 @@ void BaseMaterial3D::set_blend_mode(BlendMode p_mode) { blend_mode = p_mode; _queue_shader_change(); } + BaseMaterial3D::BlendMode BaseMaterial3D::get_blend_mode() const { return blend_mode; } @@ -1385,6 +1399,7 @@ void BaseMaterial3D::set_detail_blend_mode(BlendMode p_mode) { detail_blend_mode = p_mode; _queue_shader_change(); } + BaseMaterial3D::BlendMode BaseMaterial3D::get_detail_blend_mode() const { return detail_blend_mode; } @@ -1424,6 +1439,7 @@ void BaseMaterial3D::set_depth_draw_mode(DepthDrawMode p_mode) { depth_draw_mode = p_mode; _queue_shader_change(); } + BaseMaterial3D::DepthDrawMode BaseMaterial3D::get_depth_draw_mode() const { return depth_draw_mode; } @@ -1435,6 +1451,7 @@ void BaseMaterial3D::set_cull_mode(CullMode p_mode) { cull_mode = p_mode; _queue_shader_change(); } + BaseMaterial3D::CullMode BaseMaterial3D::get_cull_mode() const { return cull_mode; } @@ -1446,6 +1463,7 @@ void BaseMaterial3D::set_diffuse_mode(DiffuseMode p_mode) { diffuse_mode = p_mode; _queue_shader_change(); } + BaseMaterial3D::DiffuseMode BaseMaterial3D::get_diffuse_mode() const { return diffuse_mode; } @@ -1457,6 +1475,7 @@ void BaseMaterial3D::set_specular_mode(SpecularMode p_mode) { specular_mode = p_mode; _queue_shader_change(); } + BaseMaterial3D::SpecularMode BaseMaterial3D::get_specular_mode() const { return specular_mode; } @@ -1670,6 +1689,7 @@ void BaseMaterial3D::set_uv1_offset(const Vector3 &p_offset) { uv1_offset = p_offset; RS::get_singleton()->material_set_param(_get_material(), shader_names->uv1_offset, p_offset); } + Vector3 BaseMaterial3D::get_uv1_offset() const { return uv1_offset; } @@ -1728,6 +1748,7 @@ void BaseMaterial3D::set_particles_anim_h_frames(int p_frames) { int BaseMaterial3D::get_particles_anim_h_frames() const { return particles_anim_h_frames; } + void BaseMaterial3D::set_particles_anim_v_frames(int p_frames) { particles_anim_v_frames = p_frames; RS::get_singleton()->material_set_param(_get_material(), shader_names->particles_anim_v_frames, p_frames); @@ -1760,6 +1781,7 @@ void BaseMaterial3D::set_heightmap_deep_parallax_min_layers(int p_layer) { deep_parallax_min_layers = p_layer; RS::get_singleton()->material_set_param(_get_material(), shader_names->heightmap_min_layers, p_layer); } + int BaseMaterial3D::get_heightmap_deep_parallax_min_layers() const { return deep_parallax_min_layers; } @@ -1768,6 +1790,7 @@ void BaseMaterial3D::set_heightmap_deep_parallax_max_layers(int p_layer) { deep_parallax_max_layers = p_layer; RS::get_singleton()->material_set_param(_get_material(), shader_names->heightmap_max_layers, p_layer); } + int BaseMaterial3D::get_heightmap_deep_parallax_max_layers() const { return deep_parallax_max_layers; } @@ -1929,6 +1952,7 @@ void BaseMaterial3D::set_proximity_fade_distance(float p_distance) { proximity_fade_distance = p_distance; RS::get_singleton()->material_set_param(_get_material(), shader_names->proximity_fade_distance, p_distance); } + float BaseMaterial3D::get_proximity_fade_distance() const { return proximity_fade_distance; } @@ -1938,6 +1962,7 @@ void BaseMaterial3D::set_distance_fade(DistanceFadeMode p_mode) { _queue_shader_change(); _change_notify(); } + BaseMaterial3D::DistanceFadeMode BaseMaterial3D::get_distance_fade() const { return distance_fade; } @@ -1946,6 +1971,7 @@ void BaseMaterial3D::set_distance_fade_max_distance(float p_distance) { distance_fade_max_distance = p_distance; RS::get_singleton()->material_set_param(_get_material(), shader_names->distance_fade_max, distance_fade_max_distance); } + float BaseMaterial3D::get_distance_fade_max_distance() const { return distance_fade_max_distance; } diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp index 9c641cf6d8..e293a421b9 100644 --- a/scene/resources/mesh.cpp +++ b/scene/resources/mesh.cpp @@ -133,6 +133,7 @@ void Mesh::generate_debug_mesh_lines(Vector<Vector3> &r_lines) { r_lines = debug_lines; } + void Mesh::generate_debug_mesh_indices(Vector<Vector3> &r_points) { Ref<TriangleMesh> tm = generate_triangle_mesh(); if (tm.is_null()) @@ -1107,10 +1108,12 @@ Array ArrayMesh::surface_get_arrays(int p_surface) const { ERR_FAIL_INDEX_V(p_surface, surfaces.size(), Array()); return RenderingServer::get_singleton()->mesh_surface_get_arrays(mesh, p_surface); } + Array ArrayMesh::surface_get_blend_shape_arrays(int p_surface) const { ERR_FAIL_INDEX_V(p_surface, surfaces.size(), Array()); return RenderingServer::get_singleton()->mesh_surface_get_blend_shape_arrays(mesh, p_surface); } + Dictionary ArrayMesh::surface_get_lods(int p_surface) const { ERR_FAIL_INDEX_V(p_surface, surfaces.size(), Dictionary()); return RenderingServer::get_singleton()->mesh_surface_get_lods(mesh, p_surface); @@ -1140,10 +1143,12 @@ void ArrayMesh::add_blend_shape(const StringName &p_name) { int ArrayMesh::get_blend_shape_count() const { return blend_shapes.size(); } + StringName ArrayMesh::get_blend_shape_name(int p_index) const { ERR_FAIL_INDEX_V(p_index, blend_shapes.size(), StringName()); return blend_shapes[p_index]; } + void ArrayMesh::clear_blend_shapes() { ERR_FAIL_COND_MSG(surfaces.size(), "Can't set shape key count if surfaces are already created."); @@ -1235,6 +1240,7 @@ RID ArrayMesh::get_rid() const { _create_if_empty(); return mesh; } + AABB ArrayMesh::get_aabb() const { return aabb; } diff --git a/scene/resources/mesh_data_tool.cpp b/scene/resources/mesh_data_tool.cpp index d428191f96..3176b83bb8 100644 --- a/scene/resources/mesh_data_tool.cpp +++ b/scene/resources/mesh_data_tool.cpp @@ -310,9 +310,11 @@ int MeshDataTool::get_format() const { int MeshDataTool::get_vertex_count() const { return vertices.size(); } + int MeshDataTool::get_edge_count() const { return edges.size(); } + int MeshDataTool::get_face_count() const { return faces.size(); } @@ -321,6 +323,7 @@ Vector3 MeshDataTool::get_vertex(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Vector3()); return vertices[p_idx].vertex; } + void MeshDataTool::set_vertex(int p_idx, const Vector3 &p_vertex) { ERR_FAIL_INDEX(p_idx, vertices.size()); vertices.write[p_idx].vertex = p_vertex; @@ -330,6 +333,7 @@ Vector3 MeshDataTool::get_vertex_normal(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Vector3()); return vertices[p_idx].normal; } + void MeshDataTool::set_vertex_normal(int p_idx, const Vector3 &p_normal) { ERR_FAIL_INDEX(p_idx, vertices.size()); vertices.write[p_idx].normal = p_normal; @@ -340,6 +344,7 @@ Plane MeshDataTool::get_vertex_tangent(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Plane()); return vertices[p_idx].tangent; } + void MeshDataTool::set_vertex_tangent(int p_idx, const Plane &p_tangent) { ERR_FAIL_INDEX(p_idx, vertices.size()); vertices.write[p_idx].tangent = p_tangent; @@ -350,6 +355,7 @@ Vector2 MeshDataTool::get_vertex_uv(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Vector2()); return vertices[p_idx].uv; } + void MeshDataTool::set_vertex_uv(int p_idx, const Vector2 &p_uv) { ERR_FAIL_INDEX(p_idx, vertices.size()); vertices.write[p_idx].uv = p_uv; @@ -360,6 +366,7 @@ Vector2 MeshDataTool::get_vertex_uv2(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Vector2()); return vertices[p_idx].uv2; } + void MeshDataTool::set_vertex_uv2(int p_idx, const Vector2 &p_uv2) { ERR_FAIL_INDEX(p_idx, vertices.size()); vertices.write[p_idx].uv2 = p_uv2; @@ -370,6 +377,7 @@ Color MeshDataTool::get_vertex_color(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Color()); return vertices[p_idx].color; } + void MeshDataTool::set_vertex_color(int p_idx, const Color &p_color) { ERR_FAIL_INDEX(p_idx, vertices.size()); vertices.write[p_idx].color = p_color; @@ -380,6 +388,7 @@ Vector<int> MeshDataTool::get_vertex_bones(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Vector<int>()); return vertices[p_idx].bones; } + void MeshDataTool::set_vertex_bones(int p_idx, const Vector<int> &p_bones) { ERR_FAIL_INDEX(p_idx, vertices.size()); vertices.write[p_idx].bones = p_bones; @@ -390,6 +399,7 @@ Vector<float> MeshDataTool::get_vertex_weights(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Vector<float>()); return vertices[p_idx].weights; } + void MeshDataTool::set_vertex_weights(int p_idx, const Vector<float> &p_weights) { ERR_FAIL_INDEX(p_idx, vertices.size()); vertices.write[p_idx].weights = p_weights; @@ -410,6 +420,7 @@ Vector<int> MeshDataTool::get_vertex_edges(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Vector<int>()); return vertices[p_idx].edges; } + Vector<int> MeshDataTool::get_vertex_faces(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, vertices.size(), Vector<int>()); return vertices[p_idx].faces; @@ -420,14 +431,17 @@ int MeshDataTool::get_edge_vertex(int p_edge, int p_vertex) const { ERR_FAIL_INDEX_V(p_vertex, 2, -1); return edges[p_edge].vertex[p_vertex]; } + Vector<int> MeshDataTool::get_edge_faces(int p_edge) const { ERR_FAIL_INDEX_V(p_edge, edges.size(), Vector<int>()); return edges[p_edge].faces; } + Variant MeshDataTool::get_edge_meta(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, edges.size(), Variant()); return edges[p_idx].meta; } + void MeshDataTool::set_edge_meta(int p_idx, const Variant &p_meta) { ERR_FAIL_INDEX(p_idx, edges.size()); edges.write[p_idx].meta = p_meta; @@ -438,15 +452,18 @@ int MeshDataTool::get_face_vertex(int p_face, int p_vertex) const { ERR_FAIL_INDEX_V(p_vertex, 3, -1); return faces[p_face].v[p_vertex]; } + int MeshDataTool::get_face_edge(int p_face, int p_vertex) const { ERR_FAIL_INDEX_V(p_face, faces.size(), -1); ERR_FAIL_INDEX_V(p_vertex, 3, -1); return faces[p_face].edges[p_vertex]; } + Variant MeshDataTool::get_face_meta(int p_face) const { ERR_FAIL_INDEX_V(p_face, faces.size(), Variant()); return faces[p_face].meta; } + void MeshDataTool::set_face_meta(int p_face, const Variant &p_meta) { ERR_FAIL_INDEX(p_face, faces.size()); faces.write[p_face].meta = p_meta; diff --git a/scene/resources/mesh_library.cpp b/scene/resources/mesh_library.cpp index c0615d9b29..0f2fd939ec 100644 --- a/scene/resources/mesh_library.cpp +++ b/scene/resources/mesh_library.cpp @@ -190,6 +190,7 @@ Ref<Texture2D> MeshLibrary::get_item_preview(int p_item) const { bool MeshLibrary::has_item(int p_item) const { return item_map.has(p_item); } + void MeshLibrary::remove_item(int p_item) { ERR_FAIL_COND_MSG(!item_map.has(p_item), "Requested for nonexistent MeshLibrary item '" + itos(p_item) + "'."); item_map.erase(p_item); @@ -282,5 +283,6 @@ void MeshLibrary::_bind_methods() { MeshLibrary::MeshLibrary() { } + MeshLibrary::~MeshLibrary() { } diff --git a/scene/resources/multimesh.cpp b/scene/resources/multimesh.cpp index 795ec0df4b..10b9e24fbd 100644 --- a/scene/resources/multimesh.cpp +++ b/scene/resources/multimesh.cpp @@ -207,6 +207,7 @@ void MultiMesh::set_instance_count(int p_count) { RenderingServer::get_singleton()->multimesh_allocate(multimesh, p_count, RS::MultimeshTransformFormat(transform_format), use_colors, use_custom_data); instance_count = p_count; } + int MultiMesh::get_instance_count() const { return instance_count; } @@ -217,6 +218,7 @@ void MultiMesh::set_visible_instance_count(int p_count) { RenderingServer::get_singleton()->multimesh_set_visible_instances(multimesh, p_count); visible_instance_count = p_count; } + int MultiMesh::get_visible_instance_count() const { return visible_instance_count; } @@ -240,6 +242,7 @@ Transform2D MultiMesh::get_instance_transform_2d(int p_instance) const { void MultiMesh::set_instance_color(int p_instance, const Color &p_color) { RenderingServer::get_singleton()->multimesh_instance_set_color(multimesh, p_instance, p_color); } + Color MultiMesh::get_instance_color(int p_instance) const { return RenderingServer::get_singleton()->multimesh_instance_get_color(multimesh, p_instance); } @@ -247,6 +250,7 @@ Color MultiMesh::get_instance_color(int p_instance) const { void MultiMesh::set_instance_custom_data(int p_instance, const Color &p_custom_data) { RenderingServer::get_singleton()->multimesh_instance_set_custom_data(multimesh, p_instance, p_custom_data); } + Color MultiMesh::get_instance_custom_data(int p_instance) const { return RenderingServer::get_singleton()->multimesh_instance_get_custom_data(multimesh, p_instance); } @@ -281,6 +285,7 @@ void MultiMesh::set_transform_format(TransformFormat p_transform_format) { ERR_FAIL_COND(instance_count > 0); transform_format = p_transform_format; } + MultiMesh::TransformFormat MultiMesh::get_transform_format() const { return transform_format; } diff --git a/scene/resources/navigation_mesh.cpp b/scene/resources/navigation_mesh.cpp index f5d3c7a3fb..13d818188d 100644 --- a/scene/resources/navigation_mesh.cpp +++ b/scene/resources/navigation_mesh.cpp @@ -279,13 +279,16 @@ void NavigationMesh::add_polygon(const Vector<int> &p_polygon) { polygons.push_back(polygon); _change_notify(); } + int NavigationMesh::get_polygon_count() const { return polygons.size(); } + Vector<int> NavigationMesh::get_polygon(int p_idx) { ERR_FAIL_INDEX_V(p_idx, polygons.size(), Vector<int>()); return polygons[p_idx].indices; } + void NavigationMesh::clear_polygons() { polygons.clear(); } diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp index 199f0e3989..ba2cdf75e4 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -1331,11 +1331,13 @@ int SceneState::get_node_property_count(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, nodes.size(), -1); return nodes[p_idx].properties.size(); } + StringName SceneState::get_node_property_name(int p_idx, int p_prop) const { ERR_FAIL_INDEX_V(p_idx, nodes.size(), StringName()); ERR_FAIL_INDEX_V(p_prop, nodes[p_idx].properties.size(), StringName()); return names[nodes[p_idx].properties[p_prop].name]; } + Variant SceneState::get_node_property_value(int p_idx, int p_prop) const { ERR_FAIL_INDEX_V(p_idx, nodes.size(), Variant()); ERR_FAIL_INDEX_V(p_prop, nodes[p_idx].properties.size(), Variant()); @@ -1357,6 +1359,7 @@ NodePath SceneState::get_node_owner_path(int p_idx) const { int SceneState::get_connection_count() const { return connections.size(); } + NodePath SceneState::get_connection_source(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, connections.size(), NodePath()); if (connections[p_idx].from & FLAG_ID_IS_PATH) { @@ -1370,6 +1373,7 @@ StringName SceneState::get_connection_signal(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, connections.size(), StringName()); return names[connections[p_idx].signal]; } + NodePath SceneState::get_connection_target(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, connections.size(), NodePath()); if (connections[p_idx].to & FLAG_ID_IS_PATH) { @@ -1378,6 +1382,7 @@ NodePath SceneState::get_connection_target(int p_idx) const { return get_node_path(connections[p_idx].to & FLAG_MASK); } } + StringName SceneState::get_connection_method(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, connections.size(), StringName()); return names[connections[p_idx].method]; @@ -1438,6 +1443,7 @@ bool SceneState::has_connection(const NodePath &p_node_from, const StringName &p Vector<NodePath> SceneState::get_editable_instances() const { return editable_instances; } + //add int SceneState::add_name(const StringName &p_name) { @@ -1463,6 +1469,7 @@ int SceneState::add_node_path(const NodePath &p_path) { node_paths.push_back(p_path); return (node_paths.size() - 1) | FLAG_ID_IS_PATH; } + int SceneState::add_node(int p_parent, int p_owner, int p_type, int p_name, int p_instance, int p_index) { NodeData nd; nd.parent = p_parent; @@ -1476,6 +1483,7 @@ int SceneState::add_node(int p_parent, int p_owner, int p_type, int p_name, int return nodes.size() - 1; } + void SceneState::add_node_property(int p_node, int p_name, int p_value) { ERR_FAIL_INDEX(p_node, nodes.size()); ERR_FAIL_INDEX(p_name, names.size()); @@ -1486,15 +1494,18 @@ void SceneState::add_node_property(int p_node, int p_name, int p_value) { prop.value = p_value; nodes.write[p_node].properties.push_back(prop); } + void SceneState::add_node_group(int p_node, int p_group) { ERR_FAIL_INDEX(p_node, nodes.size()); ERR_FAIL_INDEX(p_group, names.size()); nodes.write[p_node].groups.push_back(p_group); } + void SceneState::set_base_scene(int p_idx) { ERR_FAIL_INDEX(p_idx, variants.size()); base_scene_idx = p_idx; } + void SceneState::add_connection(int p_from, int p_to, int p_signal, int p_method, int p_flags, const Vector<int> &p_binds) { ERR_FAIL_INDEX(p_signal, names.size()); ERR_FAIL_INDEX(p_method, names.size()); @@ -1511,6 +1522,7 @@ void SceneState::add_connection(int p_from, int p_to, int p_signal, int p_method c.binds = p_binds; connections.push_back(c); } + void SceneState::add_editable_instance(const NodePath &p_path) { editable_instances.push_back(p_path); } diff --git a/scene/resources/particles_material.cpp b/scene/resources/particles_material.cpp index e24cddd013..2f65c92181 100644 --- a/scene/resources/particles_material.cpp +++ b/scene/resources/particles_material.cpp @@ -637,6 +637,7 @@ void ParticlesMaterial::set_flatness(float p_flatness) { flatness = p_flatness; RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->flatness, p_flatness); } + float ParticlesMaterial::get_flatness() const { return flatness; } @@ -687,6 +688,7 @@ void ParticlesMaterial::set_param(Parameter p_param, float p_value) { break; // Can't happen, but silences warning } } + float ParticlesMaterial::get_param(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); @@ -739,6 +741,7 @@ void ParticlesMaterial::set_param_randomness(Parameter p_param, float p_value) { break; // Can't happen, but silences warning } } + float ParticlesMaterial::get_param_randomness(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, 0); @@ -811,6 +814,7 @@ void ParticlesMaterial::set_param_texture(Parameter p_param, const Ref<Texture2D _queue_shader_change(); } + Ref<Texture2D> ParticlesMaterial::get_param_texture(Parameter p_param) const { ERR_FAIL_INDEX_V(p_param, PARAM_MAX, Ref<Texture2D>()); @@ -896,12 +900,15 @@ ParticlesMaterial::EmissionShape ParticlesMaterial::get_emission_shape() const { float ParticlesMaterial::get_emission_sphere_radius() const { return emission_sphere_radius; } + Vector3 ParticlesMaterial::get_emission_box_extents() const { return emission_box_extents; } + Ref<Texture2D> ParticlesMaterial::get_emission_point_texture() const { return emission_point_texture; } + Ref<Texture2D> ParticlesMaterial::get_emission_normal_texture() const { return emission_normal_texture; } diff --git a/scene/resources/primitive_meshes.cpp b/scene/resources/primitive_meshes.cpp index 30d884a5ac..6e662b1085 100644 --- a/scene/resources/primitive_meshes.cpp +++ b/scene/resources/primitive_meshes.cpp @@ -138,6 +138,7 @@ Array PrimitiveMesh::surface_get_arrays(int p_surface) const { Dictionary PrimitiveMesh::surface_get_lods(int p_surface) const { return Dictionary(); //not really supported } + Array PrimitiveMesh::surface_get_blend_shape_arrays(int p_surface) const { return Array(); //not really supported } diff --git a/scene/resources/resource_format_text.cpp b/scene/resources/resource_format_text.cpp index 01af96b1e0..f758427bd6 100644 --- a/scene/resources/resource_format_text.cpp +++ b/scene/resources/resource_format_text.cpp @@ -687,6 +687,7 @@ Error ResourceLoaderText::load() { int ResourceLoaderText::get_stage() const { return resource_current; } + int ResourceLoaderText::get_stage_count() const { return resources_total; //+ext_resources; } @@ -1287,6 +1288,7 @@ void ResourceFormatLoaderText::get_recognized_extensions(List<String> *p_extensi bool ResourceFormatLoaderText::handles_type(const String &p_type) const { return true; } + String ResourceFormatLoaderText::get_resource_type(const String &p_path) const { String ext = p_path.get_extension().to_lower(); if (ext == "tscn") @@ -1788,6 +1790,7 @@ Error ResourceFormatSaverText::save(const String &p_path, const RES &p_resource, bool ResourceFormatSaverText::recognize(const RES &p_resource) const { return true; // all recognized! } + void ResourceFormatSaverText::get_recognized_extensions(const RES &p_resource, List<String> *p_extensions) const { if (p_resource->get_class() == "PackedScene") p_extensions->push_back("tscn"); //text scene diff --git a/scene/resources/segment_shape_2d.cpp b/scene/resources/segment_shape_2d.cpp index 6fce80b0df..2f7fbfb311 100644 --- a/scene/resources/segment_shape_2d.cpp +++ b/scene/resources/segment_shape_2d.cpp @@ -51,6 +51,7 @@ void SegmentShape2D::set_a(const Vector2 &p_a) { a = p_a; _update_shape(); } + Vector2 SegmentShape2D::get_a() const { return a; } @@ -59,6 +60,7 @@ void SegmentShape2D::set_b(const Vector2 &p_b) { b = p_b; _update_shape(); } + Vector2 SegmentShape2D::get_b() const { return b; } @@ -148,6 +150,7 @@ void RayShape2D::set_length(real_t p_length) { length = p_length; _update_shape(); } + real_t RayShape2D::get_length() const { return length; } diff --git a/scene/resources/shader.cpp b/scene/resources/shader.cpp index 188fc70ed3..341139e1c4 100644 --- a/scene/resources/shader.cpp +++ b/scene/resources/shader.cpp @@ -159,6 +159,7 @@ Shader::Shader() { Shader::~Shader() { RenderingServer::get_singleton()->free(shader); } + //////////// RES ResourceFormatLoaderShader::load(const String &p_path, const String &p_original_path, Error *r_error, bool p_use_sub_threads, float *r_progress, bool p_no_cache) { @@ -225,6 +226,7 @@ void ResourceFormatSaverShader::get_recognized_extensions(const RES &p_resource, } } } + bool ResourceFormatSaverShader::recognize(const RES &p_resource) const { return p_resource->get_class_name() == "Shader"; //only shader, not inherited } diff --git a/scene/resources/shape_2d.cpp b/scene/resources/shape_2d.cpp index b48de1aeb3..60c796f9f9 100644 --- a/scene/resources/shape_2d.cpp +++ b/scene/resources/shape_2d.cpp @@ -72,6 +72,7 @@ Array Shape2D::collide_with_motion_and_get_contacts(const Transform2D &p_local_x return results; } + Array Shape2D::collide_and_get_contacts(const Transform2D &p_local_xform, const Ref<Shape2D> &p_shape, const Transform2D &p_shape_xform) { ERR_FAIL_COND_V(p_shape.is_null(), Array()); const int max_contacts = 16; diff --git a/scene/resources/skin.cpp b/scene/resources/skin.cpp index 86b65925f5..e88841a531 100644 --- a/scene/resources/skin.cpp +++ b/scene/resources/skin.cpp @@ -124,6 +124,7 @@ bool Skin::_get(const StringName &p_name, Variant &r_ret) const { } return false; } + void Skin::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::INT, "bind_count", PROPERTY_HINT_RANGE, "0,16384,1,or_greater")); for (int i = 0; i < get_bind_count(); i++) { diff --git a/scene/resources/sky_material.cpp b/scene/resources/sky_material.cpp index 860673bee6..92c5151d7a 100644 --- a/scene/resources/sky_material.cpp +++ b/scene/resources/sky_material.cpp @@ -43,6 +43,7 @@ void ProceduralSkyMaterial::set_sky_horizon_color(const Color &p_sky_horizon) { sky_horizon_color = p_sky_horizon; RS::get_singleton()->material_set_param(_get_material(), "sky_horizon_color", sky_horizon_color.to_linear()); } + Color ProceduralSkyMaterial::get_sky_horizon_color() const { return sky_horizon_color; } @@ -51,6 +52,7 @@ void ProceduralSkyMaterial::set_sky_curve(float p_curve) { sky_curve = p_curve; RS::get_singleton()->material_set_param(_get_material(), "sky_curve", sky_curve); } + float ProceduralSkyMaterial::get_sky_curve() const { return sky_curve; } @@ -59,6 +61,7 @@ void ProceduralSkyMaterial::set_sky_energy(float p_energy) { sky_energy = p_energy; RS::get_singleton()->material_set_param(_get_material(), "sky_energy", sky_energy); } + float ProceduralSkyMaterial::get_sky_energy() const { return sky_energy; } @@ -67,6 +70,7 @@ void ProceduralSkyMaterial::set_ground_bottom_color(const Color &p_ground_bottom ground_bottom_color = p_ground_bottom; RS::get_singleton()->material_set_param(_get_material(), "ground_bottom_color", ground_bottom_color.to_linear()); } + Color ProceduralSkyMaterial::get_ground_bottom_color() const { return ground_bottom_color; } @@ -75,6 +79,7 @@ void ProceduralSkyMaterial::set_ground_horizon_color(const Color &p_ground_horiz ground_horizon_color = p_ground_horizon; RS::get_singleton()->material_set_param(_get_material(), "ground_horizon_color", ground_horizon_color.to_linear()); } + Color ProceduralSkyMaterial::get_ground_horizon_color() const { return ground_horizon_color; } @@ -83,6 +88,7 @@ void ProceduralSkyMaterial::set_ground_curve(float p_curve) { ground_curve = p_curve; RS::get_singleton()->material_set_param(_get_material(), "ground_curve", ground_curve); } + float ProceduralSkyMaterial::get_ground_curve() const { return ground_curve; } @@ -91,6 +97,7 @@ void ProceduralSkyMaterial::set_ground_energy(float p_energy) { ground_energy = p_energy; RS::get_singleton()->material_set_param(_get_material(), "ground_energy", ground_energy); } + float ProceduralSkyMaterial::get_ground_energy() const { return ground_energy; } @@ -99,6 +106,7 @@ void ProceduralSkyMaterial::set_sun_angle_max(float p_angle) { sun_angle_max = p_angle; RS::get_singleton()->material_set_param(_get_material(), "sun_angle_max", Math::deg2rad(sun_angle_max)); } + float ProceduralSkyMaterial::get_sun_angle_max() const { return sun_angle_max; } @@ -107,6 +115,7 @@ void ProceduralSkyMaterial::set_sun_curve(float p_curve) { sun_curve = p_curve; RS::get_singleton()->material_set_param(_get_material(), "sun_curve", sun_curve); } + float ProceduralSkyMaterial::get_sun_curve() const { return sun_curve; } @@ -307,6 +316,7 @@ PanoramaSkyMaterial::~PanoramaSkyMaterial() { RS::get_singleton()->free(shader); RS::get_singleton()->material_set_shader(_get_material(), RID()); } + ////////////////////////////////// /* PhysicalSkyMaterial */ @@ -314,6 +324,7 @@ void PhysicalSkyMaterial::set_rayleigh_coefficient(float p_rayleigh) { rayleigh = p_rayleigh; RS::get_singleton()->material_set_param(_get_material(), "rayleigh", rayleigh); } + float PhysicalSkyMaterial::get_rayleigh_coefficient() const { return rayleigh; } @@ -322,6 +333,7 @@ void PhysicalSkyMaterial::set_rayleigh_color(Color p_rayleigh_color) { rayleigh_color = p_rayleigh_color; RS::get_singleton()->material_set_param(_get_material(), "rayleigh_color", rayleigh_color); } + Color PhysicalSkyMaterial::get_rayleigh_color() const { return rayleigh_color; } @@ -330,6 +342,7 @@ void PhysicalSkyMaterial::set_mie_coefficient(float p_mie) { mie = p_mie; RS::get_singleton()->material_set_param(_get_material(), "mie", mie); } + float PhysicalSkyMaterial::get_mie_coefficient() const { return mie; } @@ -338,6 +351,7 @@ void PhysicalSkyMaterial::set_mie_eccentricity(float p_eccentricity) { mie_eccentricity = p_eccentricity; RS::get_singleton()->material_set_param(_get_material(), "mie_eccentricity", mie_eccentricity); } + float PhysicalSkyMaterial::get_mie_eccentricity() const { return mie_eccentricity; } @@ -346,6 +360,7 @@ void PhysicalSkyMaterial::set_mie_color(Color p_mie_color) { mie_color = p_mie_color; RS::get_singleton()->material_set_param(_get_material(), "mie_color", mie_color); } + Color PhysicalSkyMaterial::get_mie_color() const { return mie_color; } @@ -354,6 +369,7 @@ void PhysicalSkyMaterial::set_turbidity(float p_turbidity) { turbidity = p_turbidity; RS::get_singleton()->material_set_param(_get_material(), "turbidity", turbidity); } + float PhysicalSkyMaterial::get_turbidity() const { return turbidity; } @@ -362,6 +378,7 @@ void PhysicalSkyMaterial::set_sun_disk_scale(float p_sun_disk_scale) { sun_disk_scale = p_sun_disk_scale; RS::get_singleton()->material_set_param(_get_material(), "sun_disk_scale", sun_disk_scale); } + float PhysicalSkyMaterial::get_sun_disk_scale() const { return sun_disk_scale; } @@ -370,6 +387,7 @@ void PhysicalSkyMaterial::set_ground_color(Color p_ground_color) { ground_color = p_ground_color; RS::get_singleton()->material_set_param(_get_material(), "ground_color", ground_color); } + Color PhysicalSkyMaterial::get_ground_color() const { return ground_color; } @@ -378,6 +396,7 @@ void PhysicalSkyMaterial::set_exposure(float p_exposure) { exposure = p_exposure; RS::get_singleton()->material_set_param(_get_material(), "exposure", exposure); } + float PhysicalSkyMaterial::get_exposure() const { return exposure; } @@ -386,6 +405,7 @@ void PhysicalSkyMaterial::set_dither_strength(float p_dither_strength) { dither_strength = p_dither_strength; RS::get_singleton()->material_set_param(_get_material(), "dither_strength", dither_strength); } + float PhysicalSkyMaterial::get_dither_strength() const { return dither_strength; } diff --git a/scene/resources/style_box.cpp b/scene/resources/style_box.cpp index 550abd29af..b7c26dd3c3 100644 --- a/scene/resources/style_box.cpp +++ b/scene/resources/style_box.cpp @@ -44,6 +44,7 @@ void StyleBox::set_default_margin(Margin p_margin, float p_value) { margin[p_margin] = p_value; emit_changed(); } + float StyleBox::get_default_margin(Margin p_margin) const { ERR_FAIL_INDEX_V((int)p_margin, 4, 0.0); @@ -151,6 +152,7 @@ void StyleBoxTexture::set_margin_size(Margin p_margin, float p_size) { }; _change_notify(margin_prop[p_margin]); } + float StyleBoxTexture::get_margin_size(Margin p_margin) const { ERR_FAIL_INDEX_V((int)p_margin, 4, 0.0); @@ -341,6 +343,7 @@ StyleBoxTexture::StyleBoxTexture() { axis_h = AXIS_STRETCH_MODE_STRETCH; axis_v = AXIS_STRETCH_MODE_STRETCH; } + StyleBoxTexture::~StyleBoxTexture() { } @@ -359,6 +362,7 @@ void StyleBoxFlat::set_border_color(const Color &p_color) { border_color = p_color; emit_changed(); } + Color StyleBoxFlat::get_border_color() const { return border_color; } @@ -370,6 +374,7 @@ void StyleBoxFlat::set_border_width_all(int p_size) { border_width[3] = p_size; emit_changed(); } + int StyleBoxFlat::get_border_width_min() const { return MIN(MIN(border_width[0], border_width[1]), MIN(border_width[2], border_width[3])); } @@ -389,6 +394,7 @@ void StyleBoxFlat::set_border_blend(bool p_blend) { blend_border = p_blend; emit_changed(); } + bool StyleBoxFlat::get_border_blend() const { return blend_border; } @@ -400,6 +406,7 @@ void StyleBoxFlat::set_corner_radius_all(int radius) { emit_changed(); } + void StyleBoxFlat::set_corner_radius_individual(const int radius_top_left, const int radius_top_right, const int radius_botton_right, const int radius_bottom_left) { corner_radius[0] = radius_top_left; corner_radius[1] = radius_top_right; @@ -408,6 +415,7 @@ void StyleBoxFlat::set_corner_radius_individual(const int radius_top_left, const emit_changed(); } + int StyleBoxFlat::get_corner_radius_min() const { int smallest = corner_radius[0]; for (int i = 1; i < 4; i++) { @@ -423,6 +431,7 @@ void StyleBoxFlat::set_corner_radius(const Corner p_corner, const int radius) { corner_radius[p_corner] = radius; emit_changed(); } + int StyleBoxFlat::get_corner_radius(const Corner p_corner) const { ERR_FAIL_INDEX_V((int)p_corner, 4, 0); return corner_radius[p_corner]; @@ -453,10 +462,12 @@ float StyleBoxFlat::get_expand_margin_size(Margin p_expand_margin) const { ERR_FAIL_INDEX_V((int)p_expand_margin, 4, 0.0); return expand_margin[p_expand_margin]; } + void StyleBoxFlat::set_draw_center(bool p_enabled) { draw_center = p_enabled; emit_changed(); } + bool StyleBoxFlat::is_draw_center_enabled() const { return draw_center; } @@ -465,6 +476,7 @@ void StyleBoxFlat::set_shadow_color(const Color &p_color) { shadow_color = p_color; emit_changed(); } + Color StyleBoxFlat::get_shadow_color() const { return shadow_color; } @@ -473,6 +485,7 @@ void StyleBoxFlat::set_shadow_size(const int &p_size) { shadow_size = p_size; emit_changed(); } + int StyleBoxFlat::get_shadow_size() const { return shadow_size; } @@ -481,6 +494,7 @@ void StyleBoxFlat::set_shadow_offset(const Point2 &p_offset) { shadow_offset = p_offset; emit_changed(); } + Point2 StyleBoxFlat::get_shadow_offset() const { return shadow_offset; } @@ -489,6 +503,7 @@ void StyleBoxFlat::set_anti_aliased(const bool &p_anti_aliased) { anti_aliased = p_anti_aliased; emit_changed(); } + bool StyleBoxFlat::is_anti_aliased() const { return anti_aliased; } @@ -497,6 +512,7 @@ void StyleBoxFlat::set_aa_size(const int &p_aa_size) { aa_size = CLAMP(p_aa_size, 1, 5); emit_changed(); } + int StyleBoxFlat::get_aa_size() const { return aa_size; } @@ -505,6 +521,7 @@ void StyleBoxFlat::set_corner_detail(const int &p_corner_detail) { corner_detail = CLAMP(p_corner_detail, 1, 20); emit_changed(); } + int StyleBoxFlat::get_corner_detail() const { return corner_detail; } @@ -805,6 +822,7 @@ float StyleBoxFlat::get_style_margin(Margin p_margin) const { ERR_FAIL_INDEX_V((int)p_margin, 4, 0.0); return border_width[p_margin]; } + void StyleBoxFlat::_bind_methods() { ClassDB::bind_method(D_METHOD("set_bg_color", "color"), &StyleBoxFlat::set_bg_color); ClassDB::bind_method(D_METHOD("get_bg_color"), &StyleBoxFlat::get_bg_color); @@ -921,6 +939,7 @@ StyleBoxFlat::StyleBoxFlat() { corner_radius[2] = 0; corner_radius[3] = 0; } + StyleBoxFlat::~StyleBoxFlat() { } @@ -928,6 +947,7 @@ void StyleBoxLine::set_color(const Color &p_color) { color = p_color; emit_changed(); } + Color StyleBoxLine::get_color() const { return color; } @@ -936,6 +956,7 @@ void StyleBoxLine::set_thickness(int p_thickness) { thickness = p_thickness; emit_changed(); } + int StyleBoxLine::get_thickness() const { return thickness; } @@ -944,6 +965,7 @@ void StyleBoxLine::set_vertical(bool p_vertical) { vertical = p_vertical; emit_changed(); } + bool StyleBoxLine::is_vertical() const { return vertical; } @@ -952,6 +974,7 @@ void StyleBoxLine::set_grow_end(float p_grow_end) { grow_end = p_grow_end; emit_changed(); } + float StyleBoxLine::get_grow_end() const { return grow_end; } @@ -960,6 +983,7 @@ void StyleBoxLine::set_grow_begin(float p_grow_begin) { grow_begin = p_grow_begin; emit_changed(); } + float StyleBoxLine::get_grow_begin() const { return grow_begin; } @@ -982,10 +1006,12 @@ void StyleBoxLine::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "thickness", PROPERTY_HINT_RANGE, "0,10"), "set_thickness", "get_thickness"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "vertical"), "set_vertical", "is_vertical"); } + float StyleBoxLine::get_style_margin(Margin p_margin) const { ERR_FAIL_INDEX_V((int)p_margin, 4, thickness); return thickness; } + Size2 StyleBoxLine::get_center_size() const { return Size2(); } @@ -1014,4 +1040,5 @@ StyleBoxLine::StyleBoxLine() { color = Color(0.0, 0.0, 0.0); vertical = false; } + StyleBoxLine::~StyleBoxLine() {} diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp index 95eaf461e1..feba8c6c70 100644 --- a/scene/resources/surface_tool.cpp +++ b/scene/resources/surface_tool.cpp @@ -155,6 +155,7 @@ void SurfaceTool::add_vertex(const Vector3 &p_vertex) { format |= Mesh::ARRAY_FORMAT_VERTEX; } + void SurfaceTool::add_color(Color p_color) { ERR_FAIL_COND(!begun); @@ -163,6 +164,7 @@ void SurfaceTool::add_color(Color p_color) { format |= Mesh::ARRAY_FORMAT_COLOR; last_color = p_color; } + void SurfaceTool::add_normal(const Vector3 &p_normal) { ERR_FAIL_COND(!begun); @@ -745,9 +747,11 @@ int SurfaceTool::mikktGetNumFaces(const SMikkTSpaceContext *pContext) { return triangle_data.vertices.size() / 3; } } + int SurfaceTool::mikktGetNumVerticesOfFace(const SMikkTSpaceContext *pContext, const int iFace) { return 3; //always 3 } + void SurfaceTool::mikktGetPosition(const SMikkTSpaceContext *pContext, float fvPosOut[], const int iFace, const int iVert) { TangentGenerationContextUserData &triangle_data = *reinterpret_cast<TangentGenerationContextUserData *>(pContext->m_pUserData); Vector3 v; @@ -781,6 +785,7 @@ void SurfaceTool::mikktGetNormal(const SMikkTSpaceContext *pContext, float fvNor fvNormOut[1] = v.y; fvNormOut[2] = v.z; } + void SurfaceTool::mikktGetTexCoord(const SMikkTSpaceContext *pContext, float fvTexcOut[], const int iFace, const int iVert) { TangentGenerationContextUserData &triangle_data = *reinterpret_cast<TangentGenerationContextUserData *>(pContext->m_pUserData); Vector2 v; diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp index 78b8e4d9ff..b549bea4f4 100644 --- a/scene/resources/texture.cpp +++ b/scene/resources/texture.cpp @@ -236,6 +236,7 @@ void ImageTexture::draw(RID p_canvas_item, const Point2 &p_pos, const Color &p_m RID specular_rid = p_specular_map.is_valid() ? p_specular_map->get_rid() : RID(); RenderingServer::get_singleton()->canvas_item_add_texture_rect(p_canvas_item, Rect2(p_pos, Size2(w, h)), texture, false, p_modulate, p_transpose, normal_rid, specular_rid, p_specular_color_shininess, p_texture_filter, p_texture_repeat); } + void ImageTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, RS::CanvasItemTextureFilter p_texture_filter, RS::CanvasItemTextureRepeat p_texture_repeat) const { if ((w | h) == 0) return; @@ -243,6 +244,7 @@ void ImageTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile RID specular_rid = p_specular_map.is_valid() ? p_specular_map->get_rid() : RID(); RenderingServer::get_singleton()->canvas_item_add_texture_rect(p_canvas_item, p_rect, texture, p_tile, p_modulate, p_transpose, normal_rid, specular_rid, p_specular_color_shininess, p_texture_filter, p_texture_repeat); } + void ImageTexture::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, const Rect2 &p_src_rect, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, RS::CanvasItemTextureFilter p_texture_filter, RS::CanvasItemTextureRepeat p_texture_repeat, bool p_clip_uv) const { if ((w | h) == 0) return; @@ -620,6 +622,7 @@ Error StreamTexture2D::load(const String &p_path) { emit_changed(); return OK; } + String StreamTexture2D::get_load_path() const { return path_to_file; } @@ -627,9 +630,11 @@ String StreamTexture2D::get_load_path() const { int StreamTexture2D::get_width() const { return w; } + int StreamTexture2D::get_height() const { return h; } + RID StreamTexture2D::get_rid() const { if (!texture.is_valid()) { texture = RS::get_singleton()->texture_2d_placeholder_create(); @@ -644,6 +649,7 @@ void StreamTexture2D::draw(RID p_canvas_item, const Point2 &p_pos, const Color & RID specular_rid = p_specular_map.is_valid() ? p_specular_map->get_rid() : RID(); RenderingServer::get_singleton()->canvas_item_add_texture_rect(p_canvas_item, Rect2(p_pos, Size2(w, h)), texture, false, p_modulate, p_transpose, normal_rid, specular_rid, p_specular_color_shininess, p_texture_filter, p_texture_repeat); } + void StreamTexture2D::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, RS::CanvasItemTextureFilter p_texture_filter, RS::CanvasItemTextureRepeat p_texture_repeat) const { if ((w | h) == 0) return; @@ -651,6 +657,7 @@ void StreamTexture2D::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_t RID specular_rid = p_specular_map.is_valid() ? p_specular_map->get_rid() : RID(); RenderingServer::get_singleton()->canvas_item_add_texture_rect(p_canvas_item, p_rect, texture, p_tile, p_modulate, p_transpose, normal_rid, specular_rid, p_specular_color_shininess, p_texture_filter, p_texture_repeat); } + void StreamTexture2D::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, const Rect2 &p_src_rect, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, RS::CanvasItemTextureFilter p_texture_filter, RS::CanvasItemTextureRepeat p_texture_repeat, bool p_clip_uv) const { if ((w | h) == 0) return; @@ -755,9 +762,11 @@ RES ResourceFormatLoaderStreamTexture2D::load(const String &p_path, const String void ResourceFormatLoaderStreamTexture2D::get_recognized_extensions(List<String> *p_extensions) const { p_extensions->push_back("stex"); } + bool ResourceFormatLoaderStreamTexture2D::handles_type(const String &p_type) const { return p_type == "StreamTexture2D"; } + String ResourceFormatLoaderStreamTexture2D::get_resource_type(const String &p_path) const { if (p_path.get_extension().to_lower() == "stex") return "StreamTexture2D"; @@ -775,6 +784,7 @@ int AtlasTexture::get_width() const { return region.size.width + margin.size.width; } } + int AtlasTexture::get_height() const { if (region.size.height == 0) { if (atlas.is_valid()) @@ -784,6 +794,7 @@ int AtlasTexture::get_height() const { return region.size.height + margin.size.height; } } + RID AtlasTexture::get_rid() const { if (atlas.is_valid()) return atlas->get_rid(); @@ -806,6 +817,7 @@ void AtlasTexture::set_atlas(const Ref<Texture2D> &p_atlas) { emit_changed(); _change_notify("atlas"); } + Ref<Texture2D> AtlasTexture::get_atlas() const { return atlas; } @@ -903,6 +915,7 @@ void AtlasTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile RID specular_rid = p_specular_map.is_valid() ? p_specular_map->get_rid() : RID(); RS::get_singleton()->canvas_item_add_texture_rect_region(p_canvas_item, dr, atlas->get_rid(), rc, p_modulate, p_transpose, normal_rid, specular_rid, p_specular_color_shininess, filter_clip, p_texture_filter, p_texture_repeat); } + void AtlasTexture::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, const Rect2 &p_src_rect, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, RS::CanvasItemTextureFilter p_texture_filter, RS::CanvasItemTextureRepeat p_texture_repeat, bool p_clip_uv) const { //this might not necessarily work well if using a rect, needs to be fixed properly if (!atlas.is_valid()) @@ -977,9 +990,11 @@ AtlasTexture::AtlasTexture() { int MeshTexture::get_width() const { return size.width; } + int MeshTexture::get_height() const { return size.height; } + RID MeshTexture::get_rid() const { return RID(); } @@ -991,6 +1006,7 @@ bool MeshTexture::has_alpha() const { void MeshTexture::set_mesh(const Ref<Mesh> &p_mesh) { mesh = p_mesh; } + Ref<Mesh> MeshTexture::get_mesh() const { return mesh; } @@ -1025,6 +1041,7 @@ void MeshTexture::draw(RID p_canvas_item, const Point2 &p_pos, const Color &p_mo RID specular_rid = p_specular_map.is_valid() ? p_specular_map->get_rid() : RID(); RenderingServer::get_singleton()->canvas_item_add_mesh(p_canvas_item, mesh->get_rid(), xform, p_modulate, base_texture->get_rid(), normal_rid, specular_rid, p_specular_color_shininess, p_texture_filter, p_texture_repeat); } + void MeshTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, RS::CanvasItemTextureFilter p_texture_filter, RS::CanvasItemTextureRepeat p_texture_repeat) const { if (mesh.is_null() || base_texture.is_null()) { return; @@ -1048,6 +1065,7 @@ void MeshTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile, RID specular_rid = p_specular_map.is_valid() ? p_specular_map->get_rid() : RID(); RenderingServer::get_singleton()->canvas_item_add_mesh(p_canvas_item, mesh->get_rid(), xform, p_modulate, base_texture->get_rid(), normal_rid, specular_rid, p_specular_color_shininess, p_texture_filter, p_texture_repeat); } + void MeshTexture::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, const Rect2 &p_src_rect, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, RS::CanvasItemTextureFilter p_texture_filter, RS::CanvasItemTextureRepeat p_texture_repeat, bool p_clip_uv) const { if (mesh.is_null() || base_texture.is_null()) { return; @@ -1071,6 +1089,7 @@ void MeshTexture::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, const RID specular_rid = p_specular_map.is_valid() ? p_specular_map->get_rid() : RID(); RenderingServer::get_singleton()->canvas_item_add_mesh(p_canvas_item, mesh->get_rid(), xform, p_modulate, base_texture->get_rid(), normal_rid, specular_rid, p_specular_color_shininess, p_texture_filter, p_texture_repeat); } + bool MeshTexture::get_rect_region(const Rect2 &p_rect, const Rect2 &p_src_rect, Rect2 &r_rect, Rect2 &r_src_rect) const { r_rect = p_rect; r_src_rect = p_src_rect; @@ -1102,9 +1121,11 @@ MeshTexture::MeshTexture() { int LargeTexture::get_width() const { return size.width; } + int LargeTexture::get_height() const { return size.height; } + RID LargeTexture::get_rid() const { return RID(); } @@ -1143,6 +1164,7 @@ void LargeTexture::set_piece_texture(int p_idx, const Ref<Texture2D> &p_texture) void LargeTexture::set_size(const Size2 &p_size) { size = p_size; } + void LargeTexture::clear() { pieces.clear(); size = Size2i(); @@ -1157,6 +1179,7 @@ Array LargeTexture::_get_data() const { arr.push_back(Size2(size)); return arr; } + void LargeTexture::_set_data(const Array &p_array) { ERR_FAIL_COND(p_array.size() < 1); ERR_FAIL_COND(!(p_array.size() & 1)); @@ -1170,14 +1193,17 @@ void LargeTexture::_set_data(const Array &p_array) { int LargeTexture::get_piece_count() const { return pieces.size(); } + Vector2 LargeTexture::get_piece_offset(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, pieces.size(), Vector2()); return pieces[p_idx].offset; } + Ref<Texture2D> LargeTexture::get_piece_texture(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, pieces.size(), Ref<Texture2D>()); return pieces[p_idx].texture; } + Ref<Image> LargeTexture::to_image() const { Ref<Image> img = memnew(Image(this->get_width(), this->get_height(), false, Image::FORMAT_RGBA8)); for (int i = 0; i < pieces.size(); i++) { @@ -1224,6 +1250,7 @@ void LargeTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile pieces[i].texture->draw_rect(p_canvas_item, Rect2(pieces[i].offset * scale + p_rect.position, pieces[i].texture->get_size() * scale), false, p_modulate, p_transpose, p_normal_map, p_specular_map, p_specular_color_shininess, p_texture_filter, p_texture_repeat); } } + void LargeTexture::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, const Rect2 &p_src_rect, const Color &p_modulate, bool p_transpose, const Ref<Texture2D> &p_normal_map, const Ref<Texture2D> &p_specular_map, const Color &p_specular_color_shininess, RS::CanvasItemTextureFilter p_texture_filter, RS::CanvasItemTextureRepeat p_texture_repeat, bool p_clip_uv) const { //tiling not supported for this if (p_src_rect.size.x == 0 || p_src_rect.size.y == 0) @@ -1361,11 +1388,13 @@ RID CurveTexture::get_rid() const { CurveTexture::CurveTexture() { _width = 2048; } + CurveTexture::~CurveTexture() { if (_texture.is_valid()) { RS::get_singleton()->free(_texture); } } + ////////////////// //setter and getter names for property serialization @@ -1464,6 +1493,7 @@ void GradientTexture::set_width(int p_width) { width = p_width; _queue_update(); } + int GradientTexture::get_width() const { return width; } @@ -1510,11 +1540,13 @@ int ProxyTexture::get_width() const { return base->get_width(); return 1; } + int ProxyTexture::get_height() const { if (base.is_valid()) return base->get_height(); return 1; } + RID ProxyTexture::get_rid() const { if (proxy.is_null()) { proxy_ph = RS::get_singleton()->texture_2d_placeholder_create(); @@ -1541,6 +1573,7 @@ ProxyTexture::~ProxyTexture() { RS::get_singleton()->free(proxy); } } + ////////////////////////////////////////////// void AnimatedTexture::_update_proxy() { @@ -1599,6 +1632,7 @@ void AnimatedTexture::set_frames(int p_frames) { frame_count = p_frames; } + int AnimatedTexture::get_frames() const { return frame_count; } @@ -1610,6 +1644,7 @@ void AnimatedTexture::set_current_frame(int p_frame) { current_frame = p_frame; } + int AnimatedTexture::get_current_frame() const { return current_frame; } @@ -1618,6 +1653,7 @@ void AnimatedTexture::set_pause(bool p_pause) { RWLockWrite r(rw_lock); pause = p_pause; } + bool AnimatedTexture::get_pause() const { return pause; } @@ -1626,6 +1662,7 @@ void AnimatedTexture::set_oneshot(bool p_oneshot) { RWLockWrite r(rw_lock); oneshot = p_oneshot; } + bool AnimatedTexture::get_oneshot() const { return oneshot; } @@ -1638,6 +1675,7 @@ void AnimatedTexture::set_frame_texture(int p_frame, const Ref<Texture2D> &p_tex frames[p_frame].texture = p_texture; } + Ref<Texture2D> AnimatedTexture::get_frame_texture(int p_frame) const { ERR_FAIL_INDEX_V(p_frame, MAX_FRAMES, Ref<Texture2D>()); @@ -1653,6 +1691,7 @@ void AnimatedTexture::set_frame_delay(int p_frame, float p_delay_sec) { frames[p_frame].delay_sec = p_delay_sec; } + float AnimatedTexture::get_frame_delay(int p_frame) const { ERR_FAIL_INDEX_V(p_frame, MAX_FRAMES, 0); @@ -1666,6 +1705,7 @@ void AnimatedTexture::set_fps(float p_fps) { fps = p_fps; } + float AnimatedTexture::get_fps() const { return fps; } @@ -1679,6 +1719,7 @@ int AnimatedTexture::get_width() const { return frames[current_frame].texture->get_width(); } + int AnimatedTexture::get_height() const { RWLockRead r(rw_lock); @@ -1688,6 +1729,7 @@ int AnimatedTexture::get_height() const { return frames[current_frame].texture->get_height(); } + RID AnimatedTexture::get_rid() const { return proxy; } @@ -1796,6 +1838,7 @@ AnimatedTexture::~AnimatedTexture() { memdelete(rw_lock); } } + /////////////////////////////// void TextureLayered::_bind_methods() { @@ -2045,6 +2088,7 @@ Error StreamTextureLayered::load(const String &p_path) { emit_changed(); return OK; } + String StreamTextureLayered::get_load_path() const { return path_to_file; } @@ -2052,12 +2096,15 @@ String StreamTextureLayered::get_load_path() const { int StreamTextureLayered::get_width() const { return w; } + int StreamTextureLayered::get_height() const { return h; } + int StreamTextureLayered::get_layers() const { return layers; } + bool StreamTextureLayered::has_mipmaps() const { return mipmaps; } @@ -2155,9 +2202,11 @@ void ResourceFormatLoaderStreamTextureLayered::get_recognized_extensions(List<St p_extensions->push_back("scube"); p_extensions->push_back("scubearray"); } + bool ResourceFormatLoaderStreamTextureLayered::handles_type(const String &p_type) const { return p_type == "StreamTexture2DArray" || p_type == "StreamCubemap" || p_type == "StreamCubemapArray"; } + String ResourceFormatLoaderStreamTextureLayered::get_resource_type(const String &p_path) const { if (p_path.get_extension().to_lower() == "stexarray") return "StreamTexture2DArray"; diff --git a/scene/resources/theme.cpp b/scene/resources/theme.cpp index 7a28927583..7a2abffed0 100644 --- a/scene/resources/theme.cpp +++ b/scene/resources/theme.cpp @@ -310,9 +310,11 @@ void Theme::set_project_default(const Ref<Theme> &p_project_default) { void Theme::set_default_icon(const Ref<Texture2D> &p_icon) { default_icon = p_icon; } + void Theme::set_default_style(const Ref<StyleBox> &p_style) { default_style = p_style; } + void Theme::set_default_font(const Ref<Font> &p_font) { default_font = p_font; } @@ -337,6 +339,7 @@ void Theme::set_icon(const StringName &p_name, const StringName &p_type, const R emit_changed(); } } + Ref<Texture2D> Theme::get_icon(const StringName &p_name, const StringName &p_type) const { if (icon_map.has(p_type) && icon_map[p_type].has(p_name) && icon_map[p_type][p_name].is_valid()) { return icon_map[p_type][p_name]; @@ -509,6 +512,7 @@ void Theme::set_font(const StringName &p_name, const StringName &p_type, const R emit_changed(); } } + Ref<Font> Theme::get_font(const StringName &p_name, const StringName &p_type) const { if (font_map.has(p_type) && font_map[p_type].has(p_name) && font_map[p_type][p_name].is_valid()) return font_map[p_type][p_name]; diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp index 31d0fc2c9d..5faa256abd 100644 --- a/scene/resources/visual_shader.cpp +++ b/scene/resources/visual_shader.cpp @@ -66,6 +66,7 @@ bool VisualShaderNode::is_port_separator(int p_index) const { Vector<VisualShader::DefaultTextureParam> VisualShaderNode::get_default_texture_parameters(VisualShader::Type p_type, int p_id) const { return Vector<VisualShader::DefaultTextureParam>(); } + String VisualShaderNode::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const { return String(); } @@ -90,6 +91,7 @@ Array VisualShaderNode::get_default_input_values() const { } return ret; } + void VisualShaderNode::set_default_input_values(const Array &p_values) { if (p_values.size() % 2 == 0) { for (int i = 0; i < p_values.size(); i += 2) { @@ -389,6 +391,7 @@ Vector<int> VisualShader::get_node_list(Type p_type) const { return ret; } + int VisualShader::get_valid_node_id(Type p_type) const { ERR_FAIL_INDEX_V(p_type, TYPE_MAX, NODE_ID_INVALID); const Graph *g = &graph[p_type]; @@ -1724,9 +1727,11 @@ const VisualShaderNodeInput::Port VisualShaderNodeInput::preview_ports[] = { int VisualShaderNodeInput::get_input_port_count() const { return 0; } + VisualShaderNodeInput::PortType VisualShaderNodeInput::get_input_port_type(int p_port) const { return PORT_TYPE_SCALAR; } + String VisualShaderNodeInput::get_input_port_name(int p_port) const { return ""; } @@ -1734,9 +1739,11 @@ String VisualShaderNodeInput::get_input_port_name(int p_port) const { int VisualShaderNodeInput::get_output_port_count() const { return 1; } + VisualShaderNodeInput::PortType VisualShaderNodeInput::get_output_port_type(int p_port) const { return get_input_type_by_name(input_name); } + String VisualShaderNodeInput::get_output_port_name(int p_port) const { return ""; } @@ -1932,6 +1939,7 @@ void VisualShaderNodeInput::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::STRING_NAME, "input_name", PROPERTY_HINT_ENUM, ""), "set_input_name", "get_input_name"); ADD_SIGNAL(MethodInfo("input_type_changed")); } + VisualShaderNodeInput::VisualShaderNodeInput() { input_name = "[None]"; // changed when set @@ -2064,9 +2072,11 @@ Variant VisualShaderNodeOutput::get_input_port_default_value(int p_port) const { int VisualShaderNodeOutput::get_output_port_count() const { return 0; } + VisualShaderNodeOutput::PortType VisualShaderNodeOutput::get_output_port_type(int p_port) const { return PORT_TYPE_SCALAR; } + String VisualShaderNodeOutput::get_output_port_name(int p_port) const { return String(); } diff --git a/scene/resources/world_2d.cpp b/scene/resources/world_2d.cpp index 99b9c7803e..368a9d351d 100644 --- a/scene/resources/world_2d.cpp +++ b/scene/resources/world_2d.cpp @@ -293,6 +293,7 @@ void World2D::_register_viewport(Viewport *p_viewport, const Rect2 &p_rect) { void World2D::_update_viewport(Viewport *p_viewport, const Rect2 &p_rect) { indexer->_update_viewport(p_viewport, p_rect); } + void World2D::_remove_viewport(Viewport *p_viewport) { indexer->_remove_viewport(p_viewport); } @@ -300,9 +301,11 @@ void World2D::_remove_viewport(Viewport *p_viewport) { void World2D::_register_notifier(VisibilityNotifier2D *p_notifier, const Rect2 &p_rect) { indexer->_notifier_add(p_notifier, p_rect); } + void World2D::_update_notifier(VisibilityNotifier2D *p_notifier, const Rect2 &p_rect) { indexer->_notifier_update(p_notifier, p_rect); } + void World2D::_remove_notifier(VisibilityNotifier2D *p_notifier) { indexer->_notifier_remove(p_notifier); } diff --git a/scene/resources/world_3d.cpp b/scene/resources/world_3d.cpp index d8ec7f507c..f53a24596a 100644 --- a/scene/resources/world_3d.cpp +++ b/scene/resources/world_3d.cpp @@ -204,6 +204,7 @@ void World3D::_update_camera(Camera3D *p_camera) { indexer->_update_camera(p_camera); #endif } + void World3D::_remove_camera(Camera3D *p_camera) { #ifndef _3D_DISABLED indexer->_remove_camera(p_camera); diff --git a/servers/audio/audio_filter_sw.cpp b/servers/audio/audio_filter_sw.cpp index b4f3935f3a..b6759649cc 100644 --- a/servers/audio/audio_filter_sw.cpp +++ b/servers/audio/audio_filter_sw.cpp @@ -33,9 +33,11 @@ void AudioFilterSW::set_mode(Mode p_mode) { mode = p_mode; } + void AudioFilterSW::set_cutoff(float p_cutoff) { cutoff = p_cutoff; } + void AudioFilterSW::set_resonance(float p_resonance) { resonance = p_resonance; } diff --git a/servers/audio/audio_stream.cpp b/servers/audio/audio_stream.cpp index b7e3f8964b..11b96edb8d 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -312,6 +312,7 @@ void AudioStreamPlaybackRandomPitch::stop() { ; } } + bool AudioStreamPlaybackRandomPitch::is_playing() const { if (playing.is_valid()) { return playing->is_playing(); @@ -335,6 +336,7 @@ float AudioStreamPlaybackRandomPitch::get_playback_position() const { return 0; } + void AudioStreamPlaybackRandomPitch::seek(float p_time) { if (playing.is_valid()) { playing->seek(p_time); diff --git a/servers/audio/effects/audio_effect_chorus.cpp b/servers/audio/effects/audio_effect_chorus.cpp index 11d820f828..48f050c5ab 100644 --- a/servers/audio/effects/audio_effect_chorus.cpp +++ b/servers/audio/effects/audio_effect_chorus.cpp @@ -189,6 +189,7 @@ void AudioEffectChorus::set_voice_delay_ms(int p_voice, float p_delay_ms) { voice[p_voice].delay = p_delay_ms; } + float AudioEffectChorus::get_voice_delay_ms(int p_voice) const { ERR_FAIL_INDEX_V(p_voice, MAX_VOICES, 0); return voice[p_voice].delay; @@ -199,6 +200,7 @@ void AudioEffectChorus::set_voice_rate_hz(int p_voice, float p_rate_hz) { voice[p_voice].rate = p_rate_hz; } + float AudioEffectChorus::get_voice_rate_hz(int p_voice) const { ERR_FAIL_INDEX_V(p_voice, MAX_VOICES, 0); @@ -210,6 +212,7 @@ void AudioEffectChorus::set_voice_depth_ms(int p_voice, float p_depth_ms) { voice[p_voice].depth = p_depth_ms; } + float AudioEffectChorus::get_voice_depth_ms(int p_voice) const { ERR_FAIL_INDEX_V(p_voice, MAX_VOICES, 0); @@ -221,6 +224,7 @@ void AudioEffectChorus::set_voice_level_db(int p_voice, float p_level_db) { voice[p_voice].level = p_level_db; } + float AudioEffectChorus::get_voice_level_db(int p_voice) const { ERR_FAIL_INDEX_V(p_voice, MAX_VOICES, 0); @@ -232,6 +236,7 @@ void AudioEffectChorus::set_voice_cutoff_hz(int p_voice, float p_cutoff_hz) { voice[p_voice].cutoff = p_cutoff_hz; } + float AudioEffectChorus::get_voice_cutoff_hz(int p_voice) const { ERR_FAIL_INDEX_V(p_voice, MAX_VOICES, 0); @@ -243,6 +248,7 @@ void AudioEffectChorus::set_voice_pan(int p_voice, float p_pan) { voice[p_voice].pan = p_pan; } + float AudioEffectChorus::get_voice_pan(int p_voice) const { ERR_FAIL_INDEX_V(p_voice, MAX_VOICES, 0); @@ -252,6 +258,7 @@ float AudioEffectChorus::get_voice_pan(int p_voice) const { void AudioEffectChorus::set_wet(float amount) { wet = amount; } + float AudioEffectChorus::get_wet() const { return wet; } @@ -259,6 +266,7 @@ float AudioEffectChorus::get_wet() const { void AudioEffectChorus::set_dry(float amount) { dry = amount; } + float AudioEffectChorus::get_dry() const { return dry; } diff --git a/servers/audio/effects/audio_effect_compressor.cpp b/servers/audio/effects/audio_effect_compressor.cpp index b4728314b6..b0f829b679 100644 --- a/servers/audio/effects/audio_effect_compressor.cpp +++ b/servers/audio/effects/audio_effect_compressor.cpp @@ -134,6 +134,7 @@ float AudioEffectCompressor::get_threshold() const { void AudioEffectCompressor::set_ratio(float p_ratio) { ratio = p_ratio; } + float AudioEffectCompressor::get_ratio() const { return ratio; } @@ -141,6 +142,7 @@ float AudioEffectCompressor::get_ratio() const { void AudioEffectCompressor::set_gain(float p_gain) { gain = p_gain; } + float AudioEffectCompressor::get_gain() const { return gain; } @@ -148,6 +150,7 @@ float AudioEffectCompressor::get_gain() const { void AudioEffectCompressor::set_attack_us(float p_attack_us) { attack_us = p_attack_us; } + float AudioEffectCompressor::get_attack_us() const { return attack_us; } @@ -155,6 +158,7 @@ float AudioEffectCompressor::get_attack_us() const { void AudioEffectCompressor::set_release_ms(float p_release_ms) { release_ms = p_release_ms; } + float AudioEffectCompressor::get_release_ms() const { return release_ms; } @@ -162,6 +166,7 @@ float AudioEffectCompressor::get_release_ms() const { void AudioEffectCompressor::set_mix(float p_mix) { mix = p_mix; } + float AudioEffectCompressor::get_mix() const { return mix; } diff --git a/servers/audio/effects/audio_effect_delay.cpp b/servers/audio/effects/audio_effect_delay.cpp index 2a613ad4f1..00cf7a0e70 100644 --- a/servers/audio/effects/audio_effect_delay.cpp +++ b/servers/audio/effects/audio_effect_delay.cpp @@ -153,6 +153,7 @@ float AudioEffectDelay::get_dry() { void AudioEffectDelay::set_tap1_active(bool p_active) { tap_1_active = p_active; } + bool AudioEffectDelay::is_tap1_active() const { return tap_1_active; } @@ -160,6 +161,7 @@ bool AudioEffectDelay::is_tap1_active() const { void AudioEffectDelay::set_tap1_delay_ms(float p_delay_ms) { tap_1_delay_ms = p_delay_ms; } + float AudioEffectDelay::get_tap1_delay_ms() const { return tap_1_delay_ms; } @@ -167,6 +169,7 @@ float AudioEffectDelay::get_tap1_delay_ms() const { void AudioEffectDelay::set_tap1_level_db(float p_level_db) { tap_1_level = p_level_db; } + float AudioEffectDelay::get_tap1_level_db() const { return tap_1_level; } @@ -174,6 +177,7 @@ float AudioEffectDelay::get_tap1_level_db() const { void AudioEffectDelay::set_tap1_pan(float p_pan) { tap_1_pan = p_pan; } + float AudioEffectDelay::get_tap1_pan() const { return tap_1_pan; } @@ -181,6 +185,7 @@ float AudioEffectDelay::get_tap1_pan() const { void AudioEffectDelay::set_tap2_active(bool p_active) { tap_2_active = p_active; } + bool AudioEffectDelay::is_tap2_active() const { return tap_2_active; } @@ -188,6 +193,7 @@ bool AudioEffectDelay::is_tap2_active() const { void AudioEffectDelay::set_tap2_delay_ms(float p_delay_ms) { tap_2_delay_ms = p_delay_ms; } + float AudioEffectDelay::get_tap2_delay_ms() const { return tap_2_delay_ms; } @@ -195,6 +201,7 @@ float AudioEffectDelay::get_tap2_delay_ms() const { void AudioEffectDelay::set_tap2_level_db(float p_level_db) { tap_2_level = p_level_db; } + float AudioEffectDelay::get_tap2_level_db() const { return tap_2_level; } @@ -202,6 +209,7 @@ float AudioEffectDelay::get_tap2_level_db() const { void AudioEffectDelay::set_tap2_pan(float p_pan) { tap_2_pan = p_pan; } + float AudioEffectDelay::get_tap2_pan() const { return tap_2_pan; } @@ -209,6 +217,7 @@ float AudioEffectDelay::get_tap2_pan() const { void AudioEffectDelay::set_feedback_active(bool p_active) { feedback_active = p_active; } + bool AudioEffectDelay::is_feedback_active() const { return feedback_active; } @@ -216,6 +225,7 @@ bool AudioEffectDelay::is_feedback_active() const { void AudioEffectDelay::set_feedback_delay_ms(float p_delay_ms) { feedback_delay_ms = p_delay_ms; } + float AudioEffectDelay::get_feedback_delay_ms() const { return feedback_delay_ms; } @@ -223,6 +233,7 @@ float AudioEffectDelay::get_feedback_delay_ms() const { void AudioEffectDelay::set_feedback_level_db(float p_level_db) { feedback_level = p_level_db; } + float AudioEffectDelay::get_feedback_level_db() const { return feedback_level; } @@ -230,6 +241,7 @@ float AudioEffectDelay::get_feedback_level_db() const { void AudioEffectDelay::set_feedback_lowpass(float p_lowpass) { feedback_lowpass = p_lowpass; } + float AudioEffectDelay::get_feedback_lowpass() const { return feedback_lowpass; } diff --git a/servers/audio/effects/audio_effect_distortion.cpp b/servers/audio/effects/audio_effect_distortion.cpp index 7726b3da3e..da4c34ce82 100644 --- a/servers/audio/effects/audio_effect_distortion.cpp +++ b/servers/audio/effects/audio_effect_distortion.cpp @@ -112,6 +112,7 @@ AudioEffectDistortion::Mode AudioEffectDistortion::get_mode() const { void AudioEffectDistortion::set_pre_gain(float p_pre_gain) { pre_gain = p_pre_gain; } + float AudioEffectDistortion::get_pre_gain() const { return pre_gain; } @@ -119,6 +120,7 @@ float AudioEffectDistortion::get_pre_gain() const { void AudioEffectDistortion::set_keep_hf_hz(float p_keep_hf_hz) { keep_hf_hz = p_keep_hf_hz; } + float AudioEffectDistortion::get_keep_hf_hz() const { return keep_hf_hz; } @@ -126,6 +128,7 @@ float AudioEffectDistortion::get_keep_hf_hz() const { void AudioEffectDistortion::set_drive(float p_drive) { drive = p_drive; } + float AudioEffectDistortion::get_drive() const { return drive; } @@ -133,6 +136,7 @@ float AudioEffectDistortion::get_drive() const { void AudioEffectDistortion::set_post_gain(float p_post_gain) { post_gain = p_post_gain; } + float AudioEffectDistortion::get_post_gain() const { return post_gain; } diff --git a/servers/audio/effects/audio_effect_eq.cpp b/servers/audio/effects/audio_effect_eq.cpp index e8d38f87a3..ed4e7122b5 100644 --- a/servers/audio/effects/audio_effect_eq.cpp +++ b/servers/audio/effects/audio_effect_eq.cpp @@ -84,6 +84,7 @@ float AudioEffectEQ::get_band_gain_db(int p_band) const { return gain[p_band]; } + int AudioEffectEQ::get_band_count() const { return gain.size(); } diff --git a/servers/audio/effects/audio_effect_filter.cpp b/servers/audio/effects/audio_effect_filter.cpp index 664b1785d4..cf6d0fa896 100644 --- a/servers/audio/effects/audio_effect_filter.cpp +++ b/servers/audio/effects/audio_effect_filter.cpp @@ -113,6 +113,7 @@ float AudioEffectFilter::get_cutoff() const { void AudioEffectFilter::set_resonance(float p_amount) { resonance = p_amount; } + float AudioEffectFilter::get_resonance() const { return resonance; } @@ -120,6 +121,7 @@ float AudioEffectFilter::get_resonance() const { void AudioEffectFilter::set_gain(float p_amount) { gain = p_amount; } + float AudioEffectFilter::get_gain() const { return gain; } diff --git a/servers/audio/effects/audio_effect_limiter.cpp b/servers/audio/effects/audio_effect_limiter.cpp index aab217cde9..27f1aaf71f 100644 --- a/servers/audio/effects/audio_effect_limiter.cpp +++ b/servers/audio/effects/audio_effect_limiter.cpp @@ -86,6 +86,7 @@ float AudioEffectLimiter::get_threshold_db() const { void AudioEffectLimiter::set_ceiling_db(float p_ceiling) { ceiling = p_ceiling; } + float AudioEffectLimiter::get_ceiling_db() const { return ceiling; } @@ -93,6 +94,7 @@ float AudioEffectLimiter::get_ceiling_db() const { void AudioEffectLimiter::set_soft_clip_db(float p_soft_clip) { soft_clip = p_soft_clip; } + float AudioEffectLimiter::get_soft_clip_db() const { return soft_clip; } @@ -100,6 +102,7 @@ float AudioEffectLimiter::get_soft_clip_db() const { void AudioEffectLimiter::set_soft_clip_ratio(float p_soft_clip) { soft_clip_ratio = p_soft_clip; } + float AudioEffectLimiter::get_soft_clip_ratio() const { return soft_clip_ratio; } diff --git a/servers/audio/effects/audio_effect_phaser.cpp b/servers/audio/effects/audio_effect_phaser.cpp index 0d3d2f74a5..ffeaa7d25e 100644 --- a/servers/audio/effects/audio_effect_phaser.cpp +++ b/servers/audio/effects/audio_effect_phaser.cpp @@ -99,6 +99,7 @@ float AudioEffectPhaser::get_range_min_hz() const { void AudioEffectPhaser::set_range_max_hz(float p_hz) { range_max = p_hz; } + float AudioEffectPhaser::get_range_max_hz() const { return range_max; } @@ -106,6 +107,7 @@ float AudioEffectPhaser::get_range_max_hz() const { void AudioEffectPhaser::set_rate_hz(float p_hz) { rate = p_hz; } + float AudioEffectPhaser::get_rate_hz() const { return rate; } @@ -113,6 +115,7 @@ float AudioEffectPhaser::get_rate_hz() const { void AudioEffectPhaser::set_feedback(float p_fbk) { feedback = p_fbk; } + float AudioEffectPhaser::get_feedback() const { return feedback; } diff --git a/servers/audio/effects/audio_effect_pitch_shift.cpp b/servers/audio/effects/audio_effect_pitch_shift.cpp index 24d5d72f37..a8f25ac325 100644 --- a/servers/audio/effects/audio_effect_pitch_shift.cpp +++ b/servers/audio/effects/audio_effect_pitch_shift.cpp @@ -225,6 +225,7 @@ void SMBPitchShift::PitchShift(float pitchShift, long numSampsToProcess, long ff } + void SMBPitchShift::smbFft(float *fftBuffer, long fftFrameSize, long sign) /* FFT routine, (C)1996 S.M.Bernsee. Sign = -1 is FFT, 1 is iFFT (inverse) @@ -280,6 +281,7 @@ void SMBPitchShift::smbFft(float *fftBuffer, long fftFrameSize, long sign) } } + /* Godot code again */ /* clang-format on */ diff --git a/servers/audio/effects/audio_effect_reverb.cpp b/servers/audio/effects/audio_effect_reverb.cpp index 3169e48d15..f6465abfaf 100644 --- a/servers/audio/effects/audio_effect_reverb.cpp +++ b/servers/audio/effects/audio_effect_reverb.cpp @@ -93,12 +93,15 @@ void AudioEffectReverb::set_predelay_msec(float p_msec) { void AudioEffectReverb::set_predelay_feedback(float p_feedback) { predelay_fb = CLAMP(p_feedback, 0, 0.98); } + void AudioEffectReverb::set_room_size(float p_size) { room_size = p_size; } + void AudioEffectReverb::set_damping(float p_damping) { damping = p_damping; } + void AudioEffectReverb::set_spread(float p_spread) { spread = p_spread; } @@ -106,9 +109,11 @@ void AudioEffectReverb::set_spread(float p_spread) { void AudioEffectReverb::set_dry(float p_dry) { dry = p_dry; } + void AudioEffectReverb::set_wet(float p_wet) { wet = p_wet; } + void AudioEffectReverb::set_hpf(float p_hpf) { hpf = p_hpf; } @@ -116,24 +121,31 @@ void AudioEffectReverb::set_hpf(float p_hpf) { float AudioEffectReverb::get_predelay_msec() const { return predelay; } + float AudioEffectReverb::get_predelay_feedback() const { return predelay_fb; } + float AudioEffectReverb::get_room_size() const { return room_size; } + float AudioEffectReverb::get_damping() const { return damping; } + float AudioEffectReverb::get_spread() const { return spread; } + float AudioEffectReverb::get_dry() const { return dry; } + float AudioEffectReverb::get_wet() const { return wet; } + float AudioEffectReverb::get_hpf() const { return hpf; } diff --git a/servers/audio/effects/audio_effect_spectrum_analyzer.cpp b/servers/audio/effects/audio_effect_spectrum_analyzer.cpp index 69337a49c8..a3fd11c6c0 100644 --- a/servers/audio/effects/audio_effect_spectrum_analyzer.cpp +++ b/servers/audio/effects/audio_effect_spectrum_analyzer.cpp @@ -96,6 +96,7 @@ static void smbFft(float *fftBuffer, long fftFrameSize, long sign) } } } + void AudioEffectSpectrumAnalyzerInstance::process(const AudioFrame *p_src_frames, AudioFrame *p_dst_frames, int p_frame_count) { uint64_t time = OS::get_singleton()->get_ticks_usec(); diff --git a/servers/audio/effects/audio_effect_stereo_enhance.cpp b/servers/audio/effects/audio_effect_stereo_enhance.cpp index 6593e712a8..4f9bee83e4 100644 --- a/servers/audio/effects/audio_effect_stereo_enhance.cpp +++ b/servers/audio/effects/audio_effect_stereo_enhance.cpp @@ -113,6 +113,7 @@ float AudioEffectStereoEnhance::get_pan_pullout() const { void AudioEffectStereoEnhance::set_time_pullout(float p_amount) { time_pullout = p_amount; } + float AudioEffectStereoEnhance::get_time_pullout() const { return time_pullout; } @@ -120,6 +121,7 @@ float AudioEffectStereoEnhance::get_time_pullout() const { void AudioEffectStereoEnhance::set_surround(float p_amount) { surround = p_amount; } + float AudioEffectStereoEnhance::get_surround() const { return surround; } diff --git a/servers/audio/effects/audio_stream_generator.cpp b/servers/audio/effects/audio_stream_generator.cpp index e2f21ec6d2..aba04550db 100644 --- a/servers/audio/effects/audio_stream_generator.cpp +++ b/servers/audio/effects/audio_stream_generator.cpp @@ -41,6 +41,7 @@ float AudioStreamGenerator::get_mix_rate() const { void AudioStreamGenerator::set_buffer_length(float p_seconds) { buffer_len = p_seconds; } + float AudioStreamGenerator::get_buffer_length() const { return buffer_len; } @@ -54,6 +55,7 @@ Ref<AudioStreamPlayback> AudioStreamGenerator::instance_playback() { playback->buffer.clear(); return playback; } + String AudioStreamGenerator::get_stream_name() const { return "UserFeed"; } @@ -94,6 +96,7 @@ bool AudioStreamGeneratorPlayback::push_frame(const Vector2 &p_frame) { bool AudioStreamGeneratorPlayback::can_push_buffer(int p_frames) const { return buffer.space_left() >= p_frames; } + bool AudioStreamGeneratorPlayback::push_buffer(const PackedVector2Array &p_frames) { int to_write = p_frames.size(); if (buffer.space_left() < to_write) { @@ -154,6 +157,7 @@ void AudioStreamGeneratorPlayback::_mix_internal(AudioFrame *p_buffer, int p_fra mixed += p_frames / generator->get_mix_rate(); } + float AudioStreamGeneratorPlayback::get_stream_sampling_rate() { return generator->get_mix_rate(); } @@ -170,6 +174,7 @@ void AudioStreamGeneratorPlayback::start(float p_from_pos) { void AudioStreamGeneratorPlayback::stop() { active = false; } + bool AudioStreamGeneratorPlayback::is_playing() const { return active; //always playing, can't be stopped } @@ -181,6 +186,7 @@ int AudioStreamGeneratorPlayback::get_loop_count() const { float AudioStreamGeneratorPlayback::get_playback_position() const { return mixed; } + void AudioStreamGeneratorPlayback::seek(float p_time) { //no seek possible } diff --git a/servers/audio/effects/eq.cpp b/servers/audio/effects/eq.cpp index bbcf31d5a9..59b3ba2d0b 100644 --- a/servers/audio/effects/eq.cpp +++ b/servers/audio/effects/eq.cpp @@ -160,10 +160,12 @@ void EQ::set_preset_band_mode(Preset p_preset) { int EQ::get_band_count() const { return band.size(); } + float EQ::get_band_frequency(int p_band) { ERR_FAIL_INDEX_V(p_band, band.size(), 0); return band[p_band].freq; } + void EQ::set_bands(const Vector<float> &p_bands) { band.resize(p_bands.size()); for (int i = 0; i < p_bands.size(); i++) { diff --git a/servers/audio/effects/reverb.cpp b/servers/audio/effects/reverb.cpp index 6cfba28b05..99f60557e1 100644 --- a/servers/audio/effects/reverb.cpp +++ b/servers/audio/effects/reverb.cpp @@ -177,10 +177,12 @@ void Reverb::set_room_size(float p_size) { params.room_size = p_size; update_parameters(); } + void Reverb::set_damp(float p_damp) { params.damp = p_damp; update_parameters(); } + void Reverb::set_wet(float p_wet) { params.wet = p_wet; } @@ -192,6 +194,7 @@ void Reverb::set_dry(float p_dry) { void Reverb::set_predelay(float p_predelay) { params.predelay = p_predelay; } + void Reverb::set_predelay_feedback(float p_predelay_fb) { params.predelay_fb = p_predelay_fb; } diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp index ff5439b596..edccd7507c 100644 --- a/servers/audio_server.cpp +++ b/servers/audio_server.cpp @@ -676,6 +676,7 @@ void AudioServer::set_bus_name(int p_bus, const String &p_name) { emit_signal("bus_layout_changed"); } + String AudioServer::get_bus_name(int p_bus) const { ERR_FAIL_INDEX_V(p_bus, buses.size(), String()); return buses[p_bus]->name; @@ -697,6 +698,7 @@ void AudioServer::set_bus_volume_db(int p_bus, float p_volume_db) { buses[p_bus]->volume_db = p_volume_db; } + float AudioServer::get_bus_volume_db(int p_bus) const { ERR_FAIL_INDEX_V(p_bus, buses.size(), 0); return buses[p_bus]->volume_db; @@ -741,6 +743,7 @@ void AudioServer::set_bus_mute(int p_bus, bool p_enable) { buses[p_bus]->mute = p_enable; } + bool AudioServer::is_bus_mute(int p_bus) const { ERR_FAIL_INDEX_V(p_bus, buses.size(), false); @@ -754,6 +757,7 @@ void AudioServer::set_bus_bypass_effects(int p_bus, bool p_enable) { buses[p_bus]->bypass = p_enable; } + bool AudioServer::is_bus_bypassing_effects(int p_bus) const { ERR_FAIL_INDEX_V(p_bus, buses.size(), false); @@ -855,6 +859,7 @@ void AudioServer::set_bus_effect_enabled(int p_bus, int p_effect, bool p_enabled buses.write[p_bus]->effects.write[p_effect].enabled = p_enabled; } + bool AudioServer::is_bus_effect_enabled(int p_bus, int p_effect) const { ERR_FAIL_INDEX_V(p_bus, buses.size(), false); ERR_FAIL_INDEX_V(p_effect, buses[p_bus]->effects.size(), false); @@ -867,6 +872,7 @@ float AudioServer::get_bus_peak_volume_left_db(int p_bus, int p_channel) const { return buses[p_bus]->channels[p_channel].peak_volume.l; } + float AudioServer::get_bus_peak_volume_right_db(int p_bus, int p_channel) const { ERR_FAIL_INDEX_V(p_bus, buses.size(), 0); ERR_FAIL_INDEX_V(p_channel, buses[p_bus]->channels.size(), 0); @@ -884,6 +890,7 @@ bool AudioServer::is_bus_channel_active(int p_bus, int p_channel) const { void AudioServer::set_global_rate_scale(float p_scale) { global_rate_scale = p_scale; } + float AudioServer::get_global_rate_scale() const { return global_rate_scale; } @@ -1020,6 +1027,7 @@ void AudioServer::finish() { void AudioServer::lock() { AudioDriver::get_singleton()->lock(); } + void AudioServer::unlock() { AudioDriver::get_singleton()->unlock(); } @@ -1027,6 +1035,7 @@ void AudioServer::unlock() { AudioServer::SpeakerMode AudioServer::get_speaker_mode() const { return (AudioServer::SpeakerMode)AudioDriver::get_singleton()->get_speaker_mode(); } + float AudioServer::get_mix_rate() const { return AudioDriver::get_singleton()->get_mix_rate(); } @@ -1385,6 +1394,7 @@ bool AudioBusLayout::_get(const StringName &p_name, Variant &r_ret) const { return false; } + void AudioBusLayout::_get_property_list(List<PropertyInfo> *p_list) const { for (int i = 0; i < buses.size(); i++) { p_list->push_back(PropertyInfo(Variant::STRING, "bus/" + itos(i) + "/name", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL)); diff --git a/servers/display_server.cpp b/servers/display_server.cpp index 3561be2c35..ffb05588cc 100644 --- a/servers/display_server.cpp +++ b/servers/display_server.cpp @@ -127,6 +127,7 @@ void DisplayServer::global_menu_clear(const String &p_menu_root) { void DisplayServer::mouse_set_mode(MouseMode p_mode) { WARN_PRINT("Mouse is not supported by this display server."); } + DisplayServer::MouseMode DisplayServer::mouse_get_mode() const { return MOUSE_MODE_VISIBLE; } @@ -134,12 +135,15 @@ DisplayServer::MouseMode DisplayServer::mouse_get_mode() const { void DisplayServer::mouse_warp_to_position(const Point2i &p_to) { WARN_PRINT("Mouse warping is not supported by this display server."); } + Point2i DisplayServer::mouse_get_absolute_position() const { ERR_FAIL_V_MSG(Point2i(), "Mouse is not supported by this display server."); } + Point2i DisplayServer::mouse_get_position() const { ERR_FAIL_V_MSG(Point2i(), "Mouse is not supported by this display server."); } + int DisplayServer::mouse_get_button_state() const { ERR_FAIL_V_MSG(0, "Mouse is not supported by this display server."); } @@ -147,6 +151,7 @@ int DisplayServer::mouse_get_button_state() const { void DisplayServer::clipboard_set(const String &p_text) { WARN_PRINT("Clipboard is not supported by this display server."); } + String DisplayServer::clipboard_get() const { ERR_FAIL_V_MSG(String(), "Clipboard is not supported by this display server."); } @@ -154,6 +159,7 @@ String DisplayServer::clipboard_get() const { void DisplayServer::screen_set_orientation(ScreenOrientation p_orientation, int p_screen) { WARN_PRINT("Orientation not supported by this display server."); } + DisplayServer::ScreenOrientation DisplayServer::screen_get_orientation(int p_screen) const { return SCREEN_LANDSCAPE; } @@ -170,6 +176,7 @@ bool DisplayServer::screen_is_touchscreen(int p_screen) const { void DisplayServer::screen_set_keep_on(bool p_enable) { WARN_PRINT("Keeping screen on not supported by this display server."); } + bool DisplayServer::screen_is_kept_on() const { return false; } @@ -177,6 +184,7 @@ bool DisplayServer::screen_is_kept_on() const { DisplayServer::WindowID DisplayServer::create_sub_window(WindowMode p_mode, uint32_t p_flags, const Rect2i &) { ERR_FAIL_V_MSG(INVALID_WINDOW_ID, "Sub-windows not supported by this display server."); } + void DisplayServer::delete_sub_window(WindowID p_id) { ERR_FAIL_MSG("Sub-windows not supported by this display server."); } @@ -184,6 +192,7 @@ void DisplayServer::delete_sub_window(WindowID p_id) { void DisplayServer::window_set_ime_active(const bool p_active, WindowID p_window) { WARN_PRINT("IME not supported by this display server."); } + void DisplayServer::window_set_ime_position(const Point2i &p_pos, WindowID p_window) { WARN_PRINT("IME not supported by this display server."); } @@ -191,6 +200,7 @@ void DisplayServer::window_set_ime_position(const Point2i &p_pos, WindowID p_win Point2i DisplayServer::ime_get_selection() const { ERR_FAIL_V_MSG(Point2i(), "IME or NOTIFICATION_WM_IME_UPDATE not supported by this display server."); } + String DisplayServer::ime_get_text() const { ERR_FAIL_V_MSG(String(), "IME or NOTIFICATION_WM_IME_UPDATEnot supported by this display server."); } @@ -198,6 +208,7 @@ String DisplayServer::ime_get_text() const { void DisplayServer::console_set_visible(bool p_enabled) { WARN_PRINT("Console window not supported by this display server."); } + bool DisplayServer::is_console_visible() const { return false; } @@ -205,6 +216,7 @@ bool DisplayServer::is_console_visible() const { void DisplayServer::virtual_keyboard_show(const String &p_existing_text, const Rect2 &p_screen_rect, int p_max_legth) { WARN_PRINT("Virtual keyboard not supported by this display server."); } + void DisplayServer::virtual_keyboard_hide() { WARN_PRINT("Virtual keyboard not supported by this display server."); } @@ -217,9 +229,11 @@ int DisplayServer::virtual_keyboard_get_height() const { void DisplayServer::cursor_set_shape(CursorShape p_shape) { WARN_PRINT("Cursor shape not supported by this display server."); } + DisplayServer::CursorShape DisplayServer::cursor_get_shape() const { return CURSOR_ARROW; } + void DisplayServer::cursor_set_custom_image(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { WARN_PRINT("Custom cursor shape not supported by this display server."); } @@ -235,15 +249,19 @@ void DisplayServer::enable_for_stealing_focus(OS::ProcessID pid) { Error DisplayServer::native_video_play(String p_path, float p_volume, String p_audio_track, String p_subtitle_track, int p_screen) { ERR_FAIL_V_MSG(ERR_UNAVAILABLE, "Native video not supported by this display server."); } + bool DisplayServer::native_video_is_playing() const { return false; } + void DisplayServer::native_video_pause() { WARN_PRINT("Native video not supported by this display server."); } + void DisplayServer::native_video_unpause() { WARN_PRINT("Native video not supported by this display server."); } + void DisplayServer::native_video_stop() { WARN_PRINT("Native video not supported by this display server."); } @@ -252,6 +270,7 @@ Error DisplayServer::dialog_show(String p_title, String p_description, Vector<St WARN_PRINT("Native dialogs not supported by this display server."); return OK; } + Error DisplayServer::dialog_input_text(String p_title, String p_description, String p_partial, const Callable &p_callback) { WARN_PRINT("Native dialogs not supported by this display server."); return OK; @@ -267,9 +286,11 @@ void DisplayServer::force_process_and_drop_events() { void DisplayServer::release_rendering_thread() { WARN_PRINT("Rendering thread not supported by this display server."); } + void DisplayServer::make_rendering_thread() { WARN_PRINT("Rendering thread not supported by this display server."); } + void DisplayServer::swap_buffers() { WARN_PRINT("Swap buffers not supported by this display server."); } @@ -277,6 +298,7 @@ void DisplayServer::swap_buffers() { void DisplayServer::set_native_icon(const String &p_filename) { WARN_PRINT("Native icon not supported by this display server."); } + void DisplayServer::set_icon(const Ref<Image> &p_icon) { WARN_PRINT("Icon not supported by this display server."); } @@ -284,6 +306,7 @@ void DisplayServer::set_icon(const Ref<Image> &p_icon) { void DisplayServer::_set_use_vsync(bool p_enable) { WARN_PRINT("VSync not supported by this display server."); } + void DisplayServer::vsync_set_enabled(bool p_enable) { vsync_enabled = p_enable; if (switch_vsync_function) { //if a function was set, use function @@ -292,6 +315,7 @@ void DisplayServer::vsync_set_enabled(bool p_enable) { _set_use_vsync(p_enable); } } + bool DisplayServer::vsync_is_enabled() const { return vsync_enabled; } @@ -299,6 +323,7 @@ bool DisplayServer::vsync_is_enabled() const { void DisplayServer::vsync_set_use_via_compositor(bool p_enable) { WARN_PRINT("VSync via compositor not supported by this display server."); } + bool DisplayServer::vsync_is_using_via_compositor() const { return false; } @@ -565,6 +590,7 @@ DisplayServer *DisplayServer::create(int p_index, const String &p_rendering_driv void DisplayServer::_input_set_mouse_mode(Input::MouseMode p_mode) { singleton->mouse_set_mode(MouseMode(p_mode)); } + Input::MouseMode DisplayServer::_input_get_mouse_mode() { return Input::MouseMode(singleton->mouse_get_mode()); } @@ -576,6 +602,7 @@ void DisplayServer::_input_warp(const Vector2 &p_to_pos) { Input::CursorShape DisplayServer::_input_get_current_cursor_shape() { return (Input::CursorShape)singleton->cursor_get_shape(); } + void DisplayServer::_input_set_custom_mouse_cursor_func(const RES &p_image, Input::CursorShape p_shape, const Vector2 &p_hostspot) { singleton->cursor_set_custom_image(p_image, (CursorShape)p_shape, p_hostspot); } @@ -588,5 +615,6 @@ DisplayServer::DisplayServer() { Input::get_current_cursor_shape_func = _input_get_current_cursor_shape; Input::set_custom_mouse_cursor_func = _input_set_custom_mouse_cursor_func; } + DisplayServer::~DisplayServer() { } diff --git a/servers/navigation_server_2d.cpp b/servers/navigation_server_2d.cpp index 17f2232c72..b20f6865cd 100644 --- a/servers/navigation_server_2d.cpp +++ b/servers/navigation_server_2d.cpp @@ -83,21 +83,27 @@ NavigationServer2D *NavigationServer2D::singleton = nullptr; static RID rid_to_rid(const RID d) { return d; } + static bool bool_to_bool(const bool d) { return d; } + static int int_to_int(const int d) { return d; } + static real_t real_to_real(const real_t d) { return d; } + static Vector3 v2_to_v3(const Vector2 d) { return Vector3(d.x, 0.0, d.y); } + static Vector2 v3_to_v2(const Vector3 &d) { return Vector2(d.x, d.z); } + static Vector<Vector2> vector_v3_to_v2(const Vector<Vector3> &d) { Vector<Vector2> nd; nd.resize(d.size()); @@ -106,21 +112,26 @@ static Vector<Vector2> vector_v3_to_v2(const Vector<Vector3> &d) { } return nd; } + static Transform trf2_to_trf3(const Transform2D &d) { Vector3 o(v2_to_v3(d.get_origin())); Basis b; b.rotate(Vector3(0, 1, 0), d.get_rotation()); return Transform(b, o); } + static Object *obj_to_obj(Object *d) { return d; } + static StringName sn_to_sn(StringName &d) { return d; } + static Variant var_to_var(Variant &d) { return d; } + static Ref<NavigationMesh> poly_to_mesh(Ref<NavigationPolygon> d) { if (d.is_valid()) { return d->get_mesh(); diff --git a/servers/physics_2d/area_2d_sw.cpp b/servers/physics_2d/area_2d_sw.cpp index b566e75851..db2ae36067 100644 --- a/servers/physics_2d/area_2d_sw.cpp +++ b/servers/physics_2d/area_2d_sw.cpp @@ -38,6 +38,7 @@ Area2DSW::BodyKey::BodyKey(Body2DSW *p_body, uint32_t p_body_shape, uint32_t p_a body_shape = p_body_shape; area_shape = p_area_shape; } + Area2DSW::BodyKey::BodyKey(Area2DSW *p_body, uint32_t p_body_shape, uint32_t p_area_shape) { rid = p_body->get_self(); instance_id = p_body->get_instance_id(); diff --git a/servers/physics_2d/area_2d_sw.h b/servers/physics_2d/area_2d_sw.h index 4910167952..8deeb82174 100644 --- a/servers/physics_2d/area_2d_sw.h +++ b/servers/physics_2d/area_2d_sw.h @@ -169,6 +169,7 @@ void Area2DSW::add_body_to_query(Body2DSW *p_body, uint32_t p_body_shape, uint32 if (!monitor_query_list.in_list()) _queue_monitor_update(); } + void Area2DSW::remove_body_from_query(Body2DSW *p_body, uint32_t p_body_shape, uint32_t p_area_shape) { BodyKey bk(p_body, p_body_shape, p_area_shape); monitored_bodies[bk].dec(); @@ -182,6 +183,7 @@ void Area2DSW::add_area_to_query(Area2DSW *p_area, uint32_t p_area_shape, uint32 if (!monitor_query_list.in_list()) _queue_monitor_update(); } + void Area2DSW::remove_area_from_query(Area2DSW *p_area, uint32_t p_area_shape, uint32_t p_self_shape) { BodyKey bk(p_area, p_area_shape, p_self_shape); monitored_areas[bk].dec(); diff --git a/servers/physics_2d/body_2d_sw.cpp b/servers/physics_2d/body_2d_sw.cpp index 12c7a49288..498972f538 100644 --- a/servers/physics_2d/body_2d_sw.cpp +++ b/servers/physics_2d/body_2d_sw.cpp @@ -235,6 +235,7 @@ void Body2DSW::set_mode(PhysicsServer2D::BodyMode p_mode) { _update_queries(); */ } + PhysicsServer2D::BodyMode Body2DSW::get_mode() const { return mode; } @@ -314,6 +315,7 @@ void Body2DSW::set_state(PhysicsServer2D::BodyState p_state, const Variant &p_va } break; } } + Variant Body2DSW::get_state(PhysicsServer2D::BodyState p_state) const { switch (p_state) { case PhysicsServer2D::BODY_STATE_TRANSFORM: { diff --git a/servers/physics_2d/broad_phase_2d_basic.cpp b/servers/physics_2d/broad_phase_2d_basic.cpp index 9f4960c4f6..a6bcae11e9 100644 --- a/servers/physics_2d/broad_phase_2d_basic.cpp +++ b/servers/physics_2d/broad_phase_2d_basic.cpp @@ -47,11 +47,13 @@ void BroadPhase2DBasic::move(ID p_id, const Rect2 &p_aabb) { ERR_FAIL_COND(!E); E->get().aabb = p_aabb; } + void BroadPhase2DBasic::set_static(ID p_id, bool p_static) { Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND(!E); E->get()._static = p_static; } + void BroadPhase2DBasic::remove(ID p_id) { Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND(!E); @@ -63,11 +65,13 @@ CollisionObject2DSW *BroadPhase2DBasic::get_object(ID p_id) const { ERR_FAIL_COND_V(!E, nullptr); return E->get().owner; } + bool BroadPhase2DBasic::is_static(ID p_id) const { const Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND_V(!E, false); return E->get()._static; } + int BroadPhase2DBasic::get_subindex(ID p_id) const { const Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND_V(!E, -1); @@ -90,6 +94,7 @@ int BroadPhase2DBasic::cull_segment(const Vector2 &p_from, const Vector2 &p_to, return rc; } + int BroadPhase2DBasic::cull_aabb(const Rect2 &p_aabb, CollisionObject2DSW **p_results, int p_max_results, int *p_result_indices) { int rc = 0; @@ -111,6 +116,7 @@ void BroadPhase2DBasic::set_pair_callback(PairCallback p_pair_callback, void *p_ pair_userdata = p_userdata; pair_callback = p_pair_callback; } + void BroadPhase2DBasic::set_unpair_callback(UnpairCallback p_unpair_callback, void *p_userdata) { unpair_userdata = p_userdata; unpair_callback = p_unpair_callback; diff --git a/servers/physics_2d/broad_phase_2d_hash_grid.cpp b/servers/physics_2d/broad_phase_2d_hash_grid.cpp index b78dcf2866..e3a841366e 100644 --- a/servers/physics_2d/broad_phase_2d_hash_grid.cpp +++ b/servers/physics_2d/broad_phase_2d_hash_grid.cpp @@ -321,6 +321,7 @@ void BroadPhase2DHashGrid::move(ID p_id, const Rect2 &p_aabb) { e.aabb = p_aabb; } + void BroadPhase2DHashGrid::set_static(ID p_id, bool p_static) { Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND(!E); @@ -340,6 +341,7 @@ void BroadPhase2DHashGrid::set_static(ID p_id, bool p_static) { _check_motion(&e); } } + void BroadPhase2DHashGrid::remove(ID p_id) { Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND(!E); @@ -357,11 +359,13 @@ CollisionObject2DSW *BroadPhase2DHashGrid::get_object(ID p_id) const { ERR_FAIL_COND_V(!E, nullptr); return E->get().owner; } + bool BroadPhase2DHashGrid::is_static(ID p_id) const { const Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND_V(!E, false); return E->get()._static; } + int BroadPhase2DHashGrid::get_subindex(ID p_id) const { const Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND_V(!E, -1); @@ -560,6 +564,7 @@ void BroadPhase2DHashGrid::set_pair_callback(PairCallback p_pair_callback, void pair_callback = p_pair_callback; pair_userdata = p_userdata; } + void BroadPhase2DHashGrid::set_unpair_callback(UnpairCallback p_unpair_callback, void *p_userdata) { unpair_callback = p_unpair_callback; unpair_userdata = p_userdata; diff --git a/servers/physics_2d/physics_server_2d_sw.cpp b/servers/physics_2d/physics_server_2d_sw.cpp index 645ee5ff45..a35283d76d 100644 --- a/servers/physics_2d/physics_server_2d_sw.cpp +++ b/servers/physics_2d/physics_server_2d_sw.cpp @@ -86,15 +86,19 @@ RID PhysicsServer2DSW::line_shape_create() { RID PhysicsServer2DSW::ray_shape_create() { return _shape_create(SHAPE_RAY); } + RID PhysicsServer2DSW::segment_shape_create() { return _shape_create(SHAPE_SEGMENT); } + RID PhysicsServer2DSW::circle_shape_create() { return _shape_create(SHAPE_CIRCLE); } + RID PhysicsServer2DSW::rectangle_shape_create() { return _shape_create(SHAPE_RECTANGLE); } + RID PhysicsServer2DSW::capsule_shape_create() { return _shape_create(SHAPE_CAPSULE); } @@ -102,6 +106,7 @@ RID PhysicsServer2DSW::capsule_shape_create() { RID PhysicsServer2DSW::convex_polygon_shape_create() { return _shape_create(SHAPE_CONVEX_POLYGON); } + RID PhysicsServer2DSW::concave_polygon_shape_create() { return _shape_create(SHAPE_CONCAVE_POLYGON); } @@ -349,6 +354,7 @@ void PhysicsServer2DSW::area_set_shape(RID p_area, int p_shape_idx, RID p_shape) area->set_shape(p_shape_idx, shape); } + void PhysicsServer2DSW::area_set_shape_transform(RID p_area, int p_shape_idx, const Transform2D &p_transform) { Area2DSW *area = area_owner.getornull(p_area); ERR_FAIL_COND(!area); @@ -371,6 +377,7 @@ int PhysicsServer2DSW::area_get_shape_count(RID p_area) const { return area->get_shape_count(); } + RID PhysicsServer2DSW::area_get_shape(RID p_area, int p_shape_idx) const { Area2DSW *area = area_owner.getornull(p_area); ERR_FAIL_COND_V(!area, RID()); @@ -380,6 +387,7 @@ RID PhysicsServer2DSW::area_get_shape(RID p_area, int p_shape_idx) const { return shape->get_self(); } + Transform2D PhysicsServer2DSW::area_get_shape_transform(RID p_area, int p_shape_idx) const { Area2DSW *area = area_owner.getornull(p_area); ERR_FAIL_COND_V(!area, Transform2D()); @@ -411,6 +419,7 @@ void PhysicsServer2DSW::area_attach_object_instance_id(RID p_area, ObjectID p_id ERR_FAIL_COND(!area); area->set_instance_id(p_id); } + ObjectID PhysicsServer2DSW::area_get_object_instance_id(RID p_area) const { if (space_owner.owns(p_area)) { Space2DSW *space = space_owner.getornull(p_area); @@ -430,6 +439,7 @@ void PhysicsServer2DSW::area_attach_canvas_instance_id(RID p_area, ObjectID p_id ERR_FAIL_COND(!area); area->set_canvas_instance_id(p_id); } + ObjectID PhysicsServer2DSW::area_get_canvas_instance_id(RID p_area) const { if (space_owner.owns(p_area)) { Space2DSW *space = space_owner.getornull(p_area); @@ -586,6 +596,7 @@ void PhysicsServer2DSW::body_set_shape(RID p_body, int p_shape_idx, RID p_shape) body->set_shape(p_shape_idx, shape); } + void PhysicsServer2DSW::body_set_shape_transform(RID p_body, int p_shape_idx, const Transform2D &p_transform) { Body2DSW *body = body_owner.getornull(p_body); ERR_FAIL_COND(!body); @@ -611,6 +622,7 @@ int PhysicsServer2DSW::body_get_shape_count(RID p_body) const { return body->get_shape_count(); } + RID PhysicsServer2DSW::body_get_shape(RID p_body, int p_shape_idx) const { Body2DSW *body = body_owner.getornull(p_body); ERR_FAIL_COND_V(!body, RID()); @@ -620,6 +632,7 @@ RID PhysicsServer2DSW::body_get_shape(RID p_body, int p_shape_idx) const { return shape->get_self(); } + Transform2D PhysicsServer2DSW::body_get_shape_transform(RID p_body, int p_shape_idx) const { Body2DSW *body = body_owner.getornull(p_body); ERR_FAIL_COND_V(!body, Transform2D()); @@ -650,6 +663,7 @@ void PhysicsServer2DSW::body_set_shape_disabled(RID p_body, int p_shape_idx, boo body->set_shape_as_disabled(p_shape_idx, p_disabled); } + void PhysicsServer2DSW::body_set_shape_as_one_way_collision(RID p_body, int p_shape_idx, bool p_enable, float p_margin) { Body2DSW *body = body_owner.getornull(p_body); ERR_FAIL_COND(!body); diff --git a/servers/physics_2d/shape_2d_sw.cpp b/servers/physics_2d/shape_2d_sw.cpp index 4976e3ede4..1fb53cf065 100644 --- a/servers/physics_2d/shape_2d_sw.cpp +++ b/servers/physics_2d/shape_2d_sw.cpp @@ -882,6 +882,7 @@ void ConcavePolygonShape2DSW::set_data(const Variant &p_data) { configure(aabb); } + Variant ConcavePolygonShape2DSW::get_data() const { Vector<Vector2> rsegments; int len = segments.size(); diff --git a/servers/physics_2d/space_2d_sw.cpp b/servers/physics_2d/space_2d_sw.cpp index 5fcb31221f..97bbc0f8f2 100644 --- a/servers/physics_2d/space_2d_sw.cpp +++ b/servers/physics_2d/space_2d_sw.cpp @@ -1107,9 +1107,11 @@ void Space2DSW::_broadphase_unpair(CollisionObject2DSW *A, int p_subindex_A, Col const SelfList<Body2DSW>::List &Space2DSW::get_active_body_list() const { return active_list; } + void Space2DSW::body_add_to_active_list(SelfList<Body2DSW> *p_body) { active_list.add(p_body); } + void Space2DSW::body_remove_from_active_list(SelfList<Body2DSW> *p_body) { active_list.remove(p_body); } @@ -1143,6 +1145,7 @@ const Set<CollisionObject2DSW *> &Space2DSW::get_objects() const { void Space2DSW::body_add_to_state_query_list(SelfList<Body2DSW> *p_body) { state_query_list.add(p_body); } + void Space2DSW::body_remove_from_state_query_list(SelfList<Body2DSW> *p_body) { state_query_list.remove(p_body); } @@ -1150,6 +1153,7 @@ void Space2DSW::body_remove_from_state_query_list(SelfList<Body2DSW> *p_body) { void Space2DSW::area_add_to_monitor_query_list(SelfList<Area2DSW> *p_area) { monitor_query_list.add(p_area); } + void Space2DSW::area_remove_from_monitor_query_list(SelfList<Area2DSW> *p_area) { monitor_query_list.remove(p_area); } diff --git a/servers/physics_3d/area_3d_sw.cpp b/servers/physics_3d/area_3d_sw.cpp index 59041cb5e0..de4399330d 100644 --- a/servers/physics_3d/area_3d_sw.cpp +++ b/servers/physics_3d/area_3d_sw.cpp @@ -38,6 +38,7 @@ Area3DSW::BodyKey::BodyKey(Body3DSW *p_body, uint32_t p_body_shape, uint32_t p_a body_shape = p_body_shape; area_shape = p_area_shape; } + Area3DSW::BodyKey::BodyKey(Area3DSW *p_body, uint32_t p_body_shape, uint32_t p_area_shape) { rid = p_body->get_self(); instance_id = p_body->get_instance_id(); diff --git a/servers/physics_3d/area_3d_sw.h b/servers/physics_3d/area_3d_sw.h index f64c84b5ab..d85a7fc509 100644 --- a/servers/physics_3d/area_3d_sw.h +++ b/servers/physics_3d/area_3d_sw.h @@ -170,6 +170,7 @@ void Area3DSW::add_body_to_query(Body3DSW *p_body, uint32_t p_body_shape, uint32 if (!monitor_query_list.in_list()) _queue_monitor_update(); } + void Area3DSW::remove_body_from_query(Body3DSW *p_body, uint32_t p_body_shape, uint32_t p_area_shape) { BodyKey bk(p_body, p_body_shape, p_area_shape); monitored_bodies[bk].dec(); @@ -183,6 +184,7 @@ void Area3DSW::add_area_to_query(Area3DSW *p_area, uint32_t p_area_shape, uint32 if (!monitor_query_list.in_list()) _queue_monitor_update(); } + void Area3DSW::remove_area_from_query(Area3DSW *p_area, uint32_t p_area_shape, uint32_t p_self_shape) { BodyKey bk(p_area, p_area_shape, p_self_shape); monitored_areas[bk].dec(); diff --git a/servers/physics_3d/body_3d_sw.cpp b/servers/physics_3d/body_3d_sw.cpp index c8a6a2303e..c01e55c4dd 100644 --- a/servers/physics_3d/body_3d_sw.cpp +++ b/servers/physics_3d/body_3d_sw.cpp @@ -254,6 +254,7 @@ void Body3DSW::set_mode(PhysicsServer3D::BodyMode p_mode) { _update_queries(); */ } + PhysicsServer3D::BodyMode Body3DSW::get_mode() const { return mode; } @@ -331,6 +332,7 @@ void Body3DSW::set_state(PhysicsServer3D::BodyState p_state, const Variant &p_va } break; } } + Variant Body3DSW::get_state(PhysicsServer3D::BodyState p_state) const { switch (p_state) { case PhysicsServer3D::BODY_STATE_TRANSFORM: { @@ -635,6 +637,7 @@ void BodySW::simulate_motion(const Transform& p_xform,real_t p_step) { } + */ void Body3DSW::wakeup_neighbours() { diff --git a/servers/physics_3d/broad_phase_3d_basic.cpp b/servers/physics_3d/broad_phase_3d_basic.cpp index 6a679a1040..68bf0da53e 100644 --- a/servers/physics_3d/broad_phase_3d_basic.cpp +++ b/servers/physics_3d/broad_phase_3d_basic.cpp @@ -51,11 +51,13 @@ void BroadPhase3DBasic::move(ID p_id, const AABB &p_aabb) { ERR_FAIL_COND(!E); E->get().aabb = p_aabb; } + void BroadPhase3DBasic::set_static(ID p_id, bool p_static) { Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND(!E); E->get()._static = p_static; } + void BroadPhase3DBasic::remove(ID p_id) { Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND(!E); @@ -83,11 +85,13 @@ CollisionObject3DSW *BroadPhase3DBasic::get_object(ID p_id) const { ERR_FAIL_COND_V(!E, nullptr); return E->get().owner; } + bool BroadPhase3DBasic::is_static(ID p_id) const { const Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND_V(!E, false); return E->get()._static; } + int BroadPhase3DBasic::get_subindex(ID p_id) const { const Map<ID, Element>::Element *E = element_map.find(p_id); ERR_FAIL_COND_V(!E, -1); @@ -127,6 +131,7 @@ int BroadPhase3DBasic::cull_segment(const Vector3 &p_from, const Vector3 &p_to, return rc; } + int BroadPhase3DBasic::cull_aabb(const AABB &p_aabb, CollisionObject3DSW **p_results, int p_max_results, int *p_result_indices) { int rc = 0; @@ -148,6 +153,7 @@ void BroadPhase3DBasic::set_pair_callback(PairCallback p_pair_callback, void *p_ pair_userdata = p_userdata; pair_callback = p_pair_callback; } + void BroadPhase3DBasic::set_unpair_callback(UnpairCallback p_unpair_callback, void *p_userdata) { unpair_userdata = p_userdata; unpair_callback = p_unpair_callback; diff --git a/servers/physics_3d/broad_phase_octree.cpp b/servers/physics_3d/broad_phase_octree.cpp index b81ce31ef3..ffa1802bc8 100644 --- a/servers/physics_3d/broad_phase_octree.cpp +++ b/servers/physics_3d/broad_phase_octree.cpp @@ -44,6 +44,7 @@ void BroadPhaseOctree::set_static(ID p_id, bool p_static) { CollisionObject3DSW *it = octree.get(p_id); octree.set_pairable(p_id, !p_static, 1 << it->get_type(), p_static ? 0 : 0xFFFFF); //pair everything, don't care 1? } + void BroadPhaseOctree::remove(ID p_id) { octree.erase(p_id); } @@ -53,9 +54,11 @@ CollisionObject3DSW *BroadPhaseOctree::get_object(ID p_id) const { ERR_FAIL_COND_V(!it, nullptr); return it; } + bool BroadPhaseOctree::is_static(ID p_id) const { return !octree.is_pairable(p_id); } + int BroadPhaseOctree::get_subindex(ID p_id) const { return octree.get_subindex(p_id); } @@ -92,6 +95,7 @@ void BroadPhaseOctree::set_pair_callback(PairCallback p_pair_callback, void *p_u pair_callback = p_pair_callback; pair_userdata = p_userdata; } + void BroadPhaseOctree::set_unpair_callback(UnpairCallback p_unpair_callback, void *p_userdata) { unpair_callback = p_unpair_callback; unpair_userdata = p_userdata; diff --git a/servers/physics_3d/collision_object_3d_sw.cpp b/servers/physics_3d/collision_object_3d_sw.cpp index f7e3b507ca..22a8235744 100644 --- a/servers/physics_3d/collision_object_3d_sw.cpp +++ b/servers/physics_3d/collision_object_3d_sw.cpp @@ -61,6 +61,7 @@ void CollisionObject3DSW::set_shape(int p_index, Shape3DSW *p_shape) { //_update_shapes(); //_shapes_changed(); } + void CollisionObject3DSW::set_shape_transform(int p_index, const Transform &p_transform) { ERR_FAIL_INDEX(p_index, shapes.size()); diff --git a/servers/physics_3d/gjk_epa.cpp b/servers/physics_3d/gjk_epa.cpp index a937ebc426..7f7fc0f55b 100644 --- a/servers/physics_3d/gjk_epa.cpp +++ b/servers/physics_3d/gjk_epa.cpp @@ -847,6 +847,7 @@ bool Distance( const Shape3DSW* shape0, } } + // bool Penetration( const Shape3DSW* shape0, const Transform& wtrs0, @@ -891,6 +892,7 @@ bool Penetration( const Shape3DSW* shape0, } + /* Symbols cleanup */ #undef GJK_MAX_ITERATIONS diff --git a/servers/physics_3d/joints/generic_6dof_joint_3d_sw.cpp b/servers/physics_3d/joints/generic_6dof_joint_3d_sw.cpp index 77e6eacb69..97310a5924 100644 --- a/servers/physics_3d/joints/generic_6dof_joint_3d_sw.cpp +++ b/servers/physics_3d/joints/generic_6dof_joint_3d_sw.cpp @@ -623,6 +623,7 @@ void Generic6DOFJoint3DSW::set_flag(Vector3::Axis p_axis, PhysicsServer3D::G6DOF break; // Can't happen, but silences warning } } + bool Generic6DOFJoint3DSW::get_flag(Vector3::Axis p_axis, PhysicsServer3D::G6DOFJointAxisFlag p_flag) const { ERR_FAIL_INDEX_V(p_axis, 3, 0); switch (p_flag) { diff --git a/servers/physics_3d/joints/hinge_joint_3d_sw.cpp b/servers/physics_3d/joints/hinge_joint_3d_sw.cpp index a77d78ccaa..a879b4ca7f 100644 --- a/servers/physics_3d/joints/hinge_joint_3d_sw.cpp +++ b/servers/physics_3d/joints/hinge_joint_3d_sw.cpp @@ -360,12 +360,14 @@ void HingeJoint3DSW::solve(real_t p_step) { } } } + /* void HingeJointSW::updateRHS(real_t timeStep) { (void)timeStep; } + */ static _FORCE_INLINE_ real_t atan2fast(real_t y, real_t x) { @@ -459,6 +461,7 @@ void HingeJoint3DSW::set_flag(PhysicsServer3D::HingeJointFlag p_flag, bool p_val break; // Can't happen, but silences warning } } + bool HingeJoint3DSW::get_flag(PhysicsServer3D::HingeJointFlag p_flag) const { switch (p_flag) { case PhysicsServer3D::HINGE_JOINT_FLAG_USE_LIMIT: diff --git a/servers/physics_3d/physics_server_3d_sw.cpp b/servers/physics_3d/physics_server_3d_sw.cpp index d2856829ed..d05001e636 100644 --- a/servers/physics_3d/physics_server_3d_sw.cpp +++ b/servers/physics_3d/physics_server_3d_sw.cpp @@ -278,6 +278,7 @@ int PhysicsServer3DSW::area_get_shape_count(RID p_area) const { return area->get_shape_count(); } + RID PhysicsServer3DSW::area_get_shape(RID p_area, int p_shape_idx) const { Area3DSW *area = area_owner.getornull(p_area); ERR_FAIL_COND_V(!area, RID()); @@ -287,6 +288,7 @@ RID PhysicsServer3DSW::area_get_shape(RID p_area, int p_shape_idx) const { return shape->get_self(); } + Transform PhysicsServer3DSW::area_get_shape_transform(RID p_area, int p_shape_idx) const { Area3DSW *area = area_owner.getornull(p_area); ERR_FAIL_COND_V(!area, Transform()); @@ -326,6 +328,7 @@ void PhysicsServer3DSW::area_attach_object_instance_id(RID p_area, ObjectID p_id ERR_FAIL_COND(!area); area->set_instance_id(p_id); } + ObjectID PhysicsServer3DSW::area_get_object_instance_id(RID p_area) const { if (space_owner.owns(p_area)) { Space3DSW *space = space_owner.getornull(p_area); @@ -494,6 +497,7 @@ void PhysicsServer3DSW::body_set_shape(RID p_body, int p_shape_idx, RID p_shape) body->set_shape(p_shape_idx, shape); } + void PhysicsServer3DSW::body_set_shape_transform(RID p_body, int p_shape_idx, const Transform &p_transform) { Body3DSW *body = body_owner.getornull(p_body); ERR_FAIL_COND(!body); @@ -507,6 +511,7 @@ int PhysicsServer3DSW::body_get_shape_count(RID p_body) const { return body->get_shape_count(); } + RID PhysicsServer3DSW::body_get_shape(RID p_body, int p_shape_idx) const { Body3DSW *body = body_owner.getornull(p_body); ERR_FAIL_COND_V(!body, RID()); @@ -909,6 +914,7 @@ void PhysicsServer3DSW::pin_joint_set_param(RID p_joint, PinJointParam p_param, PinJoint3DSW *pin_joint = static_cast<PinJoint3DSW *>(joint); pin_joint->set_param(p_param, p_value); } + real_t PhysicsServer3DSW::pin_joint_get_param(RID p_joint, PinJointParam p_param) const { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, 0); @@ -924,6 +930,7 @@ void PhysicsServer3DSW::pin_joint_set_local_a(RID p_joint, const Vector3 &p_A) { PinJoint3DSW *pin_joint = static_cast<PinJoint3DSW *>(joint); pin_joint->set_pos_a(p_A); } + Vector3 PhysicsServer3DSW::pin_joint_get_local_a(RID p_joint) const { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, Vector3()); @@ -939,6 +946,7 @@ void PhysicsServer3DSW::pin_joint_set_local_b(RID p_joint, const Vector3 &p_B) { PinJoint3DSW *pin_joint = static_cast<PinJoint3DSW *>(joint); pin_joint->set_pos_b(p_B); } + Vector3 PhysicsServer3DSW::pin_joint_get_local_b(RID p_joint) const { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, Vector3()); @@ -994,6 +1002,7 @@ void PhysicsServer3DSW::hinge_joint_set_param(RID p_joint, HingeJointParam p_par HingeJoint3DSW *hinge_joint = static_cast<HingeJoint3DSW *>(joint); hinge_joint->set_param(p_param, p_value); } + real_t PhysicsServer3DSW::hinge_joint_get_param(RID p_joint, HingeJointParam p_param) const { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, 0); @@ -1009,6 +1018,7 @@ void PhysicsServer3DSW::hinge_joint_set_flag(RID p_joint, HingeJointFlag p_flag, HingeJoint3DSW *hinge_joint = static_cast<HingeJoint3DSW *>(joint); hinge_joint->set_flag(p_flag, p_value); } + bool PhysicsServer3DSW::hinge_joint_get_flag(RID p_joint, HingeJointFlag p_flag) const { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, false); @@ -1089,6 +1099,7 @@ void PhysicsServer3DSW::slider_joint_set_param(RID p_joint, SliderJointParam p_p SliderJoint3DSW *slider_joint = static_cast<SliderJoint3DSW *>(joint); slider_joint->set_param(p_param, p_value); } + real_t PhysicsServer3DSW::slider_joint_get_param(RID p_joint, SliderJointParam p_param) const { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, 0); @@ -1124,6 +1135,7 @@ void PhysicsServer3DSW::cone_twist_joint_set_param(RID p_joint, ConeTwistJointPa ConeTwistJoint3DSW *cone_twist_joint = static_cast<ConeTwistJoint3DSW *>(joint); cone_twist_joint->set_param(p_param, p_value); } + real_t PhysicsServer3DSW::cone_twist_joint_get_param(RID p_joint, ConeTwistJointParam p_param) const { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, 0); @@ -1159,6 +1171,7 @@ void PhysicsServer3DSW::generic_6dof_joint_set_param(RID p_joint, Vector3::Axis Generic6DOFJoint3DSW *generic_6dof_joint = static_cast<Generic6DOFJoint3DSW *>(joint); generic_6dof_joint->set_param(p_axis, p_param, p_value); } + real_t PhysicsServer3DSW::generic_6dof_joint_get_param(RID p_joint, Vector3::Axis p_axis, G6DOFJointAxisParam p_param) { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, 0); @@ -1174,6 +1187,7 @@ void PhysicsServer3DSW::generic_6dof_joint_set_flag(RID p_joint, Vector3::Axis p Generic6DOFJoint3DSW *generic_6dof_joint = static_cast<Generic6DOFJoint3DSW *>(joint); generic_6dof_joint->set_flag(p_axis, p_flag, p_enable); } + bool PhysicsServer3DSW::generic_6dof_joint_get_flag(RID p_joint, Vector3::Axis p_axis, G6DOFJointAxisFlag p_flag) { Joint3DSW *joint = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!joint, false); diff --git a/servers/physics_3d/shape_3d_sw.cpp b/servers/physics_3d/shape_3d_sw.cpp index 2c248a4d38..a44244f7d5 100644 --- a/servers/physics_3d/shape_3d_sw.cpp +++ b/servers/physics_3d/shape_3d_sw.cpp @@ -1380,12 +1380,15 @@ ConcavePolygonShape3DSW::ConcavePolygonShape3DSW() { Vector<real_t> HeightMapShape3DSW::get_heights() const { return heights; } + int HeightMapShape3DSW::get_width() const { return width; } + int HeightMapShape3DSW::get_depth() const { return depth; } + real_t HeightMapShape3DSW::get_cell_size() const { return cell_size; } diff --git a/servers/physics_3d/space_3d_sw.cpp b/servers/physics_3d/space_3d_sw.cpp index 9193e6cbdd..066945d808 100644 --- a/servers/physics_3d/space_3d_sw.cpp +++ b/servers/physics_3d/space_3d_sw.cpp @@ -386,6 +386,7 @@ static void _rest_cbk_result(const Vector3 &p_point_A, const Vector3 &p_point_B, rd->best_object = rd->object; rd->best_shape = rd->shape; } + bool PhysicsDirectSpaceState3DSW::rest_info(RID p_shape, const Transform &p_shape_xform, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) { Shape3DSW *shape = static_cast<PhysicsServer3DSW *>(PhysicsServer3D::get_singleton())->shape_owner.getornull(p_shape); ERR_FAIL_COND_V(!shape, 0); @@ -990,9 +991,11 @@ void Space3DSW::_broadphase_unpair(CollisionObject3DSW *A, int p_subindex_A, Col const SelfList<Body3DSW>::List &Space3DSW::get_active_body_list() const { return active_list; } + void Space3DSW::body_add_to_active_list(SelfList<Body3DSW> *p_body) { active_list.add(p_body); } + void Space3DSW::body_remove_from_active_list(SelfList<Body3DSW> *p_body) { active_list.remove(p_body); } @@ -1026,6 +1029,7 @@ const Set<CollisionObject3DSW *> &Space3DSW::get_objects() const { void Space3DSW::body_add_to_state_query_list(SelfList<Body3DSW> *p_body) { state_query_list.add(p_body); } + void Space3DSW::body_remove_from_state_query_list(SelfList<Body3DSW> *p_body) { state_query_list.remove(p_body); } @@ -1033,6 +1037,7 @@ void Space3DSW::body_remove_from_state_query_list(SelfList<Body3DSW> *p_body) { void Space3DSW::area_add_to_monitor_query_list(SelfList<Area3DSW> *p_area) { monitor_query_list.add(p_area); } + void Space3DSW::area_remove_from_monitor_query_list(SelfList<Area3DSW> *p_area) { monitor_query_list.remove(p_area); } diff --git a/servers/physics_server_2d.cpp b/servers/physics_server_2d.cpp index df38788b29..e3051c8fba 100644 --- a/servers/physics_server_2d.cpp +++ b/servers/physics_server_2d.cpp @@ -146,6 +146,7 @@ RID PhysicsShapeQueryParameters2D::get_shape_rid() const { void PhysicsShapeQueryParameters2D::set_transform(const Transform2D &p_transform) { transform = p_transform; } + Transform2D PhysicsShapeQueryParameters2D::get_transform() const { return transform; } @@ -153,6 +154,7 @@ Transform2D PhysicsShapeQueryParameters2D::get_transform() const { void PhysicsShapeQueryParameters2D::set_motion(const Vector2 &p_motion) { motion = p_motion; } + Vector2 PhysicsShapeQueryParameters2D::get_motion() const { return motion; } @@ -160,6 +162,7 @@ Vector2 PhysicsShapeQueryParameters2D::get_motion() const { void PhysicsShapeQueryParameters2D::set_margin(float p_margin) { margin = p_margin; } + float PhysicsShapeQueryParameters2D::get_margin() const { return margin; } @@ -167,6 +170,7 @@ float PhysicsShapeQueryParameters2D::get_margin() const { void PhysicsShapeQueryParameters2D::set_collision_mask(int p_collision_mask) { collision_mask = p_collision_mask; } + int PhysicsShapeQueryParameters2D::get_collision_mask() const { return collision_mask; } @@ -359,6 +363,7 @@ Array PhysicsDirectSpaceState2D::_collide_shape(const Ref<PhysicsShapeQueryParam r[i] = ret[i]; return r; } + Dictionary PhysicsDirectSpaceState2D::_get_rest_info(const Ref<PhysicsShapeQueryParameters2D> &p_shape_query) { ERR_FAIL_COND_V(!p_shape_query.is_valid(), Dictionary()); @@ -396,15 +401,19 @@ void PhysicsDirectSpaceState2D::_bind_methods() { int PhysicsShapeQueryResult2D::get_result_count() const { return result.size(); } + RID PhysicsShapeQueryResult2D::get_result_rid(int p_idx) const { return result[p_idx].rid; } + ObjectID PhysicsShapeQueryResult2D::get_result_object_id(int p_idx) const { return result[p_idx].collider_id; } + Object *PhysicsShapeQueryResult2D::get_result_object(int p_idx) const { return result[p_idx].collider; } + int PhysicsShapeQueryResult2D::get_result_object_shape(int p_idx) const { return result[p_idx].shape; } @@ -425,6 +434,7 @@ void PhysicsShapeQueryResult2D::_bind_methods() { Vector2 PhysicsTestMotionResult2D::get_motion() const { return result.motion; } + Vector2 PhysicsTestMotionResult2D::get_motion_remainder() const { return result.remainder; } @@ -432,15 +442,19 @@ Vector2 PhysicsTestMotionResult2D::get_motion_remainder() const { Vector2 PhysicsTestMotionResult2D::get_collision_point() const { return result.collision_point; } + Vector2 PhysicsTestMotionResult2D::get_collision_normal() const { return result.collision_normal; } + Vector2 PhysicsTestMotionResult2D::get_collider_velocity() const { return result.collider_velocity; } + ObjectID PhysicsTestMotionResult2D::get_collider_id() const { return result.collider_id; } + RID PhysicsTestMotionResult2D::get_collider_rid() const { return result.collider; } diff --git a/servers/physics_server_3d.cpp b/servers/physics_server_3d.cpp index 2625141142..c8f5ae985e 100644 --- a/servers/physics_server_3d.cpp +++ b/servers/physics_server_3d.cpp @@ -150,6 +150,7 @@ RID PhysicsShapeQueryParameters3D::get_shape_rid() const { void PhysicsShapeQueryParameters3D::set_transform(const Transform &p_transform) { transform = p_transform; } + Transform PhysicsShapeQueryParameters3D::get_transform() const { return transform; } @@ -165,6 +166,7 @@ float PhysicsShapeQueryParameters3D::get_margin() const { void PhysicsShapeQueryParameters3D::set_collision_mask(int p_collision_mask) { collision_mask = p_collision_mask; } + int PhysicsShapeQueryParameters3D::get_collision_mask() const { return collision_mask; } @@ -298,6 +300,7 @@ Array PhysicsDirectSpaceState3D::_cast_motion(const Ref<PhysicsShapeQueryParamet ret[1] = closest_unsafe; return ret; } + Array PhysicsDirectSpaceState3D::_collide_shape(const Ref<PhysicsShapeQueryParameters3D> &p_shape_query, int p_max_results) { ERR_FAIL_COND_V(!p_shape_query.is_valid(), Array()); @@ -313,6 +316,7 @@ Array PhysicsDirectSpaceState3D::_collide_shape(const Ref<PhysicsShapeQueryParam r[i] = ret[i]; return r; } + Dictionary PhysicsDirectSpaceState3D::_get_rest_info(const Ref<PhysicsShapeQueryParameters3D> &p_shape_query) { ERR_FAIL_COND_V(!p_shape_query.is_valid(), Dictionary()); @@ -347,15 +351,19 @@ void PhysicsDirectSpaceState3D::_bind_methods() { int PhysicsShapeQueryResult3D::get_result_count() const { return result.size(); } + RID PhysicsShapeQueryResult3D::get_result_rid(int p_idx) const { return result[p_idx].rid; } + ObjectID PhysicsShapeQueryResult3D::get_result_object_id(int p_idx) const { return result[p_idx].collider_id; } + Object *PhysicsShapeQueryResult3D::get_result_object(int p_idx) const { return result[p_idx].collider; } + int PhysicsShapeQueryResult3D::get_result_object_shape(int p_idx) const { return result[p_idx].shape; } diff --git a/servers/rendering/rasterizer.cpp b/servers/rendering/rasterizer.cpp index e7b5d81bf1..566a14b655 100644 --- a/servers/rendering/rasterizer.cpp +++ b/servers/rendering/rasterizer.cpp @@ -40,6 +40,7 @@ void RasterizerScene::InstanceDependency::instance_notify_changed(bool p_aabb, b E->key()->dependency_changed(p_aabb, p_dependencies); } } + void RasterizerScene::InstanceDependency::instance_notify_deleted(RID p_deleted) { for (Map<InstanceBase *, uint32_t>::Element *E = instances.front(); E; E = E->next()) { E->key()->dependency_deleted(p_deleted); diff --git a/servers/rendering/rasterizer_rd/light_cluster_builder.cpp b/servers/rendering/rasterizer_rd/light_cluster_builder.cpp index 260c0f3760..efb48e6df7 100644 --- a/servers/rendering/rasterizer_rd/light_cluster_builder.cpp +++ b/servers/rendering/rasterizer_rd/light_cluster_builder.cpp @@ -203,6 +203,7 @@ void LightClusterBuilder::setup(uint32_t p_width, uint32_t p_height, uint32_t p_ RID LightClusterBuilder::get_cluster_texture() const { return cluster_texture; } + RID LightClusterBuilder::get_cluster_indices_buffer() const { return items_buffer; } @@ -226,6 +227,7 @@ LightClusterBuilder::LightClusterBuilder() { items_buffer = RD::get_singleton()->storage_buffer_create(sizeof(uint32_t) * 1024); item_max = 1024; } + LightClusterBuilder::~LightClusterBuilder() { if (cluster_data.size()) { RD::get_singleton()->free(cluster_texture); diff --git a/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp index f328bab7d1..4c477ca5f4 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp @@ -1545,6 +1545,7 @@ void RasterizerCanvasRD::light_set_texture(RID p_rid, RID p_texture) { cl->texture = p_texture; } + void RasterizerCanvasRD::light_set_use_shadow(RID p_rid, bool p_enable, int p_resolution) { CanvasLight *cl = canvas_light_owner.getornull(p_rid); ERR_FAIL_COND(!cl); @@ -1758,6 +1759,7 @@ void RasterizerCanvasRD::occluder_polygon_set_shape_as_lines(RID p_occluder, con } } } + void RasterizerCanvasRD::occluder_polygon_set_cull_mode(RID p_occluder, RS::CanvasOccluderPolygonCullMode p_mode) { OccluderPolygon *oc = occluder_polygon_owner.getornull(p_occluder); ERR_FAIL_COND(!oc); @@ -1955,6 +1957,7 @@ void RasterizerCanvasRD::ShaderData::set_default_texture_param(const StringName default_texture_params[p_name] = p_texture; } } + void RasterizerCanvasRD::ShaderData::get_param_list(List<PropertyInfo> *p_param_list) const { Map<int, StringName> order; @@ -2002,9 +2005,11 @@ bool RasterizerCanvasRD::ShaderData::is_param_texture(const StringName &p_param) bool RasterizerCanvasRD::ShaderData::is_animated() const { return false; } + bool RasterizerCanvasRD::ShaderData::casts_shadows() const { return false; } + Variant RasterizerCanvasRD::ShaderData::get_default_parameter(const StringName &p_parameter) const { if (uniforms.has(p_parameter)) { ShaderLanguage::ShaderNode::Uniform uniform = uniforms[p_parameter]; @@ -2033,6 +2038,7 @@ RasterizerStorageRD::ShaderData *RasterizerCanvasRD::_create_shader_func() { ShaderData *shader_data = memnew(ShaderData); return shader_data; } + void RasterizerCanvasRD::MaterialData::update_parameters(const Map<StringName, Variant> &p_parameters, bool p_uniform_dirty, bool p_textures_dirty) { RasterizerCanvasRD *canvas_singleton = (RasterizerCanvasRD *)RasterizerCanvas::singleton; @@ -2134,6 +2140,7 @@ void RasterizerCanvasRD::MaterialData::update_parameters(const Map<StringName, V uniform_set = RD::get_singleton()->uniform_set_create(uniforms, canvas_singleton->shader.canvas_shader.version_get_shader(shader_data->version, 0), 1); } + RasterizerCanvasRD::MaterialData::~MaterialData() { if (uniform_set.is_valid() && RD::get_singleton()->uniform_set_is_valid(uniform_set)) { RD::get_singleton()->free(uniform_set); diff --git a/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp index 26d7090fbc..2b747cd04a 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp @@ -414,6 +414,7 @@ bool RasterizerSceneHighEndRD::ShaderData::is_animated() const { bool RasterizerSceneHighEndRD::ShaderData::casts_shadows() const { return false; } + Variant RasterizerSceneHighEndRD::ShaderData::get_default_parameter(const StringName &p_parameter) const { if (uniforms.has(p_parameter)) { ShaderLanguage::ShaderNode::Uniform uniform = uniforms[p_parameter]; diff --git a/servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp index 3ea89d643f..ac986fab58 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp @@ -1130,36 +1130,43 @@ void RasterizerSceneRD::environment_set_background(RID p_env, RS::EnvironmentBG ERR_FAIL_COND(!env); env->background = p_bg; } + void RasterizerSceneRD::environment_set_sky(RID p_env, RID p_sky) { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND(!env); env->sky = p_sky; } + void RasterizerSceneRD::environment_set_sky_custom_fov(RID p_env, float p_scale) { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND(!env); env->sky_custom_fov = p_scale; } + void RasterizerSceneRD::environment_set_sky_orientation(RID p_env, const Basis &p_orientation) { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND(!env); env->sky_orientation = p_orientation; } + void RasterizerSceneRD::environment_set_bg_color(RID p_env, const Color &p_color) { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND(!env); env->bg_color = p_color; } + void RasterizerSceneRD::environment_set_bg_energy(RID p_env, float p_energy) { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND(!env); env->bg_energy = p_energy; } + void RasterizerSceneRD::environment_set_canvas_max_layer(RID p_env, int p_max_layer) { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND(!env); env->canvas_max_layer = p_max_layer; } + void RasterizerSceneRD::environment_set_ambient_light(RID p_env, const Color &p_color, RS::EnvironmentAmbientSource p_ambient, float p_energy, float p_sky_contribution, RS::EnvironmentReflectionSource p_reflection_source, const Color &p_ao_color) { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND(!env); @@ -1176,56 +1183,67 @@ RS::EnvironmentBG RasterizerSceneRD::environment_get_background(RID p_env) const ERR_FAIL_COND_V(!env, RS::ENV_BG_MAX); return env->background; } + RID RasterizerSceneRD::environment_get_sky(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, RID()); return env->sky; } + float RasterizerSceneRD::environment_get_sky_custom_fov(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, 0); return env->sky_custom_fov; } + Basis RasterizerSceneRD::environment_get_sky_orientation(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, Basis()); return env->sky_orientation; } + Color RasterizerSceneRD::environment_get_bg_color(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, Color()); return env->bg_color; } + float RasterizerSceneRD::environment_get_bg_energy(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, 0); return env->bg_energy; } + int RasterizerSceneRD::environment_get_canvas_max_layer(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, 0); return env->canvas_max_layer; } + Color RasterizerSceneRD::environment_get_ambient_light_color(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, Color()); return env->ambient_light; } + RS::EnvironmentAmbientSource RasterizerSceneRD::environment_get_ambient_source(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, RS::ENV_AMBIENT_SOURCE_BG); return env->ambient_source; } + float RasterizerSceneRD::environment_get_ambient_light_energy(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, 0); return env->ambient_light_energy; } + float RasterizerSceneRD::environment_get_ambient_sky_contribution(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, 0); return env->ambient_sky_contribution; } + RS::EnvironmentReflectionSource RasterizerSceneRD::environment_get_reflection_source(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, RS::ENV_REFLECTION_SOURCE_DISABLED); @@ -1321,6 +1339,7 @@ float RasterizerSceneRD::environment_get_ssao_ao_affect(RID p_env) const { ERR_FAIL_COND_V(!env, false); return env->ssao_ao_channel_affect; } + float RasterizerSceneRD::environment_get_ssao_light_affect(RID p_env) const { Environent *env = environment_owner.getornull(p_env); ERR_FAIL_COND_V(!env, false); diff --git a/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp index 63abe6b215..c04bbc6c06 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp @@ -713,6 +713,7 @@ RID RasterizerStorageRD::texture_2d_layered_create(const Vector<Ref<Image>> &p_l return texture_owner.make_rid(texture); } + RID RasterizerStorageRD::texture_3d_create(const Vector<Ref<Image>> &p_slices) { return RID(); } @@ -765,9 +766,11 @@ void RasterizerStorageRD::_texture_2d_update(RID p_texture, const Ref<Image> &p_ void RasterizerStorageRD::texture_2d_update_immediate(RID p_texture, const Ref<Image> &p_image, int p_layer) { _texture_2d_update(p_texture, p_image, p_layer, true); } + void RasterizerStorageRD::texture_2d_update(RID p_texture, const Ref<Image> &p_image, int p_layer) { _texture_2d_update(p_texture, p_image, p_layer, false); } + void RasterizerStorageRD::texture_3d_update(RID p_texture, const Ref<Image> &p_image, int p_depth, int p_mipmap) { } @@ -826,6 +829,7 @@ RID RasterizerStorageRD::texture_2d_placeholder_create() { return texture_2d_create(image); } + RID RasterizerStorageRD::texture_2d_layered_placeholder_create(RS::TextureLayeredType p_layered_type) { //this could be better optimized to reuse an existing image , done this way //for now to get it working @@ -851,6 +855,7 @@ RID RasterizerStorageRD::texture_2d_layered_placeholder_create(RS::TextureLayere return texture_2d_layered_create(images, p_layered_type); } + RID RasterizerStorageRD::texture_3d_placeholder_create() { return RID(); } @@ -882,9 +887,11 @@ Ref<Image> RasterizerStorageRD::texture_2d_get(RID p_texture) const { return image; } + Ref<Image> RasterizerStorageRD::texture_2d_layer_get(RID p_texture, int p_layer) const { return Ref<Image>(); } + Ref<Image> RasterizerStorageRD::texture_3d_slice_get(RID p_texture, int p_depth, int p_mipmap) const { return Ref<Image>(); } @@ -928,6 +935,7 @@ void RasterizerStorageRD::texture_replace(RID p_texture, RID p_by_texture) { decal_atlas.dirty = true; //mark it dirty since it was most likely modified } } + void RasterizerStorageRD::texture_set_size_override(RID p_texture, int p_width, int p_height) { Texture *tex = texture_owner.getornull(p_texture); ERR_FAIL_COND(!tex); @@ -941,6 +949,7 @@ void RasterizerStorageRD::texture_set_path(RID p_texture, const String &p_path) ERR_FAIL_COND(!tex); tex->path = p_path; } + String RasterizerStorageRD::texture_get_path(RID p_texture) const { return String(); } @@ -951,23 +960,27 @@ void RasterizerStorageRD::texture_set_detect_3d_callback(RID p_texture, RS::Text tex->detect_3d_callback_ud = p_userdata; tex->detect_3d_callback = p_callback; } + void RasterizerStorageRD::texture_set_detect_normal_callback(RID p_texture, RS::TextureDetectCallback p_callback, void *p_userdata) { Texture *tex = texture_owner.getornull(p_texture); ERR_FAIL_COND(!tex); tex->detect_normal_callback_ud = p_userdata; tex->detect_normal_callback = p_callback; } + void RasterizerStorageRD::texture_set_detect_roughness_callback(RID p_texture, RS::TextureDetectRoughnessCallback p_callback, void *p_userdata) { Texture *tex = texture_owner.getornull(p_texture); ERR_FAIL_COND(!tex); tex->detect_roughness_callback_ud = p_userdata; tex->detect_roughness_callback = p_callback; } + void RasterizerStorageRD::texture_debug_usage(List<RS::TextureInfo> *r_info) { } void RasterizerStorageRD::texture_set_proxy(RID p_proxy, RID p_base) { } + void RasterizerStorageRD::texture_set_force_redraw_if_visible(RID p_texture, bool p_enable) { } @@ -1055,6 +1068,7 @@ String RasterizerStorageRD::shader_get_code(RID p_shader) const { ERR_FAIL_COND_V(!shader, String()); return shader->code; } + void RasterizerStorageRD::shader_get_param_list(RID p_shader, List<PropertyInfo> *p_param_list) const { Shader *shader = shader_owner.getornull(p_shader); ERR_FAIL_COND(!shader); @@ -1088,6 +1102,7 @@ RID RasterizerStorageRD::shader_get_default_texture_param(RID p_shader, const St return RID(); } + Variant RasterizerStorageRD::shader_get_param_default(RID p_shader, const StringName &p_param) const { Shader *shader = shader_owner.getornull(p_shader); ERR_FAIL_COND_V(!shader, Variant()); @@ -1096,6 +1111,7 @@ Variant RasterizerStorageRD::shader_get_param_default(RID p_shader, const String } return Variant(); } + void RasterizerStorageRD::shader_set_data_request_function(ShaderType p_shader_type, ShaderDataRequestFunction p_function) { ERR_FAIL_INDEX(p_shader_type, SHADER_TYPE_MAX); shader_data_request_func[p_shader_type] = p_function; @@ -1217,6 +1233,7 @@ void RasterizerStorageRD::material_set_next_pass(RID p_material, RID p_next_mate material->instance_dependency.instance_notify_changed(false, true); } + void RasterizerStorageRD::material_set_render_priority(RID p_material, int priority) { Material *material = material_owner.getornull(p_material); ERR_FAIL_COND(!material); @@ -1238,6 +1255,7 @@ bool RasterizerStorageRD::material_is_animated(RID p_material) { } return false; //by default nothing is animated } + bool RasterizerStorageRD::material_casts_shadows(RID p_material) { Material *material = material_owner.getornull(p_material); ERR_FAIL_COND_V(!material, true); @@ -1978,6 +1996,7 @@ void RasterizerStorageRD::_update_queued_materials() { } material_update_list = nullptr; } + /* MESH API */ RID RasterizerStorageRD::mesh_create() { @@ -2142,6 +2161,7 @@ void RasterizerStorageRD::mesh_set_blend_shape_mode(RID p_mesh, RS::BlendShapeMo mesh->blend_shape_mode = p_mode; } + RS::BlendShapeMode RasterizerStorageRD::mesh_get_blend_shape_mode(RID p_mesh) const { Mesh *mesh = mesh_owner.getornull(p_mesh); ERR_FAIL_COND_V(!mesh, RS::BLEND_SHAPE_MODE_NORMALIZED); @@ -2168,6 +2188,7 @@ void RasterizerStorageRD::mesh_surface_set_material(RID p_mesh, int p_surface, R mesh->instance_dependency.instance_notify_changed(false, true); mesh->material_cache.clear(); } + RID RasterizerStorageRD::mesh_surface_get_material(RID p_mesh, int p_surface) const { Mesh *mesh = mesh_owner.getornull(p_mesh); ERR_FAIL_COND_V(!mesh, RID()); @@ -2222,6 +2243,7 @@ void RasterizerStorageRD::mesh_set_custom_aabb(RID p_mesh, const AABB &p_aabb) { ERR_FAIL_COND(!mesh); mesh->custom_aabb = p_aabb; } + AABB RasterizerStorageRD::mesh_get_custom_aabb(RID p_mesh) const { Mesh *mesh = mesh_owner.getornull(p_mesh); ERR_FAIL_COND_V(!mesh, AABB()); @@ -2772,6 +2794,7 @@ void RasterizerStorageRD::multimesh_instance_set_transform_2d(RID p_multimesh, i _multimesh_mark_dirty(multimesh, p_index, true); } + void RasterizerStorageRD::multimesh_instance_set_color(RID p_multimesh, int p_index, const Color &p_color) { MultiMesh *multimesh = multimesh_owner.getornull(p_multimesh); ERR_FAIL_COND(!multimesh); @@ -2793,6 +2816,7 @@ void RasterizerStorageRD::multimesh_instance_set_color(RID p_multimesh, int p_in _multimesh_mark_dirty(multimesh, p_index, false); } + void RasterizerStorageRD::multimesh_instance_set_custom_data(RID p_multimesh, int p_index, const Color &p_color) { MultiMesh *multimesh = multimesh_owner.getornull(p_multimesh); ERR_FAIL_COND(!multimesh); @@ -2852,6 +2876,7 @@ Transform RasterizerStorageRD::multimesh_instance_get_transform(RID p_multimesh, return t; } + Transform2D RasterizerStorageRD::multimesh_instance_get_transform_2d(RID p_multimesh, int p_index) const { MultiMesh *multimesh = multimesh_owner.getornull(p_multimesh); ERR_FAIL_COND_V(!multimesh, Transform2D()); @@ -2876,6 +2901,7 @@ Transform2D RasterizerStorageRD::multimesh_instance_get_transform_2d(RID p_multi return t; } + Color RasterizerStorageRD::multimesh_instance_get_color(RID p_multimesh, int p_index) const { MultiMesh *multimesh = multimesh_owner.getornull(p_multimesh); ERR_FAIL_COND_V(!multimesh, Color()); @@ -2898,6 +2924,7 @@ Color RasterizerStorageRD::multimesh_instance_get_color(RID p_multimesh, int p_i return c; } + Color RasterizerStorageRD::multimesh_instance_get_custom_data(RID p_multimesh, int p_index) const { MultiMesh *multimesh = multimesh_owner.getornull(p_multimesh); ERR_FAIL_COND_V(!multimesh, Color()); @@ -2992,6 +3019,7 @@ void RasterizerStorageRD::multimesh_set_visible_instances(RID p_multimesh, int p multimesh->visible_instances = p_visible; } + int RasterizerStorageRD::multimesh_get_visible_instances(RID p_multimesh) const { MultiMesh *multimesh = multimesh_owner.getornull(p_multimesh); ERR_FAIL_COND_V(!multimesh, 0); @@ -3102,6 +3130,7 @@ void RasterizerStorageRD::skeleton_allocate(RID p_skeleton, int p_bones, bool p_ _skeleton_make_dirty(skeleton); } } + int RasterizerStorageRD::skeleton_get_bone_count(RID p_skeleton) const { Skeleton *skeleton = skeleton_owner.getornull(p_skeleton); ERR_FAIL_COND_V(!skeleton, 0); @@ -3160,6 +3189,7 @@ Transform RasterizerStorageRD::skeleton_bone_get_transform(RID p_skeleton, int p return t; } + void RasterizerStorageRD::skeleton_bone_set_transform_2d(RID p_skeleton, int p_bone, const Transform2D &p_transform) { Skeleton *skeleton = skeleton_owner.getornull(p_skeleton); @@ -3180,6 +3210,7 @@ void RasterizerStorageRD::skeleton_bone_set_transform_2d(RID p_skeleton, int p_b _skeleton_make_dirty(skeleton); } + Transform2D RasterizerStorageRD::skeleton_bone_get_transform_2d(RID p_skeleton, int p_bone) const { Skeleton *skeleton = skeleton_owner.getornull(p_skeleton); @@ -3258,6 +3289,7 @@ void RasterizerStorageRD::light_set_color(RID p_light, const Color &p_color) { light->color = p_color; } + void RasterizerStorageRD::light_set_param(RID p_light, RS::LightParam p_param, float p_value) { Light *light = light_owner.getornull(p_light); ERR_FAIL_COND(!light); @@ -3282,6 +3314,7 @@ void RasterizerStorageRD::light_set_param(RID p_light, RS::LightParam p_param, f light->param[p_param] = p_value; } + void RasterizerStorageRD::light_set_shadow(RID p_light, bool p_enabled) { Light *light = light_owner.getornull(p_light); ERR_FAIL_COND(!light); @@ -3322,6 +3355,7 @@ void RasterizerStorageRD::light_set_negative(RID p_light, bool p_enable) { light->negative = p_enable; } + void RasterizerStorageRD::light_set_cull_mask(RID p_light, uint32_t p_mask) { Light *light = light_owner.getornull(p_light); ERR_FAIL_COND(!light); @@ -3351,6 +3385,7 @@ void RasterizerStorageRD::light_set_use_gi(RID p_light, bool p_enabled) { light->version++; light->instance_dependency.instance_notify_changed(true, false); } + void RasterizerStorageRD::light_omni_set_shadow_mode(RID p_light, RS::LightOmniShadowMode p_mode) { Light *light = light_owner.getornull(p_light); ERR_FAIL_COND(!light); @@ -3500,6 +3535,7 @@ void RasterizerStorageRD::reflection_probe_set_max_distance(RID p_probe, float p reflection_probe->instance_dependency.instance_notify_changed(true, false); } + void RasterizerStorageRD::reflection_probe_set_extents(RID p_probe, const Vector3 &p_extents) { ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND(!reflection_probe); @@ -3507,6 +3543,7 @@ void RasterizerStorageRD::reflection_probe_set_extents(RID p_probe, const Vector reflection_probe->extents = p_extents; reflection_probe->instance_dependency.instance_notify_changed(true, false); } + void RasterizerStorageRD::reflection_probe_set_origin_offset(RID p_probe, const Vector3 &p_offset) { ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND(!reflection_probe); @@ -3522,6 +3559,7 @@ void RasterizerStorageRD::reflection_probe_set_as_interior(RID p_probe, bool p_e reflection_probe->interior = p_enable; reflection_probe->instance_dependency.instance_notify_changed(true, false); } + void RasterizerStorageRD::reflection_probe_set_enable_box_projection(RID p_probe, bool p_enable) { ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND(!reflection_probe); @@ -3536,6 +3574,7 @@ void RasterizerStorageRD::reflection_probe_set_enable_shadows(RID p_probe, bool reflection_probe->enable_shadows = p_enable; reflection_probe->instance_dependency.instance_notify_changed(true, false); } + void RasterizerStorageRD::reflection_probe_set_cull_mask(RID p_probe, uint32_t p_layers) { ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND(!reflection_probe); @@ -3562,6 +3601,7 @@ AABB RasterizerStorageRD::reflection_probe_get_aabb(RID p_probe) const { return aabb; } + RS::ReflectionProbeUpdateMode RasterizerStorageRD::reflection_probe_get_update_mode(RID p_probe) const { const ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND_V(!reflection_probe, RS::REFLECTION_PROBE_UPDATE_ALWAYS); @@ -3582,6 +3622,7 @@ Vector3 RasterizerStorageRD::reflection_probe_get_extents(RID p_probe) const { return reflection_probe->extents; } + Vector3 RasterizerStorageRD::reflection_probe_get_origin_offset(RID p_probe) const { const ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND_V(!reflection_probe, Vector3()); @@ -3616,12 +3657,14 @@ float RasterizerStorageRD::reflection_probe_get_intensity(RID p_probe) const { return reflection_probe->intensity; } + bool RasterizerStorageRD::reflection_probe_is_interior(RID p_probe) const { const ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND_V(!reflection_probe, false); return reflection_probe->interior; } + bool RasterizerStorageRD::reflection_probe_is_box_projection(RID p_probe) const { const ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND_V(!reflection_probe, false); @@ -3635,12 +3678,14 @@ Color RasterizerStorageRD::reflection_probe_get_interior_ambient(RID p_probe) co return reflection_probe->interior_ambient; } + float RasterizerStorageRD::reflection_probe_get_interior_ambient_energy(RID p_probe) const { const ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND_V(!reflection_probe, 0); return reflection_probe->interior_ambient_energy; } + float RasterizerStorageRD::reflection_probe_get_interior_ambient_probe_contribution(RID p_probe) const { const ReflectionProbe *reflection_probe = reflection_probe_owner.getornull(p_probe); ERR_FAIL_COND_V(!reflection_probe, 0); @@ -3658,6 +3703,7 @@ void RasterizerStorageRD::decal_set_extents(RID p_decal, const Vector3 &p_extent decal->extents = p_extents; decal->instance_dependency.instance_notify_changed(true, false); } + void RasterizerStorageRD::decal_set_texture(RID p_decal, RS::DecalTexture p_type, RID p_texture) { Decal *decal = decal_owner.getornull(p_decal); ERR_FAIL_COND(!decal); @@ -3681,6 +3727,7 @@ void RasterizerStorageRD::decal_set_texture(RID p_decal, RS::DecalTexture p_type decal->instance_dependency.instance_notify_changed(false, true); } + void RasterizerStorageRD::decal_set_emission_energy(RID p_decal, float p_energy) { Decal *decal = decal_owner.getornull(p_decal); ERR_FAIL_COND(!decal); @@ -3698,6 +3745,7 @@ void RasterizerStorageRD::decal_set_modulate(RID p_decal, const Color &p_modulat ERR_FAIL_COND(!decal); decal->modulate = p_modulate; } + void RasterizerStorageRD::decal_set_cull_mask(RID p_decal, uint32_t p_layers) { Decal *decal = decal_owner.getornull(p_decal); ERR_FAIL_COND(!decal); @@ -3875,6 +3923,7 @@ Vector3i RasterizerStorageRD::gi_probe_get_octree_size(RID p_gi_probe) const { ERR_FAIL_COND_V(!gi_probe, Vector3i()); return gi_probe->octree_size; } + Vector<uint8_t> RasterizerStorageRD::gi_probe_get_octree_cells(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, Vector<uint8_t>()); @@ -3884,6 +3933,7 @@ Vector<uint8_t> RasterizerStorageRD::gi_probe_get_octree_cells(RID p_gi_probe) c } return Vector<uint8_t>(); } + Vector<uint8_t> RasterizerStorageRD::gi_probe_get_data_cells(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, Vector<uint8_t>()); @@ -3893,6 +3943,7 @@ Vector<uint8_t> RasterizerStorageRD::gi_probe_get_data_cells(RID p_gi_probe) con } return Vector<uint8_t>(); } + Vector<uint8_t> RasterizerStorageRD::gi_probe_get_distance_field(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, Vector<uint8_t>()); @@ -3902,12 +3953,14 @@ Vector<uint8_t> RasterizerStorageRD::gi_probe_get_distance_field(RID p_gi_probe) } return Vector<uint8_t>(); } + Vector<int> RasterizerStorageRD::gi_probe_get_level_counts(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, Vector<int>()); return gi_probe->level_counts; } + Transform RasterizerStorageRD::gi_probe_get_to_cell_xform(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, Transform()); @@ -3922,6 +3975,7 @@ void RasterizerStorageRD::gi_probe_set_dynamic_range(RID p_gi_probe, float p_ran gi_probe->dynamic_range = p_range; gi_probe->version++; } + float RasterizerStorageRD::gi_probe_get_dynamic_range(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, 0); @@ -3936,6 +3990,7 @@ void RasterizerStorageRD::gi_probe_set_propagation(RID p_gi_probe, float p_range gi_probe->propagation = p_range; gi_probe->version++; } + float RasterizerStorageRD::gi_probe_get_propagation(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, 0); @@ -3948,6 +4003,7 @@ void RasterizerStorageRD::gi_probe_set_energy(RID p_gi_probe, float p_energy) { gi_probe->energy = p_energy; } + float RasterizerStorageRD::gi_probe_get_energy(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, 0); @@ -3960,6 +4016,7 @@ void RasterizerStorageRD::gi_probe_set_ao(RID p_gi_probe, float p_ao) { gi_probe->ao = p_ao; } + float RasterizerStorageRD::gi_probe_get_ao(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, 0); @@ -3985,6 +4042,7 @@ void RasterizerStorageRD::gi_probe_set_bias(RID p_gi_probe, float p_bias) { gi_probe->bias = p_bias; } + float RasterizerStorageRD::gi_probe_get_bias(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, 0); @@ -3997,6 +4055,7 @@ void RasterizerStorageRD::gi_probe_set_normal_bias(RID p_gi_probe, float p_norma gi_probe->normal_bias = p_normal_bias; } + float RasterizerStorageRD::gi_probe_get_normal_bias(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, 0); @@ -4060,6 +4119,7 @@ RID RasterizerStorageRD::gi_probe_get_octree_buffer(RID p_gi_probe) const { ERR_FAIL_COND_V(!gi_probe, RID()); return gi_probe->octree_buffer; } + RID RasterizerStorageRD::gi_probe_get_data_buffer(RID p_gi_probe) const { GIProbe *gi_probe = gi_probe_owner.getornull(p_gi_probe); ERR_FAIL_COND_V(!gi_probe, RID()); @@ -4072,6 +4132,7 @@ RID RasterizerStorageRD::gi_probe_get_sdf_texture(RID p_gi_probe) { return gi_probe->sdf_texture; } + /* LIGHTMAP API */ RID RasterizerStorageRD::lightmap_create() { @@ -4160,16 +4221,19 @@ PackedVector3Array RasterizerStorageRD::lightmap_get_probe_capture_points(RID p_ return lm->points; } + PackedColorArray RasterizerStorageRD::lightmap_get_probe_capture_sh(RID p_lightmap) const { Lightmap *lm = lightmap_owner.getornull(p_lightmap); ERR_FAIL_COND_V(!lm, PackedColorArray()); return lm->point_sh; } + PackedInt32Array RasterizerStorageRD::lightmap_get_probe_capture_tetrahedra(RID p_lightmap) const { Lightmap *lm = lightmap_owner.getornull(p_lightmap); ERR_FAIL_COND_V(!lm, PackedInt32Array()); return lm->tetrahedra; } + PackedInt32Array RasterizerStorageRD::lightmap_get_probe_capture_bsp_tree(RID p_lightmap) const { Lightmap *lm = lightmap_owner.getornull(p_lightmap); ERR_FAIL_COND_V(!lm, PackedInt32Array()); @@ -4235,6 +4299,7 @@ bool RasterizerStorageRD::lightmap_is_interior(RID p_lightmap) const { ERR_FAIL_COND_V(!lm, false); return lm->interior; } + AABB RasterizerStorageRD::lightmap_get_aabb(RID p_lightmap) const { const Lightmap *lm = lightmap_owner.getornull(p_lightmap); ERR_FAIL_COND_V(!lm, AABB()); @@ -4463,12 +4528,14 @@ RID RasterizerStorageRD::render_target_get_rd_framebuffer(RID p_render_target) { return rt->framebuffer; } + RID RasterizerStorageRD::render_target_get_rd_texture(RID p_render_target) { RenderTarget *rt = render_target_owner.getornull(p_render_target); ERR_FAIL_COND_V(!rt, RID()); return rt->color; } + void RasterizerStorageRD::render_target_request_clear(RID p_render_target, const Color &p_clear_color) { RenderTarget *rt = render_target_owner.getornull(p_render_target); ERR_FAIL_COND(!rt); @@ -5227,6 +5294,7 @@ void RasterizerStorageRD::global_variable_remove(const StringName &p_name) { global_variables.variables.erase(p_name); } + Vector<StringName> RasterizerStorageRD::global_variable_get_list() const { if (!Engine::get_singleton()->is_editor_hint()) { ERR_FAIL_V_MSG(Vector<StringName>(), "This function should never be used outside the editor, it can severely damage performance."); @@ -5260,6 +5328,7 @@ void RasterizerStorageRD::global_variable_set(const StringName &p_name, const Va } } } + void RasterizerStorageRD::global_variable_set_override(const StringName &p_name, const Variant &p_value) { if (!global_variables.variables.has(p_name)) { return; //variable may not exist @@ -5422,6 +5491,7 @@ void RasterizerStorageRD::global_variables_instance_free(RID p_instance) { } global_variables.instance_buffer_pos.erase(p_instance); } + void RasterizerStorageRD::global_variables_instance_update(RID p_instance, int p_index, const Variant &p_value) { if (!global_variables.instance_buffer_pos.has(p_instance)) { return; //just not allocated, ignore @@ -5546,6 +5616,7 @@ bool RasterizerStorageRD::has_os_feature(const String &p_feature) const { return false; } + bool RasterizerStorageRD::free(RID p_rid) { if (texture_owner.owns(p_rid)) { Texture *t = texture_owner.getornull(p_rid); @@ -5683,6 +5754,7 @@ void RasterizerStorageRD::capture_timestamp(const String &p_name) { uint32_t RasterizerStorageRD::get_captured_timestamps_count() const { return RD::get_singleton()->get_captured_timestamps_count(); } + uint64_t RasterizerStorageRD::get_captured_timestamps_frame() const { return RD::get_singleton()->get_captured_timestamps_frame(); } @@ -5690,9 +5762,11 @@ uint64_t RasterizerStorageRD::get_captured_timestamps_frame() const { uint64_t RasterizerStorageRD::get_captured_timestamp_gpu_time(uint32_t p_index) const { return RD::get_singleton()->get_captured_timestamp_gpu_time(p_index); } + uint64_t RasterizerStorageRD::get_captured_timestamp_cpu_time(uint32_t p_index) const { return RD::get_singleton()->get_captured_timestamp_cpu_time(p_index); } + String RasterizerStorageRD::get_captured_timestamp_name(uint32_t p_index) const { return RD::get_singleton()->get_captured_timestamp_name(p_index); } diff --git a/servers/rendering/rasterizer_rd/shader_compiler_rd.cpp b/servers/rendering/rasterizer_rd/shader_compiler_rd.cpp index 310fa1bed4..b24874345e 100644 --- a/servers/rendering/rasterizer_rd/shader_compiler_rd.cpp +++ b/servers/rendering/rasterizer_rd/shader_compiler_rd.cpp @@ -202,6 +202,7 @@ static int _get_datatype_alignment(SL::DataType p_type) { ERR_FAIL_V(0); } + static String _interpstr(SL::DataInterpolation p_interp) { switch (p_interp) { case SL::INTERPOLATION_FLAT: diff --git a/servers/rendering/rasterizer_rd/shaders/bokeh_dof.glsl b/servers/rendering/rasterizer_rd/shaders/bokeh_dof.glsl index dbeccbfff4..18555d9672 100644 --- a/servers/rendering/rasterizer_rd/shaders/bokeh_dof.glsl +++ b/servers/rendering/rasterizer_rd/shaders/bokeh_dof.glsl @@ -51,6 +51,7 @@ layout(push_constant, binding = 1, std430) uniform Params { float jitter_seed; uint pad[2]; } + params; //used to work around downsampling filter diff --git a/servers/rendering/rasterizer_rd/shaders/canvas_occlusion.glsl b/servers/rendering/rasterizer_rd/shaders/canvas_occlusion.glsl index 8c2b0c925d..3e0d5c4ffc 100644 --- a/servers/rendering/rasterizer_rd/shaders/canvas_occlusion.glsl +++ b/servers/rendering/rasterizer_rd/shaders/canvas_occlusion.glsl @@ -12,6 +12,7 @@ layout(push_constant, binding = 0, std430) uniform Constants { vec2 direction; vec2 pad; } + constants; layout(location = 0) out highp float depth; diff --git a/servers/rendering/rasterizer_rd/shaders/canvas_uniforms_inc.glsl b/servers/rendering/rasterizer_rd/shaders/canvas_uniforms_inc.glsl index a39866004b..ba05b8b2fb 100644 --- a/servers/rendering/rasterizer_rd/shaders/canvas_uniforms_inc.glsl +++ b/servers/rendering/rasterizer_rd/shaders/canvas_uniforms_inc.glsl @@ -51,6 +51,7 @@ layout(push_constant, binding = 0, std430) uniform DrawData { vec2 color_texture_pixel_size; uint lights[4]; } + draw_data; // The values passed per draw primitives are cached within it @@ -82,6 +83,7 @@ layout(set = 2, binding = 0, std140) uniform CanvasData { float time_pad; //uint light_count; } + canvas_data; layout(set = 2, binding = 1) uniform textureBuffer skeleton_buffer; @@ -90,6 +92,7 @@ layout(set = 2, binding = 2, std140) uniform SkeletonData { mat4 skeleton_transform; //in world coordinates mat4 skeleton_transform_inverse; } + skeleton_data; #ifdef USE_LIGHTING @@ -123,6 +126,7 @@ struct Light { layout(set = 2, binding = 3, std140) uniform LightData { Light data[MAX_LIGHTS]; } + light_array; layout(set = 2, binding = 4) uniform texture2D light_textures[MAX_LIGHT_TEXTURES]; @@ -135,6 +139,7 @@ layout(set = 2, binding = 6) uniform sampler shadow_sampler; layout(set = 2, binding = 7, std430) restrict readonly buffer GlobalVariableData { vec4 data[]; } + global_variables; /* SET3: Render Target Data */ diff --git a/servers/rendering/rasterizer_rd/shaders/copy.glsl b/servers/rendering/rasterizer_rd/shaders/copy.glsl index c8a8b027c8..249e7963d0 100644 --- a/servers/rendering/rasterizer_rd/shaders/copy.glsl +++ b/servers/rendering/rasterizer_rd/shaders/copy.glsl @@ -37,6 +37,7 @@ layout(push_constant, binding = 1, std430) uniform Params { float camera_z_near; uint pad2[2]; } + params; #ifdef MODE_CUBEMAP_ARRAY_TO_PANORAMA diff --git a/servers/rendering/rasterizer_rd/shaders/copy_to_fb.glsl b/servers/rendering/rasterizer_rd/shaders/copy_to_fb.glsl index 2308f58e00..5f53045afd 100644 --- a/servers/rendering/rasterizer_rd/shaders/copy_to_fb.glsl +++ b/servers/rendering/rasterizer_rd/shaders/copy_to_fb.glsl @@ -17,6 +17,7 @@ layout(push_constant, binding = 1, std430) uniform Params { bool force_luminance; uint pad[3]; } + params; void main() { diff --git a/servers/rendering/rasterizer_rd/shaders/cube_to_dp.glsl b/servers/rendering/rasterizer_rd/shaders/cube_to_dp.glsl index 2fd2e05ae1..133d97ffcb 100644 --- a/servers/rendering/rasterizer_rd/shaders/cube_to_dp.glsl +++ b/servers/rendering/rasterizer_rd/shaders/cube_to_dp.glsl @@ -18,6 +18,7 @@ layout(push_constant, binding = 1, std430) uniform Params { float z_near; bool z_flip; } + params; layout(r32f, set = 1, binding = 0) uniform restrict writeonly image2D depth_buffer; diff --git a/servers/rendering/rasterizer_rd/shaders/cubemap_downsampler.glsl b/servers/rendering/rasterizer_rd/shaders/cubemap_downsampler.glsl index 9f3ecf6053..8d88e46727 100644 --- a/servers/rendering/rasterizer_rd/shaders/cubemap_downsampler.glsl +++ b/servers/rendering/rasterizer_rd/shaders/cubemap_downsampler.glsl @@ -37,6 +37,7 @@ layout(rgba16f, set = 1, binding = 0) uniform restrict writeonly imageCube dest_ layout(push_constant, binding = 1, std430) uniform Params { uint face_size; } + params; #define M_PI 3.14159265359 @@ -46,26 +47,31 @@ void get_dir_0(out vec3 dir, in float u, in float v) { dir[1] = v; dir[2] = -u; } + void get_dir_1(out vec3 dir, in float u, in float v) { dir[0] = -1.0; dir[1] = v; dir[2] = u; } + void get_dir_2(out vec3 dir, in float u, in float v) { dir[0] = u; dir[1] = 1.0; dir[2] = -v; } + void get_dir_3(out vec3 dir, in float u, in float v) { dir[0] = u; dir[1] = -1.0; dir[2] = v; } + void get_dir_4(out vec3 dir, in float u, in float v) { dir[0] = u; dir[1] = v; dir[2] = 1.0; } + void get_dir_5(out vec3 dir, in float u, in float v) { dir[0] = -u; dir[1] = v; diff --git a/servers/rendering/rasterizer_rd/shaders/cubemap_filter.glsl b/servers/rendering/rasterizer_rd/shaders/cubemap_filter.glsl index 193d0a8a3c..20bc0e2d0d 100644 --- a/servers/rendering/rasterizer_rd/shaders/cubemap_filter.glsl +++ b/servers/rendering/rasterizer_rd/shaders/cubemap_filter.glsl @@ -51,11 +51,13 @@ layout(rgba16f, set = 2, binding = 6) uniform restrict writeonly imageCube dest_ layout(set = 1, binding = 0, std430) buffer restrict readonly Data { vec4[7][5][3][24] coeffs; } + data; #else layout(set = 1, binding = 0, std430) buffer restrict readonly Data { vec4[7][5][6] coeffs; } + data; #endif diff --git a/servers/rendering/rasterizer_rd/shaders/cubemap_roughness.glsl b/servers/rendering/rasterizer_rd/shaders/cubemap_roughness.glsl index 36dba6df3d..0e6e51f0de 100644 --- a/servers/rendering/rasterizer_rd/shaders/cubemap_roughness.glsl +++ b/servers/rendering/rasterizer_rd/shaders/cubemap_roughness.glsl @@ -21,6 +21,7 @@ layout(push_constant, binding = 1, std430) uniform Params { bool use_direct_write; float face_size; } + params; #define M_PI 3.14159265359 diff --git a/servers/rendering/rasterizer_rd/shaders/giprobe.glsl b/servers/rendering/rasterizer_rd/shaders/giprobe.glsl index e4449afbd0..60c4032d80 100644 --- a/servers/rendering/rasterizer_rd/shaders/giprobe.glsl +++ b/servers/rendering/rasterizer_rd/shaders/giprobe.glsl @@ -24,6 +24,7 @@ struct CellChildren { layout(set = 0, binding = 1, std430) buffer CellChildrenBuffer { CellChildren data[]; } + cell_children; struct CellData { @@ -36,6 +37,7 @@ struct CellData { layout(set = 0, binding = 2, std430) buffer CellDataBuffer { CellData data[]; } + cell_data; #endif // MODE DYNAMIC @@ -65,6 +67,7 @@ struct Light { layout(set = 0, binding = 3, std140) uniform Lights { Light data[MAX_LIGHTS]; } + lights; #endif // MODE COMPUTE LIGHT @@ -96,11 +99,13 @@ layout(push_constant, binding = 0, std430) uniform Params { float aniso_strength; uint pad; } + params; layout(set = 0, binding = 4, std430) buffer Outputs { vec4 data[]; } + outputs; #endif // MODE DYNAMIC @@ -143,6 +148,7 @@ layout(push_constant, binding = 0, std430) uniform Params { float propagation; float pad[3]; } + params; #ifdef MODE_DYNAMIC_LIGHTING diff --git a/servers/rendering/rasterizer_rd/shaders/giprobe_debug.glsl b/servers/rendering/rasterizer_rd/shaders/giprobe_debug.glsl index dd347c86a7..db3043fb28 100644 --- a/servers/rendering/rasterizer_rd/shaders/giprobe_debug.glsl +++ b/servers/rendering/rasterizer_rd/shaders/giprobe_debug.glsl @@ -16,6 +16,7 @@ struct CellData { layout(set = 0, binding = 1, std140) buffer CellDataBuffer { CellData data[]; } + cell_data; layout(set = 0, binding = 2) uniform texture3D color_tex; @@ -36,6 +37,7 @@ layout(push_constant, binding = 0, std430) uniform Params { ivec3 bounds; uint pad; } + params; layout(location = 0) out vec4 color_interp; diff --git a/servers/rendering/rasterizer_rd/shaders/giprobe_sdf.glsl b/servers/rendering/rasterizer_rd/shaders/giprobe_sdf.glsl index 5e54c8b4de..37ea673fbe 100644 --- a/servers/rendering/rasterizer_rd/shaders/giprobe_sdf.glsl +++ b/servers/rendering/rasterizer_rd/shaders/giprobe_sdf.glsl @@ -20,6 +20,7 @@ struct CellChildren { layout(set = 0, binding = 1, std430) buffer CellChildrenBuffer { CellChildren data[]; } + cell_children; struct CellData { @@ -32,6 +33,7 @@ struct CellData { layout(set = 0, binding = 2, std430) buffer CellDataBuffer { CellData data[]; } + cell_data; layout(r8ui, set = 0, binding = 3) uniform restrict writeonly uimage3D sdf_tex; @@ -42,6 +44,7 @@ layout(push_constant, binding = 0, std430) uniform Params { uint pad0; uint pad1; } + params; void main() { @@ -81,6 +84,7 @@ float distance_to_aabb(ivec3 pos, ivec3 aabb_pos, ivec3 aabb_size) { return length(delta); } + void main() { ivec3 pos = ivec3(gl_GlobalInvocationID); diff --git a/servers/rendering/rasterizer_rd/shaders/giprobe_write.glsl b/servers/rendering/rasterizer_rd/shaders/giprobe_write.glsl index d0f2703214..7a79f6a3ac 100644 --- a/servers/rendering/rasterizer_rd/shaders/giprobe_write.glsl +++ b/servers/rendering/rasterizer_rd/shaders/giprobe_write.glsl @@ -18,6 +18,7 @@ struct CellChildren { layout(set = 0, binding = 1, std430) buffer CellChildrenBuffer { CellChildren data[]; } + cell_children; struct CellData { @@ -30,6 +31,7 @@ struct CellData { layout(set = 0, binding = 2, std430) buffer CellDataBuffer { CellData data[]; } + cell_data; #define LIGHT_TYPE_DIRECTIONAL 0 @@ -57,6 +59,7 @@ struct Light { layout(set = 0, binding = 3, std140) uniform Lights { Light data[MAX_LIGHTS]; } + lights; #endif @@ -74,11 +77,13 @@ layout(push_constant, binding = 0, std430) uniform Params { uint cell_count; uint pad[2]; } + params; layout(set = 0, binding = 4, std140) uniform Outputs { vec4 data[]; } + output; #ifdef MODE_COMPUTE_LIGHT diff --git a/servers/rendering/rasterizer_rd/shaders/luminance_reduce.glsl b/servers/rendering/rasterizer_rd/shaders/luminance_reduce.glsl index 979fdb2dc1..060b1a3101 100644 --- a/servers/rendering/rasterizer_rd/shaders/luminance_reduce.glsl +++ b/servers/rendering/rasterizer_rd/shaders/luminance_reduce.glsl @@ -37,6 +37,7 @@ layout(push_constant, binding = 1, std430) uniform Params { float exposure_adjust; float pad[3]; } + params; void main() { diff --git a/servers/rendering/rasterizer_rd/shaders/roughness_limiter.glsl b/servers/rendering/rasterizer_rd/shaders/roughness_limiter.glsl index 6969a967b9..e59424e3d6 100644 --- a/servers/rendering/rasterizer_rd/shaders/roughness_limiter.glsl +++ b/servers/rendering/rasterizer_rd/shaders/roughness_limiter.glsl @@ -16,6 +16,7 @@ layout(push_constant, binding = 1, std430) uniform Params { float curve; uint pad; } + params; #define HALF_PI 1.5707963267948966 diff --git a/servers/rendering/rasterizer_rd/shaders/scene_high_end_inc.glsl b/servers/rendering/rasterizer_rd/shaders/scene_high_end_inc.glsl index 4c2fb296e6..93ddcc9dbc 100644 --- a/servers/rendering/rasterizer_rd/shaders/scene_high_end_inc.glsl +++ b/servers/rendering/rasterizer_rd/shaders/scene_high_end_inc.glsl @@ -6,6 +6,7 @@ layout(push_constant, binding = 0, std430) uniform DrawCall { uint pad; //16 bits minimum size vec2 bake_uv2_offset; //used for bake to uv2, ignored otherwise } + draw_call; /* Set 0 Scene data that never changes, ever */ @@ -117,6 +118,7 @@ layout(set = 0, binding = 3, std140) uniform SceneData { float fog_height_curve; #endif } + scene_data; #define INSTANCE_FLAGS_USE_LIGHTMAP_CAPTURE (1 << 8) @@ -146,6 +148,7 @@ struct InstanceData { layout(set = 0, binding = 4, std430) restrict readonly buffer Instances { InstanceData data[]; } + instances; struct LightData { //this structure needs to be as packed as possible @@ -172,6 +175,7 @@ struct LightData { //this structure needs to be as packed as possible layout(set = 0, binding = 5, std430) restrict readonly buffer Lights { LightData data[]; } + lights; struct ReflectionData { @@ -188,6 +192,7 @@ struct ReflectionData { layout(set = 0, binding = 6, std140) uniform ReflectionProbeData { ReflectionData data[MAX_REFLECTION_DATA_STRUCTS]; } + reflections; struct DirectionalLightData { @@ -226,6 +231,7 @@ struct DirectionalLightData { layout(set = 0, binding = 7, std140) uniform DirectionalLights { DirectionalLightData data[MAX_DIRECTIONAL_LIGHT_DATA_STRUCTS]; } + directional_lights; struct GIProbeData { @@ -247,6 +253,7 @@ struct GIProbeData { layout(set = 0, binding = 8, std140) uniform GIProbes { GIProbeData data[MAX_GI_PROBES]; } + gi_probes; layout(set = 0, binding = 9) uniform texture3D gi_probe_textures[MAX_GI_PROBE_TEXTURES]; @@ -261,6 +268,7 @@ struct Lightmap { layout(set = 0, binding = 10, std140) restrict readonly buffer Lightmaps { Lightmap data[]; } + lightmaps; layout(set = 0, binding = 11) uniform texture2DArray lightmap_textures[MAX_LIGHTMAP_TEXTURES]; @@ -272,6 +280,7 @@ struct LightmapCapture { layout(set = 0, binding = 12, std140) restrict readonly buffer LightmapCaptures { LightmapCapture data[]; } + lightmap_captures; #define CLUSTER_COUNTER_SHIFT 20 @@ -302,6 +311,7 @@ struct DecalData { layout(set = 0, binding = 15, std430) restrict readonly buffer Decals { DecalData data[]; } + decals; layout(set = 0, binding = 16) uniform utexture3D cluster_texture; @@ -309,6 +319,7 @@ layout(set = 0, binding = 16) uniform utexture3D cluster_texture; layout(set = 0, binding = 17, std430) restrict readonly buffer ClusterData { uint indices[]; } + cluster_data; layout(set = 0, binding = 18) uniform texture2D directional_shadow_atlas; @@ -316,6 +327,7 @@ layout(set = 0, binding = 18) uniform texture2D directional_shadow_atlas; layout(set = 0, binding = 19, std430) restrict readonly buffer GlobalVariableData { vec4 data[]; } + global_variables; // decal atlas @@ -351,6 +363,7 @@ layout(set = 3, binding = 4) uniform texture2D ao_buffer; layout(set = 4, binding = 0, std430) restrict readonly buffer Transforms { vec4 data[]; } + transforms; /* Set 5 User Material */ diff --git a/servers/rendering/rasterizer_rd/shaders/screen_space_reflection.glsl b/servers/rendering/rasterizer_rd/shaders/screen_space_reflection.glsl index fcde6b9d7a..39b10871ac 100644 --- a/servers/rendering/rasterizer_rd/shaders/screen_space_reflection.glsl +++ b/servers/rendering/rasterizer_rd/shaders/screen_space_reflection.glsl @@ -42,6 +42,7 @@ layout(push_constant, binding = 2, std430) uniform Params { mat4 projection; } + params; vec2 view_to_screen(vec3 view_pos, out float w) { diff --git a/servers/rendering/rasterizer_rd/shaders/screen_space_reflection_filter.glsl b/servers/rendering/rasterizer_rd/shaders/screen_space_reflection_filter.glsl index a4ff2ba815..c36143039c 100644 --- a/servers/rendering/rasterizer_rd/shaders/screen_space_reflection_filter.glsl +++ b/servers/rendering/rasterizer_rd/shaders/screen_space_reflection_filter.glsl @@ -33,6 +33,7 @@ layout(push_constant, binding = 2, std430) uniform Params { bool vertical; uint steps; } + params; #define GAUSS_TABLE_SIZE 15 diff --git a/servers/rendering/rasterizer_rd/shaders/screen_space_reflection_scale.glsl b/servers/rendering/rasterizer_rd/shaders/screen_space_reflection_scale.glsl index 3c6b3748d8..072f57eb40 100644 --- a/servers/rendering/rasterizer_rd/shaders/screen_space_reflection_scale.glsl +++ b/servers/rendering/rasterizer_rd/shaders/screen_space_reflection_scale.glsl @@ -26,6 +26,7 @@ layout(push_constant, binding = 1, std430) uniform Params { bool filtered; uint pad[2]; } + params; void main() { diff --git a/servers/rendering/rasterizer_rd/shaders/sky.glsl b/servers/rendering/rasterizer_rd/shaders/sky.glsl index f8e2257480..b0be03fe44 100644 --- a/servers/rendering/rasterizer_rd/shaders/sky.glsl +++ b/servers/rendering/rasterizer_rd/shaders/sky.glsl @@ -14,6 +14,7 @@ layout(push_constant, binding = 1, std430) uniform Params { vec4 position_multiplier; float time; } + params; void main() { @@ -40,6 +41,7 @@ layout(push_constant, binding = 1, std430) uniform Params { vec4 position_multiplier; float time; //TODO consider adding vec2 screen res, and float radiance size } + params; #define SAMPLER_NEAREST_CLAMP 0 @@ -60,6 +62,7 @@ layout(set = 0, binding = 0) uniform sampler material_samplers[12]; layout(set = 0, binding = 1, std430) restrict readonly buffer GlobalVariableData { vec4 data[]; } + global_variables; #ifdef USE_MATERIAL_UNIFORMS @@ -108,6 +111,7 @@ struct DirectionalLightData { layout(set = 3, binding = 0, std140) uniform DirectionalLights { DirectionalLightData data[MAX_DIRECTIONAL_LIGHT_DATA_STRUCTS]; } + directional_lights; /* clang-format off */ diff --git a/servers/rendering/rasterizer_rd/shaders/ssao.glsl b/servers/rendering/rasterizer_rd/shaders/ssao.glsl index 0175e26b85..764d7eeeac 100644 --- a/servers/rendering/rasterizer_rd/shaders/ssao.glsl +++ b/servers/rendering/rasterizer_rd/shaders/ssao.glsl @@ -78,6 +78,7 @@ layout(push_constant, binding = 1, std430) uniform Params { float proj_scale; uint pad; } + params; vec3 reconstructCSPosition(vec2 S, float z) { diff --git a/servers/rendering/rasterizer_rd/shaders/ssao_blur.glsl b/servers/rendering/rasterizer_rd/shaders/ssao_blur.glsl index 642a051ba0..ca7cc7d71b 100644 --- a/servers/rendering/rasterizer_rd/shaders/ssao_blur.glsl +++ b/servers/rendering/rasterizer_rd/shaders/ssao_blur.glsl @@ -31,6 +31,7 @@ layout(push_constant, binding = 1, std430) uniform Params { ivec2 axis; /** (1, 0) or (0, 1) */ ivec2 screen_size; } + params; /** Filter radius in pixels. This will be multiplied by SCALE. */ diff --git a/servers/rendering/rasterizer_rd/shaders/ssao_minify.glsl b/servers/rendering/rasterizer_rd/shaders/ssao_minify.glsl index db50ce1893..c590e406f3 100644 --- a/servers/rendering/rasterizer_rd/shaders/ssao_minify.glsl +++ b/servers/rendering/rasterizer_rd/shaders/ssao_minify.glsl @@ -16,6 +16,7 @@ layout(push_constant, binding = 1, std430) uniform Params { bool orthogonal; uint pad; } + params; #ifdef MINIFY_START diff --git a/servers/rendering/rasterizer_rd/shaders/subsurface_scattering.glsl b/servers/rendering/rasterizer_rd/shaders/subsurface_scattering.glsl index c91ef49c78..9d660c5865 100644 --- a/servers/rendering/rasterizer_rd/shaders/subsurface_scattering.glsl +++ b/servers/rendering/rasterizer_rd/shaders/subsurface_scattering.glsl @@ -105,6 +105,7 @@ layout(push_constant, binding = 1, std430) uniform Params { float depth_scale; uint pad[3]; } + params; layout(set = 0, binding = 0) uniform sampler2D source_image; diff --git a/servers/rendering/rasterizer_rd/shaders/tonemap.glsl b/servers/rendering/rasterizer_rd/shaders/tonemap.glsl index 780d961197..f4754bfea7 100644 --- a/servers/rendering/rasterizer_rd/shaders/tonemap.glsl +++ b/servers/rendering/rasterizer_rd/shaders/tonemap.glsl @@ -52,6 +52,7 @@ layout(push_constant, binding = 1, std430) uniform Params { bool use_fxaa; uint pad; } + params; layout(location = 0) out vec4 frag_color; diff --git a/servers/rendering/rendering_device.cpp b/servers/rendering/rendering_device.cpp index fa9f095585..55b65d2747 100644 --- a/servers/rendering/rendering_device.cpp +++ b/servers/rendering/rendering_device.cpp @@ -44,6 +44,7 @@ RenderingDevice::ShaderCacheFunction RenderingDevice::cache_function = nullptr; void RenderingDevice::shader_set_compile_function(ShaderCompileFunction p_function) { compile_function = p_function; } + void RenderingDevice::shader_set_cache_function(ShaderCacheFunction p_function) { cache_function = p_function; } diff --git a/servers/rendering/rendering_server_canvas.cpp b/servers/rendering/rendering_server_canvas.cpp index 809e9700c4..324765a217 100644 --- a/servers/rendering/rendering_server_canvas.cpp +++ b/servers/rendering/rendering_server_canvas.cpp @@ -297,6 +297,7 @@ void RenderingServerCanvas::canvas_set_item_mirroring(RID p_canvas, RID p_item, ERR_FAIL_COND(idx == -1); canvas->child_items.write[idx].mirror = p_mirroring; } + void RenderingServerCanvas::canvas_set_modulate(RID p_canvas, const Color &p_color) { Canvas *canvas = canvas_owner.getornull(p_canvas); ERR_FAIL_COND(!canvas); @@ -365,6 +366,7 @@ void RenderingServerCanvas::canvas_item_set_parent(RID p_item, RID p_parent) { canvas_item->parent = p_parent; } + void RenderingServerCanvas::canvas_item_set_visible(RID p_item, bool p_visible) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); @@ -373,6 +375,7 @@ void RenderingServerCanvas::canvas_item_set_visible(RID p_item, bool p_visible) _mark_ysort_dirty(canvas_item, canvas_item_owner); } + void RenderingServerCanvas::canvas_item_set_light_mask(RID p_item, int p_mask) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); @@ -386,18 +389,21 @@ void RenderingServerCanvas::canvas_item_set_transform(RID p_item, const Transfor canvas_item->xform = p_transform; } + void RenderingServerCanvas::canvas_item_set_clip(RID p_item, bool p_clip) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); canvas_item->clip = p_clip; } + void RenderingServerCanvas::canvas_item_set_distance_field_mode(RID p_item, bool p_enable) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); canvas_item->distance_field = p_enable; } + void RenderingServerCanvas::canvas_item_set_custom_rect(RID p_item, bool p_custom_rect, const Rect2 &p_rect) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); @@ -405,12 +411,14 @@ void RenderingServerCanvas::canvas_item_set_custom_rect(RID p_item, bool p_custo canvas_item->custom_rect = p_custom_rect; canvas_item->rect = p_rect; } + void RenderingServerCanvas::canvas_item_set_modulate(RID p_item, const Color &p_color) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); canvas_item->modulate = p_color; } + void RenderingServerCanvas::canvas_item_set_self_modulate(RID p_item, const Color &p_color) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); @@ -716,6 +724,7 @@ void RenderingServerCanvas::canvas_item_add_nine_patch(RID p_item, const Rect2 & style->axis_x = p_x_axis_mode; style->axis_y = p_y_axis_mode; } + void RenderingServerCanvas::canvas_item_add_primitive(RID p_item, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs, RID p_texture, float p_width, RID p_normal_map, RID p_specular_map, const Color &p_specular_color_shininess, RenderingServer::CanvasItemTextureFilter p_filter, RenderingServer::CanvasItemTextureRepeat p_repeat) { uint32_t pc = p_points.size(); ERR_FAIL_COND(pc == 0 || pc > 4); @@ -811,6 +820,7 @@ void RenderingServerCanvas::canvas_item_add_mesh(RID p_item, const RID &p_mesh, m->transform = p_transform; m->modulate = p_modulate; } + void RenderingServerCanvas::canvas_item_add_particles(RID p_item, RID p_particles, RID p_texture, RID p_normal_map, RID p_specular_map, const Color &p_specular_color_shininess, RenderingServer::CanvasItemTextureFilter p_filter, RenderingServer::CanvasItemTextureRepeat p_repeat) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); @@ -844,6 +854,7 @@ void RenderingServerCanvas::canvas_item_add_clip_ignore(RID p_item, bool p_ignor ERR_FAIL_COND(!ci); ci->ignore = p_ignore; } + void RenderingServerCanvas::canvas_item_set_sort_children_by_y(RID p_item, bool p_enable) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); @@ -852,6 +863,7 @@ void RenderingServerCanvas::canvas_item_set_sort_children_by_y(RID p_item, bool _mark_ysort_dirty(canvas_item, canvas_item_owner); } + void RenderingServerCanvas::canvas_item_set_z_index(RID p_item, int p_z) { ERR_FAIL_COND(p_z < RS::CANVAS_ITEM_Z_MIN || p_z > RS::CANVAS_ITEM_Z_MAX); @@ -860,6 +872,7 @@ void RenderingServerCanvas::canvas_item_set_z_index(RID p_item, int p_z) { canvas_item->z_index = p_z; } + void RenderingServerCanvas::canvas_item_set_z_as_relative_to_parent(RID p_item, bool p_enable) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); @@ -898,6 +911,7 @@ void RenderingServerCanvas::canvas_item_clear(RID p_item) { canvas_item->clear(); } + void RenderingServerCanvas::canvas_item_set_draw_index(RID p_item, int p_index) { Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); @@ -936,6 +950,7 @@ RID RenderingServerCanvas::canvas_light_create() { clight->light_internal = RSG::canvas_render->light_create(); return canvas_light_owner.make_rid(clight); } + void RenderingServerCanvas::canvas_light_attach_to_canvas(RID p_light, RID p_canvas) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); @@ -962,18 +977,21 @@ void RenderingServerCanvas::canvas_light_set_enabled(RID p_light, bool p_enabled clight->enabled = p_enabled; } + void RenderingServerCanvas::canvas_light_set_scale(RID p_light, float p_scale) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); clight->scale = p_scale; } + void RenderingServerCanvas::canvas_light_set_transform(RID p_light, const Transform2D &p_transform) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); clight->xform = p_transform; } + void RenderingServerCanvas::canvas_light_set_texture(RID p_light, RID p_texture) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); @@ -982,30 +1000,35 @@ void RenderingServerCanvas::canvas_light_set_texture(RID p_light, RID p_texture) clight->version++; RSG::canvas_render->light_set_texture(clight->light_internal, p_texture); } + void RenderingServerCanvas::canvas_light_set_texture_offset(RID p_light, const Vector2 &p_offset) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); clight->texture_offset = p_offset; } + void RenderingServerCanvas::canvas_light_set_color(RID p_light, const Color &p_color) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); clight->color = p_color; } + void RenderingServerCanvas::canvas_light_set_height(RID p_light, float p_height) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); clight->height = p_height; } + void RenderingServerCanvas::canvas_light_set_energy(RID p_light, float p_energy) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); clight->energy = p_energy; } + void RenderingServerCanvas::canvas_light_set_z_range(RID p_light, int p_min_z, int p_max_z) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); @@ -1013,6 +1036,7 @@ void RenderingServerCanvas::canvas_light_set_z_range(RID p_light, int p_min_z, i clight->z_min = p_min_z; clight->z_max = p_max_z; } + void RenderingServerCanvas::canvas_light_set_layer_range(RID p_light, int p_min_layer, int p_max_layer) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); @@ -1020,18 +1044,21 @@ void RenderingServerCanvas::canvas_light_set_layer_range(RID p_light, int p_min_ clight->layer_max = p_max_layer; clight->layer_min = p_min_layer; } + void RenderingServerCanvas::canvas_light_set_item_cull_mask(RID p_light, int p_mask) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); clight->item_mask = p_mask; } + void RenderingServerCanvas::canvas_light_set_item_shadow_cull_mask(RID p_light, int p_mask) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); clight->item_shadow_mask = p_mask; } + void RenderingServerCanvas::canvas_light_set_mode(RID p_light, RS::CanvasLightMode p_mode) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); @@ -1073,6 +1100,7 @@ void RenderingServerCanvas::canvas_light_set_shadow_filter(RID p_light, RS::Canv clight->shadow_filter = p_filter; } + void RenderingServerCanvas::canvas_light_set_shadow_color(RID p_light, const Color &p_color) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); @@ -1091,6 +1119,7 @@ RID RenderingServerCanvas::canvas_light_occluder_create() { return canvas_light_occluder_owner.make_rid(occluder); } + void RenderingServerCanvas::canvas_light_occluder_attach_to_canvas(RID p_occluder, RID p_canvas) { RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.getornull(p_occluder); ERR_FAIL_COND(!occluder); @@ -1110,12 +1139,14 @@ void RenderingServerCanvas::canvas_light_occluder_attach_to_canvas(RID p_occlude canvas->occluders.insert(occluder); } } + void RenderingServerCanvas::canvas_light_occluder_set_enabled(RID p_occluder, bool p_enabled) { RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.getornull(p_occluder); ERR_FAIL_COND(!occluder); occluder->enabled = p_enabled; } + void RenderingServerCanvas::canvas_light_occluder_set_polygon(RID p_occluder, RID p_polygon) { RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.getornull(p_occluder); ERR_FAIL_COND(!occluder); @@ -1143,12 +1174,14 @@ void RenderingServerCanvas::canvas_light_occluder_set_polygon(RID p_occluder, RI } } } + void RenderingServerCanvas::canvas_light_occluder_set_transform(RID p_occluder, const Transform2D &p_xform) { RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.getornull(p_occluder); ERR_FAIL_COND(!occluder); occluder->xform = p_xform; } + void RenderingServerCanvas::canvas_light_occluder_set_light_mask(RID p_occluder, int p_mask) { RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.getornull(p_occluder); ERR_FAIL_COND(!occluder); @@ -1161,6 +1194,7 @@ RID RenderingServerCanvas::canvas_occluder_polygon_create() { occluder_poly->occluder = RSG::canvas_render->occluder_polygon_create(); return canvas_light_occluder_polygon_owner.make_rid(occluder_poly); } + void RenderingServerCanvas::canvas_occluder_polygon_set_shape(RID p_occluder_polygon, const Vector<Vector2> &p_shape, bool p_closed) { if (p_shape.size() < 3) { canvas_occluder_polygon_set_shape_as_lines(p_occluder_polygon, p_shape); @@ -1189,6 +1223,7 @@ void RenderingServerCanvas::canvas_occluder_polygon_set_shape(RID p_occluder_pol canvas_occluder_polygon_set_shape_as_lines(p_occluder_polygon, lines); } + void RenderingServerCanvas::canvas_occluder_polygon_set_shape_as_lines(RID p_occluder_polygon, const Vector<Vector2> &p_shape) { LightOccluderPolygon *occluder_poly = canvas_light_occluder_polygon_owner.getornull(p_occluder_polygon); ERR_FAIL_COND(!occluder_poly); diff --git a/servers/rendering/rendering_server_raster.cpp b/servers/rendering/rendering_server_raster.cpp index 6aaf197062..a301d81691 100644 --- a/servers/rendering/rendering_server_raster.cpp +++ b/servers/rendering/rendering_server_raster.cpp @@ -156,14 +156,18 @@ void RenderingServerRaster::draw(bool p_swap_buffers, double frame_step) { frame_profile_frame = RSG::storage->get_captured_timestamps_frame(); } + void RenderingServerRaster::sync() { } + bool RenderingServerRaster::has_changed() const { return changes > 0; } + void RenderingServerRaster::init() { RSG::rasterizer->initialize(); } + void RenderingServerRaster::finish() { if (test_cube.is_valid()) { free(test_cube); @@ -204,6 +208,7 @@ void RenderingServerRaster::set_boot_image(const Ref<Image> &p_image, const Colo redraw_request(); RSG::rasterizer->set_boot_image(p_image, p_color, p_scale, p_use_filter); } + void RenderingServerRaster::set_default_clear_color(const Color &p_color) { RSG::viewport->set_default_clear_color(p_color); } @@ -238,6 +243,7 @@ bool RenderingServerRaster::is_low_end() const { //return RSG::rasterizer->is_low_end(); return false; } + RenderingServerRaster::RenderingServerRaster() { RSG::canvas = memnew(RenderingServerCanvas); RSG::viewport = memnew(RenderingServerViewport); diff --git a/servers/rendering/rendering_server_scene.cpp b/servers/rendering/rendering_server_scene.cpp index 0f8c4b6935..06217b3f0e 100644 --- a/servers/rendering/rendering_server_scene.cpp +++ b/servers/rendering/rendering_server_scene.cpp @@ -197,6 +197,7 @@ void *RenderingServerScene::_instance_pair(void *p_self, OctreeElementID, Instan return nullptr; } + void RenderingServerScene::_instance_unpair(void *p_self, OctreeElementID, Instance *p_A, int, OctreeElementID, Instance *p_B, int, void *udata) { //RenderingServerScene *self = (RenderingServerScene*)p_self; Instance *A = p_A; @@ -499,6 +500,7 @@ void RenderingServerScene::instance_set_base(RID p_instance, RID p_base) { _instance_queue_update(instance, true, true); } + void RenderingServerScene::instance_set_scenario(RID p_instance, RID p_scenario) { Instance *instance = instance_owner.getornull(p_instance); ERR_FAIL_COND(!instance); @@ -583,12 +585,14 @@ void RenderingServerScene::instance_set_scenario(RID p_instance, RID p_scenario) _instance_queue_update(instance, true, true); } } + void RenderingServerScene::instance_set_layer_mask(RID p_instance, uint32_t p_mask) { Instance *instance = instance_owner.getornull(p_instance); ERR_FAIL_COND(!instance); instance->layer_mask = p_mask; } + void RenderingServerScene::instance_set_transform(RID p_instance, const Transform &p_transform) { Instance *instance = instance_owner.getornull(p_instance); ERR_FAIL_COND(!instance); @@ -612,12 +616,14 @@ void RenderingServerScene::instance_set_transform(RID p_instance, const Transfor instance->transform = p_transform; _instance_queue_update(instance, true); } + void RenderingServerScene::instance_attach_object_instance_id(RID p_instance, ObjectID p_id) { Instance *instance = instance_owner.getornull(p_instance); ERR_FAIL_COND(!instance); instance->object_id = p_id; } + void RenderingServerScene::instance_set_blend_shape_weight(RID p_instance, int p_shape, float p_weight) { Instance *instance = instance_owner.getornull(p_instance); ERR_FAIL_COND(!instance); @@ -690,6 +696,7 @@ void RenderingServerScene::instance_set_visible(RID p_instance, bool p_visible) } } } + inline bool is_geometry_instance(RenderingServer::InstanceType p_type) { return p_type == RS::INSTANCE_MESH || p_type == RS::INSTANCE_MULTIMESH || p_type == RS::INSTANCE_PARTICLES || p_type == RS::INSTANCE_IMMEDIATE; } @@ -766,6 +773,7 @@ Vector<ObjectID> RenderingServerScene::instances_cull_aabb(const AABB &p_aabb, R return instances; } + Vector<ObjectID> RenderingServerScene::instances_cull_ray(const Vector3 &p_from, const Vector3 &p_to, RID p_scenario) const { Vector<ObjectID> instances; Scenario *scenario = scenario_owner.getornull(p_scenario); @@ -787,6 +795,7 @@ Vector<ObjectID> RenderingServerScene::instances_cull_ray(const Vector3 &p_from, return instances; } + Vector<ObjectID> RenderingServerScene::instances_cull_convex(const Vector<Plane> &p_convex, RID p_scenario) const { Vector<ObjectID> instances; Scenario *scenario = scenario_owner.getornull(p_scenario); @@ -846,6 +855,7 @@ void RenderingServerScene::instance_geometry_set_flag(RID p_instance, RS::Instan } } } + void RenderingServerScene::instance_geometry_set_cast_shadows_setting(RID p_instance, RS::ShadowCastingSetting p_shadow_casting_setting) { Instance *instance = instance_owner.getornull(p_instance); ERR_FAIL_COND(!instance); @@ -853,6 +863,7 @@ void RenderingServerScene::instance_geometry_set_cast_shadows_setting(RID p_inst instance->cast_shadows = p_shadow_casting_setting; _instance_queue_update(instance, false, true); } + void RenderingServerScene::instance_geometry_set_material_override(RID p_instance, RID p_material) { Instance *instance = instance_owner.getornull(p_instance); ERR_FAIL_COND(!instance); @@ -863,6 +874,7 @@ void RenderingServerScene::instance_geometry_set_material_override(RID p_instanc void RenderingServerScene::instance_geometry_set_draw_range(RID p_instance, float p_min, float p_max, float p_min_margin, float p_max_margin) { } + void RenderingServerScene::instance_geometry_set_as_instance_lod(RID p_instance, RID p_as_lod_of_instance) { } diff --git a/servers/rendering/rendering_server_viewport.cpp b/servers/rendering/rendering_server_viewport.cpp index 660c96e441..4491f699dc 100644 --- a/servers/rendering/rendering_server_viewport.cpp +++ b/servers/rendering/rendering_server_viewport.cpp @@ -589,12 +589,14 @@ void RenderingServerViewport::viewport_set_hide_scenario(RID p_viewport, bool p_ viewport->hide_scenario = p_hide; } + void RenderingServerViewport::viewport_set_hide_canvas(RID p_viewport, bool p_hide) { Viewport *viewport = viewport_owner.getornull(p_viewport); ERR_FAIL_COND(!viewport); viewport->hide_canvas = p_hide; } + void RenderingServerViewport::viewport_set_disable_environment(RID p_viewport, bool p_disable) { Viewport *viewport = viewport_owner.getornull(p_viewport); ERR_FAIL_COND(!viewport); @@ -608,12 +610,14 @@ void RenderingServerViewport::viewport_attach_camera(RID p_viewport, RID p_camer viewport->camera = p_camera; } + void RenderingServerViewport::viewport_set_scenario(RID p_viewport, RID p_scenario) { Viewport *viewport = viewport_owner.getornull(p_viewport); ERR_FAIL_COND(!viewport); viewport->scenario = p_scenario; } + void RenderingServerViewport::viewport_attach_canvas(RID p_viewport, RID p_canvas) { Viewport *viewport = viewport_owner.getornull(p_viewport); ERR_FAIL_COND(!viewport); @@ -639,6 +643,7 @@ void RenderingServerViewport::viewport_remove_canvas(RID p_viewport, RID p_canva viewport->canvas_map.erase(p_canvas); canvas->viewports.erase(p_viewport); } + void RenderingServerViewport::viewport_set_canvas_transform(RID p_viewport, RID p_canvas, const Transform2D &p_offset) { Viewport *viewport = viewport_owner.getornull(p_viewport); ERR_FAIL_COND(!viewport); @@ -646,6 +651,7 @@ void RenderingServerViewport::viewport_set_canvas_transform(RID p_viewport, RID ERR_FAIL_COND(!viewport->canvas_map.has(p_canvas)); viewport->canvas_map[p_canvas].transform = p_offset; } + void RenderingServerViewport::viewport_set_transparent_background(RID p_viewport, bool p_enabled) { Viewport *viewport = viewport_owner.getornull(p_viewport); ERR_FAIL_COND(!viewport); @@ -660,6 +666,7 @@ void RenderingServerViewport::viewport_set_global_canvas_transform(RID p_viewpor viewport->global_transform = p_transform; } + void RenderingServerViewport::viewport_set_canvas_stacking(RID p_viewport, RID p_canvas, int p_layer, int p_sublayer) { Viewport *viewport = viewport_owner.getornull(p_viewport); ERR_FAIL_COND(!viewport); diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp index e71c084aab..5db9e44084 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -3093,6 +3093,7 @@ bool ShaderLanguage::_propagate_function_call_sampler_uniform_settings(StringNam } ERR_FAIL_V(false); //bug? function not found } + bool ShaderLanguage::_propagate_function_call_sampler_builtin_reference(StringName p_name, int p_argument, const StringName &p_builtin) { for (int i = 0; shader->functions.size(); i++) { if (shader->functions[i].name == p_name) { |