Эх сурвалжийг харах

Merge branch '4.1' into 4.2-beta

# Conflicts:
#	spine-ts/index.html
#	spine-ts/spine-player/src/PlayerEditor.ts
Mario Zechner 1 жил өмнө
parent
commit
8878437c38

+ 1 - 1
.github/workflows/spine-godot-v4.yml

@@ -235,7 +235,7 @@ jobs:
       - name: Set up Java 11
         uses: actions/setup-java@v1
         with:
-          java-version: 11
+          java-version: 17
 
       - name: Setup python and scons
         uses: ./.github/actions/setup-godot-deps

+ 2 - 0
spine-godot/build/build-templates-v4.sh

@@ -118,6 +118,8 @@ elif [ "$platform" = "ios" ]; then
 	cp libgodot.ios.template_release.simulator.a ios_xcode/libgodot.ios.release.xcframework/ios-arm64_x86_64-simulator/libgodot.a
 	cp libgodot.ios.template_debug.arm64.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64/libgodot.a
 	cp libgodot.ios.template_debug.simulator.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a
+	cp -r ~/VulkanSDK/1.3.250.1/MoltenVK/MoltenVK.xcframework ios_xcode/
+  	rm -rf ios_xcode/MoltenVK.xcframework/{macos,tvos}*
 	rm -rf ios.zip
 	pushd ios_xcode
 	zip -q -9 -r ../ios.zip *

+ 4 - 0
spine-godot/spine_godot/SpineSprite.cpp

@@ -146,7 +146,11 @@ void SpineMesh2D::update_mesh(const Vector<Point2> &vertices,
 		uint32_t skin_stride;
 		RS::get_singleton()->mesh_create_surface_data_from_arrays(&surface, (RS::PrimitiveType) Mesh::PRIMITIVE_TRIANGLES, arrays, TypedArray<Array>(), Dictionary(), Mesh::ArrayFormat::ARRAY_FLAG_USE_DYNAMIC_UPDATE);
 		RS::get_singleton()->mesh_add_surface(mesh, surface);
+#if VERSION_MINOR > 1
+		RS::get_singleton()->mesh_surface_make_offsets_from_format(surface.format, surface.vertex_count, surface.index_count, surface_offsets, vertex_stride, normal_tangent_stride, attribute_stride, skin_stride);
+#else
 		RS::get_singleton()->mesh_surface_make_offsets_from_format(surface.format, surface.vertex_count, surface.index_count, surface_offsets, vertex_stride, attribute_stride, skin_stride);
+#endif
 		num_vertices = vertices.size();
 		num_indices = indices.size();
 		vertex_buffer = surface.vertex_data;

+ 2 - 1
spine-godot/spine_godot/SpineSprite.h

@@ -66,6 +66,7 @@ protected:
 	PackedByteArray vertex_buffer;
 	PackedByteArray attribute_buffer;
 	uint32_t vertex_stride;
+	uint32_t normal_tangent_stride;
 	uint32_t attribute_stride;
 #else
 	RID mesh;
@@ -80,7 +81,7 @@ protected:
 
 public:
 #if VERSION_MAJOR > 3
-	SpineMesh2D() : renderer_object(nullptr), indices_changed(true), num_vertices(0), num_indices(0), vertex_stride(0), attribute_stride(0){};
+	SpineMesh2D() : renderer_object(nullptr), indices_changed(true), num_vertices(0), num_indices(0), vertex_stride(0), normal_tangent_stride(0), attribute_stride(0){};
 	~SpineMesh2D() {
 		if (mesh.is_valid()) {
 			RS::get_singleton()->free(mesh);