diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml index 5a9fb57755f4..3c897b9ec169 100644 --- a/.github/workflows/linux_builds.yml +++ b/.github/workflows/linux_builds.yml @@ -162,6 +162,9 @@ jobs: - name: Build .NET solutions if: matrix.build-mono run: | + # FIXME: C# warnings should be properly handled eventually, but we don't want to clutter + # the GitHub Actions annotations, so remove the associated problem matcher for now. + echo "::remove-matcher owner=msvc::" ./modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin --godot-platform=linuxbsd - name: Prepare artifact diff --git a/core/object/object.h b/core/object/object.h index 11b94a7fbf0a..da8e8d1b86ee 100644 --- a/core/object/object.h +++ b/core/object/object.h @@ -572,7 +572,7 @@ class Object { CONNECT_PERSIST = 2, // hint for scene to save this connection CONNECT_ONE_SHOT = 4, CONNECT_REFERENCE_COUNTED = 8, - CONNECT_INHERITED = 16, // Used in editor builds. + CONNECT_INHERITED = 16, // Whether or not the connection is in an instance of a scene. }; struct Connection { diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 5ed4dbcc85e5..3857aa8841a5 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -731,7 +731,7 @@ void main() { } #endif - if (bool(light_array[light_base].flags & LIGHT_FLAGS_HAS_SHADOW)) { + if (bool(light_array[light_base].flags & LIGHT_FLAGS_HAS_SHADOW) && bool(read_draw_data_flags & uint(INSTANCE_FLAGS_SHADOW_MASKED << i))) { vec2 shadow_pos = (vec4(shadow_vertex, 0.0, 1.0) * mat4(light_array[light_base].shadow_matrix[0], light_array[light_base].shadow_matrix[1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))).xy; //multiply inverse given its transposed. Optimizer removes useless operations. vec4 shadow_uv = vec4(shadow_pos.x, light_array[light_base].shadow_y_ofs, shadow_pos.y * light_array[light_base].shadow_zfar_inv, 1.0); diff --git a/misc/extension_api_validation/4.3-stable.expected b/misc/extension_api_validation/4.3-stable.expected index 8cade432e64d..1bbe720eb944 100644 --- a/misc/extension_api_validation/4.3-stable.expected +++ b/misc/extension_api_validation/4.3-stable.expected @@ -215,16 +215,3 @@ Validate extension JSON: Error: Field 'classes/Control/properties/offset_right': Validate extension JSON: Error: Field 'classes/Control/properties/offset_top': type changed value in new API, from "int" to "float". Property type changed to float to match the actual internal API and documentation. - - -GH-100129 ---------- -Validate extension JSON: Error: Field 'classes/NavigationServer2D/methods/query_path': is_const changed value in new API, from true to false. -Validate extension JSON: Error: Field 'classes/NavigationServer3D/methods/query_path': is_const changed value in new API, from true to false. -Validate extension JSON: Error: Field 'classes/NavigationServer2D/methods/query_path/arguments': size changed value in new API, from 2 to 3. -Validate extension JSON: Error: Field 'classes/NavigationServer3D/methods/query_path/arguments': size changed value in new API, from 2 to 3. -Validate extension JSON: Error: Field 'classes/NavigationServer2D/methods/map_get_path': is_const changed value in new API, from true to false. -Validate extension JSON: Error: Field 'classes/NavigationServer3D/methods/map_get_path': is_const changed value in new API, from true to false. - -`query_path` and `map_get_path` methods changed to be non const due to internal compatibility and server changes. -Added optional callback parameters to `query_path` functions. Compatibility methods registered. diff --git a/modules/csg/SCsub b/modules/csg/SCsub index 5b880f155e7a..a14e999fb898 100644 --- a/modules/csg/SCsub +++ b/modules/csg/SCsub @@ -31,22 +31,17 @@ thirdparty_sources = [ ] thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources] -env_csg.Prepend(CPPPATH=[thirdparty_dir + "include"]) +env_csg.Prepend( + CPPPATH=[ + thirdparty_dir + "include", + ] +) env_thirdparty = env_csg.Clone() env_thirdparty.disable_warnings() env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources) env.modules_sources += thirdparty_obj -# Godot source files - -module_obj = [] - -env_csg.add_source_files(module_obj, "*.cpp") - +# Godot's own source files +env_csg.add_source_files(env.modules_sources, "*.cpp") if env.editor_build: - env_csg.add_source_files(module_obj, "editor/*.cpp") - -env.modules_sources += module_obj - -# Needed to force rebuilding the module files when the thirdparty library is updated. -env.Depends(module_obj, thirdparty_obj) + env_csg.add_source_files(env.modules_sources, "editor/*.cpp") diff --git a/modules/jolt_physics/jolt_globals.h b/modules/jolt_physics/jolt_globals.h index fd3c7708f019..151a1da5ff04 100644 --- a/modules/jolt_physics/jolt_globals.h +++ b/modules/jolt_physics/jolt_globals.h @@ -1,5 +1,9 @@ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/jolt_globals.h /* jolt_globals.h */ +======== +/* color_palette.h */ +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):scene/resources/color_palette.h /**************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,6 +32,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/jolt_globals.h #ifndef JOLT_GLOBALS_H #define JOLT_GLOBALS_H @@ -35,3 +40,25 @@ void jolt_initialize(); void jolt_deinitialize(); #endif // JOLT_GLOBALS_H +======== +#ifndef COLOR_PALETTE_H +#define COLOR_PALETTE_H + +#include "core/io/resource.h" + +class ColorPalette : public Resource { + GDCLASS(ColorPalette, Resource) + +private: + PackedColorArray colors; + +protected: + static void _bind_methods(); + +public: + void set_colors(const PackedColorArray &p_colors); + PackedColorArray get_colors() const; +}; + +#endif // COLOR_PALETTE_H +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):scene/resources/color_palette.h diff --git a/modules/jolt_physics/shapes/jolt_custom_user_data_shape.h b/modules/jolt_physics/shapes/jolt_custom_user_data_shape.h index a6610c74625c..2bfd8c289563 100644 --- a/modules/jolt_physics/shapes/jolt_custom_user_data_shape.h +++ b/modules/jolt_physics/shapes/jolt_custom_user_data_shape.h @@ -1,5 +1,9 @@ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/shapes/jolt_custom_user_data_shape.h /* jolt_custom_user_data_shape.h */ +======== +/* upnp_device_miniupnp.h */ +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):modules/upnp/upnp_device_miniupnp.h /**************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,6 +32,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/shapes/jolt_custom_user_data_shape.h #ifndef JOLT_CUSTOM_USER_DATA_SHAPE_H #define JOLT_CUSTOM_USER_DATA_SHAPE_H @@ -59,3 +64,58 @@ class JoltCustomUserDataShape final : public JoltCustomDecoratedShape { }; #endif // JOLT_CUSTOM_USER_DATA_SHAPE_H +======== +#ifndef UPNP_DEVICE_MINIUPNP_H +#define UPNP_DEVICE_MINIUPNP_H + +#ifndef WEB_ENABLED + +#include "upnp_device.h" + +class UPNPDeviceMiniUPNP : public UPNPDevice { + GDCLASS(UPNPDeviceMiniUPNP, UPNPDevice); + +private: + static UPNPDevice *_create(bool p_notify_postinitialize) { return static_cast(ClassDB::creator(p_notify_postinitialize)); } + + String description_url; + String service_type; + String igd_control_url; + String igd_service_type; + String igd_our_addr; + IGDStatus igd_status = IGD_STATUS_UNKNOWN_ERROR; + +public: + static void make_default(); + + virtual void set_description_url(const String &url) override; + virtual String get_description_url() const override; + + virtual void set_service_type(const String &type) override; + virtual String get_service_type() const override; + + virtual void set_igd_control_url(const String &url) override; + virtual String get_igd_control_url() const override; + + virtual void set_igd_service_type(const String &type) override; + virtual String get_igd_service_type() const override; + + virtual void set_igd_our_addr(const String &addr) override; + virtual String get_igd_our_addr() const override; + + virtual void set_igd_status(IGDStatus status) override; + virtual IGDStatus get_igd_status() const override; + + virtual bool is_valid_gateway() const override; + virtual String query_external_address() const override; + virtual int add_port_mapping(int port, int port_internal = 0, String desc = "", String proto = "UDP", int duration = 0) const override; + virtual int delete_port_mapping(int port, String proto = "UDP") const override; + + UPNPDeviceMiniUPNP() {} + virtual ~UPNPDeviceMiniUPNP() {} +}; + +#endif // WEB_ENABLED + +#endif // UPNP_DEVICE_MINIUPNP_H +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):modules/upnp/upnp_device_miniupnp.h diff --git a/modules/jolt_physics/shapes/jolt_height_map_shape_3d.h b/modules/jolt_physics/shapes/jolt_height_map_shape_3d.h index a929970f78f9..17a2e1d7a289 100644 --- a/modules/jolt_physics/shapes/jolt_height_map_shape_3d.h +++ b/modules/jolt_physics/shapes/jolt_height_map_shape_3d.h @@ -1,5 +1,9 @@ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/shapes/jolt_height_map_shape_3d.h /* jolt_height_map_shape_3d.h */ +======== +/* shader_include_db.h */ +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):servers/rendering/shader_include_db.h /**************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,6 +32,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/shapes/jolt_height_map_shape_3d.h #ifndef JOLT_HEIGHT_MAP_SHAPE_3D_H #define JOLT_HEIGHT_MAP_SHAPE_3D_H @@ -67,3 +72,28 @@ class JoltHeightMapShape3D final : public JoltShape3D { }; #endif // JOLT_HEIGHT_MAP_SHAPE_3D_H +======== +#ifndef SHADER_INCLUDE_DB_H +#define SHADER_INCLUDE_DB_H + +#include "core/object/class_db.h" + +class ShaderIncludeDB : public Object { + GDCLASS(ShaderIncludeDB, Object) + +private: + static HashMap built_in_includes; + +protected: + static void _bind_methods(); + +public: + static void register_built_in_include_file(const String &p_filename, const String &p_shader_code); + static PackedStringArray list_built_in_include_files(); + static bool has_built_in_include_file(const String &p_filename); + static String get_built_in_include_file(const String &p_filename); + static String parse_include_files(const String &p_code); +}; + +#endif // SHADER_INCLUDE_DB_H +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):servers/rendering/shader_include_db.h diff --git a/modules/jolt_physics/spaces/jolt_broad_phase_layer.h b/modules/jolt_physics/spaces/jolt_broad_phase_layer.h index 8cc115e1d42a..f010c2a9adc5 100644 --- a/modules/jolt_physics/spaces/jolt_broad_phase_layer.h +++ b/modules/jolt_physics/spaces/jolt_broad_phase_layer.h @@ -1,5 +1,9 @@ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/spaces/jolt_broad_phase_layer.h /* jolt_broad_phase_layer.h */ +======== +/* color_palette.cpp */ +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):scene/resources/color_palette.cpp /**************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,6 +32,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/spaces/jolt_broad_phase_layer.h #ifndef JOLT_BROAD_PHASE_LAYER_H #define JOLT_BROAD_PHASE_LAYER_H @@ -50,3 +55,21 @@ constexpr uint32_t COUNT = 5; } // namespace JoltBroadPhaseLayer #endif // JOLT_BROAD_PHASE_LAYER_H +======== +#include "color_palette.h" + +void ColorPalette::set_colors(const PackedColorArray &p_colors) { + colors = p_colors; +} + +PackedColorArray ColorPalette::get_colors() const { + return colors; +} + +void ColorPalette::_bind_methods() { + ClassDB::bind_method(D_METHOD("set_colors", "colors"), &ColorPalette::set_colors); + ClassDB::bind_method(D_METHOD("get_colors"), &ColorPalette::get_colors); + + ADD_PROPERTY(PropertyInfo(Variant::PACKED_COLOR_ARRAY, "colors"), "set_colors", "get_colors"); +} +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):scene/resources/color_palette.cpp diff --git a/modules/jolt_physics/spaces/jolt_temp_allocator.h b/modules/jolt_physics/spaces/jolt_temp_allocator.h index 8d519ae00ec7..0ff8e85e1a2f 100644 --- a/modules/jolt_physics/spaces/jolt_temp_allocator.h +++ b/modules/jolt_physics/spaces/jolt_temp_allocator.h @@ -1,5 +1,9 @@ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/spaces/jolt_temp_allocator.h /* jolt_temp_allocator.h */ +======== +/* translation_server.compat.inc */ +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):core/string/translation_server.compat.inc /**************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,6 +32,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /**************************************************************************/ +<<<<<<<< HEAD:modules/jolt_physics/spaces/jolt_temp_allocator.h #ifndef JOLT_TEMP_ALLOCATOR_H #define JOLT_TEMP_ALLOCATOR_H @@ -51,3 +56,16 @@ class JoltTempAllocator final : public JPH::TempAllocator { }; #endif // JOLT_TEMP_ALLOCATOR_H +======== +#ifndef DISABLE_DEPRECATED + +String TranslationServer::_standardize_locale_bind_compat_98972(const String &p_locale) const { + return standardize_locale(p_locale, false); +} + +void TranslationServer::_bind_compatibility_methods() { + ClassDB::bind_compatibility_method(D_METHOD("standardize_locale", "locale"), &TranslationServer::_standardize_locale_bind_compat_98972); +} + +#endif // DISABLE_DEPRECATED +>>>>>>>> 8d1f2dce08 (Squashed commit of the following:):core/string/translation_server.compat.inc diff --git a/servers/rendering/renderer_rd/shaders/canvas.glsl b/servers/rendering/renderer_rd/shaders/canvas.glsl index c1510a11ca08..b66aa71f6ba4 100644 --- a/servers/rendering/renderer_rd/shaders/canvas.glsl +++ b/servers/rendering/renderer_rd/shaders/canvas.glsl @@ -630,7 +630,7 @@ void main() { } #endif - if (bool(light_array.data[light_base].flags & LIGHT_FLAGS_HAS_SHADOW)) { + if (bool(light_array.data[light_base].flags & LIGHT_FLAGS_HAS_SHADOW) && bool(draw_data.flags & (INSTANCE_FLAGS_SHADOW_MASKED << i))) { vec2 shadow_pos = (vec4(shadow_vertex, 0.0, 1.0) * mat4(light_array.data[light_base].shadow_matrix[0], light_array.data[light_base].shadow_matrix[1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))).xy; //multiply inverse given its transposed. Optimizer removes useless operations. vec4 shadow_uv = vec4(shadow_pos.x, light_array.data[light_base].shadow_y_ofs, shadow_pos.y * light_array.data[light_base].shadow_zfar_inv, 1.0);